=============== pytest-vivarium =============== ``pytest-vivarium`` is a `pytest `_ plugin providing the shared test configuration used across the `vivarium-suite `_ monorepo and the Institute for Health Metrics and Evaluation's Simulation Science team's model repositories. Installing it as a test dependency auto-registers everything below via pytest's ``pytest11`` entry point - there is nothing to import. Markers and options -------------------- ``slow`` Mark a test as slow. Skipped unless ``--runslow`` is passed. ``weekly`` Mark a test as part of the weekly suite. Skipped unless ``--runweekly`` is passed or it is the designated slow-test day (Sunday). ``cluster`` Mark a test as requiring a SLURM cluster. Skipped automatically when ``sbatch`` is not on the ``PATH``. ``--slurm-project`` sets the SLURM project (default ``proj_simscience``). Bounded ``-n auto`` workers --------------------------- The plugin implements ``pytest_xdist_auto_num_workers`` so that ``pytest -n auto`` does not oversubscribe large shared nodes. The worker count targets a small ceiling and is clamped to the process's usable CPUs and to the memory available to it - reading both node free memory and any cgroup (for example a SLURM ``--mem``) limit. The resolved plan is printed in the run header. The ``no_gbd_cache`` fixture ---------------------------- ``no_gbd_cache`` disables ``vivarium_gbd_access`` caching for test isolation. It is not ``autouse``; wrap it in an ``autouse`` fixture in your own ``conftest.py`` to apply it broadly. .. toctree:: :hidden: :maxdepth: 2 self