@@ -26,7 +26,7 @@ class FromTastyTests extends ParallelTesting {
26
26
// > dotc -Ythrough-tasty -Ycheck:all <source>
27
27
28
28
implicit val testGroup : TestGroup = TestGroup (" posTestFromTasty" )
29
- val (step1, step2, step3, step4 ) = compileTastyInDir(" tests/pos" , defaultOptions,
29
+ val (step1, step2, step3, decompilationDir ) = compileTastyInDir(" tests/pos" , defaultOptions,
30
30
blacklist = Set (
31
31
// Wrong number of arguments (only on bootstrapped)
32
32
" i3130b.scala" ,
@@ -36,15 +36,19 @@ class FromTastyTests extends ParallelTesting {
36
36
37
37
// MatchError in SymDenotation.sourceModule on a ThisType
38
38
" t3612.scala" ,
39
- ),
40
- recompileBlacklist = Set (
41
- " simpleCaseObject"
42
39
)
43
40
)
44
41
step1.checkCompile() // Compile all files to generate the class files with tasty
45
42
step2.checkCompile() // Compile from tasty
46
43
step3.checkCompile() // Decompile from tasty
44
+
45
+ val step4 = compileFilesInDir(decompilationDir, defaultOptions,
46
+ blacklist = Set (
47
+ " simpleCaseObject"
48
+ )
49
+ ).keepOutput
47
50
step4.checkCompile() // Recompile decompiled code
51
+
48
52
(step1 + step2 + step3 + step4).delete()
49
53
}
50
54
@@ -55,18 +59,19 @@ class FromTastyTests extends ParallelTesting {
55
59
// > dotr Test
56
60
57
61
implicit val testGroup : TestGroup = TestGroup (" runTestFromTasty" )
58
- val (step1, step2, step3, step4 ) = compileTastyInDir(" tests/run" , defaultOptions,
62
+ val (step1, step2, step3, decompilationDir ) = compileTastyInDir(" tests/run" , defaultOptions,
59
63
blacklist = Set (
60
64
// Closure type miss match
61
65
" eff-dependent.scala" ,
62
- ),
63
- recompileBlacklist = Set (
64
66
)
65
67
)
66
68
step1.checkCompile() // Compile all files to generate the class files with tasty
67
69
step2.checkRuns() // Compile from tasty and run the result
68
70
step3.checkCompile() // Decompile from tasty
69
- step4.checkRuns() // Recompile decompiled code
71
+
72
+ val step4 = compileFilesInDir(decompilationDir, defaultOptions, blacklist = Set ()).keepOutput
73
+ step4.checkRuns() // Recompile and run decompiled code
74
+
70
75
(step1 + step2 + step3 + step4).delete()
71
76
}
72
77
0 commit comments