conftest.py 958 Bytes
Newer Older
1
2
import os
import random
Xuehai Pan's avatar
Xuehai Pan committed
3
import pytest
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

os.environ["PYTHONHASHSEED"] = "0"

random.seed(0)

try:
    import torch
except ImportError:
    pass
else:
    torch.manual_seed(0)

try:
    import numpy as np
except ImportError:
    pass
else:
    np.random.seed(0)
Xuehai Pan's avatar
Xuehai Pan committed
22
23
24
25
26
27
28
29
30
31
32
33
34
35


def pytest_terminal_summary(terminalreporter, exitstatus, config):
    """Ensure that at least one test is collected. Error out if all tests are skipped."""
    known_types = {
        "failed",
        "passed",
        "skipped",
        "deselected",
        "xfailed",
        "xpassed",
        "warnings",
        "error",
    }
36
    if sum(len(terminalreporter.stats.get(k, [])) for k in known_types.difference({"skipped", "deselected"})) == 0:
Xuehai Pan's avatar
Xuehai Pan committed
37
38
        terminalreporter.write_sep(
            "!",
39
            (f"Error: No tests were collected. {dict(sorted((k, len(v)) for k, v in terminalreporter.stats.items()))}"),
Xuehai Pan's avatar
Xuehai Pan committed
40
41
        )
        pytest.exit("No tests were collected.", returncode=5)