Skip to content

1.11.0: pytest is failing in ropetest/contrib/autoimporttest.py::AutoImportTest::test_search_submodule unit #727

@kloczek

Description

@kloczek

I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w --no-isolation
  • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
  • install .whl file in </install/prefix> using 'installer` module
  • run pytest with $PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>
  • build is performed in env which is cut off from access to the public network (pytest is executed with -m "not network")

Here is pytest output:

Details
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-rope-1.11.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-rope-1.11.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network'
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0
rootdir: /home/tkloczko/rpmbuild/BUILD/rope-1.11.0
configfile: pyproject.toml
collected 2060 items

ropetest/advanced_oi_test.py ........................................... [  2%]
.................                                                        [  2%]
ropetest/builtinstest.py ............................................... [  5%]
................                                                         [  5%]
ropetest/codeanalyzetest.py ............................................ [  8%]
........................................................................ [ 11%]
...............................                                          [ 13%]
ropetest/doatest.py ....                                                 [ 13%]
ropetest/historytest.py ........................................         [ 15%]
ropetest/objectdbtest.py ...................                             [ 16%]
ropetest/objectinfertest.py .................................            [ 17%]
ropetest/projecttest.py ................................................ [ 20%]
......................................................................   [ 23%]
ropetest/pycoretest.py ................................................. [ 25%]
........................................................................ [ 29%]
.......                                                                  [ 29%]
ropetest/pyscopestest.py ..............................................  [ 31%]
ropetest/reprtest.py ................                                    [ 32%]
ropetest/runmodtest.py .........                                         [ 33%]
ropetest/serializer_test.py ............................................ [ 35%]
................                                                         [ 36%]
ropetest/simplifytest.py ...............                                 [ 36%]
ropetest/type_hinting_test.py ..............................x........... [ 38%]
......x.................x.................x..........                    [ 41%]
ropetest/versioningtest.py .....                                         [ 41%]
ropetest/contrib/autoimporttest.py .................F.......             [ 42%]
ropetest/contrib/changestacktest.py .                                    [ 42%]
ropetest/contrib/codeassisttest.py ..................................... [ 44%]
........................................................................ [ 48%]
.............................................................            [ 51%]
ropetest/contrib/finderrorstest.py .....                                 [ 51%]
ropetest/contrib/findittest.py ...........                               [ 51%]
ropetest/contrib/fixmodnamestest.py ....                                 [ 52%]
ropetest/contrib/generatetest.py ..............................          [ 53%]
ropetest/contrib/autoimport/autoimporttest.py ............               [ 54%]
ropetest/contrib/autoimport/modeltest.py ...........                     [ 54%]
ropetest/contrib/autoimport/parsetest.py ...                             [ 54%]
ropetest/contrib/autoimport/utilstest.py ...........                     [ 55%]
ropetest/refactor/__init__.py .......................................... [ 57%]
............................                                             [ 58%]
ropetest/refactor/change_signature_test.py ............................. [ 60%]
...........                                                              [ 60%]
ropetest/refactor/extracttest.py ....................................... [ 62%]
......s..........sss....x......................s........................ [ 66%]
......................................................                   [ 68%]
ropetest/refactor/importutilstest.py ................................... [ 70%]
........................................................................ [ 73%]
....................................                                     [ 75%]
ropetest/refactor/inlinetest.py ........................................ [ 77%]
.......................................................                  [ 80%]
ropetest/refactor/movetest.py .......................................... [ 82%]
................................                                         [ 83%]
ropetest/refactor/multiprojecttest.py ....                               [ 84%]
ropetest/refactor/patchedasttest.py ..........................s..s.s.... [ 85%]
.....................................................ssssssssss......... [ 89%]
...................s.s.s..s...........                                   [ 91%]
ropetest/refactor/renametest.py ........................................ [ 93%]
.................................................                        [ 95%]
ropetest/refactor/restructuretest.py .......................             [ 96%]
ropetest/refactor/similarfindertest.py ................................. [ 98%]
....                                                                     [ 98%]
ropetest/refactor/suitestest.py .......s.............                    [ 99%]
ropetest/refactor/usefunctiontest.py ............                        [100%]

=================================== FAILURES ===================================
_____________________ AutoImportTest.test_search_submodule _____________________

self = <ropetest.contrib.autoimporttest.AutoImportTest testMethod=test_search_submodule>

    def test_search_submodule(self):
        self.importer.update_module("build")
        import_statement = ("from build import env", "env")
>       self.assertIn(import_statement, self.importer.search("env", exact_match=True))
E       AssertionError: ('from build import env', 'env') not found in []

ropetest/contrib/autoimporttest.py:116: AssertionError
=============================== warnings summary ===============================
ropetest/advanced_oi_test.py: 60 warnings
ropetest/builtinstest.py: 63 warnings
ropetest/codeanalyzetest.py: 15 warnings
ropetest/historytest.py: 40 warnings
ropetest/objectdbtest.py: 19 warnings
ropetest/objectinfertest.py: 33 warnings
ropetest/projecttest.py: 125 warnings
ropetest/pycoretest.py: 123 warnings
ropetest/pyscopestest.py: 46 warnings
ropetest/reprtest.py: 16 warnings
ropetest/runmodtest.py: 9 warnings
ropetest/type_hinting_test.py: 76 warnings
ropetest/versioningtest.py: 5 warnings
ropetest/contrib/autoimporttest.py: 25 warnings
ropetest/contrib/changestacktest.py: 1 warning
ropetest/contrib/codeassisttest.py: 170 warnings
ropetest/contrib/finderrorstest.py: 5 warnings
ropetest/contrib/findittest.py: 11 warnings
ropetest/contrib/fixmodnamestest.py: 4 warnings
ropetest/contrib/generatetest.py: 30 warnings
ropetest/contrib/autoimport/autoimporttest.py: 14 warnings
ropetest/contrib/autoimport/utilstest.py: 5 warnings
ropetest/refactor/__init__.py: 59 warnings
ropetest/refactor/change_signature_test.py: 40 warnings
ropetest/refactor/extracttest.py: 160 warnings
ropetest/refactor/importutilstest.py: 143 warnings
ropetest/refactor/inlinetest.py: 95 warnings
ropetest/refactor/movetest.py: 74 warnings
ropetest/refactor/multiprojecttest.py: 8 warnings
ropetest/refactor/renametest.py: 89 warnings
ropetest/refactor/restructuretest.py: 23 warnings
ropetest/refactor/similarfindertest.py: 32 warnings
ropetest/refactor/usefunctiontest.py: 12 warnings
  /home/tkloczko/rpmbuild/BUILD/rope-1.11.0/rope/base/project.py:229: DeprecationWarning: Delete once deprecated functions are gone
    self._init_source_folders()

ropetest/advanced_oi_test.py: 139 warnings
ropetest/projecttest.py: 5 warnings
ropetest/runmodtest.py: 46 warnings
ropetest/refactor/multiprojecttest.py: 4 warnings
  /home/tkloczko/rpmbuild/BUILD/rope-1.11.0/rope/base/libutils.py:34: DeprecationWarning: relative is deprecated
    return relative(project.address, path)

ropetest/contrib/autoimporttest.py: 26 warnings
ropetest/contrib/autoimport/autoimporttest.py: 13 warnings
  /home/tkloczko/rpmbuild/BUILD/rope-1.11.0/rope/contrib/autoimport/sqlite.py:124: DeprecationWarning: The default value for `AutoImport(memory)` argument will change to use an on-disk database by default in the future. If you want to use an in-memory database, you need to pass `AutoImport(memory=True)` explicitly.
    warnings.warn(

ropetest/refactor/__init__.py::TaskHandleTest::test_getting_job_name
  /home/tkloczko/rpmbuild/BUILD/rope-1.11.0/ropetest/refactor/__init__.py:1125: DeprecationWarning: Just use JobSet.name attribute/property instead
    self.assertEqual("test job set", jobs.get_name())

ropetest/refactor/__init__.py::TaskHandleTest::test_getting_job_name
  /home/tkloczko/rpmbuild/BUILD/rope-1.11.0/ropetest/refactor/__init__.py:1126: DeprecationWarning: Just use JobSet.job_name attribute/property instead
    self.assertEqual(None, jobs.get_active_job_name())

ropetest/refactor/__init__.py::TaskHandleTest::test_getting_job_name
  /home/tkloczko/rpmbuild/BUILD/rope-1.11.0/ropetest/refactor/__init__.py:1129: DeprecationWarning: Just use JobSet.name attribute/property instead
    self.assertEqual("test job set", jobs.get_name())

ropetest/refactor/__init__.py::TaskHandleTest::test_getting_job_name
  /home/tkloczko/rpmbuild/BUILD/rope-1.11.0/ropetest/refactor/__init__.py:1131: DeprecationWarning: Just use JobSet.job_name attribute/property instead
    self.assertEqual("job1", jobs.get_active_job_name())

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] ropetest/refactor/extracttest.py:1812: This test requires version of Python higher than 3.11
SKIPPED [1] ropetest/refactor/extracttest.py:3393: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/extracttest.py:3417: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/extracttest.py:3438: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/extracttest.py:2457: This test requires version of Python lower than 3.8
SKIPPED [1] ropetest/refactor/patchedasttest.py:435: This test requires version of Python lower than 3.5
SKIPPED [1] ropetest/refactor/patchedasttest.py:422: This test requires version of Python lower than 3.5
SKIPPED [1] ropetest/refactor/patchedasttest.py:405: This test requires version of Python lower than 3.5
SKIPPED [1] ropetest/refactor/patchedasttest.py:1304: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/patchedasttest.py:1290: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/patchedasttest.py:1373: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/patchedasttest.py:1387: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/patchedasttest.py:1336: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/patchedasttest.py:1457: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/patchedasttest.py:1425: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/patchedasttest.py:1405: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/patchedasttest.py:1484: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/patchedasttest.py:1359: This test requires version of Python higher than 3.10
SKIPPED [1] ropetest/refactor/patchedasttest.py:1236: This test requires version of Python lower than 3.5
SKIPPED [1] ropetest/refactor/patchedasttest.py:1216: This test requires version of Python lower than 3.5
SKIPPED [1] ropetest/refactor/patchedasttest.py:1226: This test requires version of Python lower than 3.5
SKIPPED [1] ropetest/refactor/patchedasttest.py:1157: This test requires version of Python higher than 3.11
SKIPPED [1] ropetest/refactor/suitestest.py:204: This test requires version of Python higher than 3.10
XFAIL ropetest/type_hinting_test.py::DocstringNoneAssignmentHintingTest::test_hint_or - reason: failing configuration (but should work)
XFAIL ropetest/type_hinting_test.py::DocstringNotImplementedAssignmentHintingTest::test_hint_or - reason: failing configuration (but should work)
XFAIL ropetest/type_hinting_test.py::PEP0484CommentNoneAssignmentHintingTest::test_hint_or - reason: failing configuration (but should work)
XFAIL ropetest/type_hinting_test.py::PEP0484CommentNotImplementedAssignmentHintingTest::test_hint_or - reason: failing configuration (but should work)
XFAIL ropetest/refactor/extracttest.py::ExtractMethodTest::test_extract_method_f_string_false_format_value_in_regular_string - reason:
FAILED ropetest/contrib/autoimporttest.py::AutoImportTest::test_search_submodule
==== 1 failed, 2031 passed, 23 skipped, 5 xfailed, 1867 warnings in 19.42s =====

Here is list of installed modules in build env

Details
Package                       Version
----------------------------- -------
alabaster                     0.7.13
Babel                         2.13.1
build                         1.0.3
charset-normalizer            3.3.2
cppclean                      0.13
distro                        1.8.0
docutils                      0.20.1
exceptiongroup                1.1.3
gpg                           1.23.0
idna                          3.4
imagesize                     1.4.1
importlib-metadata            6.8.0
iniconfig                     2.0.0
installer                     0.7.0
Jinja2                        3.1.2
MarkupSafe                    2.1.3
packaging                     23.2
platformdirs                  3.11.0
pluggy                        1.3.0
Pygments                      2.16.1
pyproject_hooks               1.0.0
pytest                        7.4.3
python-dateutil               2.8.2
pytoolconfig                  1.2.6
pytz                          2023.3
requests                      2.31.0
setuptools                    68.2.2
six                           1.16.0
snowballstemmer               2.2.0
Sphinx                        7.1.2
sphinx-autodoc-typehints      1.24.1
sphinx-rtd-theme              1.2.2
sphinxcontrib-applehelp       1.0.4
sphinxcontrib-devhelp         1.0.5
sphinxcontrib-htmlhelp        2.0.4
sphinxcontrib-jquery          4.1
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.9
tabulate                      0.9.0
tomli                         2.0.1
urllib3                       1.26.18
wheel                         0.41.3
zipp                          3.17.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugUnexpected or incorrect user-visible behaviorduplicate

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions