[pull] master from microsoft:master#117
Merged
Merged
Conversation
The ExtraCoverage category excluded ~110 functional test methods (19 test classes) from the default CI run. These tests cover critical functionality -- mount edge cases, dehydrate, repair, shared cache, disk layout upgrades, junctions -- but were never validated in CI. Remove ExtraCoverage filtering and fix the atrophied tests so they run in CI. Introduce SkipInCIAttribute with a required reason string for tests that still need follow-up work. Infrastructure: - Remove ExtraCoverage constant, --extra-only flag, and all 19 Category annotations - Download FastFetch artifact in functional-tests.yaml - Fix NUnitRunner slice grouping to include MultiEnlistmentTests - Increase test slices from 10 to 12 - Add resilient teardown: UnmountAndDeleteAll catches stuck unmounts and kills the GVFS.Mount process as a fallback Fixed tests: - FastFetchTests: artifact now available in CI - ConfigVerbTests: Order-dependent tests stay in same slice - RepairTests: remove stale mount-fail assertions (GVFS now tolerates corrupt index) - MountTests: capture stderr, use try/finally for metadata restore, check exit code only where errors go to GVFS log - FastFetchTests git output assertion: case-insensitive match Removed tests: - UpgradeReminderTests: old NuGet upgrade system removed - SharedCacheUpgradeTests: zero test methods (dead code) - MountMergesLocalPrePostHooksConfig: mount no longer merges hooks - ProjFS_CMDHangNoneActiveInstance: obsolete ProjFS regression test - MountingARepositoryThatRequiresPlaceholderUpdatesWorks: placeholder updates moved out of mount Assisted-by: Claude Opus 4.6 Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
1. KillMountProcess: Use Get-CimInstance Win32_Process to find GVFS.Mount processes whose command line contains this specific enlistment root, instead of killing all GVFS.Mount processes. Prevents collateral damage to healthy mounts owned by other fixtures running in parallel. 2. MountFailsWhenNoLocalCacheRootInRepoMetadata and MountFailsWhenNoGitObjectsRootInRepoMetadata: After verifying the exit code, also check the GVFS log for the expected error message. This ensures mount failed for the expected reason, not an unrelated one. Assisted-by: Claude Opus 4.6 Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
The repair job for BlobSizes.sql was unable to delete the corrupt database file on Windows because SQLite connection pooling kept the file handle open after the integrity check in HasIssue(). Two fixes: 1. SqliteDatabase.HasIssue: Use Pooling=False for integrity check connections so file handles are released immediately on dispose, allowing repair to delete the corrupt file. 2. BlobSizes.Initialize: Tolerate corrupt databases by catching SQLITE_CORRUPT and SQLITE_NOTADB errors, deleting the corrupt file (and WAL/SHM sidecars), and recreating a fresh database. This provides defense-in-depth since BlobSizes is a cache. Also remove SkipInCI from RepairFixesCorruptBlobSizesDatabase and add an assertion that repair actually cleans up the corrupt folder. Assisted-by: Claude Opus 4.6 Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
LatestGVFSLogShouldContain: Search all log files in the logs directory, not just the most recent one. Mount errors are logged by GVFS.Mount.exe in its own log file, not the verb's log file. FastFetchTests: Mark CanFetchAndCheckoutMultipleTimesUsingForceCheckoutFlag and ForceCheckoutRequiresCheckout as SkipInCI - both depend on a Scripts folder that no longer exists in the FunctionalTests/20201014 test branch. Assisted-by: Claude Opus 4.6 Signed-off-by: Tyrie Vella <tyrielv@gmail.com>
Remove ExtraCoverage category — run all functional tests in CI
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )