fix: Windows compatibility and flaky benchmark test

- Use cmd.exe /c to execute .bat/.cmd on Windows
- Set USERPROFILE alongside HOME for os.UserHomeDir()
- Use setTempDirEnv to set TEMP/TMP on Windows
- Replace chmod-based tests with cross-platform alternatives
- Fix concurrent speedup benchmark with fair comparison
- Add output/ to gitignore

Generated with SWE-Agent.ai

Co-Authored-By: SWE-Agent.ai <noreply@swe-agent.ai>
This commit is contained in:
cexll
2026-01-26 21:29:54 +08:00
parent c96193fca6
commit 2c0553794a
10 changed files with 65 additions and 78 deletions

View File

@@ -26,8 +26,7 @@ func compareCleanupStats(got, want CleanupStats) bool {
}
func TestLoggerCreatesFileWithPID(t *testing.T) {
tempDir := t.TempDir()
t.Setenv("TMPDIR", tempDir)
tempDir := setTempDirEnv(t, t.TempDir())
logger, err := NewLogger()
if err != nil {
@@ -46,8 +45,7 @@ func TestLoggerCreatesFileWithPID(t *testing.T) {
}
func TestLoggerWritesLevels(t *testing.T) {
tempDir := t.TempDir()
t.Setenv("TMPDIR", tempDir)
setTempDirEnv(t, t.TempDir())
logger, err := NewLogger()
if err != nil {
@@ -77,8 +75,7 @@ func TestLoggerWritesLevels(t *testing.T) {
}
func TestLoggerCloseStopsWorkerAndKeepsFile(t *testing.T) {
tempDir := t.TempDir()
t.Setenv("TMPDIR", tempDir)
setTempDirEnv(t, t.TempDir())
logger, err := NewLogger()
if err != nil {
@@ -104,8 +101,7 @@ func TestLoggerCloseStopsWorkerAndKeepsFile(t *testing.T) {
}
func TestLoggerConcurrentWritesSafe(t *testing.T) {
tempDir := t.TempDir()
t.Setenv("TMPDIR", tempDir)
setTempDirEnv(t, t.TempDir())
logger, err := NewLogger()
if err != nil {
@@ -390,12 +386,14 @@ func TestLoggerCleanupOldLogsPerformanceBound(t *testing.T) {
fakePaths := make([]string, fileCount)
for i := 0; i < fileCount; i++ {
name := fmt.Sprintf("codeagent-wrapper-%d.log", 10000+i)
fakePaths[i] = createTempLog(t, tempDir, name)
fakePaths[i] = filepath.Join(tempDir, name)
}
stubGlobLogFiles(t, func(pattern string) ([]string, error) {
return fakePaths, nil
})
stubFileStat(t, func(string) (os.FileInfo, error) { return fakeFileInfo{}, nil })
stubEvalSymlinks(t, func(path string) (string, error) { return path, nil })
stubProcessRunning(t, func(int) bool { return false })
stubProcessStartTime(t, func(int) time.Time { return time.Time{} })
@@ -542,8 +540,7 @@ func TestLoggerIsUnsafeFileSecurityChecks(t *testing.T) {
}
func TestLoggerPathAndRemove(t *testing.T) {
tempDir := t.TempDir()
t.Setenv("TMPDIR", tempDir)
setTempDirEnv(t, t.TempDir())
logger, err := NewLoggerWithSuffix("sample")
if err != nil {