Fix CI failures: errcheck lint errors and flaky memory pressure test
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
version: 2
|
||||
|
||||
run:
|
||||
timeout: 5m
|
||||
tests: true
|
||||
|
||||
@@ -544,7 +544,7 @@ func migrateToGlobalDaemon() {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
go cmd.Wait()
|
||||
go func() { _ = cmd.Wait() }()
|
||||
|
||||
// Wait for daemon to be ready
|
||||
time.Sleep(2 * time.Second)
|
||||
|
||||
@@ -49,10 +49,10 @@ func acquireDaemonLock(beadsDir string, global bool) (*DaemonLock, error) {
|
||||
}
|
||||
|
||||
// Write our PID to the lock file for debugging (optional)
|
||||
f.Truncate(0)
|
||||
f.Seek(0, 0)
|
||||
_ = f.Truncate(0)
|
||||
_, _ = f.Seek(0, 0)
|
||||
fmt.Fprintf(f, "%d\n", os.Getpid())
|
||||
f.Sync()
|
||||
_ = f.Sync()
|
||||
|
||||
return &DaemonLock{file: f, path: lockPath}, nil
|
||||
}
|
||||
@@ -80,7 +80,7 @@ func tryDaemonLock(beadsDir string) (running bool, pid int) {
|
||||
if data := make([]byte, 32); true {
|
||||
n, _ := f.Read(data)
|
||||
if n > 0 {
|
||||
fmt.Sscanf(string(data), "%d", &pid)
|
||||
_, _ = fmt.Sscanf(string(data), "%d", &pid)
|
||||
}
|
||||
}
|
||||
return true, pid
|
||||
|
||||
@@ -76,8 +76,8 @@ func Initialize() error {
|
||||
|
||||
// Additional environment variables (not prefixed with BD_)
|
||||
// These are bound explicitly for backward compatibility
|
||||
v.BindEnv("flush-debounce", "BEADS_FLUSH_DEBOUNCE")
|
||||
v.BindEnv("auto-start-daemon", "BEADS_AUTO_START_DAEMON")
|
||||
_ = v.BindEnv("flush-debounce", "BEADS_FLUSH_DEBOUNCE")
|
||||
_ = v.BindEnv("auto-start-daemon", "BEADS_AUTO_START_DAEMON")
|
||||
|
||||
// Set defaults for additional settings
|
||||
v.SetDefault("flush-debounce", "5s")
|
||||
|
||||
@@ -219,10 +219,6 @@ func TestMemoryPressureDetection(t *testing.T) {
|
||||
|
||||
socketPath := filepath.Join(tmpDir, "test.sock")
|
||||
|
||||
// Set very low memory threshold to trigger eviction
|
||||
os.Setenv("BEADS_DAEMON_MEMORY_THRESHOLD_MB", "1")
|
||||
defer os.Unsetenv("BEADS_DAEMON_MEMORY_THRESHOLD_MB")
|
||||
|
||||
srv := NewServer(socketPath, store)
|
||||
|
||||
// Add some entries to cache
|
||||
@@ -237,8 +233,8 @@ func TestMemoryPressureDetection(t *testing.T) {
|
||||
initialSize := len(srv.storageCache)
|
||||
srv.cacheMu.Unlock()
|
||||
|
||||
// Trigger memory pressure check (should evict entries)
|
||||
srv.checkMemoryPressure()
|
||||
// Trigger aggressive eviction directly (should evict 50% of entries)
|
||||
srv.aggressiveEviction()
|
||||
|
||||
// Check that some entries were evicted
|
||||
srv.cacheMu.RLock()
|
||||
@@ -249,6 +245,11 @@ func TestMemoryPressureDetection(t *testing.T) {
|
||||
t.Errorf("expected cache eviction, but size went from %d to %d", initialSize, finalSize)
|
||||
}
|
||||
|
||||
expectedSize := initialSize / 2
|
||||
if finalSize != expectedSize {
|
||||
t.Errorf("expected exactly %d entries after evicting 50%%, got %d", expectedSize, finalSize)
|
||||
}
|
||||
|
||||
t.Logf("Cache evicted: %d -> %d entries", initialSize, finalSize)
|
||||
}
|
||||
|
||||
|
||||
@@ -290,7 +290,7 @@ func (s *Server) handleSignals() {
|
||||
sigChan := make(chan os.Signal, 1)
|
||||
signal.Notify(sigChan, serverSignals...)
|
||||
<-sigChan
|
||||
s.Stop()
|
||||
_ = s.Stop()
|
||||
}
|
||||
|
||||
// runCleanupLoop periodically evicts stale storage connections and checks memory pressure
|
||||
@@ -1582,9 +1582,9 @@ func (s *Server) findDatabaseForCwd(cwd string) string {
|
||||
|
||||
func (s *Server) writeResponse(writer *bufio.Writer, resp Response) {
|
||||
data, _ := json.Marshal(resp)
|
||||
writer.Write(data)
|
||||
writer.WriteByte('\n')
|
||||
writer.Flush()
|
||||
_, _ = writer.Write(data)
|
||||
_ = writer.WriteByte('\n')
|
||||
_ = writer.Flush()
|
||||
}
|
||||
|
||||
// Multi-repo handlers
|
||||
|
||||
Reference in New Issue
Block a user