Hi, I have some issues when running unit tests in OpenStack. I would like to help, but I don't know where I should start and how I can fix these bugs. My use case is to run unit tests and rerun a single test if one or more tests failed. Well, it should be the most basic use case, no?
(1) First problem: if a Python module cannot be loaded, my terminal is flooded with a binary stream which looks like: ... tCase.test_deprecated_without_replacement\xd7\xe1\x06\xa1\xb3)\x01@l...@atests.unit.test_versionutils.DeprecatedTestCa ... IMO it's a huge bug in the testr tool: "testr run" command should not write binary data into stdout. It makes development very hard. (2) When a test fails, it's hard to find the command to rerun a single failing test. Using the tool trial, I can just copy/paste the "FQDN" name of the failing test and run "trial FQDN". Example: trial tests.unit.test_timeutils.TestIso8601Time.test_west_normalize Using the tool nosetests, you have to add a column between the module and the method. Example: nosetests tests.unit.test_timeutils:TestIso8601Time.test_west_normalize Using tox, in most OpenStack projects, adding the name of the failing test to the tox command is usually ignored. I guess that it's an issue with tox.ini of the project? tox rerun the whole test suite which is usually very slow (it takes some minutes even on fast computer). Example: tox -e py27 tests.unit.test_timeutils.TestIso8601Time.test_west_normalize I try sometimes to activate the virtualenv and then type: testr run tests.unit.test_timeutils.TestIso8601Time.test_west_normalize It usually fails for different reasons. Example with python-swiftclient. I run unit tests using "tox -e py33. Some tests are failing. I enter the virtual environment and type the following command to rerun a failing test: testr run tests.test_swiftclient.TestPutObject.test_unicode_ok The test is not run again, no test is run. It's surprising because the same command works with Python 2. It's probably a bug in testr? (3) testscenarios doesn't work with nosetests. It's annoying because for the reasons listed above, I prefer to run tests using nosetests. Why do we use testscenarios and not something else? Do we plan to support nosetests (and other Python test runners) for testscenarios? Victor _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev