Testrepository 0.0.5

Milestone information

Project:
Testrepository
Series:
trunk
Version:
0.0.5
Released:
 
Registrant:
Robert Collins
Release registered:
Active:
No. Drivers cannot target bugs and blueprints to this milestone.  

Download RDF metadata

Activities

Assigned to you:
No blueprints or bugs assigned to you.
Assignees:
1 Jonathan Lange, 8 Robert Collins
Blueprints:
No blueprints are targeted to this milestone.
Bugs:
9 Fix Released

Download files for this release

After you've downloaded a file, you can verify its authenticity using its MD5 sum or signature. (How do I verify a download?)

File Description Downloads
download icon testrepository-0.0.5.tar.gz (md5, sig) Source tarball. 628
last downloaded 17 weeks ago
Total downloads: 628

Release notes 

This long overdue release:
 - depends on testtools 0.9.8
 - adds parallel testing support using instrumented partitioning of the tests
 - adds support for listing tests
 - improves variable expansion
 - has better win32 support

For details see the changelog.

Changelog 

View the full changelog

0.0.5
+++++

CHANGES
-------

* The testrepository test suite depends on testtools 0.9.8. (Robert Collins)

* If interrupted while updating the ``failing`` list, temp files are now
  cleaned up - previously a carefully timed interrupt would leave the
  temporary failing file in place. (Robert Collins, #531665)

* Local implementation of MatchesException has been removed in favour of the
  testtools implementation. All ``self.assertRaises`` have been migrated to
  this new testing interface.

* ``setup.py`` will read the version number from PKG-INFO when it is running
  without a bzr tree : this makes it easier to snapshot without doing a
  release. (Jonathan Lange)

* Testrepository should be more compatible with win32 environments.
  (Martin [gz])

* ``testr init-repo`` now has a ``--force-init`` option which when provided
  will cause a repository to be created just-in-time. (Jonathan Lange)

* ``testr load`` and ``testr run`` now have a flag ``--partial``. When set
  this will cause existing failures to be preserved. When not set, doing a
  load will reset existing failures. The ``testr run`` flag ``--failing``
  implicitly sets ``--partial`` (so that an interrupted incremental test run
  does not incorrectly discard a failure record). The ``--partial`` flag exists
  so that deleted or renamed tests do not persist forever in the database.
  (Robert Collins)

* ``testr load`` now loads all input streams in parallel. This has no impact
  on the CLI as yet, but permits API users to load from parallel processes.
  (Robert Collins)

* ``testr list-tests`` is a new command that will list the tests for a project
  when ``.testr.conf`` has been configured with a ``test_list_option``.
  (Robert Collins)

* ``test run --parallel`` will parallelise by running each test command once
  per CPU in the machine (detection for this only implemented on Linux so far).
  An internally parallelising command will not benefit from this, but for
  many projects it will be a win either from simplicity or because getting
  their test runner to parallise is nontrivial. The observed duration of tests
  is used to inform the partitioning algorithm - so each test runner should
  complete at approximately the same time, minimising total runtime.
  (Robert Collins)

* ``testr run`` no longer attempts to expand unknown variables. This permits
  the use of environmen variables to control the test run. For instance,
  ${PYTHON:-python} in the test_command setting will run the command with
  $PYTHON or python if $PYTHON is not set. (Robert Collins, #595295)

* ``testr run`` now resets the SIGPIPE handler to default - which is what
  most Unix processes expect. (Robert Collins)

* ``testr run`` now uses a unique file name rather than hard coding
  failing.list - while not as clear, this permits concurrent testr invocations,
  or parallel testing from within testr, to execute safely. (Robert Collins)

* ``testr run`` uses an in-process load rather than reinvoking testr. This
  should be faster on Windows and avoids the issue with running the wrong
  testr when PYTHONPATH but not PATH is set. (Robert Collins, #613129)

* ``testr run`` will now pass -d to the ``testr load`` invocation, so that
  running ``testr run -d /some/path`` will work correctly.
  (Robert Collins, #529698)

* ``testr run`` will now pass ``-q`` down to ``testr load``.
  (Robert Collins, #529701)

* The ``testrepository.repository.Repository`` interface now tracks test times
  for use in estimating test run duration and parallel test partitioning.
  (Robert Collins)

* There are the beginnings of a samba buildfarm backend for testrepository,
  though it is not hooked into the UI yet, so is only useful for API users.
  (Jelmer Vernooij)

* Updates to next-stream are done via a temporary file to reduce the chance
  of an empty next-stream being written to disk. (Robert Collins, #531664)

* Variable expansion no longer does python \ escape expansion.
  (Robert Collins, #694800)

* When next-stream is damaged testr will report that it is corrupt rather than
  reporting an invalid literal. (Robert Collins, #531663)

0 blueprints and 9 bugs targeted

Bug report Importance Assignee Status
694800 #694800 Test suite failures in IDFILE tests if backslash in TMP path 2 Critical Robert Collins  10 Fix Released
531663 #531663 recover from empty next-stream 4 Medium Robert Collins  10 Fix Released
531664 #531664 interrupting testrepository should never damage next-stream 4 Medium Robert Collins  10 Fix Released
531665 #531665 temp file management 4 Medium Robert Collins  10 Fix Released
529698 #529698 testr run does not pass -d to testr load 6 Wishlist Robert Collins  10 Fix Released
529701 #529701 test run always runs load in verbose mode 6 Wishlist Robert Collins  10 Fix Released
595295 #595295 support env variables in test_command 6 Wishlist Robert Collins  10 Fix Released
607790 #607790 Do not require testr init before testr load 6 Wishlist Jonathan Lange  10 Fix Released
613129 #613129 "testr run" uses system testr to load 6 Wishlist Robert Collins  10 Fix Released
This milestone contains Public information
Everyone can see this information.