Skip to content

Commit 54aff1e

Browse files
committed
Add --test-optimize-none-implicit-dynamic to build-script
1 parent e113ef8 commit 54aff1e

File tree

5 files changed

+31
-0
lines changed

5 files changed

+31
-0
lines changed

utils/build-script

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,10 @@ class HostSpecificConfiguration(object):
206206
self.swift_test_run_targets.append(
207207
"check-swift{}-optimize_size-{}".format(
208208
subset_suffix, name))
209+
if args.test_optimize_none_implicit_dynamic and not test_host_only:
210+
self.swift_test_run_targets.append(
211+
"check-swift{}-optimize_none_implicit_dynamic-{}".format(
212+
subset_suffix, name))
209213

210214

211215
class BuildScriptInvocation(object):
@@ -720,6 +724,8 @@ class BuildScriptInvocation(object):
720724
impl_args += ["--skip-test-optimized"]
721725
if not args.test_optimize_for_size:
722726
impl_args += ["--skip-test-optimize-for-size"]
727+
if not args.test_optimize_none_implicit_dynamic:
728+
impl_args += ["--skip-test-optimize-none-implicit-dynamic"]
723729
if args.build_libparser_only:
724730
impl_args += ["--build-libparser-only"]
725731
if args.android:

utils/build-script-impl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ KNOWN_SETTINGS=(
174174
skip-test-benchmarks "" "set to skip running Swift Benchmark Suite"
175175
skip-test-optimized "" "set to skip testing the test suite in optimized mode"
176176
skip-test-optimize-for-size "" "set to skip testing the test suite in optimize for size mode"
177+
skip-test-optimize-none-implicit-dynamic "" "set to skip testing the test suite in optimize none with implicit dynamic mode"
177178
skip-test-sourcekit "" "set to skip testing SourceKit"
178179
stress-test-sourcekit "" "set to run the stress-SourceKit target"
179180
workspace "${HOME}/src" "source directory containing llvm, clang, swift"
@@ -1498,6 +1499,9 @@ function calculate_targets_for_host() {
14981499
if [[ $(not ${SKIP_TEST_OPTIMIZE_FOR_SIZE}) && ! -n "${test_host_only}" ]] ; then
14991500
SWIFT_TEST_TARGETS+=("check-swift${test_subset_target_suffix}-optimize_size-${stdlib_deployment_target}")
15001501
fi
1502+
if [[ $(not ${SKIP_TEST_OPTIMIZE_NONE_IMPLICIT_DYNAMIC}) && ! -n "${test_host_only}" ]] ; then
1503+
SWIFT_TEST_TARGETS+=("check-swift${test_subset_target_suffix}-optimize_none_implicit_dynamic-${stdlib_deployment_target}")
1504+
fi
15011505
fi
15021506
done
15031507

utils/build_swift/driver_arguments.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,10 @@ def _apply_default_arguments(args):
189189
if args.test_optimize_for_size:
190190
args.test = True
191191

192+
# --test-optimize-none-implicit-dynamic implies --test.
193+
if args.test_optimize_none_implicit_dynamic:
194+
args.test = True
195+
192196
# If none of tests specified skip swift stdlib test on all platforms
193197
if not args.test and not args.validation_test and not args.long_test:
194198
args.test_linux = False
@@ -742,6 +746,14 @@ def create_argument_parser():
742746
help='run the test suite in optimize for size mode too '
743747
'(implies --test)')
744748

749+
# FIXME: Convert to store_true action
750+
option('-y', store('test_optimize_none_implicit_dynamic', const=True),
751+
help='run the test suite in optimize none with implicit dynamic mode'
752+
' too (implies --test)')
753+
option('--test-optimize-none-implicit-dynamic', toggle_true,
754+
help='run the test suite in optimize none with implicit dynamic mode'
755+
' too (implies --test)')
756+
745757
option('--long-test', toggle_true,
746758
help='run the long test suite')
747759

@@ -956,6 +968,7 @@ def create_argument_parser():
956968
option('--common-cmake-options', unsupported)
957969
option('--only-execute', unsupported)
958970
option('--skip-test-optimize-for-size', unsupported)
971+
option('--skip-test-optimize-none-implicit-dynamic', unsupported)
959972
option('--skip-test-optimized', unsupported)
960973

961974
# -------------------------------------------------------------------------

utils/build_swift/tests/expected_options.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@
183183
'test_ios_simulator': False,
184184
'test_linux': False,
185185
'test_optimize_for_size': None,
186+
'test_optimize_none_implicit_dynamic': None,
186187
'test_optimized': None,
187188
'test_osx': False,
188189
'test_paths': [],
@@ -379,6 +380,7 @@ class IgnoreOption(_BaseOption):
379380
SetOption('-T', dest='validation_test', value=True),
380381
SetOption('-o', dest='test_optimized', value=True),
381382
SetOption('-s', dest='test_optimize_for_size', value=True),
383+
SetOption('-y', dest='test_optimize_none_implicit_dynamic', value=True),
382384
SetOption('-t', dest='test', value=True),
383385

384386
# FIXME: Convert these options to set_false actions
@@ -557,6 +559,7 @@ class IgnoreOption(_BaseOption):
557559
UnsupportedOption('--common-cmake-options'),
558560
UnsupportedOption('--only-execute'),
559561
UnsupportedOption('--skip-test-optimize-for-size'),
562+
UnsupportedOption('--skip-test-optimize-none-implicit-dynamic'),
560563
UnsupportedOption('--skip-test-optimized'),
561564

562565
# NOTE: LTO flag is a special case that acts both as an option and has

utils/build_swift/tests/test_driver_arguments.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,11 @@ def test_implied_defaults_test_optimize_for_size(self):
640640
namespace = self.parse_default_args(['--test-optimize-for-size'])
641641
self.assertTrue(namespace.test)
642642

643+
def test_implied_defaults_test_optimize_for_size(self):
644+
with self.assertNotRaises(ParserError):
645+
namespace = self.parse_default_args(['--test-optimize-none-implicit-dynamic'])
646+
self.assertTrue(namespace.test)
647+
643648
def test_implied_defaults_skip_all_tests(self):
644649
with self.assertNotRaises(ParserError):
645650
namespace = self.parse_default_args([

0 commit comments

Comments
 (0)