← Back to team overview

checkbox-dev team mailing list archive

Fwd: Packages and call for testing for next release of Checkbox (15/08/2014)

 

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 <maciej.kisielewski@xxxxxxxxxxxxx ]
  * 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.