Skip to content

Commit bf1ae93

Browse files
committed
Complicate tests
1 parent dc66cce commit bf1ae93

File tree

5 files changed

+60
-9
lines changed

5 files changed

+60
-9
lines changed

tests/run/i4947a.check

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
1+
track (i = 0): Test$.main(i4947a.scala:4)
2+
track (i = 0): Test$.main(i4947a.scala:5)
13
track (i = 2): Test$.main(i4947a.scala:4)
24
track (i = 2): Test$.main(i4947a.scala:5)
3-
main1 (i = -1): Test$.main(i4947a.scala:20)
4-
main2 (i = -1): Test$.main(i4947a.scala:21)
5+
main1 (i = -1): Test$.main(i4947a.scala:21)
6+
main2 (i = -1): Test$.main(i4947a.scala:22)
57
track (i = 1): Test$.main(i4947a.scala:4)
68
track (i = 1): Test$.main(i4947a.scala:5)
7-
main1 (i = -1): Test$.main(i4947a.scala:20)
8-
main2 (i = -1): Test$.main(i4947a.scala:21)
9+
main1 (i = -1): Test$.main(i4947a.scala:21)
10+
main2 (i = -1): Test$.main(i4947a.scala:22)
911
track (i = 0): Test$.main(i4947a.scala:4)
1012
track (i = 0): Test$.main(i4947a.scala:5)
11-
main1 (i = -1): Test$.main(i4947a.scala:20)
12-
main2 (i = -1): Test$.main(i4947a.scala:21)
13+
main1 (i = -1): Test$.main(i4947a.scala:21)
14+
main2 (i = -1): Test$.main(i4947a.scala:22)

tests/run/i4947a.scala

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@ object Test {
1616
}
1717

1818
def main(args: Array[String]): Unit = {
19-
fact(2) {
20-
printStack("main1", -1)
21-
printStack("main2", -1)
19+
fact(0) {
20+
fact(2) {
21+
printStack("main1", -1)
22+
printStack("main2", -1)
23+
}
2224
}
2325
}
2426

tests/run/i4947b.check

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,23 @@ track: Test$.main(Test_2.scala:3)
22
track: Test$.main(Test_2.scala:3)
33
main1: Test$.main(Test_2.scala:4)
44
main2: Test$.main(Test_2.scala:5)
5+
track: Test$.main(Test_2.scala:7)
6+
track: Test$.main(Test_2.scala:7)
7+
track: Test$.main(Test_2.scala:8)
8+
track: Test$.main(Test_2.scala:8)
9+
main3: Test$.main(Test_2.scala:9)
10+
main4: Test$.main(Test_2.scala:10)
11+
track (i = 0): Test$.main(Test_2.scala:13)
12+
track (i = 0): Test$.main(Test_2.scala:13)
13+
track (i = 2): Test$.main(Test_2.scala:14)
14+
track (i = 2): Test$.main(Test_2.scala:14)
15+
main1 (i = -1): Test$.main(Test_2.scala:15)
16+
main2 (i = -1): Test$.main(Test_2.scala:16)
17+
track (i = 1): Test$.main(Test_2.scala:14)
18+
track (i = 1): Test$.main(Test_2.scala:14)
19+
main1 (i = -1): Test$.main(Test_2.scala:15)
20+
main2 (i = -1): Test$.main(Test_2.scala:16)
21+
track (i = 0): Test$.main(Test_2.scala:14)
22+
track (i = 0): Test$.main(Test_2.scala:14)
23+
main1 (i = -1): Test$.main(Test_2.scala:15)
24+
main2 (i = -1): Test$.main(Test_2.scala:16)

tests/run/i4947b/Lib_1.scala

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,19 @@ object Lib {
77
def printStack(tag: String): Unit = {
88
println(tag + ": "+ new Exception().getStackTrace().apply(1))
99
}
10+
11+
def printStack(tag: String, i: Int): Unit = {
12+
println(s"$tag (i = $i): ${new Exception().getStackTrace().apply(1)}")
13+
}
14+
15+
transparent def fact[T](transparent i: Int)(f: => T): Int = {
16+
printStack("track", i)
17+
printStack("track", i)
18+
f
19+
if (i == 0)
20+
1
21+
else {
22+
i * fact(i-1)(f)
23+
}
24+
}
1025
}

tests/run/i4947b/Test_2.scala

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ object Test {
44
Lib.printStack("main1")
55
Lib.printStack("main2")
66
}
7+
Lib.track {
8+
Lib.track {
9+
Lib.printStack("main3")
10+
Lib.printStack("main4")
11+
}
12+
}
13+
Lib.fact(0) {
14+
Lib.fact(2) {
15+
Lib.printStack("main1", -1)
16+
Lib.printStack("main2", -1)
17+
}
18+
}
719
}
820

921
}

0 commit comments

Comments
 (0)