-
Notifications
You must be signed in to change notification settings - Fork 53
/
test_name_main.py
68 lines (61 loc) · 1.83 KB
/
test_name_main.py
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import os
import subprocess
import sys
from pathlib import Path
DIR = Path(__file__).parent.resolve()
def test_cattrs_converter():
env = os.environ.copy()
if "FORCE_COLOR" in env:
del env["FORCE_COLOR"]
out = subprocess.run(
[
sys.executable,
"-m",
"scikit_build_core.file_api._cattrs_converter",
str(DIR / "api/simple_pure/.cmake/api/v1/reply"),
],
check=True,
env=env,
stdout=subprocess.PIPE,
text=True,
)
assert "version=CMakeVersion" in out.stdout
assert "toolchains_v1=Toolchains(" in out.stdout
def test_query(tmp_path):
env = os.environ.copy()
if "FORCE_COLOR" in env:
del env["FORCE_COLOR"]
build_dir = tmp_path / "test_query"
build_dir.mkdir()
out = subprocess.run(
[sys.executable, "-m", "scikit_build_core.file_api.query", str(build_dir)],
check=True,
env=env,
stdout=subprocess.PIPE,
text=True,
)
api_dir = build_dir / ".cmake/api/v1"
query_dir = api_dir / "query"
assert query_dir.joinpath("codemodel-v2").is_file()
assert query_dir.joinpath("cache-v2").is_file()
assert query_dir.joinpath("cmakeFiles-v1").is_file()
assert query_dir.joinpath("toolchains-v1").is_file()
assert str(api_dir / "reply") == out.stdout.strip()
def test_reply():
env = os.environ.copy()
if "FORCE_COLOR" in env:
del env["FORCE_COLOR"]
out = subprocess.run(
[
sys.executable,
"-m",
"scikit_build_core.file_api.reply",
str(DIR / "api/simple_pure/.cmake/api/v1/reply"),
],
check=True,
env=env,
stdout=subprocess.PIPE,
text=True,
)
assert "version=CMakeVersion" in out.stdout
assert "toolchains_v1=Toolchains(" in out.stdout