[WIP] Add Compiler Smoke Tests for (suspend) main methods
This commit ports the (parameterless) main integration tests in `CompilerSmokeTest` to the IR backend. It also includes a simple suspend main test. The advanced ones (like `helloAppSuspendParameterlessMain`) are currently blocked by pending changes to capturing suspend lambdas, which are underway.
This commit is contained in:
committed by
Ilmir Usmanov
parent
55aafb3430
commit
5b62c9e54d
@@ -29,6 +29,13 @@ public class CompilerSmokeTest extends CompilerSmokeTestBase {
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt");
|
||||
}
|
||||
|
||||
public void testHelloAppIR() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
assertEquals("compilation failed", 0, runCompiler("hello.compile", "-include-runtime", "-Xuse-ir", "hello.kt", "-d", jar));
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt");
|
||||
}
|
||||
|
||||
public void testHelloAppFQMain() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
@@ -36,6 +43,13 @@ public class CompilerSmokeTest extends CompilerSmokeTestBase {
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt");
|
||||
}
|
||||
|
||||
public void testHelloAppFQMainIR() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
assertEquals("compilation failed", 0, runCompiler("hello.compile", "-include-runtime", "-Xuse-ir", "hello.kt", "-d", jar));
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt");
|
||||
}
|
||||
|
||||
public void testHelloAppVarargMain() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
@@ -43,6 +57,13 @@ public class CompilerSmokeTest extends CompilerSmokeTestBase {
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt");
|
||||
}
|
||||
|
||||
public void testHelloAppVarargMainIR() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
assertEquals("compilation failed", 0, runCompiler("hello.compile", "-include-runtime", "-Xuse-ir", "hello.kt", "-d", jar));
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt");
|
||||
}
|
||||
|
||||
public void testHelloAppSuspendMain() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
@@ -57,6 +78,13 @@ public class CompilerSmokeTest extends CompilerSmokeTestBase {
|
||||
run("hello.run", "-cp", jar, "Hello.Foo", "O", "K");
|
||||
}
|
||||
|
||||
public void testHelloAppSuspendMainInMultifileIR() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
assertEquals("compilation failed", 0, runCompiler("hello.compile", "-include-runtime", "-Xuse-ir", "hello.kt", "-d", jar));
|
||||
run("hello.run", "-cp", jar, "Hello.Foo", "O", "K");
|
||||
}
|
||||
|
||||
public void testHelloAppParameterlessMain() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
@@ -64,6 +92,13 @@ public class CompilerSmokeTest extends CompilerSmokeTestBase {
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt");
|
||||
}
|
||||
|
||||
public void testHelloAppParameterlessMainIR() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
assertEquals("compilation failed", 0, runCompiler("hello.compile", "-include-runtime", "-Xuse-ir", "hello.kt", "-d", jar));
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt");
|
||||
}
|
||||
|
||||
public void testHelloAppOldAndParameterlessMain() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
@@ -71,6 +106,13 @@ public class CompilerSmokeTest extends CompilerSmokeTestBase {
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt");
|
||||
}
|
||||
|
||||
public void testHelloAppOldAndParameterlessMainIR() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
assertEquals("compilation failed", 0, runCompiler("hello.compile", "-include-runtime", "-Xuse-ir", "hello.kt", "-d", jar));
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt");
|
||||
}
|
||||
|
||||
public void testHelloAppSuspendParameterlessMain() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
@@ -78,6 +120,20 @@ public class CompilerSmokeTest extends CompilerSmokeTestBase {
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt", "O", "K");
|
||||
}
|
||||
|
||||
public void testHelloAppSuspendParameterlessMainIR() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
assertEquals("compilation failed", 0, runCompiler("hello.compile", "-include-runtime", "-Xuse-ir", "hello.kt", "-d", jar));
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt", "O", "K");
|
||||
}
|
||||
|
||||
public void testSimplestSuspendMainIR() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "hello.jar";
|
||||
|
||||
assertEquals("compilation failed", 0, runCompiler("hello.compile", "-include-runtime", "-Xuse-ir", "hello.kt", "-d", jar));
|
||||
run("hello.run", "-cp", jar, "Hello.HelloKt", "O", "K");
|
||||
}
|
||||
|
||||
public void testCompilationFailed() throws Exception {
|
||||
String jar = tmpdir.getAbsolutePath() + File.separator + "smoke.jar";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user