Skip to content

Commit 6832e68

Browse files
committed
Evolution: Build tests with optimizations if required
Make sure we honor the swift_test_mode parameter, by passing in the right optimization flags. Also if we're passing in any flags, pass in -wmo too.
1 parent 27b3427 commit 6832e68

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

test/lit.cfg

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1154,11 +1154,17 @@ config.target_sil_nm = (
11541154
'%s -target %s %s'
11551155
% (config.sil_nm, config.variant_triple, mcp_opt))
11561156

1157+
rth_flags = ''
1158+
if swift_execution_tests_extra_flags:
1159+
rth_flags = swift_execution_tests_extra_flags + ' -wmo'
1160+
11571161
config.target_resilience_test = (
11581162
'%s --target-build-swift "%s" --target-run "%s" --t %%t --S %%S --s %%s '
1159-
'--lib-prefix "%s" --lib-suffix ".%s" --target-codesign "%s"'
1163+
'--lib-prefix "%s" --lib-suffix ".%s" --target-codesign "%s" '
1164+
'--additional-compile-flags "%s"'
11601165
% (config.rth, config.target_build_swift, config.target_run, 'lib',
1161-
config.target_dylib_extension, config.target_codesign))
1166+
config.target_dylib_extension, config.target_codesign,
1167+
rth_flags))
11621168

11631169
# FIXME: Get symbol diffing working with binutils nm as well. The flags are slightly
11641170
# different.

utils/rth

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class ResilienceTest(object):
3333

3434
def __init__(self, target_build_swift, target_run, target_codesign,
3535
target_nm, tmp_dir, test_dir, test_src, lib_prefix,
36-
lib_suffix, additional_compile_flags_library,
36+
lib_suffix, additional_compile_flags,
3737
no_backward_deployment, no_symbol_diff):
3838
self.target_build_swift = shlex.split(target_build_swift)
3939
self.target_run = shlex.split(target_run)
@@ -44,8 +44,7 @@ class ResilienceTest(object):
4444
self.test_src = test_src
4545
self.lib_prefix = lib_prefix
4646
self.lib_suffix = lib_suffix
47-
self.additional_compile_flags_library = \
48-
shlex.split(additional_compile_flags_library)
47+
self.additional_compile_flags = shlex.split(additional_compile_flags)
4948

5049
self.before_dir = os.path.join(self.tmp_dir, 'before')
5150
self.after_dir = os.path.join(self.tmp_dir, 'after')
@@ -95,7 +94,8 @@ class ResilienceTest(object):
9594
os.path.join('@rpath', lib_file)]
9695

9796
command = self.target_build_swift + \
98-
self.additional_compile_flags_library + compiler_flags
97+
self.additional_compile_flags + \
98+
compiler_flags
9999
verbose_print_command(command)
100100
returncode = subprocess.call(command)
101101
assert returncode == 0, str(command)
@@ -143,7 +143,9 @@ class ResilienceTest(object):
143143
'-Xfrontend', '-enable-class-resilience',
144144
'-I', self.config_dir_map[config],
145145
'-o', output_obj]
146-
command = self.target_build_swift + compiler_flags
146+
command = self.target_build_swift + \
147+
self.additional_compile_flags + \
148+
compiler_flags
147149
verbose_print_command(command)
148150
returncode = subprocess.call(command)
149151
assert returncode == 0, str(command)
@@ -218,7 +220,7 @@ def main():
218220
parser.add_argument('--s', required=True)
219221
parser.add_argument('--lib-prefix', required=True)
220222
parser.add_argument('--lib-suffix', required=True)
221-
parser.add_argument('--additional-compile-flags-library', default='')
223+
parser.add_argument('--additional-compile-flags', default='')
222224
parser.add_argument('--no-backward-deployment', default=False,
223225
action='store_true')
224226
parser.add_argument('--no-symbol-diff', default=False,
@@ -230,7 +232,7 @@ def main():
230232
args.target_codesign, args.target_nm,
231233
args.t, args.S, args.s, args.lib_prefix,
232234
args.lib_suffix,
233-
args.additional_compile_flags_library,
235+
args.additional_compile_flags,
234236
args.no_backward_deployment,
235237
args.no_symbol_diff)
236238

0 commit comments

Comments
 (0)