cli
cli copied to clipboard
fix: cross-platform test compatibility
This PR fixes various cross-platform compatibility issues in tests, particularly between Windows and Unix-like systems.
Changes Made:
- Path Separator Handling:
- Added
filepath.ToSlash()for error message comparison and import map paths indeploy_test.go - Added
filepath.ToSlash()conversion for URL paths in storage operations - Normalized path comparisons using
filepath.ToSlash()for cross-platform compatibility indeno_test.go
- Line Ending Normalization:
- Added comprehensive string normalization for form comparisons in
upload_test.go:- Path separator normalization
- Line ending normalization (\r\n -> \n)
- Consecutive newline normalization
- Backslash escaping normalization
- Added line ending normalization for diff comparisons in
squash_test.go - Added
normalizeLineEndings()helper function inauth_test.goandtoken_test.go
- Test Data Handling:
- Replaced testImports with in-memory filesystem setup using
afero.NewMemMapFs() - Added proper path handling for test file creation
Testing:
- Verified tests pass on both Windows and Unix systems
- Ensured URL paths consistently use forward slashes
- Confirmed line ending normalization works across platforms
Related Issue:
Fixes #3158