Skip to content

Move multiprocess to a "test" extra - #1667

Open
toby-bro wants to merge 1 commit into
qilingframework:devfrom
toby-bro:deps/multiprocess-test-extra
Open

toby-bro wants to merge 1 commit into
qilingframework:devfrom
toby-bro:deps/multiprocess-test-extra

Conversation

@toby-bro

Copy link
Copy Markdown

Checklist

Which kind of PR do you create?

  • This PR only contains minor fixes.
  • This PR contains major feature update.
  • This PR introduces a new function/api for Qiling Framework.

Coding convention?

  • The new code conforms to Qiling Framework naming convention.
  • The imports are arranged properly.
  • Essential comments are added.
  • The reference of the new code is pointed out.

Extra tests?

  • No extra tests are needed for this PR.
  • I have added enough tests for this PR.
  • Tests will be added after some discussion and review.

Changelog?

  • This PR doesn't need to update Changelog.
  • Changelog will be updated after some proper review.
  • Changelog has been updated in my PR.

Target branch?

  • The target branch is dev branch.

One last thing


multiprocess is imported by tests/test_pe.py only (test_pe.py:21), to work around CPython's inability to pickle bound methods for the Windows PE test subprocesses. It was declared as a mandatory runtime dependency, so every pip install qiling shipped multiprocess and dill to users who never run the test suite.

Declare it as a "test" extra rather than a Poetry dev group: CI installs the package with pip3 install ., and pip cannot see Poetry groups, so a group would silently break test_pe.bat on Windows. The extra keeps a single source of truth for the version constraint and needs only the Windows job to ask for it.

No test changes: tests/test_pe.py is unchanged and is the test that proves the dependency is still delivered, via the CI job that now installs ".[test]".

Written by Claude, but validated and checked by me.

multiprocess is imported by tests/test_pe.py only (test_pe.py:21), to work
around CPython's inability to pickle bound methods for the Windows PE test
subprocesses. It was declared as a mandatory runtime dependency, so every
`pip install qiling` shipped multiprocess and dill to users who never run
the test suite.

Declare it as a "test" extra rather than a Poetry dev group: CI installs
the package with `pip3 install .`, and pip cannot see Poetry groups, so a
group would silently break test_pe.bat on Windows. The extra keeps a single
source of truth for the version constraint and needs only the Windows job
to ask for it.

No test changes: tests/test_pe.py is unchanged and is the test that proves
the dependency is still delivered, via the CI job that now installs
".[test]".

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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

Successfully merging this pull request may close these issues.

1 participant