summaryrefslogtreecommitdiff
path: root/rules/CC/test
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2023-07-12 15:29:47 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2023-07-12 15:29:47 +0200
commit26c12387fd0400394eddc43c58a77f25799c93cd (patch)
tree2b041de67c7c00f178773ce5c86e7fa85ed9a80a /rules/CC/test
parentd0aa784b46c88e6ea138bd8f97fe1af8272aad1c (diff)
parentbdeabd1b99600bd8bdd1c002dc73e7863b23d0d3 (diff)
downloadrules-cc-26c12387fd0400394eddc43c58a77f25799c93cd.tar.gz
Merge subtree 'rules' into rules-cc
Diffstat (limited to 'rules/CC/test')
-rw-r--r--rules/CC/test/EXPRESSIONS10
-rw-r--r--rules/CC/test/RULES19
2 files changed, 28 insertions, 1 deletions
diff --git a/rules/CC/test/EXPRESSIONS b/rules/CC/test/EXPRESSIONS
index e1442c5..0c6d797 100644
--- a/rules/CC/test/EXPRESSIONS
+++ b/rules/CC/test/EXPRESSIONS
@@ -8,6 +8,8 @@
, "vars":
[ "ARCH"
, "HOST_ARCH"
+ , "TARGET_ARCH"
+ , "ARCH_DISPATCH"
, "CC"
, "CXX"
, "CFLAGS"
@@ -48,6 +50,7 @@
, "ldflags-files-deps": ["./", "..", "ldflags-files-deps"]
, "binary": ["./", "..", "bin artifact"]
, "host transition": ["transitions", "for host"]
+ , "target properties": ["transitions", "target properties"]
, "stage": ["./", "../..", "stage_singleton_field"]
}
, "expression":
@@ -154,6 +157,9 @@
]
}
]
+ , [ "target properties"
+ , {"type": "CALL_EXPRESSION", "name": "target properties"}
+ ]
]
, "body":
{ "type": "if"
@@ -178,6 +184,8 @@
, "$1":
["CC test ", {"type": "var", "name": "test-name"}, " failed"]
}
+ , "execution properties":
+ {"type": "var", "name": "target properties"}
}
]
, [ "runfiles"
@@ -251,6 +259,8 @@
, ")"
]
}
+ , "execution properties":
+ {"type": "var", "name": "target properties"}
}
}
}
diff --git a/rules/CC/test/RULES b/rules/CC/test/RULES
index 8a985be..a1f4bfb 100644
--- a/rules/CC/test/RULES
+++ b/rules/CC/test/RULES
@@ -14,6 +14,7 @@
, "config_vars":
[ "ARCH"
, "HOST_ARCH"
+ , "TARGET_ARCH"
, "CC"
, "CXX"
, "CFLAGS"
@@ -27,6 +28,7 @@
, "TEST_ENV"
, "CC_TEST_LAUNCHER"
, "RUNS_PER_TEST"
+ , "ARCH_DISPATCH"
]
, "implicit":
{ "defaults": [["./", "..", "defaults"]]
@@ -99,6 +101,19 @@
[ "The number of times the test should be run in order to detect flakyness."
, "If set, no test action will be taken from cache."
]
+ , "TARGET_ARCH":
+ [ "The architecture to build the test for."
+ , ""
+ , "Will only be honored, if that architecture is available in the"
+ , "ARCH_DISPATCH map. Otherwise, the test will be built for and run"
+ , "on the host architecture."
+ ]
+ , "ARCH_DISPATCH":
+ [ "Map of architectures to execution properties that ensure execution"
+ , "on that architecture. Only the actual test binary will be run with"
+ , "the specified execution properties (i.e., on the target architecture);"
+ , "all building will be done on the host architecture."
+ ]
}
, "artifacts_doc":
[ "result: the result of this test (\"PASS\" or \"FAIL\"); useful for"
@@ -117,7 +132,7 @@
, "imports":
{ "artifacts": ["./", "../..", "field_artifacts"]
, "runfiles": ["./", "../..", "field_runfiles"]
- , "host transition": ["transitions", "for host"]
+ , "host transition": ["transitions", "maybe for host"]
, "stage": ["./", "../..", "stage_singleton_field"]
, "run_test": "run_test"
}
@@ -125,6 +140,7 @@
{ "defaults": [{"type": "CALL_EXPRESSION", "name": "host transition"}]
, "private-deps": [{"type": "CALL_EXPRESSION", "name": "host transition"}]
, "data": [{"type": "CALL_EXPRESSION", "name": "host transition"}]
+ , "runner": [{"type": "CALL_EXPRESSION", "name": "host transition"}]
}
, "expression":
{ "type": "let*"
@@ -182,6 +198,7 @@
, "$1":
{ "type": "DEP_ARTIFACTS"
, "dep": {"type": "var", "name": "runner"}
+ , "transition": {"type": "var", "name": "host-trans"}
}
}
, "body":