Skip to content

test_modulefinder always modifies execution environment #93616

Description

@tiran

Bug report

test_modulefinder creates a temporary directory in its global module scope

TEST_DIR=tempfile.mkdtemp()
TEST_PATH= [TEST_DIR, os.path.dirname(tempfile.__file__)]

and removes the temporary directory in each test method

finally:
shutil.rmtree(TEST_DIR)

If the test is executed in an environment without test worker processes (e.g. WASI) then the test runner complains about changes to the execution environment:

/python-wasm/cpython/builddir/wasi# wasmtime run --mapdir .::../../ -- python.wasm -m test --fail-env-changed test_modulefinder
0:00:00 Run tests sequentially
0:00:00 [1/1] test_modulefinder
Warning -- files was modified by test_modulefinder
Warning -- Before: ['tmp8avdrxn0/']
Warning -- After: [] test_modulefinder failed (env changed)
== Tests result: ENV CHANGED ==
1 test altered the execution environment:
test_modulefinder
Total duration: 292 ms
Tests result: ENV CHANGED

test_modulefinder should create the temporary directory in setUp and rmtree it in tearDown methods instead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.11only security fixes3.12only security fixestype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions