Repository navigation
windows: 124 tests fail on the first windows-latest run (list by cause) #214
Description
First windows-latest Test job (Go 1.26), run 38169675758 on #209: 124 top-level tests fail. None involve the expandHome change; this is the second half of #139 ("CI never runs tests on Windows") made visible. The job is continue-on-error: true until this list is empty; it still reports on every PR.
Grouped by apparent cause from the first assertion line of each test. Representative line per group, then the test names.
A. test binary built without .exe (one helper, every end-to-end CLI test) (34)
main_more_test.go:716: codemap failed: exec: "C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\codemap-test-bin-597572498\\codemap_test_binary": executable file not found in %PATH%
TestAbsoluteImporterInfersProjectRootFromUnrelatedDirectory, TestBasicTreeOutput, TestBinaryDependencyModesMergeCLIFiltersWithConfig, TestBlastRadiusAnalyzesFullChangedSetBeyondCap, TestBlastRadiusFlagsAfterPath, TestBlastRadiusImpactFooterMatchesShownFiles, TestBlastRadiusMarkdownFenceBalancedWhenTruncated, TestBlastRadiusMultipleFormatFlagsLastWins, TestBlastRadiusOmitsEmptyImporterSections, TestBlastRadiusSubcommandMarkdownAndJSON, TestBlastRadiusSubcommandNoChanges, TestBlastRadiusZeroCapIsConsistent, TestColorEndToEnd, TestCurrentDirectory, TestDashCScopesToTheGivenDirectory, TestDebugFlag, TestExplicitRootImportersReportCanonicalizesSymlinkedRoot, TestExplicitRootImportersReportUsesCanonicalRelativePath, TestGlobalRootOptionsEndToEnd, TestHelpFlag, TestHelpListsAllSubcommands, TestImportersDistinguishesNotIndexedFromZeroImporters, TestJSONOutput, TestMCPEntrypointsMatch, TestMCPEntrypointsMatchConfigFallback, TestMultipleFlags, TestRelativePath, TestSkylineFlag, TestStandardSubmoduleUsesProjectLocalSetup, TestSubcommandDispatchViaBinary, TestSubcommandHelpReturnsSuccess, TestSubdirectoryPath, TestTopologyCLIFileSelectorAndEcosystemContract, TestTopologyCLIRejectsEcosystemOutsideTopology
B. graph keys use the native separator, tests expect "/" (23)
rustcargo_test.go:560: fallback binary imports = []string{"src\\helper.rs"}, want []string{"src/helper.rs"}
TestCargoMetadataFailurePreservesLegacyBinaryRoot, TestCargoMetadataFailurePreservesLegacySelfAndSuperPaths, TestCargoMetadataFailuresPreserveManualFallback, TestCargoMetadataKeepsSuccessfulRootsWhenAnotherRootFallsBack, TestCargoMetadataPrefersDeclaredModuleOverDependency, TestCargoMetadataRecoversLocalCargoTopology, TestCargoMetadataRejectsUndeclaredWorkspaceCrateCollision, TestCargoMetadataScopesDependenciesByCallerAndTargetKind, TestDiscoverInventoryFindsManifestsBelowSourceIgnoredDirectories, TestRunDoctorUsesNearestGitRootFromNestedDirectory, TestRustAskamaTemplateResolvesWithExtensionSibling, TestRustAskamaTemplateResolvesWithinCargoPackage, TestRustEmbeddedFilesResolveConservatively, TestRustLiteralIncludesResolveConservatively, TestRustPathMetadataFailurePreservesExternalFallback, TestRustPathModuleRejectsUnsafeOrAmbiguousTargets, TestRustPathModuleResolvesLogicalAncestryAndDirectoryOwnership, TestRustPathModuleUnsupportedFormsDoNotInventConventionalEdges, TestRustUseReferencesResolveCurrentPackageLibraryFromBinary, TestRustUseReferencesResolveOnlyOneLocalDependencyAlias, TestScanForGraphOutcomeCargoFallbackResolvesRelativeRoot, TestScanForGraphOutcomeCombinesGoAndCargoFallbacks, TestSwiftPMParserSkipsStringsAndAcceptsLiteralStringForms
C. resolver returns nothing: slash-form import vs native-key index (31)
cargofallback_test.go:242: fallback imports = []string(nil), want []string{"core/src/lib.rs"}
TestBuildFileGraphFromFallbackOutcomePreservesCargoEdgesWithoutReload, TestBuildFileGraphFromOutcomeDedupesFallbackCargoSource, TestBuildFileGraphImportResolutionBoundaries, TestBuildFileGraphUsesCargoFallbackOnce, TestBuildTopologyImpactsKeepsModulesSeparateFromFiles, TestConfiguredFileCountControlsHandoffBudgetsAndDependencies, TestConformanceResolvesEachLanguage, TestDependencyAndGraphScansRespectConfiguredFilters, TestDepsFuzzyResolve, TestExplicitDependencyFiltersOverrideRepositoryConfig, TestFixtureImporterListsAreExact, TestFuzzyResolve, TestFuzzyResolveGoImportsFailClosed, TestGoMultiFilePackageImportsResolve, TestGoStdlibImportsDoNotResolveToLocalFiles, TestImportersCLIReportsGoPackageGranularity, TestNonGoResolutionUnaffectedByGoGate, TestPythonRelativeImportsResolve, TestResolveInferredTargetExactThenOutDirFallback, TestResolvePythonRelativeLevels, TestResolveTargetMapsOutDirToSourceRoot, TestRustBuildScriptResolvesStaticCargoInputs, TestRustPathModuleResolvesSafeLiteralForms, TestRustUseReferencesResolveGroupedLocalModules, TestRustUseSuperInsideInlineModDoesNotCreateFalseEdge, TestRustWorkspaceImportersRespectCrateBoundaries, TestRustWorkspaceResolvesLegalModulePathsAndReportsPartialCoverage, TestScanDirectoryIndexesHiddenDirectories, TestScanForDepsBuildFileGraphAndAnalyzeImpact, TestSwiftFixtureNeverReportsCompleteCoverage, TestTypeScriptESMSpecifiersResolve
D. Unix absolute-path assumptions (/abs, /etc, /setup) in tests (4)
structured_contract_test.go:100: normalizeImporterFile("\\repo\\project\\pkg\\types\\types.go") = "\\repo\\project\\pkg\\types\\types.go", want native key "pkg\\types\\types.go"
TestNormalizeImporterFileUsesNativeGraphKeys, TestPrependSetupRootArgs, TestRunDepsFromStdinRejectsEscapingPaths, TestSafeStdinManifestPath
E. file replaced while open (Windows rename semantics) (2)
handoff_test.go:355: appendMetrics failed: replace runtime file: The process cannot access the file because it is being used by another process.
TestMetricsLogCapped, TestStatePublisherReplacementAlwaysDecodes
F. ANSI/colour output on a non-TTY console (1)
color_mode_test.go:72: --color=always output lacks the directory colour:
TestTreeColorAlwaysRestoresANSIEscapes
G. other / needs a look (29)
surface_hygiene_test.go:359: output does not contain "pkg/a/a.go":
TestActivityAndHubTieOrderingIsDeterministic, TestBlastRadiusInvalidRefHint, TestCheckFileImportersAndRouteSuggestions, TestCodexPostEditAlwaysEmitsOneJSONEnvelope, TestCommonJSSingleQuoteImportersResolve, TestCueImportFiltersPackageSelector, TestDepgraphRendersGoPackageImportsAtPackageGranularity, TestDepgraphUsesEffectiveFiltersForCUEEdges, TestExtractFilePathAndEditHooks, TestFileContextAndImportersNeverReportConfidentZerosForUnindexedFiles, TestFileContextUsesNativeKeysAndKeepsProjectRootsRequestLocal, TestFilteredImportResolutionTargets, TestGitignoreOnlyRecoverable, TestGoGraphMatchesGoList, TestHandleGetTopologyAndModuleContext, TestHandleGraphContextHandlers, TestImportersCommandListsMultiFilePackageImporter, TestInstallCodemapPluginIsIdempotentAndPreservesMarketplaceMetadata, TestMCPScansRespectConfiguredFilters, TestNestedGitignoreMonorepo, TestNonexistentPathGetsFriendlyError, TestReportEnsureIgnored, TestResolveDocPaths_Fallback, TestResolveRustEmbeddedFileRequiresRealIndexedFile, TestResolveRustIncludeRequiresRealIndexedFile, TestRunDepsModeJSONAndMainDispatchesDepsAndImporters, TestRunImportersMode, TestTsconfigDotSlashAliasResolvesImporters, TestValidateHooksAcceptsEquivalentCommands
Likely fixes, one per group, not done here: (A) append .exe on windows in the test-binary helper; (B/C) key the index and the resolver with filepath.ToSlash consistently, one place; (D) build test paths with filepath.Join(t.TempDir(), ...) or skip on windows; (E) close before rename or retry; (F) same NO_COLOR/TTY rule as #197 applied to the console check.
Refs #139
Activity
ci: make the Windows test job informational until #214 is empty
fix(mcp): expand ~ with os.UserHomeDir; run tests on Windows in CI (#209
fix(scanner): file-graph keys are forward-slashed on every OS; test b…
fix(scanner): Rust module paths, Go fallback repos and workspace expe…
JordanCoin commentedon Oct 11, 2026
Progress on the Windows cell, read from CI (informational job):
Cause table for the 81 and what #219 did with each group is in the PR body: #219
Remaining 10 on run 38175032578:
/-form absolute paths the fixtures pass on Windows (handledManifests,rustPackageFromCargoMetadata); reloads = 1 where 0 is expected. Product bug; needs a Windows-side reproduction.TestBuildFileGraphResolvesNestedCUEPackageFromModule(1): nestedcue.modmodule root detection.TestDepsBuildFileIndex,TestValidLocalTargetAndManifestLocalPath(2): test-side native joins.TestCheckoutStormCoalescesIntoOneBatch(1): timing, also seen on ubuntu 1.26 (fix(watch): coalesce checkout storms into one batch; pin single-daemon start #215 follow-up).The 24 skips are greppable:
rg 'tracked in #214'. Each names its cause; removing one is the definition of done for that test.fix(scanner): Windows residue of #214: workspace roots, gitignore pro…