diff --git a/Tests/LinuxMain.swift b/Tests/LinuxMain.swift deleted file mode 100644 index 86ffff82fe0..00000000000 --- a/Tests/LinuxMain.swift +++ /dev/null @@ -1,23 +0,0 @@ -import XCTest -import SwiftSyntaxTest - -XCTMain({ () -> [XCTestCaseEntry] in - var testCases: [XCTestCaseEntry] = [ - testCase(AbsolutePositionTestCase.allTests), - testCase(ClassificationTests.allTests), - testCase(DiagnosticTestCase.allTests), - testCase(IncrementalParsingTestCase.allTests), - testCase(MultithreadingTestCase.allTests), - testCase(ParseFileTestCase.allTests), - testCase(SyntaxChildrenAPITestCase.allTests), - testCase(SyntaxCollectionsAPITestCase.allTests), - testCase(SyntaxFactoryAPITestCase.allTests), - testCase(SyntaxAPITestCase.allTests), - testCase(SyntaxVisitorTestCase.allTests), - testCase(TokenSyntaxTestCase.allTests), - testCase(SyntaxTreeModifierTests.allTests), - testCase(TriviaTests.allTests), - testCase(CustomReflectableTests.allTests), - ] - return testCases -}()) diff --git a/Tests/SwiftSyntaxTest/AbsolutePosition.swift b/Tests/SwiftSyntaxTest/AbsolutePositionTests.swift similarity index 87% rename from Tests/SwiftSyntaxTest/AbsolutePosition.swift rename to Tests/SwiftSyntaxTest/AbsolutePositionTests.swift index 11ae7724a8d..0462b6d7b64 100644 --- a/Tests/SwiftSyntaxTest/AbsolutePosition.swift +++ b/Tests/SwiftSyntaxTest/AbsolutePositionTests.swift @@ -8,19 +8,7 @@ fileprivate class FuncRenamer: SyntaxRewriter { } } -public class AbsolutePositionTestCase: XCTestCase { - - public static let allTests = [ - ("testVisitor", testVisitor), - ("testClosure", testClosure), - ("testRename", testRename), - ("testCurrentFile", testCurrentFile), - ("testRecursion", testRecursion), - ("testTrivias", testTrivias), - ("testImplicit", testImplicit), - ("testWithoutSourceFileRoot", testWithoutSourceFileRoot), - ("testSourceLocation", testSourceLocation), - ] +public class AbsolutePositionTests: XCTestCase { public func testVisitor() { XCTAssertNoThrow(try { @@ -106,8 +94,8 @@ public class AbsolutePositionTestCase: XCTestCase { $0.useItem(ReturnStmtSyntax { $0.useReturnKeyword( SyntaxFactory.makeReturnKeyword( - leadingTrivia: AbsolutePositionTestCase.leadingTrivia, - trailingTrivia: AbsolutePositionTestCase.trailingTrivia)) + leadingTrivia: AbsolutePositionTests.leadingTrivia, + trailingTrivia: AbsolutePositionTests.trailingTrivia)) })}, count: count) return SyntaxFactory.makeSourceFile( statements: SyntaxFactory.makeCodeBlockItemList(items), @@ -129,12 +117,12 @@ public class AbsolutePositionTestCase: XCTestCase { // Test Node trivia setters and getters - XCTAssertEqual(AbsolutePositionTestCase.leadingTrivia, root.leadingTrivia) + XCTAssertEqual(AbsolutePositionTests.leadingTrivia, root.leadingTrivia) XCTAssertEqual([], root.trailingTrivia) var modifiedRoot1 = root.withLeadingTrivia([.spaces(6), .tabs(1)]) XCTAssertEqual([.spaces(6), .tabs(1)], modifiedRoot1.leadingTrivia) - XCTAssertEqual(AbsolutePositionTestCase.leadingTrivia, root.leadingTrivia) + XCTAssertEqual(AbsolutePositionTests.leadingTrivia, root.leadingTrivia) modifiedRoot1.leadingTrivia = [.blockComment("/* this is a comment */")] XCTAssertEqual([.blockComment("/* this is a comment */")], modifiedRoot1.leadingTrivia) @@ -146,18 +134,18 @@ public class AbsolutePositionTestCase: XCTestCase { // Test Collection trivia setters and getters - XCTAssertEqual(AbsolutePositionTestCase.leadingTrivia, root.statements.leadingTrivia) - XCTAssertEqual(AbsolutePositionTestCase.trailingTrivia, root.statements.trailingTrivia) + XCTAssertEqual(AbsolutePositionTests.leadingTrivia, root.statements.leadingTrivia) + XCTAssertEqual(AbsolutePositionTests.trailingTrivia, root.statements.trailingTrivia) var modifiedStatements1 = root.withLeadingTrivia([.carriageReturnLineFeeds(3)]) XCTAssertEqual([.carriageReturnLineFeeds(3)], modifiedStatements1.leadingTrivia) - XCTAssertEqual(AbsolutePositionTestCase.leadingTrivia, root.statements.leadingTrivia) + XCTAssertEqual(AbsolutePositionTests.leadingTrivia, root.statements.leadingTrivia) modifiedStatements1.leadingTrivia = [.garbageText("GARBAGE")] XCTAssertEqual([.garbageText("GARBAGE")], modifiedStatements1.leadingTrivia) var modifiedStatements2 = root.withTrailingTrivia([.formfeeds(1), .carriageReturns(3)]) XCTAssertEqual([.formfeeds(1), .carriageReturns(3)], modifiedStatements2.trailingTrivia) - XCTAssertEqual(AbsolutePositionTestCase.trailingTrivia, root.statements.trailingTrivia) + XCTAssertEqual(AbsolutePositionTests.trailingTrivia, root.statements.trailingTrivia) modifiedStatements2.trailingTrivia = [.verticalTabs(4)] XCTAssertEqual([.verticalTabs(4)], modifiedStatements2.trailingTrivia) } diff --git a/Tests/SwiftSyntaxTest/ClassificationTests.swift b/Tests/SwiftSyntaxTest/ClassificationTests.swift index 205f11669c2..0e2e2073bf2 100644 --- a/Tests/SwiftSyntaxTest/ClassificationTests.swift +++ b/Tests/SwiftSyntaxTest/ClassificationTests.swift @@ -2,10 +2,6 @@ import XCTest import SwiftSyntax public class ClassificationTests: XCTestCase { - public static let allTests = [ - ("testClassification", testClassification), - ("testTokenClassification", testTokenClassification), - ] public func testClassification() { let source = "// blah.\nlet x/*yo*/ = 0" diff --git a/Tests/SwiftSyntaxTest/CustomReflecatbleTests.swift b/Tests/SwiftSyntaxTest/CustomReflecatbleTests.swift index 180a97c4aee..ee18a9ab2ca 100644 --- a/Tests/SwiftSyntaxTest/CustomReflecatbleTests.swift +++ b/Tests/SwiftSyntaxTest/CustomReflecatbleTests.swift @@ -3,11 +3,6 @@ import SwiftSyntax public class CustomReflectableTests: XCTestCase { - public static let allTests = [ - ("testDump", testDump), - ("testConformanceToCustomReflectable", testConformanceToCustomReflectable), - ] - public func testDump() { struct TestCase { diff --git a/Tests/SwiftSyntaxTest/DiagnosticTest.swift b/Tests/SwiftSyntaxTest/DiagnosticTests.swift similarity index 94% rename from Tests/SwiftSyntaxTest/DiagnosticTest.swift rename to Tests/SwiftSyntaxTest/DiagnosticTests.swift index 5a5e315d7ef..08df4cbd19c 100644 --- a/Tests/SwiftSyntaxTest/DiagnosticTest.swift +++ b/Tests/SwiftSyntaxTest/DiagnosticTests.swift @@ -27,12 +27,7 @@ fileprivate extension Diagnostic.Message { } } -public class DiagnosticTestCase: XCTestCase { - - public static let allTests = [ - ("testDiagnosticEmission", testDiagnosticEmission), - ("testSourceLocations", testSourceLocations), - ] +public class DiagnosticTests: XCTestCase { public func testDiagnosticEmission() { let startLoc = loc() diff --git a/Tests/SwiftSyntaxTest/IncrementalParsingTests.swift b/Tests/SwiftSyntaxTest/IncrementalParsingTests.swift index 18c2f5f5da2..c1fa489c5a4 100644 --- a/Tests/SwiftSyntaxTest/IncrementalParsingTests.swift +++ b/Tests/SwiftSyntaxTest/IncrementalParsingTests.swift @@ -1,12 +1,7 @@ import XCTest import SwiftSyntax -public class IncrementalParsingTestCase: XCTestCase { - - public static let allTests = [ - ("testIncrementalInvalid", testIncrementalInvalid), - ("testReusedNode", testReusedNode), - ] +public class IncrementalParsingTests: XCTestCase { public func testIncrementalInvalid() { let original = "struct A { func f() {" diff --git a/Tests/SwiftSyntaxTest/MultithreadingTests.swift b/Tests/SwiftSyntaxTest/MultithreadingTests.swift index c3977a30f51..b3b753e8ed9 100644 --- a/Tests/SwiftSyntaxTest/MultithreadingTests.swift +++ b/Tests/SwiftSyntaxTest/MultithreadingTests.swift @@ -1,12 +1,7 @@ import XCTest import SwiftSyntax -public class MultithreadingTestCase: XCTestCase { - - public static let allTests = [ - ("testPathological", testPathological), - ("testTwoAccesses", testTwoAccesses), - ] +public class MultithreadingTests: XCTestCase { public func testPathological() { let tuple = SyntaxFactory.makeVoidTupleType() diff --git a/Tests/SwiftSyntaxTest/ParseFile.swift b/Tests/SwiftSyntaxTest/ParseFileTests.swift similarity index 87% rename from Tests/SwiftSyntaxTest/ParseFile.swift rename to Tests/SwiftSyntaxTest/ParseFileTests.swift index 65fa8ad5e8c..e4edf247344 100644 --- a/Tests/SwiftSyntaxTest/ParseFile.swift +++ b/Tests/SwiftSyntaxTest/ParseFileTests.swift @@ -23,12 +23,7 @@ enum Animal { case dog } -public class ParseFileTestCase: XCTestCase { - - public static let allTests = [ - ("testParseSingleFile", testParseSingleFile), - ("testEnumCaseStructure", testEnumCaseStructure) - ] +public class ParseFileTests: XCTestCase { public func testParseSingleFile() { let currentFile = URL(fileURLWithPath: #file) diff --git a/Tests/SwiftSyntaxTest/SyntaxChildren.swift b/Tests/SwiftSyntaxTest/SyntaxChildrenTests.swift similarity index 78% rename from Tests/SwiftSyntaxTest/SyntaxChildren.swift rename to Tests/SwiftSyntaxTest/SyntaxChildrenTests.swift index a5e24ac54ef..374c87d3cd9 100644 --- a/Tests/SwiftSyntaxTest/SyntaxChildren.swift +++ b/Tests/SwiftSyntaxTest/SyntaxChildrenTests.swift @@ -1,13 +1,7 @@ import XCTest import SwiftSyntax -public class SyntaxChildrenAPITestCase: XCTestCase { - - public static let allTests = [ - ("testIterateWithAllPresent", testIterateWithAllPresent), - ("testIterateWithSomeMissing", testIterateWithSomeMissing), - ("testIterateWithAllMissing", testIterateWithAllMissing), - ] +public class SyntaxChildrenTests: XCTestCase { public func testIterateWithAllPresent() { let returnStmt = SyntaxFactory.makeReturnStmt( diff --git a/Tests/SwiftSyntaxTest/SyntaxCollections.swift b/Tests/SwiftSyntaxTest/SyntaxCollectionsTests.swift similarity index 89% rename from Tests/SwiftSyntaxTest/SyntaxCollections.swift rename to Tests/SwiftSyntaxTest/SyntaxCollectionsTests.swift index e9489aef0b3..0c8076b326a 100644 --- a/Tests/SwiftSyntaxTest/SyntaxCollections.swift +++ b/Tests/SwiftSyntaxTest/SyntaxCollectionsTests.swift @@ -8,18 +8,7 @@ fileprivate func integerLiteralElement(_ int: Int) -> ArrayElementSyntax { trailingComma: nil) } -public class SyntaxCollectionsAPITestCase: XCTestCase { - - public static let allTests = [ - ("testAppendingElement", testAppendingElement), - ("testInsertingElement", testInsertingElement), - ("testPrependingElement", testPrependingElement), - ("testRemovingFirstElement", testRemovingFirstElement), - ("testRemovingLastElement", testRemovingLastElement), - ("testRemovingElement", testRemovingElement), - ("testReplacingElement", testReplacingElement), - ("testIteration", testIteration), - ] +public class SyntaxCollectionsTests: XCTestCase { public func testAppendingElement() { let arrayElementList = SyntaxFactory.makeArrayElementList([ diff --git a/Tests/SwiftSyntaxTest/SyntaxFactory.swift b/Tests/SwiftSyntaxTest/SyntaxFactoryTests.swift similarity index 93% rename from Tests/SwiftSyntaxTest/SyntaxFactory.swift rename to Tests/SwiftSyntaxTest/SyntaxFactoryTests.swift index 3ab660aca17..82cf0b947f6 100644 --- a/Tests/SwiftSyntaxTest/SyntaxFactory.swift +++ b/Tests/SwiftSyntaxTest/SyntaxFactoryTests.swift @@ -16,17 +16,7 @@ fileprivate func cannedStructDecl() -> StructDeclSyntax { } } -public class SyntaxFactoryAPITestCase: XCTestCase { - - public static let allTests = [ - ("testGenerated", testGenerated), - ("testTokenSyntax", testTokenSyntax), - ("testFunctionCallSyntaxBuilder", testFunctionCallSyntaxBuilder), - ("testWithOptionalChild", testWithOptionalChild), - ("testUnknownSyntax", testUnknownSyntax), - ("testMakeStringLiteralExpr", testMakeStringLiteralExpr), - ("testMakeBinaryOperator", testMakeBinaryOperator), - ] +public class SyntaxFactoryTests: XCTestCase { public func testGenerated() { diff --git a/Tests/SwiftSyntaxTest/SyntaxTests.swift b/Tests/SwiftSyntaxTest/SyntaxTests.swift index cef67aba339..5494968ca40 100644 --- a/Tests/SwiftSyntaxTest/SyntaxTests.swift +++ b/Tests/SwiftSyntaxTest/SyntaxTests.swift @@ -1,12 +1,7 @@ import XCTest import SwiftSyntax -public class SyntaxAPITestCase: XCTestCase { - - public static let allTests = [ - ("testSyntaxAPI", testSyntaxAPI), - ("testPositions", testPositions), - ] +public class SyntaxTests: XCTestCase { public func testSyntaxAPI() { let source = "struct A { func f() {} }" diff --git a/Tests/SwiftSyntaxTest/ModifierTests.swift b/Tests/SwiftSyntaxTest/SyntaxTreeModifierTests.swift similarity index 90% rename from Tests/SwiftSyntaxTest/ModifierTests.swift rename to Tests/SwiftSyntaxTest/SyntaxTreeModifierTests.swift index aa4ec688d63..c9ec6c7732d 100644 --- a/Tests/SwiftSyntaxTest/ModifierTests.swift +++ b/Tests/SwiftSyntaxTest/SyntaxTreeModifierTests.swift @@ -17,10 +17,6 @@ fileprivate func cannedVarDecl() -> VariableDeclSyntax { public class SyntaxTreeModifierTests: XCTestCase { - public static let allTests = [ - ("testAccessorAsModifier", testAccessorAsModifier) - ] - public func testAccessorAsModifier() { var VD = cannedVarDecl() XCTAssertEqual("\(VD)", "let a: Int") diff --git a/Tests/SwiftSyntaxTest/VisitorTest.swift b/Tests/SwiftSyntaxTest/SyntaxVisitorTests.swift similarity index 88% rename from Tests/SwiftSyntaxTest/VisitorTest.swift rename to Tests/SwiftSyntaxTest/SyntaxVisitorTests.swift index bc663b10291..430da06a069 100644 --- a/Tests/SwiftSyntaxTest/VisitorTest.swift +++ b/Tests/SwiftSyntaxTest/SyntaxVisitorTests.swift @@ -1,15 +1,7 @@ import XCTest import SwiftSyntax -public class SyntaxVisitorTestCase: XCTestCase { - - public static let allTests = [ - ("testBasic", testBasic), - ("testRewritingNodeWithEmptyChild", testRewritingNodeWithEmptyChild), - ("testSyntaxRewriterVisitAny", testSyntaxRewriterVisitAny), - ("testSyntaxRewriterVisitCollection", testSyntaxRewriterVisitCollection), - ("testVisitorClass", testVisitorClass), - ] +public class SyntaxVisitorTests: XCTestCase { public func testBasic() { struct FuncCounter: SyntaxVisitor { diff --git a/Tests/SwiftSyntaxTest/TokenTest.swift b/Tests/SwiftSyntaxTest/TokenTest.swift index b6d7e659b48..c22e8a5be9e 100644 --- a/Tests/SwiftSyntaxTest/TokenTest.swift +++ b/Tests/SwiftSyntaxTest/TokenTest.swift @@ -1,11 +1,7 @@ import XCTest import SwiftSyntax -public class TokenSyntaxTestCase: XCTestCase { - - public static let allTests = [ - ("testKeywordKinds", testKeywordKinds), - ] +public class TokenTests: XCTestCase { public func testKeywordKinds() { XCTAssertTrue(TokenKind.operatorKeyword.isKeyword) diff --git a/Tests/SwiftSyntaxTest/TriviaTests.swift b/Tests/SwiftSyntaxTest/TriviaTests.swift index f5f4520d201..ab9292897ee 100644 --- a/Tests/SwiftSyntaxTest/TriviaTests.swift +++ b/Tests/SwiftSyntaxTest/TriviaTests.swift @@ -1,12 +1,7 @@ import XCTest import SwiftSyntax -public class TriviaTestCase: XCTestCase { - - public static let allTests = [ - ("testTriviaEquatable", testTriviaEquatable), - ("testTriviaPieceEquatable", testTriviaPieceEquatable) - ] +public class TriviaTests: XCTestCase { func testTriviaEquatable() { XCTAssertEqual([.spaces(2), .tabs(1)] as Trivia, [.spaces(2), .tabs(1)]) diff --git a/build-script.py b/build-script.py index 84f86d2d012..7df02e0c616 100755 --- a/build-script.py +++ b/build-script.py @@ -168,6 +168,9 @@ def get_swiftpm_invocation(spm_exec, build_dir, parser_header_dir, swiftpm_call = ['swift', 'build'] elif spm_exec == 'swift test': swiftpm_call = ['swift', 'test'] + + # To discover test files for Linux + swiftpm_call.extend(['--enable-test-discovery']) else: swiftpm_call = [spm_exec] @@ -469,12 +472,12 @@ def main(): testing_group.add_argument('--swift-build-exec', default='swift build', help=''' Path to the swift-build executable that is used to build SwiftPM projects - If not specified the the 'swift build' command will be used. + If not specified the 'swift build' command will be used. ''') testing_group.add_argument('--swift-test-exec', default='swift test', help=''' Path to the swift-test executable that is used to test SwiftPM projects - If not specified the the 'swift test' command will be used. + If not specified the 'swift test' command will be used. ''') testing_group.add_argument('--swiftc-exec', default='swiftc', help=''' Path to the swift executable. If not specified the swiftc exeuctable