Skip to content

Commit 2e6d5bf

Browse files
committed
Add test coverage for isApple and isDarwin
1 parent 9909cbb commit 2e6d5bf

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

Tests/BasicsTests/TripleTests.swift

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
//===----------------------------------------------------------------------===//
2+
//
3+
// This source file is part of the Swift open source project
4+
//
5+
// Copyright (c) 2022 Apple Inc. and the Swift project authors
6+
// Licensed under Apache License v2.0 with Runtime Library Exception
7+
//
8+
// See http://swift.org/LICENSE.txt for license information
9+
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
10+
//
11+
//===----------------------------------------------------------------------===//
12+
13+
import Basics
14+
import XCTest
15+
16+
final class TripleTests: XCTestCase {
17+
func testIsAppleIsDarwin() {
18+
func XCTAssertTriple(
19+
_ triple: String,
20+
isApple: Bool,
21+
isDarwin: Bool,
22+
file: StaticString = #filePath,
23+
line: UInt = #line
24+
) {
25+
guard let triple = try? Triple(triple) else {
26+
XCTFail(
27+
"Unknown triple '\(triple)'.",
28+
file: file,
29+
line: line)
30+
return
31+
}
32+
XCTAssert(
33+
isApple == triple.isApple(),
34+
"""
35+
Expected triple '\(triple.tripleString)' \
36+
\(isApple ? "" : " not") to be an Apple triple.
37+
""",
38+
file: file,
39+
line: line)
40+
XCTAssert(
41+
isDarwin == triple.isDarwin(),
42+
"""
43+
Expected triple '\(triple.tripleString)' \
44+
\(isDarwin ? "" : " not") to be a Darwin triple.
45+
""",
46+
file: file,
47+
line: line)
48+
}
49+
50+
XCTAssertTriple("x86_64-pc-linux-gnu", isApple: false, isDarwin: false)
51+
XCTAssertTriple("x86_64-pc-linux-musl", isApple: false, isDarwin: false)
52+
XCTAssertTriple("powerpc-bgp-linux", isApple: false, isDarwin: false)
53+
XCTAssertTriple("arm-none-none-eabi", isApple: false, isDarwin: false)
54+
XCTAssertTriple("arm-none-linux-musleabi", isApple: false, isDarwin: false)
55+
XCTAssertTriple("wasm32-unknown-wasi", isApple: false, isDarwin: false)
56+
XCTAssertTriple("riscv64-unknown-linux", isApple: false, isDarwin: false)
57+
XCTAssertTriple("mips-mti-linux-gnu", isApple: false, isDarwin: false)
58+
XCTAssertTriple("mipsel-img-linux-gnu", isApple: false, isDarwin: false)
59+
XCTAssertTriple("mips64-mti-linux-gnu", isApple: false, isDarwin: false)
60+
XCTAssertTriple("mips64el-img-linux-gnu", isApple: false, isDarwin: false)
61+
XCTAssertTriple("mips64el-img-linux-gnuabin32", isApple: false, isDarwin: false)
62+
XCTAssertTriple("mips64-unknown-linux-gnuabi64", isApple: false, isDarwin: false)
63+
XCTAssertTriple("mips64-unknown-linux-gnuabin32", isApple: false, isDarwin: false)
64+
XCTAssertTriple("mipsel-unknown-linux-gnu", isApple: false, isDarwin: false)
65+
XCTAssertTriple("mips-unknown-linux-gnu", isApple: false, isDarwin: false)
66+
XCTAssertTriple("arm-oe-linux-gnueabi", isApple: false, isDarwin: false)
67+
XCTAssertTriple("aarch64-oe-linux", isApple: false, isDarwin: false)
68+
XCTAssertTriple("armv7em-unknown-none-macho", isApple: false, isDarwin: false)
69+
XCTAssertTriple("armv7em-apple-none-macho", isApple: true, isDarwin: false)
70+
XCTAssertTriple("armv7em-apple-none", isApple: true, isDarwin: false)
71+
XCTAssertTriple("aarch64-apple-macosx", isApple: true, isDarwin: true)
72+
XCTAssertTriple("x86_64-apple-macosx", isApple: true, isDarwin: true)
73+
XCTAssertTriple("x86_64-apple-macosx10.15", isApple: true, isDarwin: true)
74+
XCTAssertTriple("x86_64h-apple-darwin", isApple: true, isDarwin: true)
75+
XCTAssertTriple("i686-pc-windows-msvc", isApple: false, isDarwin: false)
76+
XCTAssertTriple("i686-pc-windows-gnu", isApple: false, isDarwin: false)
77+
XCTAssertTriple("i686-pc-windows-cygnus", isApple: false, isDarwin: false)
78+
}
79+
}

0 commit comments

Comments
 (0)