Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PyPI packages failing build or tests #171

Open
14 of 45 tasks
jayvdb opened this issue Nov 4, 2019 · 3 comments
Open
14 of 45 tasks

PyPI packages failing build or tests #171

jayvdb opened this issue Nov 4, 2019 · 3 comments

Comments

@jayvdb
Copy link
Contributor

jayvdb commented Nov 4, 2019

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
@jstasiak
Copy link

jstasiak commented Jul 3, 2020

netaddr has this fixed I think, let me know if it still causes trouble.

@AvdN
Copy link

AvdN commented Mar 26, 2021

ruamel.yaml 0.17.0 no longer throws an exception based on __file__. If you don't rely on any plug-ins you should be able to oxidize your program as is.

https://sourceforge.net/p/ruamel-yaml/tickets/324/

@sevein
Copy link

sevein commented Nov 3, 2021

jsonschema is now using importlib.resources: https://github.com/Julian/jsonschema/pull/873/files (v4.2.0).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants