Skip to content

windows: 124 tests fail on the first windows-latest run (list by cause) #214

Open

Description

@JordanCoin

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

  1. JordanCoin commented on Oct 11, 2026

    @JordanCoin
    OwnerAuthor

    Progress on the Windows cell, read from CI (informational job):

    run top-level failing tests
    first run (#209) 124
    after #218 (slash graph keys, .exe test binary) 81
    after #219 (resolver roots, Rust paths, gitignore probes, cargo edges; expectations as slash literals; 24 named skips) 10

    Cause table for the 81 and what #219 did with each group is in the PR body: #219

    Remaining 10 on run 38175032578:

    • Cargo-metadata fallback cluster (6): packages keyed by absolute manifest path do not match the /-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): nested cue.mod module 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.

  2. added a commit that references this issue on Oct 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions