SubmissionParser doesn't understand armhf architecture
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox |
Fix Released
|
High
|
Unassigned |
Bug Description
Even if the udevadm parser produces devices for an armhf device in isolation (i.e. when fed just the udevadm raw output), as a whole the Submission parser doesn't work correctly with armhf devices.
What happens is that the processed data contains no device information, because the udevadm sub-parser is never fired.
Looking at the submission.py code, it appears the udev parser isn't even fired if the "bits" event hasn't been published. This means that both bits and udevadm_result need to have been fired for the parser to be invoked.
The problem seems to be with the "bits" attribute. The architecture as recorded in the submission is compared with a table of known architectures to try to determine the "bits" (basically the architecture's word size, 32 or 64 bits typically). Once a matching architecture is found, the "bits" are set and the udevadm data is processed as requested.
The table that's being used does not contain the armhf architecture, so submissions from this arch will never have udev-extracted devices.
The table lives in checkbox-
If I manually add an armhf line, then things work as expected.
Related branches
- Brendan Donegan (community): Approve
-
Diff: 11170 lines (+11110/-1)6 files modifiedcheckbox-old/checkbox/parsers/submission.py (+4/-1)
checkbox-old/checkbox/parsers/tests/fixtures/submission_udev_armhf.xml (+4247/-0)
checkbox-old/checkbox/parsers/tests/test_submission.py (+9/-0)
checkbox-old/checkbox/parsers/tests/test_udevadm.py (+22/-0)
checkbox-old/checkbox/parsers/tests/udevadm_data/CALXEDA_HIGHBANK.txt (+6826/-0)
checkbox-old/debian/changelog (+2/-0)
Changed in checkbox: | |
status: | Triaged → Fix Committed |
Changed in checkbox: | |
status: | Fix Committed → Fix Released |