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

bpo-40280: Address more test failures on Emscripten (GH-31050) #31050

Merged
merged 9 commits into from Feb 5, 2022

Conversation

tiran
Copy link
Member

@tiran tiran commented Feb 1, 2022

Fix wasm32-emscripten test failures and platform issues.

  • Disable syscalls that are not supported or don't work, e.g.
    wait, getrusage, prlimit, mkfifo, mknod, setres[gu]id, setgroups.
  • Use fd_count to cound open fds.
  • Add more checks for subprocess and fork.
  • Add workarounds for missing _multiprocessing and failing socket.accept()
  • Enable bzip2 again
  • Disable large file support
  • Disable signal.alarm for now

https://bugs.python.org/issue40280

@tiran tiran marked this pull request as ready for review Feb 1, 2022
@tiran tiran requested review from abalkin and pganssle as code owners Feb 1, 2022
@tiran tiran force-pushed the bpo-40280-more-test-fixes branch from e9d6e24 to b34c808 Feb 1, 2022
@brettcannon brettcannon self-requested a review Feb 1, 2022
Copy link
Member

@brettcannon brettcannon left a comment

Most of the comments are about recording the known bugs in emscripten and musl so we can easily track when they are fixed.

Lib/test/support/__init__.py Outdated Show resolved Hide resolved
Lib/test/test_os.py Outdated Show resolved Hide resolved
Lib/test/test_pwd.py Outdated Show resolved Hide resolved
Tools/wasm/README.md Outdated Show resolved Hide resolved
- Resource-related functions like ``os.nice`` and most functions of the
``resource`` module are not available.
- Some time and datetime features are broken. ``strftime`` and ``strptime``
have known bugs. Extended glibc formatting features are not available.
Copy link
Member

@brettcannon brettcannon Feb 4, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link to the bugs?

``resource`` module are not available.
- Some time and datetime features are broken. ``strftime`` and ``strptime``
have known bugs. Extended glibc formatting features are not available.
- ``locales`` module is affected by musl libc issues.
Copy link
Member

@brettcannon brettcannon Feb 4, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link to the bug?

Copy link
Member Author

@tiran tiran Feb 5, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added links to bpo and emscripten bug tracker.

Tools/wasm/README.md Outdated Show resolved Hide resolved
Tools/wasm/README.md Outdated Show resolved Hide resolved
Tools/wasm/README.md Outdated Show resolved Hide resolved
@tiran tiran force-pushed the bpo-40280-more-test-fixes branch from c00edf3 to 5f29e63 Feb 5, 2022
@tiran
Copy link
Member Author

@tiran tiran commented Feb 5, 2022

Thanks for the review!

@tiran
Copy link
Member Author

@tiran tiran commented Feb 5, 2022

The failing Windows test is covered by GH-31146

@tiran tiran changed the title bpo-40280: Address more test failures on Emscripten bpo-40280: Address more test failures on Emscripten (GH-31050) Feb 5, 2022
@tiran tiran merged commit 96b344c into python:main Feb 5, 2022
11 of 12 checks passed
@tiran tiran deleted the bpo-40280-more-test-fixes branch Feb 5, 2022
erlend-aasland added a commit to erlend-aasland/cpython that referenced this issue Feb 11, 2022
Co-authored-by: Brett Cannon <brett@python.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants