Skip to content

Commit 019a84a

Browse files
committed
[lit] introduce target-run-simple-leaks-swift to run with leaks
[lit] cleanup lit leaks target
1 parent 919cf8e commit 019a84a

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
@@ -1008,7 +1008,7 @@ else:
10081008
swift_reflection_test_name = 'swift-reflection-test' + variant_suffix
10091009

10101010
def use_interpreter_for_simple_runs():
1011-
def make_simple_target_run(gyb=False, stdlib=False, parameterized=False):
1011+
def make_simple_target_run(gyb=False, stdlib=False, parameterized=False, leaks=False):
10121012
result = ''
10131013
if gyb:
10141014
result += ('%empty-directory(%t) && '
@@ -1036,6 +1036,7 @@ def use_interpreter_for_simple_runs():
10361036
config.target_run_stdlib_swift = make_simple_target_run(stdlib=True)
10371037
config.target_run_simple_swift = make_simple_target_run()
10381038
config.target_run_simple_swift_parameterized = make_simple_target_run(parameterized=True)
1039+
config.target_run_simple_leaks_swift_parameterized = make_simple_leaks_target_run(parameterized=True)
10391040
config.target_run_stdlib_swift_parameterized = make_simple_target_run(stdlib=True, parameterized=True)
10401041
config.target_run_simple_swiftgyb_parameterized = make_simple_target_run(gyb=True, parameterized=True)
10411042
config.available_features.add('interpret')
@@ -2273,6 +2274,11 @@ elif not kIsWindows:
22732274
lit_config.note('Testing with the just-built libraries')
22742275

22752276
lit_config.note('Library load path: {0}'.format(os.path.pathsep.join(target_stdlib_path)))
2277+
config.target_run_with_leaks = (
2278+
"/usr/bin/env " +
2279+
construct_library_path_env(target_stdlib_path) +
2280+
" xcrun leaks -atExit -- " +
2281+
config.target_run)
22762282
config.target_run = (
22772283
"/usr/bin/env " +
22782284
construct_library_path_env(target_stdlib_path) +
@@ -2308,6 +2314,16 @@ if not getattr(config, 'target_run_simple_swift', None):
23082314
escape_for_substitute_captures(config.target_codesign),
23092315
escape_for_substitute_captures(config.target_run))
23102316
)
2317+
config.target_run_simple_leaks_swift_parameterized = SubstituteCaptures(
2318+
r"%%empty-directory(%%t) && "
2319+
r"%s %s %%s \1 -o %%t/a.out -module-name main && "
2320+
r"%s %%t/a.out && "
2321+
r"%s %%t/a.out"
2322+
% (escape_for_substitute_captures(config.target_build_swift),
2323+
escape_for_substitute_captures(mcp_opt),
2324+
escape_for_substitute_captures(config.target_codesign),
2325+
escape_for_substitute_captures(config.target_run_with_leaks))
2326+
)
23112327
config.target_fail_simple_swift_parameterized = SubstituteCaptures(
23122328
r"%%empty-directory(%%t) && "
23132329
r"%s %s %%s \1 -o %%t/a.out -module-name main && "
@@ -2483,6 +2499,8 @@ config.substitutions.append(('%target-run-simple-swiftgyb\(([^)]+)\)',
24832499
config.substitutions.append(('%target-run-simple-swiftgyb', config.target_run_simple_swiftgyb))
24842500
config.substitutions.append(('%target-run-simple-swift\(([^)]+)\)',
24852501
config.target_run_simple_swift_parameterized))
2502+
config.substitutions.append(('%target-run-simple-leaks-swift\(([^)]+)\)',
2503+
config.target_run_simple_leaks_swift_parameterized))
24862504
config.substitutions.append(('%target-fail-simple-swift\(([^)]+)\)',
24872505
config.target_fail_simple_swift_parameterized))
24882506
config.substitutions.append(('%target-run-stdlib-swift\(([^)]+)\)',

0 commit comments

Comments
 (0)