← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1262564] [NEW] testsuite misfires in 2013.2.1 release

 

Public bug reported:

We have;

Author: Brant Knudson <bknudson@xxxxxxxxxx>
Date:   Sun Sep 8 13:16:42 2013 -0500

    Tests use "from keystone import tests"

    Use "from keystone import tests" rather than
    "from keystone.tests import core as test". This is
    consistent with how other packages are imported throughout
    Keystone.

in Changelog.  I think someone forgot to tell the test/__init__/py.'

work/keystone-2013.2.1 $ PYTHONPATH=. nosetests

Failure: ImportError (No module named core) ... ERROR

======================================================================
ERROR: Failure: ImportError (No module named core)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/nose/loader.py", line 413, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/lib64/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/lib64/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/tests/__init__.py", line 17, in <module>
    from keystone.tests.core import *  # flake8: noqa
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/tests/core.py", line 49, in <module>
    from keystone import assignment
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/assignment/__init__.py", line 18, in <module>
    from keystone.assignment.core import *
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/assignment/core.py", line 21, in <module>
    from keystone.common import cache
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/cache/__init__.py", line 17, in <module>
    from keystone.common.cache.core import *  # flake8: noqa
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/cache/core.py", line 19, in <module>
    import dogpile.cache
  File "/usr/lib64/python2.7/site-packages/dogpile/cache/__init__.py", line 3, in <module>
    from .region import CacheRegion, register_backend, make_region
  File "/usr/lib64/python2.7/site-packages/dogpile/cache/region.py", line 2, in <module>
    from dogpile.core import Lock, NeedRegenerationException
ImportError: No module named core
-------------------- >> begin captured logging << --------------------
keystone.common.environment: INFO: Environment configured as: eventlet
--------------------- >> end captured logging << ---------------------


Line 17, the only line that does anything;

from keystone.tests.core import *  # flake8: noqa.

Well * must capture core.  I tried experimenting by extending
PYTHONPATH on the assumption that it might be missing it and I get this;


/work/keystone-2013.2.1 $ PYTHONPATH=.:keystone nosetests
Traceback (most recent call last):
  File "/usr/bin/nosetests-python2.7", line 9, in <module>
    load_entry_point('nose==1.3.0', 'console_scripts', 'nosetests')()
  File "/usr/lib64/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib64/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point
    return ep.load()
  File "/usr/lib64/python2.7/site-packages/pkg_resources.py", line 2260, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
  File "/usr/lib64/python2.7/site-packages/nose/__init__.py", line 1, in <module>
    from nose.core import collector, main, run, run_exit, runmodule
  File "/usr/lib64/python2.7/site-packages/nose/core.py", line 11, in <module>
    from nose.config import Config, all_config_files
  File "/usr/lib64/python2.7/site-packages/nose/config.py", line 8, in <module>
    from nose.util import absdir, tolist
  File "/usr/lib64/python2.7/site-packages/nose/util.py", line 3, in <module>
    import inspect
  File "/usr/lib64/python2.7/inspect.py", line 39, in <module>
    import tokenize
  File "/usr/lib64/python2.7/tokenize.py", line 30, in <module>
    from token import *
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/token/__init__.py", line 18, in <module>
    from keystone.token import controllers
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/token/__init__.py", line 18, in <module>
    from keystone.token import controllers
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/token/controllers.py", line 19, in <module>
    from keystone.common import cms
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/cms.py", line 19, in <module>
    from keystone.common import environment
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/environment/__init__.py", line 20, in <module>
    from keystone.common import config
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/config.py", line 19, in <module>
    from keystone.openstack.common import log as logging
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/openstack/common/log.py", line 46, in <module>
    from keystone.openstack.common import jsonutils
  File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/openstack/common/jsonutils.py", line 50, in <module>
    _nasty_type_tests = [inspect.ismodule, inspect.isclass, inspect.ismethod,
AttributeError: 'module' object has no attribute 'ismodule'


Now I cannot figure what's going on here.  

keystone-2013.2.1 $ qfile /usr/lib64/python2.7/inspect.py
dev-lang/python (/usr/lib64/python2.7/inspect.py)

says inspect is a file of Cpython2.7.  The code it's tripping on is;

_nasty_type_tests = [inspect.ismodule, inspect.isclass, inspect.ismethod,
                     inspect.isfunction, inspect.isgeneratorfunction,
                     inspect.isgenerator, inspect.istraceback, inspect.isframe,
                     inspect.iscode, inspect.isbuiltin, inspect.isroutine,
                     inspect.isabstract].

Is this a syntax thing?

keystone-2013.2.1 $ python -c "from inspect import ismodule" && echo Success
Success

says the sweet taste of success.  inspect is a python module, ismodule
is a func. or such of inspect.py.   What where is it getting de-
railed?????  What's broken in the setup of the testsuite that it can't
find a std. func. in a std. python installed file??????

tilt.

** Affects: keystone
     Importance: Undecided
         Status: New

** Summary changed:

- testsuite misfires in icehouse release
+ testsuite misfires in 2013.2.1 release

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1262564

Title:
  testsuite misfires in 2013.2.1 release

Status in OpenStack Identity (Keystone):
  New

Bug description:
  We have;

  Author: Brant Knudson <bknudson@xxxxxxxxxx>
  Date:   Sun Sep 8 13:16:42 2013 -0500

      Tests use "from keystone import tests"

      Use "from keystone import tests" rather than
      "from keystone.tests import core as test". This is
      consistent with how other packages are imported throughout
      Keystone.

  in Changelog.  I think someone forgot to tell the test/__init__/py.'

  work/keystone-2013.2.1 $ PYTHONPATH=. nosetests

  Failure: ImportError (No module named core) ... ERROR

  ======================================================================
  ERROR: Failure: ImportError (No module named core)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/usr/lib64/python2.7/site-packages/nose/loader.py", line 413, in loadTestsFromName
      addr.filename, addr.module)
    File "/usr/lib64/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
      return self.importFromDir(dir_path, fqname)
    File "/usr/lib64/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
      mod = load_module(part_fqname, fh, filename, desc)
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/tests/__init__.py", line 17, in <module>
      from keystone.tests.core import *  # flake8: noqa
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/tests/core.py", line 49, in <module>
      from keystone import assignment
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/assignment/__init__.py", line 18, in <module>
      from keystone.assignment.core import *
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/assignment/core.py", line 21, in <module>
      from keystone.common import cache
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/cache/__init__.py", line 17, in <module>
      from keystone.common.cache.core import *  # flake8: noqa
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/cache/core.py", line 19, in <module>
      import dogpile.cache
    File "/usr/lib64/python2.7/site-packages/dogpile/cache/__init__.py", line 3, in <module>
      from .region import CacheRegion, register_backend, make_region
    File "/usr/lib64/python2.7/site-packages/dogpile/cache/region.py", line 2, in <module>
      from dogpile.core import Lock, NeedRegenerationException
  ImportError: No module named core
  -------------------- >> begin captured logging << --------------------
  keystone.common.environment: INFO: Environment configured as: eventlet
  --------------------- >> end captured logging << ---------------------

  
  Line 17, the only line that does anything;

  from keystone.tests.core import *  # flake8: noqa.

  Well * must capture core.  I tried experimenting by extending
  PYTHONPATH on the assumption that it might be missing it and I get
  this;

  
  /work/keystone-2013.2.1 $ PYTHONPATH=.:keystone nosetests
  Traceback (most recent call last):
    File "/usr/bin/nosetests-python2.7", line 9, in <module>
      load_entry_point('nose==1.3.0', 'console_scripts', 'nosetests')()
    File "/usr/lib64/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point
      return get_distribution(dist).load_entry_point(group, name)
    File "/usr/lib64/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point
      return ep.load()
    File "/usr/lib64/python2.7/site-packages/pkg_resources.py", line 2260, in load
      entry = __import__(self.module_name, globals(),globals(), ['__name__'])
    File "/usr/lib64/python2.7/site-packages/nose/__init__.py", line 1, in <module>
      from nose.core import collector, main, run, run_exit, runmodule
    File "/usr/lib64/python2.7/site-packages/nose/core.py", line 11, in <module>
      from nose.config import Config, all_config_files
    File "/usr/lib64/python2.7/site-packages/nose/config.py", line 8, in <module>
      from nose.util import absdir, tolist
    File "/usr/lib64/python2.7/site-packages/nose/util.py", line 3, in <module>
      import inspect
    File "/usr/lib64/python2.7/inspect.py", line 39, in <module>
      import tokenize
    File "/usr/lib64/python2.7/tokenize.py", line 30, in <module>
      from token import *
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/token/__init__.py", line 18, in <module>
      from keystone.token import controllers
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/token/__init__.py", line 18, in <module>
      from keystone.token import controllers
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/token/controllers.py", line 19, in <module>
      from keystone.common import cms
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/cms.py", line 19, in <module>
      from keystone.common import environment
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/environment/__init__.py", line 20, in <module>
      from keystone.common import config
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/config.py", line 19, in <module>
      from keystone.openstack.common import log as logging
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/openstack/common/log.py", line 46, in <module>
      from keystone.openstack.common import jsonutils
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/openstack/common/jsonutils.py", line 50, in <module>
      _nasty_type_tests = [inspect.ismodule, inspect.isclass, inspect.ismethod,
  AttributeError: 'module' object has no attribute 'ismodule'

  
  Now I cannot figure what's going on here.  

  keystone-2013.2.1 $ qfile /usr/lib64/python2.7/inspect.py
  dev-lang/python (/usr/lib64/python2.7/inspect.py)

  says inspect is a file of Cpython2.7.  The code it's tripping on is;

  _nasty_type_tests = [inspect.ismodule, inspect.isclass, inspect.ismethod,
                       inspect.isfunction, inspect.isgeneratorfunction,
                       inspect.isgenerator, inspect.istraceback, inspect.isframe,
                       inspect.iscode, inspect.isbuiltin, inspect.isroutine,
                       inspect.isabstract].

  Is this a syntax thing?

  keystone-2013.2.1 $ python -c "from inspect import ismodule" && echo Success
  Success

  says the sweet taste of success.  inspect is a python module, ismodule
  is a func. or such of inspect.py.   What where is it getting de-
  railed?????  What's broken in the setup of the testsuite that it can't
  find a std. func. in a std. python installed file??????

  tilt.

To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1262564/+subscriptions


Follow ups

References