diff --git a/tests/test_build.py b/tests/test_build.py index 34e86e95561f75de040edad5f7859093ba118af6..404ab54f8dbc6521e12412c6db8ddfb0821d1680 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -9,6 +9,7 @@ from .utils import * TEST_DATA = Path(__file__).absolute().parent / "data" MODULE_VERSION = "0.0.0+0" +MODULE_VERSION_NO_BUILD = "0.0.0" DB_FILE = """record(ai, "TEST") { @@ -28,6 +29,12 @@ index 1806ff6..8701832 100644 """ +def create_patch_file(path, desc): + path.parent.mkdir(parents=True, exist_ok=True) + with open(path, "w") as f: + f.write(PATCH_FILE.format(desc=desc)) + + @pytest.mark.parametrize( "wrapper", [{"templates": "database.db", "sources": "", "dbds": "", "headers": ""}], @@ -38,10 +45,12 @@ def test_patch(wrapper): with open(db_path, "w") as f: f.write(DB_FILE) - patch_path = wrapper / "patch" / "Site" / MODULE_VERSION / "apply.p0.patch" - patch_path.parent.mkdir(parents=True) - with open(patch_path, "w") as f: - f.write(PATCH_FILE.format(desc="OK")) + patch_dir = wrapper / "patch" / "Site" + create_patch_file(patch_dir / MODULE_VERSION / "apply.p0.patch", "OK") + create_patch_file( + patch_dir / MODULE_VERSION_NO_BUILD / "dont-apply.p0.patch", "Bad" + ) + create_patch_file(patch_dir / (MODULE_VERSION + "-dont-apply.p0.patch"), "Bad") rc, outs, _ = run_make( wrapper, @@ -58,5 +67,6 @@ def test_patch(wrapper): assert 'field(DESC, "OK")' in db_contents assert not "Bad" in db_contents - run_make(wrapper, "build", __DEBUG_VERSION=MODULE_VERSION) + rc, _, _ = run_make(wrapper, "build", __DEBUG_VERSION=MODULE_VERSION) + assert rc == 0 assert any((wrapper / TEST_MODULE_NAME).glob("O.*"))