diff --git a/test/test_spec.py b/test/test_spec.py new file mode 100644 index 0000000..919fc36 --- /dev/null +++ b/test/test_spec.py @@ -0,0 +1,35 @@ +from pathlib import Path + +import pytest + +from speccpu import find_build + + +class TestFindBuild: + def test_find_build_success(self, tmpdir): + # Create a mock directory structure with a build directory + build_parent = Path(tmpdir) + build_dir = build_parent / "build_2023" + build_dir.mkdir() + + # Test that find_build correctly identifies the build directory + found_dir = find_build(build_parent) + assert found_dir == build_dir + + def test_find_build_multiple_dirs(self, tmpdir): + # Create multiple build directories + build_parent = Path(tmpdir) + build_dir1 = build_parent / "build_2022" + build_dir2 = build_parent / "build_2023" + build_dir1.mkdir() + build_dir2.mkdir() + + # Should find the alphabetically first one + found_dir = find_build(build_parent) + assert found_dir == build_dir1 + + def test_find_build_no_dir(self, tmpdir): + # Test the error case when no build directory exists + build_parent = Path(tmpdir) + with pytest.raises(RuntimeError): + find_build(build_parent)