Skip to content

Commit 5edded1

Browse files
committed
[BatchMode] Add test for -parseable-output.
1 parent 2920fe4 commit 5edded1

File tree

1 file changed

+125
-0
lines changed

1 file changed

+125
-0
lines changed
Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
// RUN: %empty-directory(%t)
2+
// RUN: touch %t/file-01.swift %t/file-02.swift %t/file-03.swift
3+
// RUN: echo 'public func main() {}' >%t/main.swift
4+
//
5+
// RUN: %swiftc_driver -enable-batch-mode -Xfrontend -bypass-batch-mode-checks -parseable-output -c -emit-module -module-name main -j 2 %t/file-01.swift %t/file-02.swift %t/file-03.swift %t/main.swift 2>&1 | %FileCheck %s
6+
//
7+
//
8+
// CHECK: {{[1-9][0-9]*}}
9+
// CHECK-NEXT: {
10+
// CHECK-NEXT: "kind": "began",
11+
// CHECK-NEXT: "name": "compile",
12+
// CHECK-NEXT: "command": "{{.*}}/swift{{c?}} -frontend -c -primary-file {{.*}}/file-01.swift -primary-file {{.*}}/file-02.swift {{.*}}/file-03.swift {{.*}}/main.swift {{.*}} -emit-module-doc-path {{.*}}/file-01-[[SWIFTDOC01:[a-z0-9]+]].swiftdoc -emit-module-doc-path {{.*}}/file-02-[[SWIFTDOC02:[a-z0-9]+]].swiftdoc -module-name main -emit-module-path {{.*}}/file-01-[[MODULE01:[a-z0-9]+]].swiftmodule -emit-module-path {{.*}}/file-02-[[MODULE02:[a-z0-9]+]].swiftmodule -o {{.*}}/file-01-[[OBJ01:[a-z0-9]+]].o -o {{.*}}/file-02-[[OBJ02:[a-z0-9]+]].o",
13+
// CHECK-NEXT: "inputs": [
14+
// CHECK-NEXT: "{{.*}}/file-01.swift",
15+
// CHECK-NEXT: "{{.*}}/file-02.swift"
16+
// CHECK-NEXT: ],
17+
// CHECK-NEXT: "outputs": [
18+
// CHECK-NEXT: {
19+
// CHECK-NEXT: "type": "object",
20+
// CHECK-NEXT: "path": "{{.*}}/file-01-[[OBJ01]].o"
21+
// CHECK-NEXT: },
22+
// CHECK-NEXT: {
23+
// CHECK-NEXT: "type": "object",
24+
// CHECK-NEXT: "path": "{{.*}}/file-02-[[OBJ02]].o"
25+
// CHECK-NEXT: },
26+
// CHECK-NEXT: {
27+
// CHECK-NEXT: "type": "swiftmodule",
28+
// CHECK-NEXT: "path": "{{.*}}/file-01-[[MODULE01]].swiftmodule"
29+
// CHECK-NEXT: },
30+
// CHECK-NEXT: {
31+
// CHECK-NEXT: "type": "swiftmodule",
32+
// CHECK-NEXT: "path": "{{.*}}/file-02-[[MODULE02]].swiftmodule"
33+
// CHECK-NEXT: },
34+
// CHECK-NEXT: {
35+
// CHECK-NEXT: "type": "swiftdoc",
36+
// CHECK-NEXT: "path": "{{.*}}/file-01-[[SWIFTDOC01]].swiftdoc"
37+
// CHECK-NEXT: },
38+
// CHECK-NEXT: {
39+
// CHECK-NEXT: "type": "swiftdoc",
40+
// CHECK-NEXT: "path": "{{.*}}/file-02-[[SWIFTDOC02]].swiftdoc"
41+
// CHECK-NEXT: }
42+
// CHECK-NEXT: ],
43+
// CHECK-NEXT: "pid": {{[1-9][0-9]*}}
44+
// CHECK-NEXT: }
45+
// CHECK-NEXT: {{[1-9][0-9]*}}
46+
// CHECK-NEXT: {
47+
// CHECK-NEXT: "kind": "began",
48+
// CHECK-NEXT: "name": "compile",
49+
// CHECK-NEXT: "command": "{{.*}}/swift{{c?}} -frontend -c {{.*}}/file-01.swift {{.*}}/file-02.swift -primary-file {{.*}}/file-03.swift -primary-file {{.*}}/main.swift {{.*}} -emit-module-doc-path {{.*}}/file-03-[[SWIFTDOC03:[a-z0-9]+]].swiftdoc -emit-module-doc-path {{.*}}/main-[[SWIFTDOCMAIN:[a-z0-9]+]].swiftdoc -module-name main -emit-module-path {{.*}}/file-03-[[MODULE03:[a-z0-9]+]].swiftmodule -emit-module-path {{.*}}/main-[[MODULEMAIN:[a-z0-9]+]].swiftmodule -o {{.*}}/file-03-[[OBJ03:[a-z0-9]+]].o -o {{.*}}/main-[[OBJMAIN:[a-z0-9]+]].o",
50+
// CHECK-NEXT: "inputs": [
51+
// CHECK-NEXT: "{{.*}}/file-03.swift",
52+
// CHECK-NEXT: "{{.*}}/main.swift"
53+
// CHECK-NEXT: ],
54+
// CHECK-NEXT: "outputs": [
55+
// CHECK-NEXT: {
56+
// CHECK-NEXT: "type": "object",
57+
// CHECK-NEXT: "path": "{{.*}}/file-03-[[OBJ03]].o"
58+
// CHECK-NEXT: },
59+
// CHECK-NEXT: {
60+
// CHECK-NEXT: "type": "object",
61+
// CHECK-NEXT: "path": "{{.*}}/main-[[OBJMAIN]].o"
62+
// CHECK-NEXT: },
63+
// CHECK-NEXT: {
64+
// CHECK-NEXT: "type": "swiftmodule",
65+
// CHECK-NEXT: "path": "{{.*}}/file-03-[[MODULE03]].swiftmodule"
66+
// CHECK-NEXT: },
67+
// CHECK-NEXT: {
68+
// CHECK-NEXT: "type": "swiftmodule",
69+
// CHECK-NEXT: "path": "{{.*}}/main-[[MODULEMAIN]].swiftmodule"
70+
// CHECK-NEXT: },
71+
// CHECK-NEXT: {
72+
// CHECK-NEXT: "type": "swiftdoc",
73+
// CHECK-NEXT: "path": "{{.*}}/file-03-[[SWIFTDOC03]].swiftdoc"
74+
// CHECK-NEXT: },
75+
// CHECK-NEXT: {
76+
// CHECK-NEXT: "type": "swiftdoc",
77+
// CHECK-NEXT: "path": "{{.*}}/main-[[SWIFTDOCMAIN]].swiftdoc"
78+
// CHECK-NEXT: }
79+
// CHECK-NEXT: ],
80+
// CHECK-NEXT: "pid": {{[1-9][0-9]*}}
81+
// CHECK-NEXT: }
82+
// CHECK-NEXT: {{[1-9][0-9]*}}
83+
// CHECK-NEXT: {
84+
// CHECK-NEXT: "kind": "finished",
85+
// CHECK-NEXT: "name": "compile",
86+
// CHECK-NEXT: "pid": {{[1-9][0-9]*}},
87+
// CHECK-NEXT: "exit-status": 0
88+
// CHECK-NEXT: }
89+
// CHECK-NEXT: {{[1-9][0-9]*}}
90+
// CHECK-NEXT: {
91+
// CHECK-NEXT: "kind": "finished",
92+
// CHECK-NEXT: "name": "compile",
93+
// CHECK-NEXT: "pid": {{[1-9][0-9]*}},
94+
// CHECK-NEXT: "exit-status": 0
95+
// CHECK-NEXT: }
96+
// CHECK-NEXT: {{[1-9][0-9]*}}
97+
// CHECK-NEXT: {
98+
// CHECK-NEXT: "kind": "began",
99+
// CHECK-NEXT: "name": "merge-module",
100+
// CHECK-NEXT: "command": "{{.*}}/swift{{c?}} -frontend -merge-modules -emit-module {{.*}}/file-01-[[MODULE01]].swiftmodule {{.*}}/file-02-[[MODULE02]].swiftmodule {{.*}}/file-03-[[MODULE03]].swiftmodule {{.*}}/main-[[MODULEMAIN]].swiftmodule {{.*}} -emit-module-doc-path main.swiftdoc -module-name main -o main.swiftmodule",
101+
// CHECK-NEXT: "inputs": [
102+
// CHECK-NEXT: "{{.*}}/file-01-[[OBJ01]].o",
103+
// CHECK-NEXT: "{{.*}}/file-02-[[OBJ02]].o",
104+
// CHECK-NEXT: "{{.*}}/file-03-[[OBJ03]].o",
105+
// CHECK-NEXT: "{{.*}}/main-[[OBJMAIN]].o"
106+
// CHECK-NEXT: ],
107+
// CHECK-NEXT: "outputs": [
108+
// CHECK-NEXT: {
109+
// CHECK-NEXT: "type": "swiftmodule",
110+
// CHECK-NEXT: "path": "main.swiftmodule"
111+
// CHECK-NEXT: },
112+
// CHECK-NEXT: {
113+
// CHECK-NEXT: "type": "swiftdoc",
114+
// CHECK-NEXT: "path": "main.swiftdoc"
115+
// CHECK-NEXT: }
116+
// CHECK-NEXT: ],
117+
// CHECK-NEXT: "pid": {{[1-9][0-9]*}}
118+
// CHECK-NEXT: }
119+
// CHECK-NEXT: {{[1-9][0-9]*}}
120+
// CHECK-NEXT: {
121+
// CHECK-NEXT: "kind": "finished",
122+
// CHECK-NEXT: "name": "merge-module",
123+
// CHECK-NEXT: "pid": {{[1-9][0-9]*}},
124+
// CHECK-NEXT: "exit-status": 0
125+
// CHECK-NEXT: }

0 commit comments

Comments
 (0)