Add verification by dx.jar to CodegenTests

A patch by Natalia Ukhorskaya: https://github.com/JetBrains/kotlin/pull/70

Adds Android verfication to our codegen tests
This commit is contained in:
Andrey Breslav
2012-06-07 12:42:59 +04:00
parent 14e292ed7e
commit 0916ec549d
5 changed files with 101 additions and 1 deletions
@@ -184,6 +184,11 @@ public abstract class CodegenTestCase extends UsefulTestCase {
protected void blackBox() {
GenerationState state = generateClassesInFileGetState();
if (DxChecker.RUN_DX_CHECKER) {
DxChecker.check(state.getFactory());
}
GeneratedClassLoader loader = createClassLoader(state.getFactory());
String r;
@@ -224,7 +229,7 @@ public abstract class CodegenTestCase extends UsefulTestCase {
r = (String) method.invoke(null);
assertEquals("OK", r);
}
} catch (NoClassDefFoundError e) {
} catch (Error e) {
System.out.println(generateToText());
throw e;
} catch (Throwable e) {
@@ -268,6 +273,11 @@ public abstract class CodegenTestCase extends UsefulTestCase {
protected Class generateNamespaceClass() {
ClassFileFactory state = generateClassesInFile();
if (DxChecker.RUN_DX_CHECKER) {
DxChecker.check(state);
}
return loadRootNamespaceClass(state);
}
@@ -299,6 +309,11 @@ public abstract class CodegenTestCase extends UsefulTestCase {
@NotNull
protected ClassFileFactory generateClassesInFile() {
GenerationState generationState = generateClassesInFileGetState();
if (DxChecker.RUN_DX_CHECKER) {
DxChecker.check(generationState.getFactory());
}
return generationState.getFactory();
}