Don't always run code in Ant task tests

But when running code, do it via <java> task, not via custom testing code. Most
of the time the compiled code need not be runned, because it's irrelevant to
the Ant task itself
This commit is contained in:
Alexander Udalov
2015-06-04 22:02:23 +03:00
parent 968d362b77
commit 0f6c23e1c4
21 changed files with 34 additions and 72 deletions
@@ -1,4 +0,0 @@
OUT:
Hello, a!
Return code: 0
@@ -1,12 +0,0 @@
ERR:
Exception in thread "main" java.lang.NoClassDefFoundError: hello/HelloPackage
Caused by: java.lang.ClassNotFoundException: hello.HelloPackage
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Return code: 1
@@ -7,6 +7,8 @@ build:
[javac] Compiling [[TestData]/root1] => [[Temp]/classes]
[javac] Running javac...
[jar] Building jar: [Temp]/hello.jar
[java] Hello, a!
[java] Java Hello
BUILD SUCCESSFUL
Total time: [time]
@@ -12,5 +12,12 @@
<jar destfile="${temp}/hello.jar">
<fileset dir="${temp}/classes"/>
</jar>
<java classname="hello.HelloPackage" fork="true">
<classpath>
<pathelement location="${temp}/hello.jar"/>
<pathelement location="${kotlin.runtime.jar}"/>
</classpath>
</java>
</target>
</project>
@@ -1,5 +0,0 @@
OUT:
Hello, a!
Java Hello
Return code: 0
@@ -3,6 +3,7 @@ Buildfile: [TestData]/build.xml
build:
[kotlinc] Compiling [[TestData]/hello.kt] => [[Temp]/hello.jar]
[java] Hello, a!
BUILD SUCCESSFUL
Total time: [time]
@@ -3,5 +3,12 @@
<target name="build">
<kotlinc src="${test.data}/hello.kt" output="${temp}/hello.jar"/>
<java classname="hello.HelloPackage" fork="true">
<classpath>
<pathelement location="${temp}/hello.jar"/>
<pathelement location="${kotlin.runtime.jar}"/>
</classpath>
</java>
</target>
</project>
@@ -1,4 +0,0 @@
OUT:
Hello, a!
Return code: 0
@@ -4,6 +4,7 @@ Buildfile: [TestData]/build.xml
build:
[kotlinc] Compiling [[TestData]/hello.kt] => [[Temp]/hello.jar]
[kotlinc] WARNING: [TestData]/hello.kt: (15, 9) Variable 'result' is never used
[java] OK
BUILD SUCCESSFUL
Total time: [time]
@@ -3,5 +3,12 @@
<target name="build">
<kotlinc src="${test.data}/hello.kt" output="${temp}/hello.jar"/>
<java classname="hello.HelloPackage" fork="true">
<classpath>
<pathelement location="${temp}/hello.jar"/>
<pathelement location="${kotlin.runtime.jar}"/>
</classpath>
</java>
</target>
</project>
@@ -8,7 +8,7 @@ import sun.nio.ByteBuffered
fun main(args : Array<String>) {
val a = Big5() // charsets.jar
val c = DNSNameService() // dnsns.ajr
val c = DNSNameService() // dnsns.jar
val e : Cipher? = null // jce.jar
val f : SunJCE? = null // sunjce_provider.jar
val j : ByteBuffered? = null // rt.jar
@@ -1,4 +0,0 @@
OUT:
OK
Return code: 0
@@ -1,4 +0,0 @@
OUT:
Hello, a!
Return code: 0
@@ -1,4 +0,0 @@
OUT:
Hello!
Return code: 0
@@ -1,4 +0,0 @@
OUT:
Hi!
Return code: 0
@@ -1,4 +0,0 @@
OUT:
Hi!
Return code: 0
@@ -1,4 +0,0 @@
OUT:
Yo!
Return code: 0
@@ -1,4 +0,0 @@
OUT:
Hello!
Return code: 0
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.integration;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.cli.CliBaseTest;
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
import java.io.File;
@@ -29,6 +30,8 @@ public abstract class AntTaskBaseTest extends KotlinIntegrationTestBase {
"build.log",
"-jar", getAntHome() + File.separator + "lib" + File.separator + "ant-launcher.jar",
"-Dkotlin.lib=" + getCompilerLib(),
"-Dkotlin.runtime.jar=" + ForTestCompileRuntime.runtimeJarForTests().getAbsolutePath(),
"-Dkotlin.reflect.jar=" + ForTestCompileRuntime.reflectJarForTests().getAbsolutePath(),
"-Dtest.data=" + getTestDataDir(),
"-Dtemp=" + tmpdir.getTmpDir(),
"-f", "build.xml"
@@ -45,9 +48,4 @@ public abstract class AntTaskBaseTest extends KotlinIntegrationTestBase {
private static String getAntHome() {
return getKotlinProjectHome().getAbsolutePath() + File.separator + "dependencies" + File.separator + "ant-1.8";
}
@NotNull
protected File getOutputFileByName(@NotNull String name) {
return new File(tmpdir.getTmpDir(), name);
}
}
@@ -47,6 +47,11 @@ public class AntTaskJsTest extends AntTaskBaseTest {
return new File(new File(ANT_TASK_TEST_DATA_BASE_DIR, "js"), name.getMethodName());
}
@NotNull
private File getOutputFileByName(@NotNull String name) {
return new File(tmpdir.getTmpDir(), name);
}
private void doJsAntTest(String... jsFiles) throws Exception {
doAntTest();
@@ -17,18 +17,13 @@
package org.jetbrains.kotlin.integration;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime;
import org.jetbrains.kotlin.utils.UtilsPackage;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestName;
import java.io.File;
import java.util.Arrays;
public class AntTaskJvmTest extends AntTaskBaseTest {
private static final String JVM_OUT_FILE = "hello.jar";
@Rule
public final TestName name = new TestName();
@@ -40,14 +35,6 @@ public class AntTaskJvmTest extends AntTaskBaseTest {
private void doJvmAntTest() throws Exception {
doAntTest();
String classpath = UtilsPackage.join(Arrays.asList(
getOutputFileByName(JVM_OUT_FILE).getAbsolutePath(),
ForTestCompileRuntime.runtimeJarForTests().getAbsolutePath(),
ForTestCompileRuntime.reflectJarForTests().getAbsolutePath()
), File.pathSeparator);
runJava("hello.run", "-cp", classpath, "hello.HelloPackage");
}
@Test