LTDA: Compare constructed descriptors only with test files

This commit is contained in:
Nikolay Krasko
2014-09-02 13:58:34 +04:00
parent 48f459f656
commit b57e5fa971
5 changed files with 18 additions and 16 deletions
@@ -438,7 +438,7 @@ public class JetTestUtils {
} }
} }
} }
LazyResolveTestUtil.resolveEagerly(jetFiles, environment); LazyResolveTestUtil.resolve(jetFiles, environment);
} }
@NotNull @NotNull
@@ -61,21 +61,16 @@ public abstract class AbstractLazyResolveRecursiveComparingTest extends KotlinTe
} }
); );
ModuleDescriptor eagerModule = LazyResolveTestUtil.resolveEagerly(files, getEnvironment()); ModuleDescriptor module = LazyResolveTestUtil.resolve(files, getEnvironment());
ModuleDescriptor lazyModule = LazyResolveTestUtil.resolveLazily(files, getEnvironment());
FqName test = new FqName("test"); String testedPackage = "test";
PackageViewDescriptor testPackage = module.getPackage(new FqName(testedPackage));
PackageViewDescriptor actual = lazyModule.getPackage(test); Assert.assertNotNull("Package for name '" + testedPackage + "' is null after resolve", testPackage);
Assert.assertNotNull("Package for name " + test + " is null after lazy resolve", actual);
PackageViewDescriptor expected = eagerModule.getPackage(test);
Assert.assertNotNull("Package for name " + test + " is null after eager resolve", expected);
File serializeResultsTo = new File(FileUtil.getNameWithoutExtension(testFileName) + ".txt"); File serializeResultsTo = new File(FileUtil.getNameWithoutExtension(testFileName) + ".txt");
RecursiveDescriptorComparator.validateAndCompareDescriptors( RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile(
expected, actual, RecursiveDescriptorComparator.DONT_INCLUDE_METHODS_OF_OBJECT testPackage, RecursiveDescriptorComparator.DONT_INCLUDE_METHODS_OF_OBJECT
.filterRecursion(RecursiveDescriptorComparator.SKIP_BUILT_INS_PACKAGES) .filterRecursion(RecursiveDescriptorComparator.SKIP_BUILT_INS_PACKAGES)
.checkPrimaryConstructors(checkPrimaryConstructors) .checkPrimaryConstructors(checkPrimaryConstructors)
.checkPropertyAccessors(checkPropertyAccessors) .checkPropertyAccessors(checkPropertyAccessors)
@@ -48,7 +48,7 @@ public class LazyResolveStdlibLoadingTest extends KotlinTestWithEnvironmentManag
) { ) {
Set<Name> packageShortNames = LazyResolveTestUtil.getTopLevelPackagesFromFileList(files); Set<Name> packageShortNames = LazyResolveTestUtil.getTopLevelPackagesFromFileList(files);
ModuleDescriptor module = LazyResolveTestUtil.resolveEagerly(files, stdlibEnvironment); ModuleDescriptor module = LazyResolveTestUtil.resolve(files, stdlibEnvironment);
ModuleDescriptor lazyModule = LazyResolveTestUtil.resolveLazily(files, stdlibEnvironment); ModuleDescriptor lazyModule = LazyResolveTestUtil.resolveLazily(files, stdlibEnvironment);
for (Name name : packageShortNames) { for (Name name : packageShortNames) {
@@ -44,12 +44,19 @@ public class LazyResolveTestUtil {
private LazyResolveTestUtil() { private LazyResolveTestUtil() {
} }
public static ModuleDescriptor resolveEagerly(List<JetFile> files, JetCoreEnvironment environment) { public static ModuleDescriptor resolve(List<JetFile> files, JetCoreEnvironment environment) {
return doResolve(files, environment);
}
private static ModuleDescriptor doResolve(List<JetFile> files, JetCoreEnvironment environment) {
JetTestUtils.newTrace(environment); JetTestUtils.newTrace(environment);
GlobalContextImpl globalContext = ContextPackage.GlobalContext(); GlobalContextImpl globalContext = ContextPackage.GlobalContext();
TopDownAnalysisParameters params = TopDownAnalysisParameters.create( TopDownAnalysisParameters params = TopDownAnalysisParameters.create(
globalContext.getStorageManager(), globalContext.getExceptionTracker(), Predicates.<PsiFile>alwaysTrue(), false, false); globalContext.getStorageManager(),
globalContext.getExceptionTracker(),
Predicates.<PsiFile>alwaysTrue(),
false, false);
CliLightClassGenerationSupport support = CliLightClassGenerationSupport.getInstanceForCli(environment.getProject()); CliLightClassGenerationSupport support = CliLightClassGenerationSupport.getInstanceForCli(environment.getProject());
BindingTrace sharedTrace = support.getTrace(); BindingTrace sharedTrace = support.getTrace();
ModuleDescriptorImpl sharedModule = support.newModule(); ModuleDescriptorImpl sharedModule = support.newModule();
@@ -585,7 +585,7 @@ public class JetTypeCheckerTest extends JetLiteFixture {
} }
private WritableScope getDeclarationsScope(String path) throws IOException { private WritableScope getDeclarationsScope(String path) throws IOException {
ModuleDescriptor moduleDescriptor = LazyResolveTestUtil.resolveEagerly( ModuleDescriptor moduleDescriptor = LazyResolveTestUtil.resolve(
Collections.singletonList(JetTestUtils.loadJetFile(getProject(), new File(path))), Collections.singletonList(JetTestUtils.loadJetFile(getProject(), new File(path))),
getEnvironment() getEnvironment()
); );