bloomberg / pytest-memray

pytest plugin for easy integration of memray memory profiler
https://pytest-memray.readthedocs.io/en/latest/
Apache License 2.0
323 stars 23 forks source link

Relax the sizes in the 'test_limit_memory_marker_with_pytest_xdist' test #83

Closed pablogsal closed 1 year ago

pablogsal commented 1 year ago

When using pytest-xdist there are some extra allocations that the plugin does that make it quite difficult to test values for the limit decorator that are close to the numeric limit. In particular this is a sample list of allocations in Python 3.11 when the plugin is active:

List of allocations:
    - 628.0B allocated here:
        channel_data:/lib/python3.11/site-packages/execnet/gateway_base.py:476
    - 534.0B allocated here:
        _local_receive:/lib/python3.11/site-packages/execnet/gateway_base.py:856
    - 772.0B allocated here:
        handle_command:/lib/python3.11/site-packages/xdist/remote.py:128
    - 1.0KiB allocated here:
        valloc:/lib/python3.11/site-packages/memray/_test.py:44
    - 862.0B allocated here:
        _thread_receiver:/lib/python3.11/site-packages/execnet/gateway_base.py:969

The only one the test cares about is the one made using valloc, but unlike in the memray test suite we cannot filter them in the tests, so we need to make the allocation sizes bigger and remove the tests that are checking exactly in the limit.