Skip to content

Commit 2f9ab44

Browse files
committed
[test] Introduced a test of the PC macro and nested functions.
1 parent 2c04058 commit 2f9ab44

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

test/PCMacro/nested_function.swift

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// RUN: rm -rf %t
2+
// RUN: mkdir -p %t
3+
// RUN: cp %s %t/main.swift
4+
// RUN: %target-build-swift -Xfrontend -pc-macro -o %t/main %S/Inputs/PCMacroRuntime.swift %t/main.swift
5+
// RUN: %target-run %t/main | %FileCheck %s
6+
// RUN: %target-build-swift -Xfrontend -pc-macro -Xfrontend -playground -Xfrontend -debugger-support -o %t/main %S/Inputs/PCMacroRuntime.swift %t/main.swift %S/Inputs/SilentPlaygroundsRuntime.swift
7+
// RUN: %target-run %t/main | %FileCheck %s
8+
// REQUIRES: executable_test
9+
10+
// FIXME: rdar://problem/30234450 PCMacro tests fail on linux in optimized mode
11+
// UNSUPPORTED: OS=linux-gnu
12+
13+
#sourceLocation(file: "main.swift", line: 8)
14+
func foo() {
15+
func bar() {
16+
2
17+
}
18+
19+
let baz: () -> Void = {
20+
3
21+
}
22+
23+
1
24+
bar()
25+
baz()
26+
}
27+
28+
foo()
29+
30+
// CHECK: [22:1-22:6] pc before
31+
// CHECK-NEXT: [8:1-8:11] pc before
32+
// CHECK-NEXT: [8:1-8:11] pc after
33+
// CHECK-NEXT: [13:3-15:4] pc before
34+
// CHECK-NEXT: [13:3-15:4] pc after
35+
// CHECK-NEXT: [17:3-17:4] pc before
36+
// CHECK-NEXT: [17:3-17:4] pc after
37+
// CHECK-NEXT: [18:3-18:8] pc before
38+
// CHECK-NEXT: [9:3-9:13] pc before
39+
// CHECK-NEXT: [9:3-9:13] pc after
40+
// CHECK-NEXT: [10:5-10:6] pc before
41+
// CHECK-NEXT: [10:5-10:6] pc after
42+
// CHECK-NEXT: [18:3-18:8] pc after
43+
// CHECK-NEXT: [19:3-19:8] pc before
44+
// CHECK-NEXT: [14:5-14:6] pc before
45+
// CHECK-NEXT: [14:5-14:6] pc after
46+
// CHECK-NEXT: [14:5-14:6] pc before
47+
// CHECK-NEXT: [14:5-14:6] pc after
48+
// CHECK-NEXT: [19:3-19:8] pc after
49+
// CHECK-NEXT: [22:1-22:6] pc after

0 commit comments

Comments
 (0)