mirror of
https://github.com/cheat/cheat.git
synced 2026-03-07 03:03:32 +01:00
fix: make tests pass on macOS CI runners
- Resolve symlinks in temp dir paths (macOS /var -> /private/var) - Pre-create non-empty community dir to ensure clone fails reliably regardless of network access on CI runners Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -39,6 +39,12 @@ func TestConfigLocalCheatpath(t *testing.T) {
|
||||
}
|
||||
defer os.RemoveAll(tempDir)
|
||||
|
||||
// Resolve symlinks in temp dir path (macOS /var -> /private/var)
|
||||
tempDir, err = filepath.EvalSymlinks(tempDir)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to resolve temp dir symlinks: %v", err)
|
||||
}
|
||||
|
||||
// Save current working directory
|
||||
oldCwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
@@ -106,6 +112,12 @@ func TestConfigSymlinkResolution(t *testing.T) {
|
||||
}
|
||||
defer os.RemoveAll(tempDir)
|
||||
|
||||
// Resolve symlinks in temp dir path (macOS /var -> /private/var)
|
||||
tempDir, err = filepath.EvalSymlinks(tempDir)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to resolve temp dir symlinks: %v", err)
|
||||
}
|
||||
|
||||
// Create target directory
|
||||
targetDir := filepath.Join(tempDir, "target")
|
||||
err = os.Mkdir(targetDir, 0755)
|
||||
|
||||
@@ -78,6 +78,16 @@ cheatpaths:
|
||||
},
|
||||
}
|
||||
|
||||
// Pre-create a non-empty community dir so PlainClone fails reliably
|
||||
// (otherwise, on CI runners with network access, the clone succeeds)
|
||||
cloneBlocker := filepath.Join(tempDir, "conf2", "cheatsheets", "community")
|
||||
if err := os.MkdirAll(cloneBlocker, 0755); err != nil {
|
||||
t.Fatalf("failed to create clone blocker dir: %v", err)
|
||||
}
|
||||
if err := os.WriteFile(filepath.Join(cloneBlocker, ".gitkeep"), []byte(""), 0644); err != nil {
|
||||
t.Fatalf("failed to write clone blocker file: %v", err)
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
// Create stdin pipe
|
||||
|
||||
Reference in New Issue
Block a user