zopefoundation / ZConfig

A configuration library supporting a hierarchical schema-driven configuration model, and allowing a schema to specify data conversion routines written in Python.
Other
8 stars 13 forks source link

3.6.0: pytest is failing in one unit #83

Closed kloczek closed 3 years ago

kloczek commented 3 years ago

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

May I ask for help because few units are failing:

+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-ZConfig-3.6.0-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-ZConfig-3.6.0-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.10.0, pluggy-0.13.1
benchmark: 3.4.1 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
Using --randomly-seed=2429164203
rootdir: /home/tkloczko/rpmbuild/BUILD/ZConfig-3.6.0
plugins: forked-1.3.0, shutil-1.7.0, virtualenv-1.7.0, expect-1.1.0, flake8-1.0.7, timeout-1.4.2, betamax-0.8.1, freezegun-0.4.2, aspectlib-1.5.2, toolbox-0.5, rerunfailures-9.1.1, requests-mock-1.9.3, cov-2.12.1, flaky-3.7.0, benchmark-3.4.1, xdist-2.3.0, pylama-7.7.1, datadir-1.3.1, regressions-2.2.0, cases-3.6.3, xprocess-0.18.1, black-0.3.12, anyio-3.3.0, asyncio-0.15.1, subtests-0.5.0, isort-2.0.0, hypothesis-6.14.6, mock-3.6.1, profiling-1.7.0, randomly-3.8.0, Faker-8.12.1, nose2pytest-1.0.8, pyfakefs-4.5.1, tornado-0.8.1, twisted-1.13.3, aiohttp-0.3.0
collected 360 items

ZConfig/tests/test_schema2html.py .............                                                                                                                      [  3%]
ZConfig/tests/test_cookbook.py ..                                                                                                                                    [  4%]
ZConfig/tests/test_cmdline.py ..........                                                                                                                             [  6%]
ZConfig/tests/test_matcher.py .......                                                                                                                                [  8%]
ZConfig/tests/test_cfgimports.py ......                                                                                                                              [ 10%]
ZConfig/tests/test_info.py ...............                                                                                                                           [ 14%]
ZConfig/components/logger/tests/test_logger.py ...............................................                                                                       [ 27%]
ZConfig/tests/test_schemaless.py ..                                                                                                                                  [ 28%]
ZConfig/tests/test_config.py ................                                                                                                                        [ 32%]
ZConfig/tests/test_validator.py ....F.                                                                                                                               [ 34%]
ZConfig/tests/test_loader.py .........................                                                                                                               [ 41%]
ZConfig/tests/test_schema.py ........................................................................................                                                [ 65%]
ZConfig/tests/test_readme.py .                                                                                                                                       [ 66%]
ZConfig/components/basic/tests/test_mapping.py ....                                                                                                                  [ 67%]
ZConfig/components/logger/tests/test_formatter.py ...........s...........................................sss................                                         [ 87%]
ZConfig/tests/test_subst.py .......                                                                                                                                  [ 89%]
ZConfig/tests/test_pygments.py .............                                                                                                                         [ 93%]
ZConfig/tests/test_datatypes.py ........................                                                                                                             [100%]

================================================================================= FAILURES =================================================================================
______________________________________________________________________ TestValidator.test_schema_only ______________________________________________________________________

self = <ZConfig.tests.test_validator.TestValidator testMethod=test_schema_only>

    def test_schema_only(self):
>       res = run_validator("--schema", support.input_file('simple.xml'))

ZConfig/tests/test_validator.py:42:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ZConfig/tests/test_validator.py:24: in run_validator
    return validator.main(args)
ZConfig/validator.py:66: in main
    ZConfig.loadConfigFile(schema, f)
ZConfig/loader.py:115: in loadConfigFile
    return _get_config_loader(schema, overrides).loadFile(file, url)
ZConfig/loader.py:173: in loadFile
    return self.loadResource(r)
ZConfig/loader.py:411: in loadResource
    self._parse_resource(sm, resource)
ZConfig/loader.py:456: in _parse_resource
    parser.parse(matcher)
ZConfig/cfgparser.py:60: in parse
    done, line = self.nextline()
ZConfig/cfgparser.py:53: in nextline
    line = self.file.readline()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.capture.DontReadFromInput object at 0x7f4ced7decd0>, args = ()

    def read(self, *args):
>       raise OSError(
            "pytest: reading from stdin while output is captured!  Consider using `-s`."
        )
E       OSError: pytest: reading from stdin while output is captured!  Consider using `-s`.

/usr/lib/python3.8/site-packages/_pytest/capture.py:217: OSError
========================================================================= short test summary info ==========================================================================
SKIPPED [1] ZConfig/components/logger/tests/test_formatter.py:361: Only applies for Python 2.
SKIPPED [1] ZConfig/components/logger/tests/test_formatter.py:412: Only applies for Python 2.
SKIPPED [1] ZConfig/components/logger/tests/test_formatter.py:379: Only applies for Python 2.
SKIPPED [1] ZConfig/components/logger/tests/test_formatter.py:436: Only applies for Python 2.
FAILED ZConfig/tests/test_validator.py::TestValidator::test_schema_only - OSError: pytest: reading from stdin while output is captured!  Consider using `-s`.
================================================================= 1 failed, 355 passed, 4 skipped in 2.51s =================================================================
pytest-xprocess reminder::Be sure to terminate the started process by running 'pytest --xkill' if you have not explicitly done so in your fixture with 'xprocess.getinfo(<process_name>).terminate()'.
icemac commented 3 years ago

See https://github.com/zopefoundation/zope.exceptions/issues/21#issuecomment-915844937. This project is also not designed to be tested using pytest.