Comment 4 for bug 970857

Revision history for this message
Jeff Lane  (bladernr) wrote :

No... Not IMO at least... what REALLY needs to happen is for us to reliably order tests and not have to rely on brittle dependency satisfaction.

For example, with all the removable media tests we follow the following:

Insert DEVICE
DEVICE Storage (depends on Insert)
Remove DEVICE (depends on DEVICE storage)

DEVICE Storage rightly depends on Insert because you can't run the storage tests if the insert test fails.
Remove DEVICE, however, should STILL run even IF Remove DEVICE fails.

IN all honesty, I'd rather see niggling things like this fixed properly than with bandaid workarounds like changing description text or cheating with depends: or doing what OEM used to do by alphabetizing the test names (like: 0_testA, 1_testB, 2_testC)

Fixing the problem with ordering jobs would fix this and so many other issues... and yeah, I know it's certainly NOT a trivial fix, unfortunately.

I would love it if we could do something like these:

1: something similar to Try, Except, Finally... like Try: Insert, Then: Storage, Finally: Remove with Finally: acting like the cleanup test that runs regardless of whether Storage passes or fails.

2: Confirmed that whitelist ordering really does work. Removing the depends from the multimedia card and USB tests would be a great way to test this (and perhaps the fixes to whitelist ordering actually have resolved this problem already, in which case we just need to go through the jobs and remove the unnecessary dependencies.

3: A way to arbitrarily create strings of jobs via one metajob, perhaps like this:

plugin: SOME PLUGIN
name: SDHC_Test
depends: device.type == 'SDHC' (or whatever)
jobs: multimedia/sdhc_insert, multimedia/sdhc_storage, multimedia/sdhc_remove
description: Compound job that will run all three MMC tests against an SDHC card

Anyway, those are just my thoughts. The main point is that I'd really rather see this fixed overall than just patched up because I think fixing the underlying issue in the test process here will fix a lot of similar issues/complexities in other jobs as well.