Skip to content

Commit

Permalink
xtask test-checker should always update output.
Browse files Browse the repository at this point in the history
It's currently expected to fail.

This also doesn't skip .tsx tests (free passing tests!) and prints
dot-style test output progress.
  • Loading branch information
simonbuchan committed Nov 14, 2023
1 parent 767e1a1 commit b348e8d
Show file tree
Hide file tree
Showing 2 changed files with 116 additions and 20 deletions.
103 changes: 94 additions & 9 deletions crates/stc_ts_type_checker/tests/conformance.pass.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1016,15 +1016,10 @@ es6/spread/iteratorSpreadInCall2.ts
es6/spread/iteratorSpreadInCall3.ts
es6/spread/iteratorSpreadInCall4.ts
es6/spread/iteratorSpreadInCall5.ts
es6/tedirectives/ts-expect-error-nocheck.ts
es6/templates/taggedTemplateStrindirectives/ts-expect-error-nocheck.ts
es6/templates/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01.ts
es6/templates/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes01_ES6.ts
es6/templates/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02.ts
es6/templates/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02_ES6.ts
es6/templates/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02_ES6.tsdirectives/ts-expect-error-nocheck.ts
es6/templates/taggedTemplateStringsPlainCharactersThatArePartsOfEscapes02directives/ts-expect-error-nocheck.ts
es6/templates/taggedTemplateStringsPldirectives/ts-expect-error-nocheck.ts
es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts
es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts
es6/templates/taggedTemplateStringsWithManyCallAndMemberExpressions.ts
Expand Down Expand Up @@ -1127,8 +1122,6 @@ es6/templates/templateStringWhitespaceEscapes2_ES6.ts
es6/templates/templateStringWithBackslashEscapes01.ts
es6/templates/templateStringWithBackslashEscapes01_ES6.ts
es6/templates/templateStringWithCommentsInArrowFunction.ts
es6/templates/templateStringWithE
es6/templates/templateStringWithEdirectives/ts-expect-error-nocheck.ts
es6/templates/templateStringWithEmbeddedAddition.ts
es6/templates/templateStringWithEmbeddedAdditionES6.ts
es6/templates/templateStringWithEmbeddedArray.ts
Expand Down Expand Up @@ -1157,7 +1150,6 @@ es6/templates/templateStringWithEmbeddedObjectLiteral.ts
es6/templates/templateStringWithEmbeddedObjectLiteralES6.ts
es6/templates/templateStringWithEmbeddedTemplateString.ts
es6/templates/templateStringWithEmbeddedTemplateStringES6.ts
es6/templates/templateStringWithEmbeddedTypdirectives/ts-expect-error-nocheck.ts
es6/templates/templateStringWithEmbeddedTypeAssertionOnAddition.ts
es6/templates/templateStringWithEmbeddedTypeAssertionOnAdditionES6.ts
es6/templates/templateStringWithEmbeddedTypeOfOperator.ts
Expand All @@ -1169,7 +1161,6 @@ es6/templates/templateStringWithEmptyLiteralPortions.ts
es6/templates/templateStringWithEmptyLiteralPortionsES6.ts
es6/templates/templateStringWithOpenCommentInStringPortion.ts
es6/templates/templateStringWithOpenCommentInStringPortionES6.ts
es6/templates/templateStringWithPdirectives/ts-expect-error-nocheck.ts
es6/templates/templateStringWithPropertyAccess.ts
es6/templates/templateStringWithPropertyAccessES6.ts
es6/templates/templateStringsWithTypeErrorInFunctionExpressionsInSubstitutionExpression.ts
Expand Down Expand Up @@ -1821,7 +1812,100 @@ jsdoc/parseThrowsTag.ts
jsdoc/seeTag1.ts
jsdoc/seeTag2.ts
jsdoc/typeParameterExtendsUnionConstraintDistributed.ts
jsx/checkJsxChildrenProperty1.tsx
jsx/checkJsxChildrenProperty10.tsx
jsx/checkJsxChildrenProperty11.tsx
jsx/checkJsxChildrenProperty12.tsx
jsx/checkJsxChildrenProperty3.tsx
jsx/checkJsxChildrenProperty6.tsx
jsx/checkJsxChildrenProperty8.tsx
jsx/checkJsxChildrenProperty9.tsx
jsx/commentEmittingInPreserveJsx1.tsx
jsx/correctlyMarkAliasAsReferences1.tsx
jsx/correctlyMarkAliasAsReferences2.tsx
jsx/correctlyMarkAliasAsReferences4.tsx
jsx/jsxReactTestSuite.tsx
jsx/tsxAttributeErrors.tsx
jsx/tsxAttributeResolution.tsx
jsx/tsxAttributeResolution13.tsx
jsx/tsxAttributeResolution16.tsx
jsx/tsxAttributeResolution7.tsx
jsx/tsxAttributeResolution8.tsx
jsx/tsxDefaultAttributesResolution1.tsx
jsx/tsxDefaultAttributesResolution2.tsx
jsx/tsxDynamicTagName1.tsx
jsx/tsxDynamicTagName4.tsx
jsx/tsxDynamicTagName5.tsx
jsx/tsxDynamicTagName6.tsx
jsx/tsxDynamicTagName8.tsx
jsx/tsxDynamicTagName9.tsx
jsx/tsxElementResolution.tsx
jsx/tsxElementResolution1.tsx
jsx/tsxElementResolution16.tsx
jsx/tsxElementResolution18.tsx
jsx/tsxElementResolution19.tsx
jsx/tsxElementResolution2.tsx
jsx/tsxElementResolution6.tsx
jsx/tsxElementResolution7.tsx
jsx/tsxEmit1.tsx
jsx/tsxEmit2.tsx
jsx/tsxEmitSpreadAttribute.ts
jsx/tsxExternalModuleEmit1.tsx
jsx/tsxExternalModuleEmit2.tsx
jsx/tsxFragmentPreserveEmit.tsx
jsx/tsxFragmentReactEmit.tsx
jsx/tsxGenericAttributesType1.tsx
jsx/tsxGenericAttributesType2.tsx
jsx/tsxGenericAttributesType3.tsx
jsx/tsxGenericAttributesType4.tsx
jsx/tsxGenericAttributesType5.tsx
jsx/tsxGenericAttributesType6.tsx
jsx/tsxGenericAttributesType7.tsx
jsx/tsxGenericAttributesType8.tsx
jsx/tsxInArrowFunction.tsx
jsx/tsxIntrinsicAttributeErrors.tsx
jsx/tsxNoJsx.tsx
jsx/tsxParseTests1.tsx
jsx/tsxParseTests2.tsx
jsx/tsxPreserveEmit1.tsx
jsx/tsxPreserveEmit2.tsx
jsx/tsxPreserveEmit3.tsx
jsx/tsxReactComponentWithDefaultTypeParameter1.tsx
jsx/tsxReactComponentWithDefaultTypeParameter2.tsx
jsx/tsxReactEmit1.tsx
jsx/tsxReactEmit2.tsx
jsx/tsxReactEmit3.tsx
jsx/tsxReactEmit4.tsx
jsx/tsxReactEmit5.tsx
jsx/tsxReactEmit6.tsx
jsx/tsxReactEmitEntities.tsx
jsx/tsxReactEmitNesting.tsx
jsx/tsxReactEmitWhitespace.tsx
jsx/tsxReactEmitWhitespace2.tsx
jsx/tsxSfcReturnNull.tsx
jsx/tsxSfcReturnNullStrictNullChecks.tsx
jsx/tsxSpreadAttributesResolution1.tsx
jsx/tsxSpreadAttributesResolution11.tsx
jsx/tsxSpreadAttributesResolution13.tsx
jsx/tsxSpreadAttributesResolution15.tsx
jsx/tsxSpreadAttributesResolution3.tsx
jsx/tsxSpreadAttributesResolution7.tsx
jsx/tsxSpreadAttributesResolution8.tsx
jsx/tsxSpreadAttributesResolution9.tsx
jsx/tsxSpreadChildren.tsx
jsx/tsxSpreadChildrenInvalidType.tsx
jsx/tsxStatelessFunctionComponentOverload2.tsx
jsx/tsxStatelessFunctionComponentOverload3.tsx
jsx/tsxStatelessFunctionComponentOverload6.tsx
jsx/tsxStatelessFunctionComponentWithDefaultTypeParameter1.tsx
jsx/tsxStatelessFunctionComponents3.tsx
jsx/tsxStatelessFunctionComponentsWithTypeArguments1.tsx
jsx/tsxStatelessFunctionComponentsWithTypeArguments3.tsx
jsx/tsxStatelessFunctionComponentsWithTypeArguments5.tsx
jsx/tsxTypeArgumentsJsxPreserveOutput.tsx
jsx/tsxTypeErrors.tsx
jsx/tsxUnionElementType5.tsx
jsx/tsxUnionTypeComponent1.tsx
moduleResolution/importFromDot.ts
moduleResolution/packageJsonImportsExportsOptionCompat.ts
nonjsExtensions/declarationFileForJsonImport.ts
Expand Down Expand Up @@ -2330,6 +2414,7 @@ types/contextualTypes/asyncFunctions/contextuallyTypeAsyncFunctionReturnType.ts
types/contextualTypes/commaOperator/contextuallyTypeCommaOperator01.ts
types/contextualTypes/commaOperator/contextuallyTypeCommaOperator02.ts
types/contextualTypes/commaOperator/contextuallyTypeCommaOperator03.ts
types/contextualTypes/jsxAttributes/contextuallyTypedStringLiteralsInJsxAttributes01.tsx
types/contextualTypes/logicalAnd/contextuallyTypeLogicalAnd01.ts
types/contextualTypes/logicalAnd/contextuallyTypeLogicalAnd02.ts
types/contextualTypes/logicalAnd/contextuallyTypeLogicalAnd03.ts
Expand Down
33 changes: 22 additions & 11 deletions xtask/src/type_checker.rs
Original file line number Diff line number Diff line change
Expand Up @@ -54,27 +54,38 @@ fn test_conformance() -> anyhow::Result<()> {
let stdout = std::io::BufReader::new(stdout);
for line in stdout.lines() {
let mut line = line.unwrap();
// fixme: there are some .tsx files...?
if line.ends_with(".ts ... ok") {
line = line
.replace("test conformance::", "")
.replace(" ... ok", "")
.replace("::", "/")
.replace("test ", "")
.replace('\\', "/");
line.push('\n');
passed_test_lines.push(line);
if line.starts_with("test ") {
if line.ends_with(" ... ok") {
line = line
.replace("test conformance::", "")
.replace(" ... ok", "")
.replace("::", "/")
.replace("test ", "")
.replace('\\', "/");
line.push('\n');
passed_test_lines.push(line);
eprint!(".");
} else if line.ends_with(" ... FAILED") {
eprint!("F");
} else if line.ends_with(" ... ignored") {
eprint!("i");
} else {
eprintln!();
eprintln!("{line}");
}
}
}
});
}
});
eprintln!();

let status = child.wait()?;
ensure!(status.success(), "test conformance failed: {status}");

passed_test_lines.sort();
std::fs::write("crates/stc_ts_type_checker/tests/conformance.pass.txt", passed_test_lines.concat())?;

ensure!(status.success(), "test conformance failed: {status}");

Ok(())
}

0 comments on commit b348e8d

Please sign in to comment.