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 631f2f3f5c5..64d46d0f4f4 100644 --- a/Tests/SwiftSyntaxTest/AbsolutePosition.swift +++ b/Tests/SwiftSyntaxTest/AbsolutePositionTests.swift @@ -10,19 +10,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 { @@ -114,8 +102,8 @@ public class AbsolutePositionTestCase: XCTestCase { $0.useItem(Syntax(ReturnStmtSyntax { $0.useReturnKeyword( SyntaxFactory.makeReturnKeyword( - leadingTrivia: AbsolutePositionTestCase.leadingTrivia, - trailingTrivia: AbsolutePositionTestCase.trailingTrivia)) + leadingTrivia: AbsolutePositionTests.leadingTrivia, + trailingTrivia: AbsolutePositionTests.trailingTrivia)) }) )}, count: count) return SyntaxFactory.makeSourceFile( @@ -138,12 +126,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) @@ -155,18 +143,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 bc4f17e8e84..0a5dc857ed3 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 2fcc0e2c482..c32880cea0b 100644 --- a/Tests/SwiftSyntaxTest/CustomReflecatbleTests.swift +++ b/Tests/SwiftSyntaxTest/CustomReflecatbleTests.swift @@ -3,10 +3,6 @@ import SwiftSyntax public class CustomReflectableTests: XCTestCase { - public static let allTests = [ - ("testDump", testDump), - ] - 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 8f82a3dc011..c352907d2fa 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 946f57f8ec7..3210df9c54b 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 86% rename from Tests/SwiftSyntaxTest/ParseFile.swift rename to Tests/SwiftSyntaxTest/ParseFileTests.swift index b138d9e8145..736a69225f5 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 9a2aea6c63b..ca1797f8a3e 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 ae7c0acce32..b78d405c242 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 67f4d160395..202006b39df 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 e19ac44485f..2d3d84229b0 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 91% rename from Tests/SwiftSyntaxTest/ModifierTests.swift rename to Tests/SwiftSyntaxTest/SyntaxTreeModifierTests.swift index ae36c88bf9a..2657349fc90 100644 --- a/Tests/SwiftSyntaxTest/ModifierTests.swift +++ b/Tests/SwiftSyntaxTest/SyntaxTreeModifierTests.swift @@ -20,10 +20,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 24b2879dca8..0d4f58595cd 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() { class 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 9da15b62e78..0468fac5d19 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 cd70535dabb..3122029724d 100755 --- a/build-script.py +++ b/build-script.py @@ -79,11 +79,12 @@ def check_gyb_exec(): if not os.path.exists(GYB_EXEC): fatal_error(''' Error: Could not find gyb. +Looking at '%s'. Make sure you have the main swift repo checked out next to the swift-syntax repository. Refer to README.md for more information. -''') +''' % GYB_EXEC) def check_rsync(): @@ -164,6 +165,8 @@ def get_swiftpm_invocation(toolchain, action, build_dir, multiroot_data_file, swiftpm_call = [swift_exec, action] swiftpm_call.extend(['--package-path', PACKAGE_DIR]) + if platform.system() != 'Darwin': + swiftpm_call.extend(['--enable-test-discovery']) if release: swiftpm_call.extend(['--configuration', 'release']) if build_dir: @@ -246,10 +249,11 @@ def check_lit_exec(): if not os.path.exists(LIT_EXEC): fatal_error(''' Error: Could not find lit.py. +Looking at '%s'. Make sure you have the llvm repo checked out next to the swift-syntax repo. Refer to README.md for more information. -''') +''' % LIT_EXEC) def check_incr_transfer_roundtrip_exec():