[openstack-dev] testr now Nova's test runner
Davanum Srinivas
davanum at gmail.com
Sat Dec 15 18:54:49 UTC 2012
Nice work!!
-- dims
On Dec 14, 2012, at 9:06 PM, Clark Boylan <clark.boylan at gmail.com> wrote:
> Hello,
>
> The change (https://review.openstack.org/15078) to make testr Nova's
> test runner merged in the last hour or so. What does this mean?
>
> * Nova's unittests will now be run in X parallel processes where X is
> the number of CPUs available on your machine (which results in much
> faster testing).
> * Parallel testing means you cannot count on your tests being run in
> the same order each time they are run or in the same process. Tests
> should be independent units.
> * Make sure you subclass nova.test.TestCase for your test classes to
> pull in the proper base setUp and tearDown stuff.
> * Use fixtures.Fixture to build robust fixtures that properly set
> and reset state before and after each test.
> * Virtual envs will need to be rebuilt as dependencies have changed.
> * Each test run is logged in subunit under .testrepository/$TEST_RUN_NUMBER.
> * Every test run during the test run will be captured in this log.
> * For each test in this log you will find the captured stdout,
> stderr, and logging for when that test was run (this content is also
> echoed to stdout when a test fails).
> * Running tests shouldn't change too much. tox -epy2X will still work
> and most of the run_tests.sh functionality was preserved.
> * For more info on running tests see http://wiki.openstack.org/testr.
> * The logs provided by Jenkins will include the console log and an
> html page with test details (that does not change). You will also find
> the subunit log for that test run.
>
> This is a semi large change and there are differences between nose and
> testr, non python2.6 test facilities like setUpClass will no longer be
> available under python2.6 for example. But most of these changes
> should be positive. Tests run faster, each test comes with very
> verbose logs, tests end up being more robust as testr shouldn't have
> the zero tests run but pass anyways problem. Additionally, because
> tests are run in different orders and in parallel, testr will often
> catch things like missing imports or conflicts between test cases (in
> fact most of the work involved in making this happen was in fixing
> test bugs).
>
> It would be great if other projects used
> https://review.openstack.org/15078 as a template for switching over to
> testr as well. Let me know if you have questions.
>
> Thanks,
> Clark
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-dev
mailing list