Skip to content
Prev Previous commit
Next Next commit
Merge branch 'main' into mergeDecoratorsAndModifiers
# Conflicts:
#	src/testRunner/unittests/tsbuild/helpers.ts
  • Loading branch information
rbuckton committed Jun 9, 2022
commit 03aed39045b9963b71a559142a276fbcf44ace28
54 changes: 23 additions & 31 deletions src/testRunner/unittests/tsbuild/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -407,36 +407,28 @@ interface Symbol {
},
`FileInfos:: File:: ${outputFile}`
);
// Verify exportedModulesMap
verifyMapLike(
incrementalReadableBuildInfo?.program?.exportedModulesMap,
cleanReadableBuildInfo?.program?.exportedModulesMap,
(key, incrementalReferenceSet, cleanReferenceSet) => {
if (!arrayIsEqualTo(incrementalReferenceSet, cleanReferenceSet) && !arrayIsEqualTo(incrementalReferenceSet, incrementalReadableBuildInfo!.program!.referencedMap![key])) {
return [
`Incremental Reference set is neither from dts nor files reference map for File:: ${key}::`,
`Incremental:: ${JSON.stringify(incrementalReferenceSet, /*replacer*/ undefined, 2)}`,
`Clean:: ${JSON.stringify(cleanReferenceSet, /*replacer*/ undefined, 2)}`,
`IncrementalReferenceMap:: ${JSON.stringify(incrementalReadableBuildInfo!.program!.referencedMap![key], /*replacer*/ undefined, 2)}`,
`CleanReferenceMap:: ${JSON.stringify(cleanReadableBuildInfo!.program!.referencedMap![key], /*replacer*/ undefined, 2)}`,
];
}
},
`exportedModulesMap:: File:: ${outputFile}`
);
// Verify that incrementally pending affected file emit are in clean build since clean build can contain more files compared to incremental depending of noEmitOnError option
if (incrementalReadableBuildInfo?.program?.affectedFilesPendingEmit) {
if (cleanReadableBuildInfo?.program?.affectedFilesPendingEmit === undefined) {
addBaseline(
`Incremental build contains affectedFilesPendingEmit, clean build does not have it: ${outputFile}::`,
`Incremental buildInfoText:: ${incrementalBuildText}`,
`Clean buildInfoText:: ${cleanBuildText}`
);
}
let expectedIndex = 0;
incrementalReadableBuildInfo.program.affectedFilesPendingEmit.forEach(([actualFile]) => {
expectedIndex = findIndex(cleanReadableBuildInfo!.program!.affectedFilesPendingEmit, ([expectedFile]) => actualFile === expectedFile, expectedIndex);
if (expectedIndex === -1) {
if (!isReadableProgramBundleEmitBuildInfo(incrementalReadableBuildInfo?.program)) {
Debug.assert(!isReadableProgramBundleEmitBuildInfo(cleanReadableBuildInfo?.program));
// Verify exportedModulesMap
verifyMapLike(
incrementalReadableBuildInfo?.program?.exportedModulesMap,
cleanReadableBuildInfo?.program?.exportedModulesMap,
(key, incrementalReferenceSet, cleanReferenceSet) => {
if (!arrayIsEqualTo(incrementalReferenceSet, cleanReferenceSet) && !arrayIsEqualTo(incrementalReferenceSet, (incrementalReadableBuildInfo!.program! as ReadableProgramMultiFileEmitBuildInfo).referencedMap![key])) {
return [
`Incremental Reference set is neither from dts nor files reference map for File:: ${key}::`,
`Incremental:: ${JSON.stringify(incrementalReferenceSet, /*replacer*/ undefined, 2)}`,
`Clean:: ${JSON.stringify(cleanReferenceSet, /*replacer*/ undefined, 2)}`,
`IncrementalReferenceMap:: ${JSON.stringify((incrementalReadableBuildInfo!.program! as ReadableProgramMultiFileEmitBuildInfo).referencedMap![key], /*replacer*/ undefined, 2)}`,
`CleanReferenceMap:: ${JSON.stringify((cleanReadableBuildInfo!.program! as ReadableProgramMultiFileEmitBuildInfo).referencedMap![key], /*replacer*/ undefined, 2)}`,
];
}
},
`exportedModulesMap:: File:: ${outputFile}`
);
// Verify that incrementally pending affected file emit are in clean build since clean build can contain more files compared to incremental depending of noEmitOnError option
if (incrementalReadableBuildInfo?.program?.affectedFilesPendingEmit) {
if (cleanReadableBuildInfo?.program?.affectedFilesPendingEmit === undefined) {
addBaseline(
`Incremental build contains affectedFilesPendingEmit, clean build does not have it: ${outputFile}::`,
`Incremental buildInfoText:: ${incrementalBuildText}`,
Expand All @@ -445,7 +437,7 @@ interface Symbol {
}
let expectedIndex = 0;
incrementalReadableBuildInfo.program.affectedFilesPendingEmit.forEach(([actualFile]) => {
expectedIndex = findIndex((cleanReadableBuildInfo!.program! as ReadableProgramMultiFileEmitBuildInfo).affectedFilesPendingEmit!, ([expectedFile]) => actualFile === expectedFile, expectedIndex);
expectedIndex = findIndex((cleanReadableBuildInfo!.program! as ReadableProgramMultiFileEmitBuildInfo).affectedFilesPendingEmit, ([expectedFile]) => actualFile === expectedFile, expectedIndex);
if (expectedIndex === -1) {
addBaseline(
`Incremental build contains ${actualFile} file as pending emit, clean build does not have it: ${outputFile}::`,
Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.