speccpu: add SPEC class
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
from pathlib import Path
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
|
||||
from speccpu import find_build
|
||||
from speccpu import SPEC, find_build
|
||||
|
||||
|
||||
class TestFindBuild:
|
||||
@@ -33,3 +34,48 @@ class TestFindBuild:
|
||||
build_parent = Path(tmpdir)
|
||||
with pytest.raises(RuntimeError):
|
||||
find_build(build_parent)
|
||||
|
||||
|
||||
class TestSPEC:
|
||||
def test_init(self):
|
||||
spec_dir = Path("/path/to/spec")
|
||||
spec = SPEC(spec_dir)
|
||||
assert spec.dir == spec_dir
|
||||
|
||||
def test_config_dir(self):
|
||||
spec_dir = Path("/path/to/spec")
|
||||
spec = SPEC(spec_dir)
|
||||
assert spec.config_dir == spec_dir / "config"
|
||||
|
||||
def test_env(self):
|
||||
spec_dir = Path("/path/to/spec")
|
||||
spec = SPEC(spec_dir)
|
||||
with mock.patch("speccpu.create_spec_env") as mock_create_env:
|
||||
spec.env()
|
||||
mock_create_env.assert_called_once_with(spec_dir)
|
||||
|
||||
def test_mkcmd_runcpu_default(self):
|
||||
spec = SPEC(Path("/path/to/spec"))
|
||||
cmd = spec.mkcmd_runcpu("myconfig", ["benchmark1", "benchmark2"])
|
||||
assert cmd == [
|
||||
"runcpu",
|
||||
"--setprocgroup",
|
||||
"-i",
|
||||
"ref",
|
||||
"-c",
|
||||
"myconfig",
|
||||
"benchmark1",
|
||||
"benchmark2",
|
||||
]
|
||||
|
||||
def test_mkcmd_runcpu_no_procgroup(self):
|
||||
spec = SPEC(Path("/path/to/spec"))
|
||||
cmd = spec.mkcmd_runcpu("myconfig", ["benchmark1"], setprocgroup=False)
|
||||
assert "--setprocgroup" not in cmd
|
||||
|
||||
def test_mkcmd_runcpu_with_output_dir(self):
|
||||
spec = SPEC(Path("/path/to/spec"))
|
||||
output_dir = Path("/output/dir")
|
||||
cmd = spec.mkcmd_runcpu("myconfig", ["benchmark1"], output_root=output_dir)
|
||||
assert "--outputdir" in cmd
|
||||
assert str(output_dir) in cmd
|
||||
|
||||
Reference in New Issue
Block a user