On 04/12/2012 10:18 PM, Dan Kenigsberg wrote:
On Thu, Apr 12, 2012 at 02:59:51PM +0800, Mark Wu wrote:
I failed to build latest vdsm code on RHEL6 host because of test
failure as below:

make[2]: Entering directory `/home/mark/Work/vdsm/vdsm-src/tests'
../tests/run_tests.sh main.py miscTests.py resourceManagerTests.py
processPoolTests.py fileUtilTests.py guestIFTests.py
     runTest                                                     ERROR
     runTest                                                     ERROR
     runTest                                                     ERROR
     runTest                                                     ERROR
     runTest                                                     ERROR
     testfilterXmlChars                                          OK

When I manually run one of the test cases, I got the following exception:

$ ./run_tests.sh fileUtilTests.py
     runTest                                                     ERROR

ERROR: Failure: ImportError (No module named fileUtils)
Traceback (most recent call last):
   File "/usr/lib/python2.6/site-packages/nose/loader.py", line 364,
in loadTestsFromName
     addr.filename, addr.module)
   File "/usr/lib/python2.6/site-packages/nose/importer.py", line 39,
in importFromPath
     return self.importFromDir(dir_path, fqname)
   File "/usr/lib/python2.6/site-packages/nose/importer.py", line 87,
in importFromDir
     mod = load_module(part_fqname, fh, filename, desc)
   File "/home/mark/Work/vdsm/vdsm-src/tests/fileUtilTests.py", line
23, in<module>
     import storage.fileUtils as fileUtils
ImportError: No module named fileUtils
---------------------->   I am not sure why the name is fileUtils,
not storage.fileUtils

Ran 1 test in 0.001s

FAILED (errors=1)

I also tried to manually import fileUtilTests.py.  Although it
failed too, it could locate the module storage.fileUtils and started
to load it.  I guess the 'constants' module issue could be resolved
by the function hackVdsmModule in testrunner.py.
In [1]: import sys

In [2]: sys.path.append('../vdsm')

In [3]: import fileUtilTests.py
ImportError                               Traceback (most recent call last)

/home/mark/Work/vdsm/vdsm-src/tests/<ipython console>  in<module>()

/home/mark/Work/vdsm/vdsm-src/tests/fileUtilTests.py in<module>()
      21 import os
--->  23 import storage.fileUtils as fileUtils
      24 import testValidation
      25 from testrunner import VdsmTestCase as TestCaseBase

/home/mark/Work/vdsm/vdsm-src/vdsm/storage/fileUtils.py in<module>()
      35 import shutil
--->  36 from vdsm import constants
      37 import logging
      38 import storage_exception as se

ImportError: cannot import name constants

I guess this problem may be related to nose. The software versions are:


Anyone met this issue before?  Am I missing something?  Thanks!
Are you testing the tip of the master branch? we had a similar problem
few days ago, but it was fixed, as Saggi has reported on list.

On my system, with the same version of nose, and a freshly cloned vdsm
repo, I do not see your problem. Maybe you have a stale .py module
imported by the test runner and misleading it? Could you retry with a
fresh git repo?

No problem found with a fresh git repo.  Many thanks!

vdsm-devel mailing list

Reply via email to