compilation failed integration test
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
OUT ERROR: [TestData]\hello.kt: (4, 5) Unresolved reference: a
|
||||||
|
OUT WARNING: [TestData]\hello.kt: (4, 5) The expression is unused
|
||||||
|
ERR exec() finished with COMPILATION_ERROR return code
|
||||||
|
Return code: 1
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
package Hello
|
||||||
|
|
||||||
|
fun main(args : Array<String>) {
|
||||||
|
a
|
||||||
|
}
|
||||||
@@ -43,4 +43,11 @@ public class CompilerSmokeTest extends KotlinIntegrationTestBase {
|
|||||||
assertEquals("compilation failed", 0, runCompiler("Smoke.compile", "-module", "Smoke.kts", "-jar", jar));
|
assertEquals("compilation failed", 0, runCompiler("Smoke.compile", "-module", "Smoke.kts", "-jar", jar));
|
||||||
runJava("Smoke.run", "-cp", jar + File.pathSeparator + getKotlinRuntimePath(), "Smoke.namespace", "1", "2", "3");
|
runJava("Smoke.run", "-cp", jar + File.pathSeparator + getKotlinRuntimePath(), "Smoke.namespace", "1", "2", "3");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void compilationFailed() throws Exception {
|
||||||
|
final String jar = tempDir.getAbsolutePath() + File.separator + "smoke.jar";
|
||||||
|
|
||||||
|
assertEquals("compilation failed", 0, runCompiler("hello.compile", "-src", "hello.kt", "-jar", jar));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,28 +101,30 @@ public abstract class KotlinIntegrationTestBase {
|
|||||||
assertEquals("Non-zero exit code", 0, exitCode);
|
assertEquals("Non-zero exit code", 0, exitCode);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
check(logName, executionLog);
|
check(logName, executionLog.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
return exitCode;
|
return exitCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void check(String baseName, StringBuilder content) throws IOException {
|
protected void check(String baseName, String content) throws IOException {
|
||||||
final File actualFile = new File(testDataDir, baseName + ".actual");
|
final File actualFile = new File(testDataDir, baseName + ".actual");
|
||||||
final File expectedFile = new File(testDataDir, baseName + ".expected");
|
final File expectedFile = new File(testDataDir, baseName + ".expected");
|
||||||
|
|
||||||
|
final String normalizedContent = StringUtil.replace(content, testDataDir.getAbsolutePath(), "[TestData]", true);
|
||||||
|
|
||||||
if (!expectedFile.isFile()) {
|
if (!expectedFile.isFile()) {
|
||||||
Files.write(content, actualFile, Charsets.UTF_8);
|
Files.write(normalizedContent, actualFile, Charsets.UTF_8);
|
||||||
fail("No .expected file " + expectedFile);
|
fail("No .expected file " + expectedFile);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
final String goldContent = Files.toString(expectedFile, UTF_8);
|
final String goldContent = Files.toString(expectedFile, UTF_8);
|
||||||
try {
|
try {
|
||||||
assertEquals(goldContent, content.toString());
|
assertEquals(goldContent, normalizedContent);
|
||||||
actualFile.delete();
|
actualFile.delete();
|
||||||
}
|
}
|
||||||
catch (ComparisonFailure e) {
|
catch (ComparisonFailure e) {
|
||||||
Files.write(content, actualFile, Charsets.UTF_8);
|
Files.write(normalizedContent, actualFile, Charsets.UTF_8);
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user