Skip to content

Commit 5ca9af6

Browse files
committed
[lit] introduce target-run-simple-leaks-swift to run with leaks
[lit] cleanup lit leaks target
1 parent 08c4646 commit 5ca9af6

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

test/lit.cfg

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -986,7 +986,7 @@ else:
986986
swift_reflection_test_name = 'swift-reflection-test' + variant_suffix
987987

988988
def use_interpreter_for_simple_runs():
989-
def make_simple_target_run(gyb=False, stdlib=False, parameterized=False):
989+
def make_simple_target_run(gyb=False, stdlib=False, parameterized=False, leaks=False):
990990
result = ''
991991
if gyb:
992992
result += ('%empty-directory(%t) && '
@@ -1014,6 +1014,7 @@ def use_interpreter_for_simple_runs():
10141014
config.target_run_stdlib_swift = make_simple_target_run(stdlib=True)
10151015
config.target_run_simple_swift = make_simple_target_run()
10161016
config.target_run_simple_swift_parameterized = make_simple_target_run(parameterized=True)
1017+
config.target_run_simple_leaks_swift_parameterized = make_simple_leaks_target_run(parameterized=True)
10171018
config.target_run_stdlib_swift_parameterized = make_simple_target_run(stdlib=True, parameterized=True)
10181019
config.target_run_simple_swiftgyb_parameterized = make_simple_target_run(gyb=True, parameterized=True)
10191020
config.available_features.add('interpret')
@@ -2258,6 +2259,11 @@ elif not kIsWindows:
22582259
lit_config.note('Testing with the just-built libraries')
22592260

22602261
lit_config.note('Library load path: {0}'.format(os.path.pathsep.join(target_stdlib_path)))
2262+
config.target_run_with_leaks = (
2263+
"/usr/bin/env " +
2264+
construct_library_path_env(target_stdlib_path) +
2265+
" xcrun leaks -atExit -- " +
2266+
config.target_run)
22612267
config.target_run = (
22622268
"/usr/bin/env " +
22632269
construct_library_path_env(target_stdlib_path) +
@@ -2293,6 +2299,16 @@ if not getattr(config, 'target_run_simple_swift', None):
22932299
escape_for_substitute_captures(config.target_codesign),
22942300
escape_for_substitute_captures(config.target_run))
22952301
)
2302+
config.target_run_simple_leaks_swift_parameterized = SubstituteCaptures(
2303+
r"%%empty-directory(%%t) && "
2304+
r"%s %s %%s \1 -o %%t/a.out -module-name main && "
2305+
r"%s %%t/a.out && "
2306+
r"%s %%t/a.out"
2307+
% (escape_for_substitute_captures(config.target_build_swift),
2308+
escape_for_substitute_captures(mcp_opt),
2309+
escape_for_substitute_captures(config.target_codesign),
2310+
escape_for_substitute_captures(config.target_run_with_leaks))
2311+
)
22962312
config.target_fail_simple_swift_parameterized = SubstituteCaptures(
22972313
r"%%empty-directory(%%t) && "
22982314
r"%s %s %%s \1 -o %%t/a.out -module-name main && "
@@ -2468,6 +2484,8 @@ config.substitutions.append(('%target-run-simple-swiftgyb\(([^)]+)\)',
24682484
config.substitutions.append(('%target-run-simple-swiftgyb', config.target_run_simple_swiftgyb))
24692485
config.substitutions.append(('%target-run-simple-swift\(([^)]+)\)',
24702486
config.target_run_simple_swift_parameterized))
2487+
config.substitutions.append(('%target-run-simple-leaks-swift\(([^)]+)\)',
2488+
config.target_run_simple_leaks_swift_parameterized))
24712489
config.substitutions.append(('%target-fail-simple-swift\(([^)]+)\)',
24722490
config.target_fail_simple_swift_parameterized))
24732491
config.substitutions.append(('%target-run-stdlib-swift\(([^)]+)\)',

0 commit comments

Comments
 (0)