run_suite.py 1.03 KB
Newer Older
Lianmin Zheng's avatar
Lianmin Zheng committed
1
2
import argparse
import glob
Lianmin Zheng's avatar
Lianmin Zheng committed
3
from dataclasses import dataclass
Lianmin Zheng's avatar
Lianmin Zheng committed
4

5
from sglang.test.test_utils import run_unittest_files
Lianmin Zheng's avatar
Lianmin Zheng committed
6

Lianmin Zheng's avatar
Lianmin Zheng committed
7
8
9
10
11
12
13

@dataclass
class TestFile:
    name: str
    estimated_time: float = 60


14
suites = {
15
    "per-commit": [
Lianmin Zheng's avatar
Lianmin Zheng committed
16
        TestFile("test_srt_backend.py"),
17
18
19
        # Skip this due to some OPENAI_API_KEY issues
        # "test_openai_backend.py",
    ],
20
21
}

Lianmin Zheng's avatar
Lianmin Zheng committed
22
23
24
25

if __name__ == "__main__":
    arg_parser = argparse.ArgumentParser()
    arg_parser.add_argument(
26
        "--timeout-per-file",
Lianmin Zheng's avatar
Lianmin Zheng committed
27
28
29
30
        type=int,
        default=1000,
        help="The time limit for running one file in seconds.",
    )
31
32
33
34
35
36
37
    arg_parser.add_argument(
        "--suite",
        type=str,
        default=list(suites.keys())[0],
        choices=list(suites.keys()) + ["all"],
        help="The suite to run",
    )
Lianmin Zheng's avatar
Lianmin Zheng committed
38
39
    args = arg_parser.parse_args()

40
41
42
43
    if args.suite == "all":
        files = glob.glob("**/test_*.py", recursive=True)
    else:
        files = suites[args.suite]
Lianmin Zheng's avatar
Lianmin Zheng committed
44

45
46
    exit_code = run_unittest_files(files, args.timeout_per_file)
    exit(exit_code)