Skip to content

flake: TestAPIDump (windows path separators) #1496

@flake-investigator

Description

@flake-investigator

CI Failure Details

CI Run: https://github.com/coder/coder/actions/runs/24883580379
Failed Job: https://github.com/coder/coder/actions/runs/24883580379/job/72857883502 (test-go-pg windows-2022)
Commit: acbdb2728e2f57c8b1b30c4c0098a260e0f7e8b5 (Paweł Banaszewski)
Date: 2026-04-24

Failing Tests

  • TestAPIDump/* in aibridge/internal/integrationtest/apidump_test.go
  • TestAPIDumpPassthrough/* in aibridge/internal/integrationtest/apidump_test.go

Error Output

=== FAIL: aibridge/internal/integrationtest TestAPIDump/anthropic (0.01s)
Error: "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\TestAPIDumpanthropic621607852\\001\\anthropic\\claude-sonnet-4-0\\1777024841331-c947589f-f542-4439-87a8-42b1386c19ca.req.txt" does not contain "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\TestAPIDumpanthropic621607852\\001\\anthropic/"
Messages: request dump should be in the anthropic provider directory

=== FAIL: aibridge/internal/integrationtest TestAPIDumpPassthrough/openai (0.00s)
Error: "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\TestAPIDumpPassthroughopenai392923783\\001\\openai\\passthrough\\1777024841381-models-4ebb.req.txt" does not contain "/passthrough/"

Error Analysis

The assertions in apidump_test.go hardcode forward slashes in string containment checks, e.g.:

  • require.Contains(t, reqDumpFile, filepath.Join(dumpDir, tc.expectProviderDir)+"/") (line ~167)
  • require.Contains(t, reqDumpFile, "/passthrough/") (line ~286)

On Windows, filepath.Join and filepath.Walk produce backslash-separated paths, so the Contains checks with "/" fail. This appears OS-specific rather than a transient flake.

No data-race warnings, panics, or OOM indicators were observed in the failing log tail.

Root Cause Assessment

Test logic assumes Unix path separators. Windows path strings use \, so the substring checks are invalid. Likely fix: normalize via filepath.ToSlash or use filepath.Join + string(os.PathSeparator) in assertions.

Assignment Analysis

Blame targets:

  • git blame -L 160,175 aibridge/internal/integrationtest/apidump_test.go
  • git blame -L 284,292 aibridge/internal/integrationtest/apidump_test.go

Recent file history (proxy due to tool constraints):

  • git log --oneline -10 --follow aibridge/internal/integrationtest/apidump_test.go
    • e00e8576 chore: move aibridge library code into coder repo (Paweł Banaszewski)

Assigning to the most recent maintainer of this test file.

Related Issues

None found in coder/internal.

Reproduction

go test ./aibridge/internal/integrationtest -run TestAPIDump -count=1

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions