IC: add tests with moving files

Additionally added the ability to use directories in IC tests.

 #KT-8002 Obsolete

Original commit: 9a9b863c9d
This commit is contained in:
Zalim Bashorov
2016-03-23 13:38:47 +03:00
parent 01aab0deda
commit b2c79c0ff3
28 changed files with 274 additions and 4 deletions
@@ -103,6 +103,12 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
doTest(fileName);
}
@TestMetadata("moveFileToAnotherModule")
public void testMoveFileToAnotherModule() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/moveFileToAnotherModule/");
doTest(fileName);
}
@TestMetadata("simpleDependency")
public void testSimpleDependency() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/simpleDependency/");
@@ -176,7 +182,7 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
}
public void testAllFilesPresentInPureKotlin() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), true);
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), false);
}
@TestMetadata("annotations")
@@ -485,6 +491,18 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
doTest(fileName);
}
@TestMetadata("moveFileWithChangingPackage")
public void testMoveFileWithChangingPackage() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/");
doTest(fileName);
}
@TestMetadata("moveFileWithoutChangingPackage")
public void testMoveFileWithoutChangingPackage() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/moveFileWithoutChangingPackage/");
doTest(fileName);
}
@TestMetadata("multifileClassFileAdded")
public void testMultifileClassFileAdded() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/multifileClassFileAdded/");
@@ -784,7 +802,6 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/");
doTest(fileName);
}
}
@TestMetadata("jps-plugin/testData/incremental/withJava")
@@ -103,6 +103,12 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
doTest(fileName);
}
@TestMetadata("moveFileToAnotherModule")
public void testMoveFileToAnotherModule() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/moveFileToAnotherModule/");
doTest(fileName);
}
@TestMetadata("simpleDependency")
public void testSimpleDependency() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/multiModule/simpleDependency/");
@@ -176,7 +182,7 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
}
public void testAllFilesPresentInPureKotlin() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), true);
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), false);
}
@TestMetadata("annotations")
@@ -485,6 +491,18 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
doTest(fileName);
}
@TestMetadata("moveFileWithChangingPackage")
public void testMoveFileWithChangingPackage() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/moveFileWithChangingPackage/");
doTest(fileName);
}
@TestMetadata("moveFileWithoutChangingPackage")
public void testMoveFileWithoutChangingPackage() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/moveFileWithoutChangingPackage/");
doTest(fileName);
}
@TestMetadata("multifileClassFileAdded")
public void testMultifileClassFileAdded() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/multifileClassFileAdded/");
@@ -784,7 +802,6 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/valRemoveCustomAccessor/");
doTest(fileName);
}
}
@TestMetadata("jps-plugin/testData/incremental/withJava")
@@ -0,0 +1,43 @@
================ Step #1 =================
Compiling files:
module1/src/b.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module1/META-INF/module1.kotlin_module
out/production/module1/a/A.class
out/production/module1/a/AKt.class
End of files
Compiling files:
module1/src/a.kt
End of files
Exit code: OK
------------------------------------------
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/b/B.class
out/production/module2/b/BKt.class
End of files
Cleaning output files:
out/production/module2/usage/UseClassBKt.class
out/production/module2/usage/UseFunBKt.class
End of files
Compiling files:
module2/src/useClassB.kt
module2/src/useFunB.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/usage/UseClassAKt.class
out/production/module2/usage/UseFunAKt.class
End of files
Compiling files:
module2/src/useClassA.kt
module2/src/useFunA.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,2 @@
module1->
module2->module1
@@ -0,0 +1,26 @@
================ Step #1 =================
Compiling files:
module1/src/b.kt
End of files
Exit code: OK
------------------------------------------
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/b/B.class
out/production/module2/b/BKt.class
End of files
Cleaning output files:
out/production/module2/usage/UseClassBKt.class
out/production/module2/usage/UseFunBKt.class
End of files
Compiling files:
module2/src/useClassB.kt
module2/src/useFunB.kt
End of files
Marked as dirty by Kotlin:
module1/src/b.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Exit code: NOTHING_DONE
------------------------------------------
@@ -0,0 +1,6 @@
package a
class A
fun a() {
}
@@ -0,0 +1,6 @@
package b
class B
fun b() {
}
@@ -0,0 +1,6 @@
package b
class B
fun b() {
}
@@ -0,0 +1,5 @@
package usage
fun useClassA() {
a.A()
}
@@ -0,0 +1,5 @@
package usage
fun useClassB() {
b.B()
}
@@ -0,0 +1,5 @@
package usage
fun useFunA() {
a.a()
}
@@ -0,0 +1,5 @@
package usage
fun useFunB() {
b.b()
}
@@ -0,0 +1,5 @@
package bar
class Foo
fun bar() {}
@@ -0,0 +1,3 @@
package bar
private fun dummy() {}
@@ -0,0 +1,27 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/AKt.class
out/production/module/foo/Foo.class
End of files
Compiling files:
src/bar/a.kt
End of files
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/bar/DummyKt.class
out/production/module/baz/UseClassKt.class
out/production/module/baz/UseFunKt.class
out/production/module/foo/DummyKt.class
End of files
Compiling files:
src/bar/dummy.kt
src/foo/dummy.kt
src/useClass.kt
src/useFun.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,25 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/foo/AKt.class
out/production/module/foo/Foo.class
End of files
Compiling files:
src/bar/a.kt
End of files
Marked as dirty by Kotlin:
src/useFun.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/baz/UseClassKt.class
out/production/module/baz/UseFunKt.class
End of files
Compiling files:
src/useClass.kt
src/useFun.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package foo
class Foo
fun bar() {}
@@ -0,0 +1,3 @@
package foo
private fun dummy() {}
@@ -0,0 +1,8 @@
package baz
import foo.*
import bar.*
fun useClass() {
Foo()
}
@@ -0,0 +1,8 @@
package baz
import foo.*
import bar.*
fun useFun() {
bar()
}
@@ -0,0 +1,5 @@
package baz
class Foo
fun bar() {}
@@ -0,0 +1,23 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/baz/AKt.class
out/production/module/baz/Foo.class
End of files
Compiling files:
src/bar/a.kt
End of files
Exit code: OK
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/baz/UseClassKt.class
out/production/module/baz/UseFunKt.class
End of files
Compiling files:
src/useClass.kt
src/useFun.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package baz
class Foo
fun bar() {}
@@ -0,0 +1,5 @@
package baz
fun useClass() {
Foo()
}
@@ -0,0 +1,5 @@
package baz
fun useFun() {
bar()
}