Codegen: move qltest.test_with to parametrized pragmas

This commit is contained in:
Paolo Tranquilli
2024-09-20 12:15:10 +02:00
parent 3e2f886595
commit 8d291ab938
8 changed files with 18 additions and 17 deletions

View File

@@ -749,7 +749,7 @@ def test_test_with(opts, generate_tests):
write(opts.ql_test_output / "B" / "test.swift")
assert generate_tests([
schema.Class("Base", derived={"A", "B"}),
schema.Class("A", bases=["Base"], test_with="B"),
schema.Class("A", bases=["Base"], pragmas={"qltest_test_with": "B"}),
schema.Class("B", bases=["Base"]),
]) == {
"B/A.ql": a_ql_class_tester(class_name="A"),

View File

@@ -754,12 +754,16 @@ def test_test_with():
class D(Root):
pass
class E(B):
pass
assert data.classes == {
"Root": schema.Class("Root", derived=set("ABCD")),
"A": schema.Class("A", bases=["Root"]),
"B": schema.Class("B", bases=["Root"], test_with="A"),
"C": schema.Class("C", bases=["Root"], test_with="D"),
"B": schema.Class("B", bases=["Root"], pragmas={"qltest_test_with": "A"}, derived={'E'}),
"C": schema.Class("C", bases=["Root"], pragmas={"qltest_test_with": "D"}),
"D": schema.Class("D", bases=["Root"]),
"E": schema.Class("E", bases=["B"], pragmas={"qltest_test_with": "A"}),
}