Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • X xtreemfs_client
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Felix Seibert
  • xtreemfs_client
  • Issues
  • #2

Closed
Open
Created Oct 04, 2017 by Ghost User@ghost

Tests do not run due to absolute import of OSDManager.

I installed xtreemfs_client via setup.py. So from xtreemfs_client.OSDManager import OSDManager works.

However, if I try to run the tests on my machine the following exception is raised:

Error
Traceback (most recent call last):
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/unittest/case.py", line 601, in run
    testMethod()
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/site-packages/nose/loader.py", line 417, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 675, in _load
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/home/gfz-fe/scheffler/python/xtreemfs_client/tests/test_xtreemfs_client.py", line 6, in <module>
    import OSDManager
ModuleNotFoundError: No module named 'OSDManager'

E
======================================================================
ERROR: Failure: ModuleNotFoundError (No module named 'OSDManager')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/site-packages/nose/loader.py", line 417, in loadTestsFromName
    addr.filename, addr.module)
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/home/gfz-fe/python_GFZ/python/lib/python3.6/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 675, in _load
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/home/gfz-fe/scheffler/python/xtreemfs_client/tests/test_xtreemfs_client.py", line 6, in <module>
    import OSDManager
ModuleNotFoundError: No module named 'OSDManager'

----------------------------------------------------------------------
Ran 1 test in 0.013s

FAILED (errors=1)

This is because you use an absolute import to import OSDManager:

import OSDManager
import div_util
import verify

Since '.../site-packages/xtreemfs_client/' is not in my PATH but only '.../site-packages/', Python cannot find it.

One solution could be to replace your imports with:

from xtreemfs_client.OSDManager import OSDManager
from xtreemfs_client import div_util
from xtreemfs_client import verify
Assignee
Assign to
Time tracking