• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

iplweb / bpp / 7d423bde-8caf-4c8b-8bf5-12ad3f831949

22 Aug 2025 01:06PM UTC coverage: 45.781% (+0.06%) from 45.719%
7d423bde-8caf-4c8b-8bf5-12ad3f831949

push

circleci

mpasternak
Merge branch 'release/v202508.1201'

11 of 18 new or added lines in 3 files covered. (61.11%)

1245 existing lines in 104 files now uncovered.

17481 of 38184 relevant lines covered (45.78%)

1.18 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

52.94
src/tee/admin.py
1
from tee.models import Log
3✔
2
from tee.utils import last_n_lines
3✔
3

4
from django.contrib import admin
3✔
5

6
from django.utils.safestring import mark_safe
3✔
7

8

9
@admin.register(Log)
3✔
10
class LogAdmin(admin.ModelAdmin):
3✔
11
    list_display = [
3✔
12
        "cmd_name",
13
        "started_on",
14
        "finished_on",
15
        "finished_successfully",
16
        "last_5_lines",
17
    ]
18

19
    list_per_page = 10
3✔
20

21
    readonly_fields = [
3✔
22
        "started_on",
23
        "finished_on",
24
        "finished_successfully",
25
        "command_name",
26
        "args",
27
        "stdout",
28
        "stderr",
29
        "traceback",
30
    ]
31

32
    date_hierarchy = "started_on"
3✔
33

34
    def has_add_permission(self, request):
3✔
UNCOV
35
        return False
2✔
36

37
    def has_change_permission(self, request, obj=None):
3✔
UNCOV
38
        return False
2✔
39

40
    def cmd_name(self, obj):
3✔
41
        args = ""
×
42
        if obj.args:
×
43
            args = f" {' '.join(obj.args)}"
×
44
        return f"{obj.command_name}" + args
×
45

46
    def finished_successfully(self, obj: Log):
3✔
47
        if obj.exit_code == 0:
×
48
            return True
×
49
        return False
×
50

51
    def last_5_lines(self, obj):
3✔
52
        s = obj.stderr
×
53

54
        if obj.traceback:
×
55
            s = obj.traceback
×
56

57
        if not s:
×
58
            s = obj.stdout
×
59

60
        r = last_n_lines(s, nlines=5)
×
61
        if r is None:
×
62
            return
×
63
        return mark_safe(f"<pre>{r}</pre>")
×
64

65
    last_5_lines.short_description = "Results"
3✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc