Hello! Release candidate packages for the next release of Checkbox are now available in the https://code.launchpad.net/~checkbox-dev/+archive/testing PPA.
Please test it at your convenience. Checkbox and its related and derivative packages are based on revision 3180 of https://code.launchpad.net/~checkbox-dev/checkbox/trunk. The Checkbox roadmap is as follows (each link shows bugs targeted to each release date): Checkbox release (2014-08-15) (these are the bugs fixed in the release that's up for testing): http://goo.gl/ypCBYU Checkbox release (2014-08-29): http://goo.gl/CfT8p9 Checkbox release (2014-09-12): http://goo.gl/zwjZtc And finally, at the bottom of this e-mail, please find a detailed log of all the changes done since the last stable checkbox release. Note that the change log is still experimental. As usual, please let us know if there are any questions, comments or problems with these packages. Thanks, Daniel ---------------- This changelog details the changes done since the last releases of the following packages (last version number noted): checkbox-support-v0.6 plainbox-provider-canonical-certification-v0.4 plainbox-v0.9 plainbox-provider-checkbox-v0.8 checkbox-ng-v0.7 checkbox-gui-v0.21 [ Ashley Lai ] * efi_resource returns unexpected strings [ Jeff Lane ] * Removed deleted test from virtualization-only.whitelist. Cleaned up virtualization.txt.in in checkbox provider to add summary and estimated_duration entries. * fixed error handling in bmc_info, added summary to job description for miscellanea/bmc_info * p-p-checkbox: added new script bmc_info and added job description for bmc_info to miscellanea.txt.in. p-p-c-server: added new job to full and functional whitelists. * updated estimated time for miscellanea/get_make_and_model to 30 seconds based on tests locally * re-wrote get_make_and_model script to use lshw rather than individual code for device-tree vs dmi [ Zygmunt Krynicki ] * plainbox:docs: add missing template declaration * providers:checkbox: mark 'disk/stats' and its children as deprecated * providers:checkbox: add 'staging/disk/stats_{name}' job definition template This template is the direct replacement for the 'disk/stats' local job and the 'disk/stats_...' jobs it generates. * providers:resource: add 'staging/udev' resource job This patch adds a new job resource job 'staging/udev' (note the fancy name) This job exposes all of raw udev data without any filtering so that it is available to an upcoming template job. * providers:resource: add 'udev2resource' script This patch adds a new provider script 'udev2resource'. The new script, unlike the enormous 'device' script does no processing and has no heuristics/guesswork that classifies devices into some arbitrary groups. It simply converts anything that udev reports into a plainbox resource. * providers:resource: use '#!/usr/bin/env python3' to support mk- venv.sh This patch changes all python3 scripts used in the resource provider to have a env-aware shebang line so that they work correctly with mk-venv.sh * plainbox:po: fix typo in Polish translation * plainbox:unit:job: correct docstring of JobDefinition.get_resource_program() * plainbox:unit:job: validate correctness of resource program * plainbox:ctrl: don't add invalid instantiated units This patch prevents instantiated units that don't pass validation from being added back to the session. It essentially mirrors the same code- path that exists for local jobs. * plainbox:ctrl: fix missing i18n * plainbox:resource: handle syntax errors in resource expressions This patch makes the ResourceExpression initializer raise a ResourceSyntaxError class, which is a subclass of ResourceProgramError, when there is a python3 syntax related issue in the expression string * plainbox:resource: ignore malformed requirements for dependency tracking This patch captures and handles malformed requirement programs when trying to come up with a set of job dependencies. It is only needed because currently the way fake template instances are inserted into the dependency resolution chain. Those contain '.*' which is not a terribly valid python3 syntax and everything breaks. * plainbox:commands:run: add support for `plainbox run --dont- suppress-output` This patch makes it possible to show output of *all* commands, including local, resource and attachment job commands. It is quite useful for debugging as it saves the time to look up log files. * checkbox-ng:commands:launcher: use the dont_suppress_output ui option This patch bridges the launcher option to the implementation of the launcher command. * checkbox-ng:launcher: add support for dont_suppress_output option This patch adds a new option 'dont_suppress_output' to a new section '[ui]' which controls the suppression command output for plugin types 'attachment', 'resource' and 'local' fixup * checkbox-ng:commands:cli: add support for --dont-suppress-output This patch adds a new command line option for checkbox-cli. Currently it does nothing but it will automatically be used after the upcoming patch to plainbox, which adds the very same option and the code to use it, lands. * Revert "plainbox: crazy-hack, add hacky template dependencies" This commit wasn't meant to go in so I'd rather revert it and solve the problem properly. This reverts commit 042c28ab492b610ea52ff0e1eb4d900f7a099b33. * plainbox:commands:run: fix pep-8 issues * plainbox: crazy-hack, add hacky template dependencies * plainbox:po: update polish translations * plainbox:po: update translation template * providers: add demo provider for templates This provider shows how templates can be used in practice. * plainbox:provider_manager: fix typo * plainbox:ctrl: expose i18n data to jobs with 'preserve-locale' flag This patch makes it possible to easily access locale data in all the jobs that have the 'preserve-locale' flag. Such jobs get access to the gettext domain name and the locale directory as two new environment variables, PLAINBOX_PROVIDER_GETTEXT_DOMAIN and PLAINBOX_PROVIDER_LOCALE_DIR respectively. In addition, for easy shell scripting they are also exposed As TEXTDOMAIN and TEXTDOMAINDIR which are picked up by gettext(1) and ngettext(2). expose tex * plainbox:ctrl: instantiate template definitions after running resource jobs This patch makes CheckBoxSessionStateController instantiate all the unit templates that depend on a resource after that resource runs. This works but there are two quirks about it. First, we should not need to iterate over all the units like that (some additional API to get a list of templates that depend on a resource would be better). Second it is going to misbehave when a resource is re-ran and produces a different set of values. This needs some extra design decisions as it is not immediately obvious how it should behave in that case. We might remove all of the instantiated jobs and re-instantiate them with the new set, we could reject this operation entirely or do something else. It is not clear what the proper outcome should be though. * plainbox:docs: add a manual page for template units * plainbox:setup.py: expose the template unit * plainbox:unit:template: add TemplateUnit class This patch adds TemplateUnit, a class uses to represent templates for arbitrary units that reference a single resource object that can then be used to instantiate the template into a list of concrete units. * plainbox:unit:job: implement tr_{summary,description} with get_translated_record_value() * plainbox:unit:job: add comment on the internal controller attribute * plainbox:unit:job: add JobDefinition.instantiate_template() This patch adds an overridden version of Unit.instantiate_template() that correctly maps argument order to the JobDefinition initializer. * plainbox:unit:job: store provider reference via initializer * plainbox:unit:job: accept and store unit parameters * plainbox:unit:job: super-call Unit.validate() * plainbox:unit:job: add template_constraints meta-data This patch adds template instantiation meta-data to the JobDefinition class. The rules are conservative and may be relaxed later, once we get some experience by modifying existing local jobs to become templates. * plainbox:unit: add Unit.get_accessed_paramters(force=True) This patch makes it possible to force (pretend) that an Unit is a parametric unit for get_accessed_parameters(). This is helpful for the template validation code. * plainbox:unit: add Unit.instantiate_template() This patch adds a new class method that is just a "portable" __init__() with well- know arguments. It is used by the template unit to instantiate unit classes. Since the current set of signatures for unit initializers is larger than one, the method has some sanity checks to ensure that it was overridden in subclasses. * plainbox:unit: add Unit.get_translated_record_value() This patch adds a high-level version of a translated-record-attribute lookup function. It is meant to replace all of the manually implemented tr_foo() class functions (except for the special tr_unit()). Unlike all of the current implementations it also understands unit parameters so it should be have well when used with templates. * plainbox:unit: fix Unit.{get_record_value,get_raw_record_value}() This patch fixes get_record_value() and which would crash if called on a parametric unit that doesn't happen to have that particular field/attribute. * plainbox:session: add SessionState.add_unit() This method replaces SessionState.add_job() and can handle both job definitions as well as any other kind of units. * plainbox:session: deprecate SessionState.add_job() We want to have a higher-level API to add any kind of units instead. * plainbox:resource: fix typo * plainbox:resource: add FakeResource This patch adds FakeResource, a Resource-like class that can be used to inspect how a job template uses resource references in various fields. * plainbox:resource: tweak unit test * plainbox:resource: make Resource objects more mapping-like This patch makes a Resource object a valid replacement for a dictionary by implementing __{get,set,del}item__() family of methods. This is done so that a Resource can directly parametrize an Unit * plainbox:resource: allow access to Resource.__*__ methods This patch makes Resource's special-attribute lookup code less strict so that Resource.__*__ methods can be looked up. In fact, anything *but* the special ``_data`` attribute can now be looked up. * plainbox:resource: fix ResourceExpression when called with empty import list This patch fixes a bug in the initializer of the ResourceExpression class. When called with imports= argument that is not None but is an empty list (or a list that otherwise doesn't contain the actually used resource) then the _resource_id attribute would not be set. * plainbox:resource: move the "imports" syntax parser to the resource module This patch moves the implementation of JobDefinition.get_imported_jobs() to the resource module where it can be accessed by the upcoming template code * plainbox:setup: add classifiers * plainbox:setup: define the platform field This field has no real meaning but the UNKNOWN it defaults to looks silly * plainbox:setup: update project description [ Sylvain Pineau ] * checkbox_ng:test_certification: Mock logging To have a quiet output when running the self-test command and avoid the following output when running test_valid_url_cant_connect: Unable to connect to http://i.dont.exist * checkbox_ng: Add a selftest subcommand Meant to be used for autopkgtest (aka DEP-8) * checkbox-ng: increment version to 0.8.dev * providers/plainbox-provider-checkbox: increment version to 0.9.dev * plainbox: increment version to 0.10.dev * checkbox-support: increment version to 0.7.dev * checkbox-ng: increment version to 0.7 [ Maciej Kisielewski <[email protected] ] * self-test command in checkbox based on plainbox' one Added PlainboxSelfTestCommand as subclass of the generic SelfTestCommand * Chang sample string to less abstract, to better catch errors [ Daniel Manrique ] * checkbox-ng: increment version to 0.8c3 * checkbox-ng: increment version to 0.8c2 * checkbox-ng: increment version to 0.8c1 * providers/plainbox-provider-resource-generic: increment version to 0.7c1 * plainbox: increment version to 0.10c1 * checkbox-support: increment version to 0.7c1 * providers:checkbox: Convert audio_settings one-liners to multiline Many audio test commands are wrapped in audio_settings and had degenerated into very arcane one-liners. I simply wrapped them to one-command-per-line them taking advantage of the multi-line syntax facility of rfc822 job descriptions to make them easier to read and understand. * providers:checkbox: Relocate audio_settings profiles file. (LP: 1316312). Audio_settings was writing an active_profiles file in its current directory. This can either cause crashes or at the very least have plainbox warn about leftover artifacts. This update writes the active_profiles file in a more predictable location, relative to the user-specified audio_settings file. * providers:checkbox: Remove interactive fwts tests. Our wrapper script can't handle those interactive tests, and they are covered by other checkbox jobs, so I'm just removing them. The removed tests are: ac_adapter battery brightness hotkey lid power_button * providers:checkbox: Minor fixes to firmware jobs * providers:checkbox: Add a series of new tests to fwts_test script * providers:certification-client: added new canonical-hw-collection launcher canonical-hw-collection will run a simple whitelist with only very quick non-interactive, data-gathering jobs. The result will be automatically submitted to HEXR with no prompt for secure_id, as it's not needed in that case. The provided binary is intended to be shipped in its own separate package. * checkbox-ng: Add settings and behavior changes to launchers. Setting the c3 url, taking the secure_id from the launcher instead of asking. These are to enable a hardware data submission feature which needs no secure_id and can submit to a different endpoint which is configured in the launcher rather than a config gile. [ Taihsiang Ho ] * workaround for LP: #1334224, give the correct category, CARDREADER, instead of DISK [ Maciej Kisielewski ] * Fix test to match Product by Vendor arrangement [ Launchpad Translations on behalf of checkbox-dev ] * Launchpad automatic translations update. -- Mailing list: https://launchpad.net/~checkbox-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~checkbox-dev More help : https://help.launchpad.net/ListHelp

