provide-testkit 2026-03-21
Add memray allocation profiling tests and bump to v0.3.21
15 files · 239+ · 11-

Memray allocation profiling

9 files changed
  • memray_fixture_creation_stress.py New 86-line stress script profiling mock_logger, AutoPatch, SleepTracker, and Hub/Container creation (18K cycles)
  • memray_foundation_reset_stress.py New 39-line stress script profiling reset_foundation_setup_for_testing and reset_foundation_state (10K cycles)
  • memray_test_case_setup_stress.py New 47-line stress script profiling FoundationTestCase.setup_method and _needs_full_reset (11K cycles)
  • __init__.py New empty init for memray test package
  • baselines.json New allocation baselines: fixture_creation 232K, foundation_reset 38K, test_case_setup 228K
  • conftest.py Imports wrknv memray fixtures
  • test_fixture_creation_allocations.py New memray allocation test for fixture creation
  • test_foundation_reset_allocations.py New memray allocation test for foundation reset
  • test_test_case_setup_allocations.py New memray allocation test for test case setup
  • Introduced memray-based allocation profiling with stress scripts and pytest integration to track memory usage regressions in fixture creation, Foundation reset, and test case setup hot paths qualify behavioral
    3 files
    • memray_fixture_creation_stress.py
    • baselines.json
    • test_fixture_creation_allocations.py

Version and dependency updates

2 files changed
  • VERSION Bumped from 0.3.0 to 0.3.21
  • pyproject.toml Pinned provide-foundation>=0.3.21, excluded memray tests from default run via norecursedirs and marker, added memray marker
  • Bumped to v0.3.21 and pinned provide-foundation>=0.3.21, with memray tests excluded from default pytest execution via marker and norecursedirs baseline external
    2 files
    • VERSION
    • pyproject.toml

Gitignore and crypto fixture adjustments

3 files changed
  • .gitignore Added memray-output/ directory and .actrc to gitignore
  • fixtures.py Reverted is_debug_enabled() guard, keeping simple logger.debug() calls
  • wrknv.toml Added memray-related wrknv tasks
  • Reverted debug guard optimization in crypto fixtures in favor of simpler direct logger.debug() calls streamline internal
    1 file
    • fixtures.py