From bccd48b67f9967b50679546ca002ce81a8a0f43c Mon Sep 17 00:00:00 2001 From: Gabriela Araujo Britto Date: Fri, 12 Dec 2025 00:40:33 +0000 Subject: [PATCH 1/3] list crashing tests --- .gitignore | 1 + internal/fourslash/_scripts/crashingTests.txt | 12 ++++++++++++ internal/fourslash/_scripts/updateFailing.mts | 7 +++++++ 3 files changed, 20 insertions(+) create mode 100644 internal/fourslash/_scripts/crashingTests.txt diff --git a/.gitignore b/.gitignore index 1b8418c0be..56814d085c 100644 --- a/.gitignore +++ b/.gitignore @@ -199,3 +199,4 @@ custom-gcl.hash !internal/fourslash/_scripts/failingTests.txt !internal/fourslash/_scripts/manualTests.txt +!internal/fourslash/_scripts/crashingTests.txt diff --git a/internal/fourslash/_scripts/crashingTests.txt b/internal/fourslash/_scripts/crashingTests.txt new file mode 100644 index 0000000000..c8ceb4d30c --- /dev/null +++ b/internal/fourslash/_scripts/crashingTests.txt @@ -0,0 +1,12 @@ +TestCompletionsAfterJSDoc +TestCompletionsImport_require_addToExisting +TestCompletionsUniqueSymbol_import +TestFindReferencesBindingPatternInJsdocNoCrash1 +TestFindReferencesBindingPatternInJsdocNoCrash2 +TestGetOccurrencesIfElseBroken +TestImportNameCodeFix_importType8 +TestJsdocLink2 +TestJsdocLink3 +TestJsdocLink6 +TestQuickInfoAlias +TestQuickInfoBindingPatternInJsdocNoCrash1 diff --git a/internal/fourslash/_scripts/updateFailing.mts b/internal/fourslash/_scripts/updateFailing.mts index 98a20d8a05..3935e8d770 100644 --- a/internal/fourslash/_scripts/updateFailing.mts +++ b/internal/fourslash/_scripts/updateFailing.mts @@ -4,6 +4,7 @@ import path from "path"; import which from "which"; const failingTestsPath = path.join(import.meta.dirname, "failingTests.txt"); +const crashingTestsPath = path.join(import.meta.dirname, "crashingTests.txt"); function main() { const go = which.sync("go"); @@ -24,13 +25,19 @@ function main() { } const failRegex = /--- FAIL: ([\S]+)/gm; const failingTests: string[] = []; + const crashingRegex = /^=== NAME ([\S]+)\n.*InternalError.*$/gm; + const crashingTests: string[] = []; let match; while ((match = failRegex.exec(testOutput)) !== null) { failingTests.push(match[1]); } + while ((match = crashingRegex.exec(testOutput)) !== null) { + crashingTests.push(match[1]); + } fs.writeFileSync(failingTestsPath, failingTests.sort((a, b) => a.localeCompare(b, "en-US")).join("\n") + "\n", "utf-8"); + fs.writeFileSync(crashingTestsPath, crashingTests.sort((a, b) => a.localeCompare(b, "en-US")).join("\n") + "\n", "utf-8"); } main(); From ea3549e22ddb1b793bc16a682455b4745bbfd5eb Mon Sep 17 00:00:00 2001 From: Gabriela Araujo Britto Date: Fri, 12 Dec 2025 01:11:43 +0000 Subject: [PATCH 2/3] try and upload artifact --- .github/workflows/ci.yml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 571ac187e5..9448592668 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -276,7 +276,22 @@ jobs: npx hereby test || true - run: git add . - - run: git diff --staged --exit-code --stat + + - name: Check for changes + id: check-changes + run: | + if ! git diff --staged --exit-code --quiet; then + git diff --staged --exit-code --stat + git diff --staged > generate_changes.patch + exit 1 + fi + + - name: Upload generate diff artifact + if: ${{ failure() && steps.check-changes.conclusion == 'failure' }} + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0 + with: + name: generate_changes.patch + path: generate_changes.patch tidy: runs-on: ubuntu-latest From 37e993f985d01e4d8ebc6a70bbb76532409b4d4b Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Thu, 11 Dec 2025 18:32:08 -0800 Subject: [PATCH 3/3] Apply suggestion from @DanielRosenwasser --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9448592668..a07de2be91 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -276,7 +276,7 @@ jobs: npx hereby test || true - run: git add . - + - name: Check for changes id: check-changes run: | @@ -285,7 +285,7 @@ jobs: git diff --staged > generate_changes.patch exit 1 fi - + - name: Upload generate diff artifact if: ${{ failure() && steps.check-changes.conclusion == 'failure' }} uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0