Jobs instantiated from a template won't be available in test case selection page
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox Converged |
Fix Released
|
Medium
|
Maciej Kisielewski | ||
Next Generation Checkbox (CLI) |
Fix Released
|
High
|
Unassigned | ||
PlainBox (Toolkit) |
Fix Released
|
High
|
Zygmunt Krynicki |
Bug Description
The core issue is that none of the applications run the right jobs "early" before coming up with the tree of jobs. Traditionally each application ran local jobs (differently) and used that as a way to discover all generated jobs.
Now, with templates, resource jobs are the key so to have a correct and predictable experience in each application plainbox should offer some new APIs that list all of the jobs that should be started "early" and applications should just follow that list instead of trying to understand this themselves.
If testing with checkbox-cli, start with client-cert test plan, and with a template job ready in the graphics.txt.in job file, e.g.:
unit: template
template-unit: job
template-resource: graphics_
requires: device.category == 'VIDEO'
plugin: shell
id: graphics/
estimated_duration: 0.500
_summary: Test X driver/version for {product}
_description: Parses Xorg.0.Log and discovers the running X driver and version for the {product} graphics card
command: graphics_driver
It won't be available to testers with the following jobs name in the client-
graphics/
But it will be available with:
graphics/
It looks like that the {index} and {product} were not translated into actual output that obtained from the graphics_
However, it can be started with plainbox:
plainbox run -i '2013.com.
(Note that the graphics_
And if you run the graphics_card job from the __resource__, the graphic resource job will be executed, but the driver_version job still skipped:
plainbox run -i '2013.com.
testing branch available: bzr branch lp:~cypressyew/junk/template-testing
Test steps:
1. Fetch the testing branch, run checkbox-cli in venv.
2. Select client-cert test plan only, and see if the driver_version job is available or not.
Related branches
- Zygmunt Krynicki (community): Approve
-
Diff: 325 lines (+187/-7)6 files modifiedcheckbox-touch/checkbox-touch.qml (+1/-0)
plainbox/docs/changelog.rst (+18/-2)
plainbox/docs/manpages/plainbox-test-plan-units.rst (+72/-0)
plainbox/plainbox/impl/session/assistant.py (+10/-5)
plainbox/plainbox/impl/unit/test_testplan.py (+28/-0)
plainbox/plainbox/impl/unit/testplan.py (+58/-0)
description: | updated |
Changed in plainbox: | |
status: | New → Triaged |
Changed in checkbox-ng: | |
status: | New → Confirmed |
Changed in checkbox-touch: | |
status: | New → Confirmed |
Changed in plainbox: | |
importance: | Undecided → High |
Changed in checkbox-ng: | |
importance: | Undecided → High |
Changed in plainbox: | |
status: | Triaged → In Progress |
assignee: | nobody → Zygmunt Krynicki (zyga) |
milestone: | none → 0.21 |
summary: |
- Template jobs won't be available in test case selection page + Jobs instantiated from a template won't be available in test case + selection page |
Changed in plainbox: | |
milestone: | 0.22 → 0.23 |
Changed in checkbox-touch: | |
assignee: | nobody → Maciej Kisielewski (kissiel) |
status: | Confirmed → In Progress |
importance: | Undecided → Medium |
milestone: | none → 1.2.2 |
Changed in checkbox-converged: | |
status: | In Progress → Fix Committed |
Changed in plainbox: | |
status: | In Progress → Fix Committed |
Changed in checkbox-ng: | |
milestone: | none → 0.22 |
Changed in checkbox-converged: | |
status: | Fix Committed → Fix Released |
Changed in plainbox: | |
status: | Fix Committed → Fix Released |
Changed in checkbox-ng: | |
milestone: | 0.22 → 0.23 |
Changed in checkbox-ng: | |
milestone: | 0.23 → 0.24 |
I can't put the graphics_ card_resource job into the client-cert whitelist, since it will only be executed after selecting all the test cases that you want.
It must be executed before entering the test case selection stage, otherwise the template jobs won't be available there. card_resource job was executed there before entering the test case selection page, but I don't know why those job are not correctly displayed.
From the __resource__ job, I think the graphics_