elliot cement # pwd /usr/portage/dev-python/cement elliot cement # grep PYTHON_COMPAT cement-2.0.2.ebuild PYTHON_COMPAT=( python{2_6,2_7,3_1,3_2,3_3} ) elliot cement # PYTHON_TARGETS="python3_3" ebuild cement-2.0.2.ebuild digest clean test [snip] ====================================================================== ERROR: test_reload_bootstrap (tests.core.foundation_tests.FoundationTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/var/tmp/portage/dev-python/cement-2.0.2/work/cement-2.0.2/tests/core/foundation_tests.py", line 60, in test_reload_bootstrap app.setup() File "/var/tmp/portage/dev-python/cement-2.0.2/work/cement-2.0.2/cement/core/foundation.py", line 421, in setup reload(self._loaded_bootstrap) File "/usr/lib/python3.3/imp.py", line 257, in reload return module.__loader__.load_module(name) File "<frozen importlib._bootstrap>", line 586, in _check_name_wrapper File "<frozen importlib._bootstrap>", line 1023, in load_module File "<frozen importlib._bootstrap>", line 1004, in load_module File "<frozen importlib._bootstrap>", line 562, in module_for_loader_wrapper File "<frozen importlib._bootstrap>", line 854, in _load_module File "<frozen importlib._bootstrap>", line 978, in get_code File "/usr/lib/python3.3/imp.py", line 93, in get_data with self.file: ValueError: I/O operation on closed file. ====================================================================== FAIL: test_spawn_thread (tests.utils.shell_tests.ShellUtilsTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/var/tmp/portage/dev-python/cement-2.0.2/work/cement-2.0.2/tests/utils/shell_tests.py", line 49, in test_spawn_thread self.eq(res, True) File "/var/tmp/portage/dev-python/cement-2.0.2/work/cement-2.0.2/cement/utils/test.py", line 67, in eq return eq(a, b, msg) nose.proxy.AssertionError: False != True >> raise AssertionError(None or "%r != %r" % (False, True)) Reproducible: Always
Note if you run the test manually ( ebuild <ebuild> prepare; cd <prep_dir>; nosetests-python3.3) they will pass.
When I run the individual testcases python_test() { nosetests || die "Tests fail with ${EPYTHON}" #nosetests tests.core.foundation_tests.FoundationTestCase.test_reload_bootstrap || die "Tests fail with ${EPYTHON}" #nosetests tests.utils.shell_tests.ShellUtilsTestCase.test_spawn_thread || die "Tests fail with ${EPYTHON}" } they pass. If I strace the test, I get only one failure. PYTHON_TARGETS="python3_3" strace ebuild cement-2.0.2.ebuild digest clean test 2> ~/cement.strace
Created attachment 347950 [details] a diff -u from cvs long but it proves the test passes ok making it likely a nose invoked trip. For the sake of 1 test it's easy to argue against it, esp. since py3.3 is still masked. It warrants filing to upstream for them to make a fix. Being trivial you hope they'll do it. nosetests is generally good, this is an odd exception.
(In reply to comment #3) Do NOT skip tests if you can't figure out why they are failing.
(In reply to comment #4) My bad, I misinterpreted what you were doing there.
+ 02 Sep 2013; Mike Gilbert <floppym@gentoo.org> cement-2.0.2.ebuild: + Add python3.3; unable to reproduce bug 429316.