Skip to content

Commit 900c60f

Browse files
committed
[lit] introduce target-run-simple-leaks-swift to run with leaks
[lit] cleanup lit leaks target
1 parent e99c397 commit 900c60f

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
@@ -1006,7 +1006,7 @@ else:
10061006
swift_reflection_test_name = 'swift-reflection-test' + variant_suffix
10071007

10081008
def use_interpreter_for_simple_runs():
1009-
def make_simple_target_run(gyb=False, stdlib=False, parameterized=False):
1009+
def make_simple_target_run(gyb=False, stdlib=False, parameterized=False, leaks=False):
10101010
result = ''
10111011
if gyb:
10121012
result += ('%empty-directory(%t) && '
@@ -1034,6 +1034,7 @@ def use_interpreter_for_simple_runs():
10341034
config.target_run_stdlib_swift = make_simple_target_run(stdlib=True)
10351035
config.target_run_simple_swift = make_simple_target_run()
10361036
config.target_run_simple_swift_parameterized = make_simple_target_run(parameterized=True)
1037+
config.target_run_simple_leaks_swift_parameterized = make_simple_leaks_target_run(parameterized=True)
10371038
config.target_run_stdlib_swift_parameterized = make_simple_target_run(stdlib=True, parameterized=True)
10381039
config.target_run_simple_swiftgyb_parameterized = make_simple_target_run(gyb=True, parameterized=True)
10391040
config.available_features.add('interpret')
@@ -2278,6 +2279,11 @@ elif not kIsWindows:
22782279
lit_config.note('Testing with the just-built libraries')
22792280

22802281
lit_config.note('Library load path: {0}'.format(os.path.pathsep.join(target_stdlib_path)))
2282+
config.target_run_with_leaks = (
2283+
"/usr/bin/env " +
2284+
construct_library_path_env(target_stdlib_path) +
2285+
" xcrun leaks -atExit -- " +
2286+
config.target_run)
22812287
config.target_run = (
22822288
"/usr/bin/env " +
22832289
construct_library_path_env(target_stdlib_path) +
@@ -2313,6 +2319,16 @@ if not getattr(config, 'target_run_simple_swift', None):
23132319
escape_for_substitute_captures(config.target_codesign),
23142320
escape_for_substitute_captures(config.target_run))
23152321
)
2322+
config.target_run_simple_leaks_swift_parameterized = SubstituteCaptures(
2323+
r"%%empty-directory(%%t) && "
2324+
r"%s %s %%s \1 -o %%t/a.out -module-name main && "
2325+
r"%s %%t/a.out && "
2326+
r"%s %%t/a.out"
2327+
% (escape_for_substitute_captures(config.target_build_swift),
2328+
escape_for_substitute_captures(mcp_opt),
2329+
escape_for_substitute_captures(config.target_codesign),
2330+
escape_for_substitute_captures(config.target_run_with_leaks))
2331+
)
23162332
config.target_fail_simple_swift_parameterized = SubstituteCaptures(
23172333
r"%%empty-directory(%%t) && "
23182334
r"%s %s %%s \1 -o %%t/a.out -module-name main && "
@@ -2488,6 +2504,8 @@ config.substitutions.append(('%target-run-simple-swiftgyb\(([^)]+)\)',
24882504
config.substitutions.append(('%target-run-simple-swiftgyb', config.target_run_simple_swiftgyb))
24892505
config.substitutions.append(('%target-run-simple-swift\(([^)]+)\)',
24902506
config.target_run_simple_swift_parameterized))
2507+
config.substitutions.append(('%target-run-simple-leaks-swift\(([^)]+)\)',
2508+
config.target_run_simple_leaks_swift_parameterized))
24912509
config.substitutions.append(('%target-fail-simple-swift\(([^)]+)\)',
24922510
config.target_fail_simple_swift_parameterized))
24932511
config.substitutions.append(('%target-run-stdlib-swift\(([^)]+)\)',

0 commit comments

Comments
 (0)