diff --git a/crates/stc_ts_type_checker/tests/conformance.pass.txt b/crates/stc_ts_type_checker/tests/conformance.pass.txt index e13517914a..d6ed084f24 100644 --- a/crates/stc_ts_type_checker/tests/conformance.pass.txt +++ b/crates/stc_ts_type_checker/tests/conformance.pass.txt @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 diff --git a/xtask/src/type_checker.rs b/xtask/src/type_checker.rs index a82c32176e..54ebb81546 100644 --- a/xtask/src/type_checker.rs +++ b/xtask/src/type_checker.rs @@ -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(()) }