-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support execution contexts #92
Comments
I think just |
Note that we won't be able to use the PostgreSQL |
Just to make sure I understand, it could be like: ? |
The Now I'm thinking that perhaps we better use the |
We need to also think about how this would be represented in a dashboard, perhaps ask ProFUSION folks too. |
At the moment we support expressing only one test hierarchy: a test being a test suite or a part of one, encoded in the test
path
field. However, we have no way of specifying whether a particular subtest executed as part of this or that execution of its test suite.This is particularly important for troubleshooting correlation and interference between test executions, in some cases.
We need a solution which would be optional, as not all CI systems would have enough capacity to implement it, and likely not from the start. We need to be able to group recursively, as test suites often have multiple levels of nesting and there's also interest in grouping e.g. multi-host tests, and test runs spread across multiple VMs with some running on their hosts. We also need to be able to encode ordering of test plans, before the tests are executed.
Here's the current proposal:
context
orexecution_context
(maybe with_id
or_path
on the end) to tests.path
, but prepended with<origin>.
.suite12.host3.test1
andsuite12.host2.test2
could be specified to two different test entries, and there doesn't have to be a test specifyingsuite12.host3
, orsuite12.host2
, orsuite12
, but such paths could serve to combine tests into hosts they executed on, and e.g. a particular parallel test. Same goes for interim "nodes". Still, a dashboard would be unable to assign meaning to these "non-test" nodes and may skip grouping by them. We can work later on assigning more meaning to particular nodes, e.g. by creating other objects in the database referencing them.start_time
values, the values ofcontext
should be used to represent test ordering within each node by sorting them lexicographically. E.g. for each execution environment (we need to come up with IDs for them, including labs) for a particular build, you can simply sort all tests by context to get their execution order.start_time
is specified, it provides information on actual execution order, butcontext
could be used to refine ordering for tests with the samestart_time
. In practice usingORDER BY start_time ASC NULLS LAST, context ASC NULLS LAST
would implement this and the above requirements, and also support reports without context.This is still a work in progress, feedback is very much welcome.
The text was updated successfully, but these errors were encountered: