Skip to content

Commit df5f7c5

Browse files
committed
Add more tests
1 parent 4e8e791 commit df5f7c5

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

Tests/FileCheckTests/FileCheckSpec.swift

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,81 @@ import XCTest
33
import Foundation
44

55
class FileCheckSpec : XCTestCase {
6+
func testWhitespace() {
7+
// Check that CHECK-NEXT without a space after the colon works.
8+
// Check that CHECK-NOT without a space after the colon works.
9+
XCTAssert(fileCheckOutput(of: .stdout, withPrefixes: ["WHITESPACE1", "WHITESPACE2"]) {
10+
// WHITESPACE1:a
11+
// WHITESPACE1-NEXT:b
12+
print("a")
13+
print("b")
14+
15+
// WHITESPACE2-NOT:foo
16+
print("oo")
17+
})
18+
}
19+
20+
func testSame() {
21+
XCTAssert(fileCheckOutput(withPrefixes: ["SAME1"]) {
22+
// SAME1: foo
23+
// SAME1-SAME: bat
24+
// SAME1-SAME: bar
25+
// SAME1-NEXT: baz
26+
print("foo bat bar")
27+
print("baz")
28+
})
29+
30+
XCTAssert(fileCheckOutput(withPrefixes: ["SAME2"]) {
31+
// SAME2: foo
32+
// SAME2-NOT: baz
33+
// SAME2-SAME: bar
34+
// SAME2-NEXT: baz
35+
print("foo bat bar")
36+
print("baz")
37+
})
38+
39+
XCTAssertFalse(fileCheckOutput(withPrefixes: ["FAIL-SAME1"]) {
40+
// FAIL-SAME1: foo
41+
// FAIL-SAME1-SAME: baz
42+
print("foo bat bar")
43+
print("baz")
44+
})
45+
46+
XCTAssertFalse(fileCheckOutput(withPrefixes: ["FAIL-SAME2"]) {
47+
// FAIL-SAME2: foo
48+
// FAIL-SAME2-NOT: bat
49+
// FAIL-SAME2-SAME: bar
50+
print("foo bat bar")
51+
print("baz")
52+
})
53+
}
54+
55+
func testCheckDAG() {
56+
XCTAssert(fileCheckOutput(withPrefixes: ["TESTDAG"]) {
57+
// TESTDAG-DAG: add [[REG1:r[0-9]+]], r1, r2
58+
print("add r10, r1, r2")
59+
// TESTDAG-DAG: add [[REG2:r[0-9]+]], r3, r4
60+
print("add r11, r3, r4")
61+
// TESTDAG: mul r5, [[REG1]], [[REG2]]
62+
print("mul r5, r10, r11")
63+
64+
// TESTDAG-DAG: mul [[REG1:r[0-9]+]], r1, r2
65+
print("mul r11, r3, r4")
66+
// TESTDAG-DAG: mul [[REG2:r[0-9]+]], r3, r4
67+
print("mul r10, r1, r2")
68+
// TESTDAG: add r5, [[REG1]], [[REG2]]
69+
print("add r5, r10, r11")
70+
71+
// TESTDAG-DAG: add [[REG1:r[0-9]+]], r1, r2
72+
// TESTDAG-DAG: add [[REG2:r[0-9]+]], r3, r4
73+
// TESTDAG-NOT: xor
74+
// TESTDAG-DAG: mul r5, [[REG1]], [[REG2]]
75+
print("add r11, r3, r4")
76+
print("add r10, r1, r2")
77+
print("mul r5, r10, r11")
78+
})
79+
}
80+
681
func testImplicitCheckNot() {
782
XCTAssert(fileCheckOutput(of: .stdout, withPrefixes: ["CHECK-NOTCHECK"]) {
883
// CHECK-NOTCHECK: error: NOTCHECK-NOT: string occurred!

0 commit comments

Comments
 (0)