Skip to content

PyPI packages failing build or tests #171

@jayvdb

Description

@jayvdb

This is a dumping ground for build or test failures encountered. Not nearly as systematic as Nuitka/Nuitka#522 because I cant use OBS due to #164 , but I hope to resolve that soon.

All tests are run with pytest as an external import unless otherwise noted. I am focusing on core compiled libraries, as they are most likely to fail silently, and a few other CLI deps of mine.

Upstream rejected solutions:

Build & test tips

  • Click pytest.main(['-v', '/path/to/Click-7.0/tests/', '-k', 'not test_cli_as_module'])
  • pygit2, but incompatible with pyrsistent Static symbol moduleinit clashes with pyrsistent and evdev libgit2/pygit2#951
  • PyYAML needs Cython pre-installed in order to build the DSO, and running test suite requires being in the project root dir, and running pytest.main(['-v', './tests/lib3']) passes all tests.

Upstream failures

Known failures

  • psutil tests mostly fail because of the use sys.executable -c . Using import hooks to add __file__ helps all tests pass. pytest.main(['-v', '/path/to/psutil/tests', '-k', 'not (test_process or TestProcessUtils or TestScripts or TestTerminatedProcessLeaks)']) removes most of those.
    [ ] coverage has lots of __file__ problems, and likely too entrenched to be fixed any time soon. And test failures due to use of sys.executable -c '..'

Unknown failures

  • peewee needs to be tested using runtests.py in the project root, and it fails only tests.fields.TestTimestampField, in what seems to be a timezone offset problem as the day field is off by one. Need to retest locally with CPython directly.
  • requests, after hacking around certifi, and even getting cryptography extensions working(c.f. cryptography modules not built due to PEP 517 #170), test_https_warnings still fails and 2 of 4 of the "test_errors" fail pytest.main(['-v', '/path/to/requests-2.22.0/tests/', '-k', 'not TestTimeout and not test_errors and not test_proxy_error']) is my current recipe. fixture httpbin_ca_bundle = None is probably the problem - something is probably wrong with my httpbin.
  • gevent tests fail to get collected due to use of sys.executable -c; need to get its greentest running under PyOxidizer to evaluate properly
  • lz4 had one failure test_roundtrip_1[data1-4-True-True-True-0-store_size0] , and then finished at 37%
  • blist, errors NameError: name 'cmp' is not defined when run under pytest. Need to retest with unittest, as it is passing at https://build.opensuse.org/package/show/devel:languages:python/python-blist
  • aiodns one failure test_query_a_bad
  • aiohttp[speedups] tests use __file__, but there are also a four other failures, mostly related to network responses. test_fingerprint_mismatch, test_aiohttp_request_ctx_manager_not_found, test_recv_protocol_error[pyloop], test_constructor[pyloop], TestCookieJarSafe.test_expires, TestCookieJarSafe.test_max_age
  • Flask - only three tests fail: test_scriptinfo fails but looks due to test runner path fiddling, test_main_module_paths and test_aborting. (This looks good to enough to say that PyOxidizer is Flask compatible.)
  • pycares - 9 quite significant failures

OK

  • PySocks
  • idna
  • persistent
  • multidict
  • msgpack
  • cmarkgfm
  • yarl
  • cChardet

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions