Skip to content

Commit e23abf0

Browse files
committed
[Test] Add a swift_swift_parser feature to lit.cfg and use in tests
The macro tests were all using "REQUIRES: OS=macosx" as a proxy for "have the Swift Swift parser". Just add a feature for it instead.
1 parent edb980e commit e23abf0

16 files changed

+30
-52
lines changed

test/Macros/accessor_macros.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// REQUIRES: swift_swift_parser, executable_test
2+
13
// RUN: %empty-directory(%t)
24
// RUN: %target-build-swift -swift-version 5 -I %swift-host-lib-dir -L %swift-host-lib-dir -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift -g -no-toolchain-stdlib-rpath
35

@@ -11,10 +13,6 @@
1113
// Execution testing
1214
// RUN: %target-build-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -L %swift-host-lib-dir %s -o %t/main -module-name MacroUser
1315
// RUN: %target-run %t/main | %FileCheck %s
14-
// REQUIRES: executable_test
15-
16-
// FIXME: Swift parser is not enabled on Linux CI yet.
17-
// REQUIRES: OS=macosx
1816

1917
@attached(accessor)
2018
macro myPropertyWrapper() =

test/Macros/composed_macro.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1+
// REQUIRES: swift_swift_parser, executable_test
2+
13
// RUN: %empty-directory(%t)
24
// RUN: %target-build-swift -swift-version 5 -I %swift-host-lib-dir -L %swift-host-lib-dir -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift -g -no-toolchain-stdlib-rpath
35
// RUNx: %target-swift-frontend -dump-ast -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir %s -module-name MacroUser 2>&1 | %FileCheck --check-prefix CHECK-AST %s
46
// RUN: %target-typecheck-verify-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -module-name MacroUser -DTEST_DIAGNOSTICS -swift-version 5
57
// RUN: %target-build-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -L %swift-host-lib-dir %s -o %t/main -module-name MacroUser -swift-version 5
68
// RUN: %target-run %t/main | %FileCheck %s
7-
// REQUIRES: executable_test
8-
9-
// FIXME: Swift parser is not enabled on Linux CI yet.
10-
// REQUIRES: OS=macosx
119

1210
@attached(memberAttribute)
1311
@attached(member, names: named(_storage))

test/Macros/macro_availability_macosx.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
// REQUIRES: swift_swift_parser, OS=macosx
2+
13
// RUN: %target-typecheck-verify-swift -swift-version 5 -module-name MacrosTest -target %target-cpu-apple-macosx11
2-
// REQUIRES: OS=macosx
34

45
@available(macOS 12.0, *)
56
struct X { }

test/Macros/macro_expand.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// REQUIRES: swift_swift_parser, executable_test
2+
13
// RUN: %empty-directory(%t)
24
// RUN: %target-build-swift -swift-version 5 -I %swift-host-lib-dir -L %swift-host-lib-dir -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift -g -no-toolchain-stdlib-rpath -swift-version 5
35
// RUNx: %target-swift-frontend -dump-ast -enable-experimental-feature FreestandingMacros -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir %s -module-name MacroUser 2>&1 | %FileCheck --check-prefix CHECK-AST %s
@@ -19,17 +21,13 @@
1921
// Execution testing
2022
// RUN: %target-build-swift -swift-version 5 -g -enable-experimental-feature FreestandingMacros -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -L %swift-host-lib-dir %s -o %t/main -module-name MacroUser
2123
// RUN: %target-run %t/main | %FileCheck %s
22-
// REQUIRES: executable_test
2324

2425
// Plugin search path and loaded module trace testing
2526
// RUN: %target-swift-frontend -swift-version 5 -emit-sil -enable-experimental-feature FreestandingMacros -plugin-path %t -I %swift-host-lib-dir %s -module-name MacroUser -emit-loaded-module-trace -o %t/loaded_module_trace
2627
// RUN: %FileCheck -check-prefix=CHECK-MODULE-TRACE %s < %t/loaded_module_trace.trace.json
2728

2829
// CHECK-MODULE-TRACE: {{libMacroDefinition.dylib|libMacroDefinition.so|MacroDefinition.dll}}
2930

30-
// FIXME: Swift parser is not enabled on Linux CI yet.
31-
// REQUIRES: OS=macosx
32-
3331
#if TEST_DIAGNOSTICS
3432
@freestanding(declaration)
3533
macro NotCovered() = #externalMacro(module: "MacroDefinition", type: "InvalidMacro")

test/Macros/macro_expand_attributes.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1+
// REQUIRES: swift_swift_parser, executable_test
2+
13
// RUN: %empty-directory(%t)
24
// RUN: %target-build-swift -swift-version 5 -I %swift-host-lib-dir -L %swift-host-lib-dir -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift -g -no-toolchain-stdlib-rpath
35
// RUNx: %target-swift-frontend -dump-ast -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir %s -module-name MacroUser 2>&1 | %FileCheck --check-prefix CHECK-AST %s
46
// RUN: %target-typecheck-verify-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -module-name MacroUser -DTEST_DIAGNOSTICS -swift-version 5
57
// RUN: %target-build-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -L %swift-host-lib-dir %s -o %t/main -module-name MacroUser -swift-version 5
68
// RUN: %target-run %t/main | %FileCheck %s
7-
// REQUIRES: executable_test
8-
9-
// FIXME: Swift parser is not enabled on Linux CI yet.
10-
// REQUIRES: OS=macosx
119

1210
@attached(memberAttribute) macro wrapAllProperties() = #externalMacro(module: "MacroDefinition", type: "WrapAllProperties")
1311

test/Macros/macro_expand_conformances.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
1+
// REQUIRES: swift_swift_parser, executable_test
2+
13
// RUN: %empty-directory(%t)
24
// RUN: %target-build-swift -swift-version 5 -I %swift-host-lib-dir -L %swift-host-lib-dir -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift -g -no-toolchain-stdlib-rpath
35
// RUN: %target-swift-frontend -swift-version 5 -typecheck -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir %s -disable-availability-checking -dump-macro-expansions > %t/expansions-dump.txt 2>&1
46
// RUN: %FileCheck -check-prefix=CHECK-DUMP %s < %t/expansions-dump.txt
57
// RUN: %target-typecheck-verify-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -module-name MacroUser -DTEST_DIAGNOSTICS -swift-version 5
68
// RUN: %target-build-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -L %swift-host-lib-dir %s -o %t/main -module-name MacroUser -swift-version 5
79
// RUN: %target-run %t/main | %FileCheck %s
8-
// REQUIRES: executable_test
9-
10-
// FIXME: Swift parser is not enabled on Linux CI yet.
11-
// REQUIRES: OS=macosx
1210

1311
@attached(conformance)
1412
macro Equatable() = #externalMacro(module: "MacroDefinition", type: "EquatableMacro")

test/Macros/macro_expand_peers.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// REQUIRES: swift_swift_parser
2+
13
// RUN: %empty-directory(%t)
24
// RUN: %target-build-swift -swift-version 5 -I %swift-host-lib-dir -L %swift-host-lib-dir -emit-library -o %t/%target-library-name(MacroDefinition) -parse-as-library -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift -g -no-toolchain-stdlib-rpath
35
// RUN: %target-typecheck-verify-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -parse-as-library -I %swift-host-lib-dir -disable-availability-checking
@@ -10,9 +12,6 @@
1012
// Emit module while skipping function bodies
1113
// RUN: %target-swift-frontend -swift-version 5 -emit-module -load-plugin-library %t/%target-library-name(MacroDefinition) -parse-as-library -I %swift-host-lib-dir %s -disable-availability-checking -o %t/macro_expand_peers.swiftmodule -experimental-skip-non-inlinable-function-bodies-without-types
1214

13-
// FIXME: Swift parser is not enabled on Linux CI yet.
14-
// REQUIRES: OS=macosx
15-
1615
@attached(peer, names: overloaded)
1716
macro addCompletionHandler() = #externalMacro(module: "MacroDefinition", type: "AddCompletionHandler")
1817

test/Macros/macro_expand_primary.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1+
// REQUIRES: swift_swift_parser, asserts
2+
//
13
// RUN: %empty-directory(%t)
24
// RUN: %empty-directory(%t-scratch)
35
// RUN: %target-build-swift -swift-version 5 -I %swift-host-lib-dir -L %swift-host-lib-dir -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift -g -no-toolchain-stdlib-rpath
46
// RUN: %target-swift-frontend -swift-version 5 -emit-module -o %t/macro_library.swiftmodule %S/Inputs/macro_library.swift -module-name macro_library -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir
57
// RUN: %target-swift-frontend -swift-version 5 -typecheck -I%t -verify -primary-file %s %S/Inputs/macro_expand_other.swift -verify-ignore-unknown -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -dump-macro-expansions > %t/expansions-dump.txt 2>&1
68
// RUN: %FileCheck -check-prefix=CHECK-DUMP %s < %t/expansions-dump.txt
79

8-
// REQUIRES: asserts
9-
// REQUIRES: OS=macosx
10-
1110
import macro_library
1211

1312
struct Treat {}

test/Macros/macro_expand_synthesized_members.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1+
// REQUIRES: swift_swift_parser, executable_test
2+
//
13
// RUN: %empty-directory(%t)
24
// RUN: %target-build-swift -swift-version 5 -I %swift-host-lib-dir -L %swift-host-lib-dir -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift -g -no-toolchain-stdlib-rpath
35
// RUNx: %target-swift-frontend -dump-ast -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir %s -module-name MacroUser 2>&1 | %FileCheck --check-prefix CHECK-AST %s
46
// RUN: %target-typecheck-verify-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -module-name MacroUser -DTEST_DIAGNOSTICS -swift-version 5
57
// RUN: %target-build-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -L %swift-host-lib-dir %s -o %t/main -module-name MacroUser -swift-version 5
68
// RUN: %target-run %t/main | %FileCheck %s
7-
// REQUIRES: executable_test
8-
9-
// FIXME: Swift parser is not enabled on Linux CI yet.
10-
// REQUIRES: OS=macosx
119

1210
@attached(
1311
member,

test/Macros/macro_expand_throwing.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// REQUIRES: swift_swift_parser
2+
13
// RUN: %empty-directory(%t)
24
// RUN: %target-build-swift -swift-version 5 -I %swift-host-lib-dir -L %swift-host-lib-dir -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift -g -no-toolchain-stdlib-rpath -swift-version 5
35

@@ -7,9 +9,6 @@
79
// Make sure the diagnostic doesn't crash in SILGen
810
// RUN: not %target-swift-frontend -swift-version 5 -emit-sil -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir %s -module-name MacroUser -o - -g
911

10-
// FIXME: Swift parser is not enabled on Linux CI yet.
11-
// REQUIRES: OS=macosx
12-
1312
@freestanding(expression) macro myWarning(_ message: String) = #externalMacro(module: "MacroDefinition", type: "WarningMacro")
1413

1514
func testThrownError() {

test/Macros/macro_expand_variadic.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1+
// REQUIRES: swift_swift_parser, executable_test
2+
13
// RUN: %empty-directory(%t)
24
// RUN: %target-build-swift -swift-version 5 -I %swift-host-lib-dir -L %swift-host-lib-dir -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/variadic_macros.swift -g -no-toolchain-stdlib-rpath
35
// RUNx: %target-swift-frontend -dump-ast -enable-experimental-feature VariadicGenerics -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir %s -module-name MacroUser 2>&1 | %FileCheck --check-prefix CHECK-AST %s
46
// RUN: %target-typecheck-verify-swift -swift-version 5 -enable-experimental-feature VariadicGenerics -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -module-name MacroUser -DTEST_DIAGNOSTICS -swift-version 5
57
// RUN: %target-build-swift -swift-version 5 -enable-experimental-feature VariadicGenerics -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -L %swift-host-lib-dir %s -o %t/main -module-name MacroUser -swift-version 5
68
// RUN: %target-run %t/main | %FileCheck %s
7-
// REQUIRES: executable_test
8-
9-
// FIXME: Swift parser is not enabled on Linux CI yet.
10-
// REQUIRES: OS=macosx
119

1210
@freestanding(expression) macro print<each Value>(_ value: repeat each Value) = #externalMacro(module: "MacroDefinition", type: "PrintMacro")
1311

test/Macros/macro_plugin_basic.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// REQUIRES: OS=macosx
1+
// REQUIRES: swift_swift_parser
22

33
// RUN: %empty-directory(%t)
44
// RUN: split-file %s %t

test/Macros/macro_plugin_error.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// REQUIRES: OS=macosx
1+
// REQUIRES: swift_swift_parser
22

33
// RUN: %empty-directory(%t)
44
// RUN: split-file %s %t

test/Macros/macro_vfs.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
// REQUIRES: swift_swift_parser
2+
13
// RUN: %empty-directory(%t)
24
// RUN: %empty-directory(%t/hidden)
35
// RUN: split-file %s %t
@@ -9,9 +11,6 @@
911
// RUN: %target-swift-frontend -typecheck -verify -swift-version 5 -enable-experimental-feature Macros -load-plugin-library %t/vfs/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -module-name MacroUser -DTEST_DIAGNOSTICS %t/macro.swift -vfsoverlay %t/overlay.yaml
1012
// RUN: %target-swift-frontend -typecheck -verify -swift-version 5 -enable-experimental-feature Macros -plugin-path %t/vfs -I %swift-host-lib-dir -module-name MacroUser -DTEST_DIAGNOSTICS %t/macro.swift -vfsoverlay %t/overlay.yaml
1113

12-
// FIXME: Swift parser is not enabled on Linux CI yet.
13-
// REQUIRES: OS=macosx
14-
1514
//--- macro.swift
1615
// expected-no-diagnostics
1716
@freestanding(expression) macro customFileID() -> String = #externalMacro(module: "MacroDefinition", type: "FileIDMacro")

test/SourceKit/Macros/macro_basic.swift

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,7 @@ macro Hashable() = #externalMacro(module: "MacroDefinition", type: "HashableMacr
5151
@Hashable
5252
struct S4 { }
5353

54-
// FIXME: Swift parser is not enabled on Linux CI yet.
55-
// REQUIRES: OS=macosx
56-
57-
// REQUIRES: executable_test
58-
59-
// REQUIRES=shell
54+
// REQUIRES: swift_swift_parser, executable_test, shell
6055

6156
// RUN: %empty-directory(%t)
6257

test/lit.site.cfg.in

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,16 +157,16 @@ config.freestanding_sdk_name = "@SWIFT_SDK_FREESTANDING_LIB_SUBDIR@"
157157
if "@BOOTSTRAPPING_MODE@" != "OFF":
158158
config.available_features.add('swift_in_compiler')
159159

160-
if "@SWIFT_PATH_TO_EARLYSWIFTSYNTAX_BUILD_DIR@" != "":
161-
config.available_features.add('swift_swift_parser')
162-
163160
if "@BOOTSTRAPPING_MODE@" == 'HOSTTOOLS':
164161
config.available_features.add('hosttools_mode')
165162
elif "@BOOTSTRAPPING_MODE@" == 'BOOTSTRAPPING':
166163
config.available_features.add('bootstrapping_mode')
167164
elif "@BOOTSTRAPPING_MODE@" == 'BOOTSTRAPPING-WITH-HOSTLIBS':
168165
config.available_features.add('bootstrapping_with_hostlibs_mode')
169166

167+
if '@SWIFT_SWIFT_PARSER@' == 'TRUE':
168+
config.available_features.add('swift_swift_parser')
169+
170170
# Let the main config do the real work.
171171
if config.test_exec_root is None:
172172
config.test_exec_root = os.path.dirname(os.path.realpath(__file__))

0 commit comments

Comments
 (0)