File: plugin.py

package info (click to toggle)
pytest-astropy 0.11.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 156 kB
  • sloc: python: 40; makefile: 3
file content (45 lines) | stat: -rw-r--r-- 1,438 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Licensed under a 3-clause BSD style license - see LICENSE.rst

# Add a --run-slow and --run-hugemem options to run cpu and memory
# intensive tests

import pytest


def pytest_addoption(parser):
    parser.addoption(
        "--run-slow",
        action="store_true",
        default=False,
        help="run slow tests",
    )
    parser.addoption(
        "--run-hugemem",
        action="store_true",
        default=False,
        help="run memory intensive tests",
    )
    parser.addoption(
        "-R", nargs="?", const='any', default='none',
        help="run tests with online data, requires pytest-remotedata",
        dest="remote_data", choices=['astropy', 'any', 'github', 'none'])


def pytest_configure(config):
    config.addinivalue_line("markers", "slow: mark test as slow to run")
    config.addinivalue_line("markers",
                            "hugemem: mark test as using a lot of memory")


def pytest_collection_modifyitems(config, items):
    run_slow = config.getoption("--run-slow")
    run_hugemem = config.getoption("--run-hugemem")

    skip_slow = pytest.mark.skip(reason="need --run-slow option to run")
    skip_hugemem = pytest.mark.skip(reason="need --run-hugemem option to run")

    for item in items:
        if "slow" in item.keywords and not run_slow:
            item.add_marker(skip_slow)
        if "hugemem" in item.keywords and not run_hugemem:
            item.add_marker(skip_hugemem)