Support SKIP_TXT directive in diagnostic tests

Don't render the whole 'kotlin' package in some tests, because test data will
change every time something is updated in built-ins
This commit is contained in:
Alexander Udalov
2015-04-16 16:00:16 +03:00
parent 43ac20e88a
commit 0d76634f6b
6 changed files with 16 additions and 1093 deletions
@@ -50,6 +50,7 @@ import org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM;
import org.jetbrains.kotlin.resolve.lazy.LazyResolveTestUtil;
import org.jetbrains.kotlin.storage.ExceptionTracker;
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
import org.jetbrains.kotlin.test.InTextDirectivesUtils;
import org.jetbrains.kotlin.test.JetTestUtils;
import org.jetbrains.kotlin.test.util.DescriptorValidator;
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator;
@@ -240,6 +241,16 @@ public abstract class AbstractJetDiagnosticsTest extends BaseDiagnosticsTest {
List<TestFile> testFiles,
Map<TestModule, ModuleDescriptorImpl> modules
) {
if (KotlinPackage.any(testFiles, new Function1<TestFile, Boolean>() {
@Override
public Boolean invoke(TestFile file) {
return InTextDirectivesUtils.isDirectiveDefined(file.expectedText, "// SKIP_TXT");
}
})) {
assertFalse(".txt file should not exist if SKIP_TXT directive is used: " + expectedFile, expectedFile.exists());
return;
}
RecursiveDescriptorComparator comparator = new RecursiveDescriptorComparator(createdAffectedPackagesConfiguration(testFiles));
boolean isMultiModuleTest = modules.size() != 1;
@@ -235,7 +235,7 @@ public abstract class BaseDiagnosticsTest extends
protected class TestFile {
private final List<CheckerTestUtil.DiagnosedRange> diagnosedRanges = Lists.newArrayList();
private final String expectedText;
public final String expectedText;
private final TestModule module;
private final String clearText;
private final JetFile jetFile;