@@ -11,6 +11,19 @@ def exists(env):
1111_unittests = []
1212def register_unit_test (env , test ):
1313 _unittests .append (test .path )
14+
15+ hygienic = env .GetOption ('install-mode' ) == 'hygienic'
16+ if hygienic and getattr (test .attributes , "AIB_INSTALL_ACTIONS" , []):
17+ installed = getattr (test .attributes , "AIB_INSTALL_ACTIONS" )
18+ else :
19+ installed = [test ]
20+
21+ env .Command (
22+ target = "#@{}" .format (os .path .basename (installed [0 ].get_path ())),
23+ source = installed ,
24+ action = "${SOURCES[0]}"
25+ )
26+
1427 env .Alias ('$UNITTEST_ALIAS' , test )
1528
1629def unit_test_list_builder_action (env , target , source ):
@@ -42,22 +55,6 @@ def build_cpp_unit_test(env, target, source, **kwargs):
4255 result = env .Program (target , source , ** kwargs )
4356 env .RegisterUnitTest (result [0 ])
4457
45- hygienic = env .GetOption ('install-mode' ) == 'hygienic'
46- if not hygienic :
47- installed_test = env .Install ('#/build/unittests/' , result [0 ])
48- env .Command (
49- target = "#@{}" .format (os .path .basename (installed_test [0 ].path )),
50- source = installed_test ,
51- action = "${SOURCES[0]}"
52- )
53- else :
54- test_bin_name = os .path .basename (result [0 ].path )
55- env .Command (
56- target = "#@{}" .format (test_bin_name ),
57- source = ["$PREFIX_BINDIR/{}" .format (test_bin_name )],
58- action = "${SOURCES[0]}"
59- )
60-
6158 return result
6259
6360
0 commit comments