CIResults.models module

class CIResults.models.Bug(id, tracker, bug_id, parent, title, description, created, updated, polled, closed, creator, assignee, product, component, priority, severity, features, platforms, status, tags, comments_polled, flagged_as_update_pending_on, custom_fields)

Bases: django.db.models.base.Model, CIResults.filtering.UserFiltrableMixin

Parameters
  • id (AutoField) – Id

  • tracker_id (ForeignKey to BugTracker) – On which tracker is the bug stored

  • bug_id (CharField) – The ID of the bug (e.g. 1234)

  • parent_id (ForeignKey to Bug) – This is the parent bug, if this bug is replicated. To be filled automatically

  • title (CharField) – Title of the bug report. To be filled automatically.

  • description (TextField) – Description of the bug report. To be filled automatically

  • created (DateTimeField) – Date of the creation of the bug report. To be filled automatically.

  • updated (DateTimeField) – Last update made to the bug report. To be filled automatically.

  • polled (DateTimeField) – Last time the bug was polled. To be filled automatically.

  • closed (DateTimeField) – Time at which the bug got closed. To be filled automatically.

  • creator_id (ForeignKey to BugTrackerAccount) – Person who wrote the initial bug report

  • assignee_id (ForeignKey to BugTrackerAccount) – Current assignee of the bug

  • product (CharField) – Product used for the bug filing (e.g. DRI) or NULL if not applicable. For GitLab, this is taken from labels matching ‘product: $value’. To be filled automatically.

  • component (CharField) – Component used for the bug filing (e.g. DRM/Intel) or NULL if not applicable. For GitLab, this is taken from labels matching ‘component: $value’. To be filled automatically.

  • priority (CharField) – Priority of the bug. For GitLab, this is taken from labels matching ‘priority::$value’. To be filled automatically.

  • severity (CharField) – Severity of the bug. For GitLab, this is taken from labels matching ‘severity::$value’. To be filled automatically.

  • features (CharField) – Coma-separated list of affected features or NULL if not applicable. For GitLab, this is taken from labels matching ‘feature: $value’. To be filled automatically.

  • platforms (CharField) – Coma-separated list of affected platforms or NULL if not applicable. For GitLab, this is taken from labels matching ‘platform: $value’. To be filled automatically.

  • status (CharField) – Status of the bug (e.g. RESOLVED/FIXED). To be filled automatically.

  • tags (TextField) – Stores a comma-separated list of Bug tags/labels. To be filled automatically

  • comments_polled (DateTimeField) – Last time the comments of the bug were polled. To be filled automatically.

  • flagged_as_update_pending_on (DateTimeField) – Date at which a developer indicated their willingness to update the bug

  • custom_fields (JSONField) – Mapping of customfields and values for the Bug. This field will be automatically populated based on BugTracker.custom_fields_map field

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

add_comment(comment)
clean()
create()
poll(force_polling_comments=False)
save(*args, **kwargs)
update_from_dict(upd_dict)
class CIResults.models.BugComment(id, bug, account, comment_id, url, created_on)

Bases: django.db.models.base.Model, CIResults.filtering.UserFiltrableMixin

Parameters
  • id (AutoField) – Id

  • bug_id (ForeignKey to Bug) – Bug

  • account_id (ForeignKey to BugTrackerAccount) – Account

  • comment_id (CharField) – The ID of the comment

  • url (URLField) – Url

  • created_on (DateTimeField) – Created on

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_created_on(*, field=<django.db.models.fields.DateTimeField: created_on>, is_next=True, **kwargs)
get_previous_by_created_on(*, field=<django.db.models.fields.DateTimeField: created_on>, is_next=False, **kwargs)
class CIResults.models.BugTracker(*args, **kwargs)

Bases: django.db.models.base.Model

Represents a bug tracker such as Bugzilla or Jira

Parameters
  • id (AutoField) – Id

  • name (CharField) – Full name of the bugtracker (e.g. Freedesktop.org)

  • short_name (CharField) – Very shorthand name (e.g. fdo)

  • project (CharField) – Specific project key in bugtracker to use (e.g. gitlab (project id): 1234 bugzilla (product/component): Mesa/EGLjira (project key): TEST)

  • separator (CharField) – Separator to construct a shorthand of the bug (e.g. ‘#’ to get fdo#1234)

  • public (BooleanField) – Should bugs filed on this tracker be visible on the public website?

  • url (URLField) – Public URL to the bugtracker (e.g. gitlab: https://gitlab.freedesktop.org bugzilla: https://bugs.freedesktop.org)

  • bug_base_url (URLField) – Base URL for constructing (e.g. gitlab: https://gitlab.freedesktop.org/cibuglog/cibuglog/issues/ bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=)

  • tracker_type (CharField) – Legal values: bugzilla, gitlab, jira, untracked

  • username (CharField) – Username to connect to the bugtracker. Leave empty if the bugs are public or if you do not to post comments.

  • password (CharField) – Password to connect to the bugtracker. Leave empty if the bugs are public or if you do not to post comments.

  • polled (DateTimeField) – Last time the bugtracker was polled. To be filled automatically.

  • components_followed (CharField) – Coma-separated list of components you would like to keep track of. On Gitlab, specify the list of labels an issue needs to have leave empty if you want all issues.

  • components_followed_since (DateTimeField) – Poll bugs older than this date. WARNING: Run poll_all_bugs.py after changing this date.

  • first_response_SLA (DurationField) – Time given to developers to provide the first response after its creation

  • custom_fields_map (JSONField) – Mapping of custom_fields that should be included when polling Bugs from this BugTracker, e.g. {‘customfield_xxxx’: ‘severity’, ‘customfield_yyyy’: ‘build_number’}. If a customfield mapping corresponds to an existing Bug field, e.g. severity, the corresponding Bug field will be populated. If not, e.g. build_number, this will be populated in the Bug’s custom_fields field. (Leave empty if not using custom fields)

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

clean()
followed_bugs()
get_or_create_bugs(ids)
is_bug_open(bug)
open_bugs()
poll(bug, force_polling_comments=False)
poll_all(stop_event=None, bugs=None)
save(*args, **kwargs)
class CIResults.models.BugTrackerAccount(id, tracker, person, user_id, is_developer)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • tracker_id (ForeignKey to BugTracker) – Tracker

  • person_id (ForeignKey to Person) – Person

  • user_id (CharField) – User ID on the bugtracker

  • is_developer (BooleanField) – Is this a developer’s account?

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

class CIResults.models.BugTrackerSLA(id, tracker, priority, SLA)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • tracker_id (ForeignKey to BugTracker) – Tracker

  • priority (CharField) – Name of the priority you want to define the SLA for (case incensitive)

  • SLA (DurationField) – Expected SLA for this priority

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

class CIResults.models.Build(id, name, component, version, added_on, repo_type, branch, repo, upstream_url, parameters, build_log)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • name (CharField) – Name

  • component_id (ForeignKey to Component) – Component

  • version (CharField) – Version

  • added_on (DateTimeField) – Added on

  • repo_type (CharField) – Repo type

  • branch (CharField) – Branch

  • repo (URLField) – Repo

  • upstream_url (URLField) – Upstream url

  • parameters (TextField) – Parameters

  • build_log (TextField) – Build log

  • parents (ManyToManyField) – Parents

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=True, **kwargs)
get_previous_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=False, **kwargs)
class CIResults.models.ColoredObjectMixin

Bases: object

class CIResults.models.Component(id, name, description, url, public)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • name (CharField) – Name

  • description (TextField) – Description

  • url (URLField) – Url

  • public (BooleanField) – Should the component (and its builds) be visible on the public website?

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

class CIResults.models.Issue(id, description, filer, added_on, added_by, archived_on, archived_by, expected, runconfigs_covered_count, runconfigs_affected_count, last_seen, last_seen_runconfig)

Bases: django.db.models.base.Model, CIResults.filtering.UserFiltrableMixin

Parameters
  • id (AutoField) – Id

  • description (TextField) – Description

  • filer (EmailField) – Filer

  • added_on (DateTimeField) – Added on

  • added_by_id (ForeignKey to User) – Added by

  • archived_on (DateTimeField) – Archived on

  • archived_by_id (ForeignKey to User) – Archived by

  • expected (BooleanField) – Is this issue expected and should be considered an active issue?

  • runconfigs_covered_count (PositiveIntegerField) – Runconfigs covered count

  • runconfigs_affected_count (PositiveIntegerField) – Runconfigs affected count

  • last_seen (DateTimeField) – Last seen

  • last_seen_runconfig_id (ForeignKey to RunConfig) – Last seen runconfig

  • filters (ManyToManyField) – Filters

  • bugs (ManyToManyField) – Bugs

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

archive(user)
comment_on_all_bugs(comment)
get_next_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=True, **kwargs)
get_previous_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=False, **kwargs)
hide()
matches(result)
merge_issues(issues, user)
replace_filter(old_filter, new_filter, user)
restore()
set_bugs(bugs)
set_filters(filters, user)
show()
update_statistics()
class CIResults.models.IssueFilter(id, description, stdout_regex, stderr_regex, dmesg_regex, added_on, hidden)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • description (CharField) – Short description of what the filter matches!

  • stdout_regex (CharField) – The result’s stdout field must contain a substring matching this regular expression (leave empty to ignore stdout)

  • stderr_regex (CharField) – The result’s stderr field must contain a substring matching this regular expression (leave empty to ignore stderr)

  • dmesg_regex (CharField) – The result’s dmesg field must contain a substring matching this regular expression (leave empty to ignore dmesg)

  • added_on (DateTimeField) – Added on

  • hidden (BooleanField) – Do not show this filter in filter lists

  • tags (ManyToManyField) – The result’s run should have at least one of these tags (leave empty to ignore tags)

  • machine_tags (ManyToManyField) – The result’s machine should have one of these tags (leave empty to ignore machines)

  • machines (ManyToManyField) – The result’s machine should be one of these machines (extends the set of machines selected by the machine tags, leave empty to ignore machines)

  • tests (ManyToManyField) – The result’s machine should be one of these tests (leave empty to ignore tests)

  • statuses (ManyToManyField) – The result’s status should be one of these (leave empty to ignore results)

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

covers(result)
delete()
get_next_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=True, **kwargs)
get_previous_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=False, **kwargs)
matches(result, skip_cover_test=False)
replace(new_filter, user)
class CIResults.models.IssueFilterAssociated(id, filter, issue, added_on, added_by, deleted_on, deleted_by, covers_from, runconfigs_covered_count, runconfigs_affected_count, last_seen, last_seen_runconfig)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • filter_id (ForeignKey to IssueFilter) – Filter

  • issue_id (ForeignKey to Issue) – Issue

  • added_on (DateTimeField) – Added on

  • added_by_id (ForeignKey to User) – Added by

  • deleted_on (DateTimeField) – Deleted on

  • deleted_by_id (ForeignKey to User) – Deleted by

  • covers_from (DateTimeField) – Covers from

  • runconfigs_covered_count (PositiveIntegerField) – Runconfigs covered count

  • runconfigs_affected_count (PositiveIntegerField) – Runconfigs affected count

  • last_seen (DateTimeField) – Last seen

  • last_seen_runconfig_id (ForeignKey to RunConfig) – Last seen runconfig

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

delete(user, now=None)
get_next_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=True, **kwargs)
get_next_by_covers_from(*, field=<django.db.models.fields.DateTimeField: covers_from>, is_next=True, **kwargs)
get_previous_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=False, **kwargs)
get_previous_by_covers_from(*, field=<django.db.models.fields.DateTimeField: covers_from>, is_next=False, **kwargs)
update_statistics()
class CIResults.models.IssueFilterAssociatedManager

Bases: django.db.models.manager.Manager

get_queryset()
class CIResults.models.KnownFailure(id, result, matched_ifa, manually_associated_on, filing_delay)

Bases: django.db.models.base.Model, CIResults.filtering.UserFiltrableMixin

Parameters
  • id (AutoField) – Id

  • result_id (ForeignKey to TestResult) – Result

  • matched_ifa_id (ForeignKey to IssueFilterAssociated) – Matched ifa

  • manually_associated_on (DateTimeField) – Manually associated on

  • filing_delay (DurationField) – Filing delay

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

class CIResults.models.Machine(id, color_hex, name, description, public, vetted_on, added_on, aliases)

Bases: CIResults.models.VettableObjectMixin, CIResults.models.ColoredObjectMixin, django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • color_hex (CharField) – Color that should be used to represent this object, in hex format. Use https://www.w3schools.com/colors/colors_picker.asp to pick a color.

  • name (CharField) – Name

  • description (TextField) – Description of the machine

  • public (BooleanField) – Should the machine be visible on the public website?

  • vetted_on (DateTimeField) – When did the machine get ready for pre-merge testing?

  • added_on (DateTimeField) – Added on

  • aliases_id (ForeignKey to Machine) – This machine is an alias of another machine. The aliased machine will be used when comparing runconfigs. This is useful if you have multiple identical machines that execute a different subset of test every run

  • tags (ManyToManyField) – Tags

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=True, **kwargs)
get_previous_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=False, **kwargs)
class CIResults.models.MachineTag(id, name, description, public, added_on)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • name (CharField) – Name

  • description (TextField) – Description of the objectives of the tag

  • public (BooleanField) – Should the machine tag be visible on the public website?

  • added_on (DateTimeField) – Added on

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=True, **kwargs)
get_previous_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=False, **kwargs)
class CIResults.models.Person(id, full_name, email, added_on)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • full_name (CharField) – Full name of the person

  • email (EmailField) – Email

  • added_on (DateTimeField) – Added on

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=True, **kwargs)
get_previous_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=False, **kwargs)
class CIResults.models.Rate(type_str, affected, total)

Bases: object

class CIResults.models.ReplicationScript(*args, **kwargs)

Bases: django.db.models.base.Model

These scripts provide a method for replicating bugs between different bugtrackers, based on the user defined Python script. Further documentation on the process and API can be found here - Replication Script

Parameters
  • id (AutoField) – Id

  • name (CharField) – Unique name for the script

  • created_by_id (ForeignKey to User) – The author or last editor of the script

  • created_on (DateTimeField) – Date the script was created or last updated

  • enabled (BooleanField) – Enable bug replication

  • source_tracker_id (ForeignKey to BugTracker) – Tracker to replicate from

  • destination_tracker_id (ForeignKey to BugTracker) – Tracker to replicate to

  • script (TextField) – Python script to be executed

  • script_history (TextField) – Stores the script edit history of the ReplicationScript model in JSON format. The keys correspond to all the fields in the ReplicationScript model, excluding this ‘script_history’ field itself.

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_created_on(*, field=<django.db.models.fields.DateTimeField: created_on>, is_next=True, **kwargs)
get_previous_by_created_on(*, field=<django.db.models.fields.DateTimeField: created_on>, is_next=False, **kwargs)
class CIResults.models.RunConfig(id, name, temporary, url, added_on, environment)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • name (CharField) – Name

  • temporary (BooleanField) – This runconfig is temporary and should not be part of statistics

  • url (URLField) – Url

  • added_on (DateTimeField) – Added on

  • environment (TextField) – A human-readable, and machine-parsable definition of the environment. Make sure the environment contains a header with the format and version.

  • tags (ManyToManyField) – Tags

  • builds (ManyToManyField) – Builds

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

compare(to, max_missing_hosts=0.5, no_compress=False)
get_next_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=True, **kwargs)
get_previous_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=False, **kwargs)
update_statistics(results=None, ifas=None)
class CIResults.models.RunConfigTag(id, name, description, url, public)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • name (CharField) – Unique name for the tag

  • description (TextField) – Description of the objectives of the tag

  • url (URLField) – URL to more explanations (optional)

  • public (BooleanField) – Should the tag be visible on the public website?

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

class CIResults.models.RunFilterStatistic(id, runconfig, filter, covered_count, matched_count)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • runconfig_id (ForeignKey to RunConfig) – Runconfig

  • filter_id (ForeignKey to IssueFilter) – Filter

  • covered_count (PositiveIntegerField) – Covered count

  • matched_count (PositiveIntegerField) – Matched count

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

class CIResults.models.Test(id, name, testsuite, public, vetted_on, added_on, first_runconfig)

Bases: CIResults.models.VettableObjectMixin, django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • name (CharField) – Name

  • testsuite_id (ForeignKey to TestSuite) – Testsuite

  • public (BooleanField) – Should the test be visible on the public website?

  • vetted_on (DateTimeField) – When did the test get ready for pre-merge testing?

  • added_on (DateTimeField) – Added on

  • first_runconfig_id (ForeignKey to RunConfig) – First non-temporary runconfig that executed this test

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=True, **kwargs)
get_previous_by_added_on(*, field=<django.db.models.fields.DateTimeField: added_on>, is_next=False, **kwargs)
rename(new_name)
class CIResults.models.TestResult(id, test, ts_run, status, url, start, duration, command, stdout, stderr, dmesg)

Bases: django.db.models.base.Model, CIResults.filtering.UserFiltrableMixin

Parameters
  • id (AutoField) – Id

  • test_id (ForeignKey to Test) – Test

  • ts_run_id (ForeignKey to TestsuiteRun) – Ts run

  • status_id (ForeignKey to TextStatus) – Status

  • url (URLField) – Url

  • start (DateTimeField) – Start

  • duration (DurationField) – Duration

  • command (CharField) – Command

  • stdout (TextField) – Stdout

  • stderr (TextField) – Stderr

  • dmesg (TextField) – Dmesg

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_start(*, field=<django.db.models.fields.DateTimeField: start>, is_next=True, **kwargs)
get_previous_by_start(*, field=<django.db.models.fields.DateTimeField: start>, is_next=False, **kwargs)
class CIResults.models.TestResultAssociatedManager

Bases: django.db.models.manager.Manager

get_queryset()
class CIResults.models.TestSuite(id, name, description, url, public, component_ptr, vetted_on, notrun_status)

Bases: CIResults.models.VettableObjectMixin, CIResults.models.Component

Parameters
  • id (AutoField) – Id

  • name (CharField) – Name

  • description (TextField) – Description

  • url (URLField) – Url

  • public (BooleanField) – Should the component (and its builds) be visible on the public website?

  • component_ptr_id (OneToOneField to Component) – Component ptr

  • vetted_on (DateTimeField) – When did the testsuite get ready for pre-merge testing?

  • notrun_status_id (ForeignKey to TextStatus) – Notrun status

  • acceptable_statuses (ManyToManyField) – Acceptable statuses

exception DoesNotExist

Bases: CIResults.models.DoesNotExist

exception MultipleObjectsReturned

Bases: CIResults.models.MultipleObjectsReturned

is_failure(status)
class CIResults.models.TestsuiteRun(id, testsuite, runconfig, machine, run_id, url, start, duration, reported_on, environment, log)

Bases: django.db.models.base.Model, CIResults.filtering.UserFiltrableMixin

Parameters
  • id (AutoField) – Id

  • testsuite_id (ForeignKey to TestSuite) – Testsuite

  • runconfig_id (ForeignKey to RunConfig) – Runconfig

  • machine_id (ForeignKey to Machine) – Machine

  • run_id (IntegerField) – Run id

  • url (URLField) – Url

  • start (DateTimeField) – Start

  • duration (DurationField) – Duration

  • reported_on (DateTimeField) – Reported on

  • environment (TextField) – A human-readable, and machine-parsable definition of the environment. Make sure the environment contains a header with the format and version.

  • log (TextField) – Log

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

get_next_by_reported_on(*, field=<django.db.models.fields.DateTimeField: reported_on>, is_next=True, **kwargs)
get_next_by_start(*, field=<django.db.models.fields.DateTimeField: start>, is_next=True, **kwargs)
get_previous_by_reported_on(*, field=<django.db.models.fields.DateTimeField: reported_on>, is_next=False, **kwargs)
get_previous_by_start(*, field=<django.db.models.fields.DateTimeField: start>, is_next=False, **kwargs)
class CIResults.models.TextStatus(id, color_hex, testsuite, name, vetted_on, severity)

Bases: CIResults.models.VettableObjectMixin, CIResults.models.ColoredObjectMixin, django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • color_hex (CharField) – Color that should be used to represent this object, in hex format. Use https://www.w3schools.com/colors/colors_picker.asp to pick a color.

  • testsuite_id (ForeignKey to TestSuite) – Testsuite

  • name (CharField) – Name

  • vetted_on (DateTimeField) – When did the status get ready for pre-merge testing?

  • severity (PositiveIntegerField) – Define how bad a the status is, from better to worse. The best possible is 0.

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

class CIResults.models.UnknownFailure(id, result)

Bases: django.db.models.base.Model

Parameters
  • id (AutoField) – Id

  • result_id (OneToOneField to TestResult) – Result

  • matched_archived_ifas (ManyToManyField) – Matched archived ifas

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

class CIResults.models.VettableObjectMixin

Bases: object

suppress()
vet()
CIResults.models.get_sentinel_user()
CIResults.models.script_validator(script)