Skip to content

[pull] master from microsoft:master#117

Merged
pull[bot] merged 5 commits into
cgallred:masterfrom
microsoft:master
Jun 16, 2026
Merged

[pull] master from microsoft:master#117
pull[bot] merged 5 commits into
cgallred:masterfrom
microsoft:master

Conversation

@pull

@pull pull Bot commented Jun 16, 2026

Copy link
Copy Markdown

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 : )

tyrielv added 5 commits June 16, 2026 09:26
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
@pull pull Bot locked and limited conversation to collaborators Jun 16, 2026
@pull pull Bot added the ⤵️ pull label Jun 16, 2026
@pull pull Bot merged commit 2934dd3 into cgallred:master Jun 16, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant