Skip to content

Re-enable Windows and Linux native tests on matching hosts - #139

Draft
samhill303 wants to merge 5 commits into
mainfrom
sh/enable-native-tests
Draft

Re-enable Windows and Linux native tests on matching hosts#139
samhill303 wants to merge 5 commits into
mainfrom
sh/enable-native-tests

Conversation

@samhill303

Copy link
Copy Markdown
Member

Draft attempt to get windows and linux working in CI

Fixes #

Summary

Implementation notes

Testing

  • Built the project and ran its test suite locally
  • Added or updated tests covering this change
  • Verified by hand

Platforms verified

User-facing impact

  • Internal only — no API, behavior, or build configuration changes for users
  • User-facing change
  • Breaking change

Documentation

  • Docs updated where this change affects them (README, API docs, samples)
  • Agent instructions updated (CLAUDE.md / AGENTS.md), if the repo has them
  • No documentation changes needed

Screenshots or recordings

@samhill303
samhill303 marked this pull request as draft September 2, 2026 17:34
The three databasePathRemoves* tests fail on mingwX64. They were added in
f59c6b1 along with a mechanical port of the file:// handling to all three
File.kt copies, but the mingw tests have never run, so the port was never
checked against a Windows host.

mingw's File sets separatorChar to a back slash, and both fixSlashes and
join compared against it directly. Forward slashes were therefore not
separators: "//tmp//" collapsed to nothing, and join saw no trailing
separator and inserted one, so File("//tmp//", "testdb") produced
"//tmp//\testdb".

Windows accepts either slash direction, so treat both as separators and
normalize to separatorChar. Paths built from USERPROFILE are unaffected as
they already use back slashes; only inputs that previously produced mixed
garbage change.

fixSlashes also reused the original string whenever the length was
unchanged. That held when the only edits were collapsing and truncating,
but rewriting slashes in place keeps the length, so drop the shortcut and
always rebuild.

The tests asserted POSIX separators. Derive the expected separator from
Platform.osFamily so they assert the same normalization on every host.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant