mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-20 13:45:34 -05:00
Better format for the exit code test
This commit is contained in:
@@ -99,6 +99,7 @@
|
||||
"unittests/tsbuild/demo.ts",
|
||||
"unittests/tsbuild/emitDeclarationOnly.ts",
|
||||
"unittests/tsbuild/emptyFiles.ts",
|
||||
"unittests/tsbuild/exitCodeOnBogusFile.ts",
|
||||
"unittests/tsbuild/graphOrdering.ts",
|
||||
"unittests/tsbuild/inferredTypeFromTransitiveModule.ts",
|
||||
"unittests/tsbuild/javascriptProjectEmit.ts",
|
||||
|
||||
@@ -39,19 +39,17 @@ namespace ts {
|
||||
|
||||
interface VerifyBuild {
|
||||
modifyDiskLayout: (fs: vfs.FileSystem) => void;
|
||||
tsconfigs?: readonly string[];
|
||||
expectedExitStatus: ExitStatus;
|
||||
expectedDiagnostics: (fs: vfs.FileSystem) => fakes.ExpectedDiagnostic[];
|
||||
expectedOutputs: readonly string[];
|
||||
notExpectedOutputs: readonly string[];
|
||||
}
|
||||
|
||||
function verifyBuild({ modifyDiskLayout, tsconfigs = ["/src/tsconfig.json"],
|
||||
expectedExitStatus, expectedDiagnostics, expectedOutputs, notExpectedOutputs }: VerifyBuild) {
|
||||
function verifyBuild({ modifyDiskLayout, expectedExitStatus, expectedDiagnostics, expectedOutputs, notExpectedOutputs }: VerifyBuild) {
|
||||
const fs = projFs.shadow();
|
||||
const host = fakes.SolutionBuilderHost.create(fs);
|
||||
modifyDiskLayout(fs);
|
||||
const builder = createSolutionBuilder(host, tsconfigs, { verbose: true });
|
||||
const builder = createSolutionBuilder(host, ["/src/tsconfig.json"], { verbose: true });
|
||||
const exitStatus = builder.build();
|
||||
assert.equal(exitStatus, expectedExitStatus);
|
||||
host.assertDiagnosticMessages(...expectedDiagnostics(fs));
|
||||
@@ -158,19 +156,5 @@ namespace ts {
|
||||
notExpectedOutputs: [...coreOutputs(), ...animalOutputs(), ...zooOutputs()]
|
||||
});
|
||||
});
|
||||
|
||||
it("returns an error exit in case of a bogus file", () => {
|
||||
verifyBuild({
|
||||
modifyDiskLayout: noop,
|
||||
tsconfigs: ["bogus.json"],
|
||||
expectedExitStatus: ExitStatus.DiagnosticsPresent_OutputsSkipped,
|
||||
expectedDiagnostics: _ => [
|
||||
getExpectedDiagnosticForProjectsInBuild("bogus.json"),
|
||||
errorDiagnostic([Diagnostics.File_0_not_found, "/bogus.json"]),
|
||||
],
|
||||
expectedOutputs: emptyArray,
|
||||
notExpectedOutputs: [...coreOutputs(), ...animalOutputs(), ...zooOutputs()]
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
11
src/testRunner/unittests/tsbuild/exitCodeOnBogusFile.ts
Normal file
11
src/testRunner/unittests/tsbuild/exitCodeOnBogusFile.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace ts {
|
||||
// https://github.com/microsoft/TypeScript/issues/33849
|
||||
describe("unittests:: tsbuild:: exitCodeOnBogusFile:: test exit code", () => {
|
||||
verifyTsc({
|
||||
scenario: "exitCodeOnBogusFile",
|
||||
subScenario: `test exit code`,
|
||||
fs: () => loadProjectFromFiles({}, symbolLibContent),
|
||||
commandLineArgs: ["-b", "bogus.json"]
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user