Description of problem: For some reason the DepLoader class of from rhev/test/loader.py module is picked up by nosetests as a plugin, and is enabled by default. The wantMethod implementation from there thus prevents nosetests from locating any tests at all in most cases. For example, with python-rhev installed, attempting to run "make check" on the vdsm source from http://gerrit.ovirt.org/p/vdsm.git will run no tests. How reproducible: Every time. Steps to Reproduce: 1. Obtain vdsm git source from http://gerrit.ovirt.org/p/vdsm.git 2. Install python-rhev package 3. Run make check Actual results: voom:~/src/vdsm/tests (master)$ make check Making check in functional make[1]: Entering directory `/home/dwg/src/vdsm/tests/functional' make[1]: Nothing to be done for `check'. make[1]: Leaving directory `/home/dwg/src/vdsm/tests/functional' make[1]: Entering directory `/home/dwg/src/vdsm/tests' make check-local make[2]: Entering directory `/home/dwg/src/vdsm/tests' *** Running tests. To skip this step place NOSE_EXCLUDE=.* *** *** into your environment. Do not submit untested code! *** ../tests/run_tests_local.sh crossImportsTests.py nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$'] ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK ../tests/run_tests_local.sh alignmentScanTests.py apiTests.py betterPopenTests.py capsTests.py configNetworkTests.py fileUtilTests.py fuserTests.py getAllVolumesTests.py gluster_cli_tests.py glusterTestData.py guestIFTests.py hooksTests.py ipwrapperTests.py netconfTests.py netmodelsTests.py jsonRpcTests.py jsonRpcUtils.py vmTests.py vmTestsData.py lsblkTests.py lvmTests.py main.py md_utils_tests.py miscTests.py mkimageTests.py mountTests.py netinfoTests.py outOfProcessTests.py parted_utils_tests.py permutationTests.py persistentDictTests.py remoteFileHandlerTests.py resourceManagerTests.py schemaTests.py sslTests.py storageMailboxTests.py tcTests.py utilsTests.py vdsClientTests.py volumeTests.py zombieReaperTests.py nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$'] ---------------------------------------------------------------------- Ran 0 tests in 0.088s OK make[2]: Leaving directory `/home/dwg/src/vdsm/tests' make[1]: Leaving directory `/home/dwg/src/vdsm/tests' Expected results: voom:~/src/vdsm/tests (master)$ make check Making check in functional make[1]: Entering directory `/home/dwg/src/vdsm/tests/functional' make[1]: Nothing to be done for `check'. make[1]: Leaving directory `/home/dwg/src/vdsm/tests/functional' make[1]: Entering directory `/home/dwg/src/vdsm/tests' make check-local make[2]: Entering directory `/home/dwg/src/vdsm/tests' *** Running tests. To skip this step place NOSE_EXCLUDE=.* *** *** into your environment. Do not submit untested code! *** ../tests/run_tests_local.sh crossImportsTests.py nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$'] CrossImportsTestCaseShould test_fail_when_importing_ext_mod OK ---------------------------------------------------------------------- Ran 1 test in 0.062s OK ../tests/run_tests_local.sh alignmentScanTests.py apiTests.py betterPopenTests.py capsTests.py configNetworkTests.py fileUtilTests.py fuserTests.py getAllVolumesTests.py gluster_cli_tests.py glusterTestData.py guestIFTests.py hooksTests.py ipwrapperTests.py netconfTests.py netmodelsTests.py jsonRpcTests.py jsonRpcUtils.py vmTests.py vmTestsData.py lsblkTests.py lvmTests.py main.py md_utils_tests.py miscTests.py mkimageTests.py mountTests.py netinfoTests.py outOfProcessTests.py parted_utils_tests.py permutationTests.py persistentDictTests.py remoteFileHandlerTests.py resourceManagerTests.py schemaTests.py sslTests.py storageMailboxTests.py tcTests.py utilsTests.py vdsClientTests.py volumeTests.py zombieReaperTests.py nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$'] AlignmentScanTests test_aligned_image SKIP : cannot execute /usr/bin/virt-alignment-scan test_bad_path SKIP : cannot execute /usr/bin/virt-alignment-scan test_help_response SKIP : cannot execute /usr/bin/virt-alignment-scan test_nonaligned_image SKIP : cannot execute /usr/bin/virt-alignment-scan JsonRawTest testBadMethod OK testClientNotJson OK testInternalError OK testMissingSize OK testNoMethod OK testPing OK testPingError OK testSynchronization OK TestBetterPopen testBadCwd OK testCat OK testCloseFDs OK testCwd OK testEcho OK testEnv OK [etc...]
This message is a reminder that Fedora 18 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 18. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '18'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 18's end of life. Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 18 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior to Fedora 18's end of life. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
This bug is still present in Fedora 20, updating version.
This message is a reminder that Fedora 20 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 20. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '20'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 20 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
I've retested this on Fedora 22. python-rhev no longer completely breaks nosetests for other packages, but it does introduce a warning for other packages: Using vdsm as the example above: #### With python-rhev #### *** Running tests. To skip this step place NOSE_EXCLUDE=.* *** *** into your environment. Do not submit untested code! *** ../tests/run_tests_local.sh crossImportsTests.py /usr/lib/python2.7/site-packages/nose/plugins/manager.py:395: RuntimeWarning: Unable to load plugin deploader = rhev.test.loader:DepLoader: 1.2.3 RuntimeWarning) nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$'] CrossImportsTestCaseShould test_fail_when_importing_ext_mod ERROR ====================================================================== ERROR: test_fail_when_importing_ext_mod (crossImportsTests.CrossImportsTestCaseShould) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/dwg/src/vdsm/tests/monkeypatch.py", line 133, in wrapper return f(*args, **kw) File "/home/dwg/src/vdsm/tests/crossImportsTests.py", line 55, in test_fail_when_importing_ext_mod __import__(pkg_name, fromlist=mods) File "/home/dwg/src/vdsm/lib/vdsm/sslutils.py", line 25, in <module> from M2Crypto import SSL, X509, threading ImportError: No module named M2Crypto ---------------------------------------------------------------------- Ran 1 test in 0.072s #### Without python-rhev #### *** Running tests. To skip this step place NOSE_EXCLUDE=.* *** *** into your environment. Do not submit untested code! *** ../tests/run_tests_local.sh crossImportsTests.py nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$'] CrossImportsTestCaseShould test_fail_when_importing_ext_mod ERROR ====================================================================== ERROR: test_fail_when_importing_ext_mod (crossImportsTests.CrossImportsTestCaseShould) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/dwg/src/vdsm/tests/monkeypatch.py", line 133, in wrapper return f(*args, **kw) File "/home/dwg/src/vdsm/tests/crossImportsTests.py", line 55, in test_fail_when_importing_ext_mod __import__(pkg_name, fromlist=mods) File "/home/dwg/src/vdsm/lib/vdsm/sslutils.py", line 25, in <module> from M2Crypto import SSL, X509, threading ImportError: No module named M2Crypto ---------------------------------------------------------------------- Ran 1 test in 0.050s
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.
Appears to be fixed in Fedora 24.