Hey This is hopefully one of the last updates.
After some hacking this week I got to a point that we get everything working in checkbox-gui and plainbox. There's a branch with dozens of small patches that needs to be cleaned up (commit messages and perhaps additional tests) but that's roughly it. To summarize what has happened in the CEP-8 branch since the last time: - Some small improvements to PODs and signals - A fix for select_jobs() in a rare (non-production) case - A fix for TestPlanUnitSupport not to parse missing data Now for the meat and potatoes: - We now have a new method that actually applies overrides: JobState.apply_overrides(). It is driven by the same data that is produced by TestPLanUnitSupport. In reality it is called automatically by plainbox iff the SessionManager.test_plans property is set. - This also means that we now have SessionManager.test_plans property (a pod.Field) that stores and propagates a sequence of TestPlanUnits that we want to execute in a given session. - This also means that SessionDeviceContext can accept test plans, and it does via the new set_test_plans helper (there's no POD for that yet). This also computes a cached (and invalidated) override_map based on all of the test plans used. There is also a new signal SessionDeviceContext.on_job_added() that ensures that each newly-added job definition has all of the overrides applied. There is also a bulk change whenever test plans change so that no matter what applications do on the outside, the data on the inside stays correct. - The 'plainbox run' command was patched to set test_plans on the manager instance it has - To test everything in the core I've added a new test plan and a set of support jobs to stubbox - checkbox service now sets SessionManager.test_plans whenever SelectJobs() is called. This is a hack but it works correctly. - Checkbox GUI was also patched to hard-code the with-certification-status option where applicable Now for what is missing: - checkbox-ng's launchers are based on whitelists and those cannot be updated to use this unless we also allow them to migrate to test plans. This was not a part of the story though I hate to leave it hanging like that. I need to look at it to see how complicated that might be - checkbox-touch is not setting it although it is trivial to do so (one line). I'll do it tomorrow. So now for the actual good stuff: get the branch from [1] and test it out. I've created a merge request (though don't land it yet) if you want to provide any feedback [2]. You can also quickly check it out with stubbox: $ stubbox -P -v run -T 2013.com.canonical.plainbox::cert-status-override/plan -f html -p with-certification-status -o demo.html $ stubbox -P -v run -T 2013.com.canonical.plainbox::cert-status-override/plan -f json -p with-certification-status $ stubbox -P -v run -T 2013.com.canonical.plainbox::cert-status-override/plan -f xlsx -p with-unit-categories -o demo.xlsx That's it, if you have any questions please shot. PLEASE TEST THIS if you can. [1] https://code.launchpad.net/~zkrynicki/checkbox/bulk-override-api [2] -- Mailing list: https://launchpad.net/~checkbox-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~checkbox-dev More help : https://help.launchpad.net/ListHelp

