Skip to content

Commit c2e4328

Browse files
committed
Comprehensive fix for all errcheck warnings
- Fixed all unchecked defer cache.Close() calls in test files: * pkg/obcache/metrics_test.go * pkg/obcache/eviction_test.go * pkg/obcache/wrap_test.go * pkg/obcache/cache_redis_test.go - Fixed unchecked metricsExporter.Close() in pkg/obcache/cache.go All Close() calls now use explicit error ignoring with _ = for appropriate cleanup paths. This should resolve all remaining golangci-lint errcheck warnings.
1 parent ee6a3ec commit c2e4328

5 files changed

Lines changed: 22 additions & 22 deletions

File tree

pkg/obcache/cache.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ func (c *Cache) Close() error {
359359
c.metricsWg.Wait()
360360
}
361361
if c.metricsExporter != nil {
362-
c.metricsExporter.Close()
362+
_ = c.metricsExporter.Close() // Ignore error on shutdown
363363
}
364364
err = c.store.Close()
365365
})

pkg/obcache/cache_redis_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func TestCacheWithRedisStore(t *testing.T) {
3636
if err != nil {
3737
t.Fatalf("Failed to create Redis cache: %v", err)
3838
}
39-
defer cache.Close()
39+
defer func() { _ = cache.Close() }()
4040

4141
// Test basic operations
4242
testKey := "test-key"
@@ -124,7 +124,7 @@ func TestCacheWithRedisStoreAndHooks(t *testing.T) {
124124
if err != nil {
125125
t.Fatalf("Failed to create Redis cache with hooks: %v", err)
126126
}
127-
defer cache.Close()
127+
defer func() { _ = cache.Close() }()
128128

129129
testKey := "hooks-test"
130130

@@ -171,7 +171,7 @@ func TestWrappedFunctionWithRedisStore(t *testing.T) {
171171
if err != nil {
172172
t.Fatalf("Failed to create Redis cache: %v", err)
173173
}
174-
defer cache.Close()
174+
defer func() { _ = cache.Close() }()
175175

176176
callCount := 0
177177
// Note: Using float64 to avoid JSON serialization type conversion issues

pkg/obcache/eviction_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func TestEvictionStrategies(t *testing.T) {
4242
if err != nil {
4343
t.Fatalf("Failed to create cache: %v", err)
4444
}
45-
defer cache.Close()
45+
defer func() { _ = cache.Close() }()
4646

4747
testEvictionBehavior(t, cache, tc.evictionType)
4848
})
@@ -160,7 +160,7 @@ func TestEvictionWithWrappedFunctions(t *testing.T) {
160160
if err != nil {
161161
t.Fatalf("Failed to create cache: %v", err)
162162
}
163-
defer cache.Close()
163+
defer func() { _ = cache.Close() }()
164164

165165
callCount := 0
166166
expensiveFunc := func(x int) string {
@@ -232,7 +232,7 @@ func TestEvictionCallbacks(t *testing.T) {
232232
if err != nil {
233233
t.Fatalf("Failed to create cache: %v", err)
234234
}
235-
defer cache.Close()
235+
defer func() { _ = cache.Close() }()
236236

237237
t.Logf("Cache created with eviction type: %v", config.EvictionType)
238238

@@ -289,7 +289,7 @@ func TestEvictionStrategiesWithCleanup(t *testing.T) {
289289
if err != nil {
290290
t.Fatalf("Failed to create cache: %v", err)
291291
}
292-
defer cache.Close()
292+
defer func() { _ = cache.Close() }()
293293

294294
// Add entry with short TTL
295295
err = cache.Set("shortlived", "value", 20*time.Millisecond)

pkg/obcache/metrics_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ func TestMetricsIntegration(t *testing.T) {
176176
if err != nil {
177177
t.Fatalf("Failed to create cache with metrics: %v", err)
178178
}
179-
defer cache.Close()
179+
defer func() { _ = cache.Close() }()
180180

181181
// Perform cache operations
182182
_ = cache.Set("key1", "value1", time.Hour)
@@ -217,7 +217,7 @@ func TestMetricsPeriodicReporting(t *testing.T) {
217217
if err != nil {
218218
t.Fatalf("Failed to create cache with metrics: %v", err)
219219
}
220-
defer cache.Close()
220+
defer func() { _ = cache.Close() }()
221221

222222
// Perform some operations
223223
_ = cache.Set("key1", "value1", time.Hour)
@@ -264,7 +264,7 @@ func TestMetricsWithLabels(t *testing.T) {
264264
if err != nil {
265265
t.Fatalf("Failed to create cache with labeled metrics: %v", err)
266266
}
267-
defer cache.Close()
267+
defer func() { _ = cache.Close() }()
268268

269269
// Perform operation
270270
_ = cache.Set("key1", "value1", time.Hour)
@@ -292,7 +292,7 @@ func TestMetricsDisabled(t *testing.T) {
292292
if err != nil {
293293
t.Fatalf("Failed to create cache: %v", err)
294294
}
295-
defer cache.Close()
295+
defer func() { _ = cache.Close() }()
296296

297297
// Perform operations
298298
_ = cache.Set("key1", "value1", time.Hour)
@@ -318,7 +318,7 @@ func TestMetricsErrorHandling(t *testing.T) {
318318
if err != nil {
319319
t.Fatalf("Failed to create cache: %v", err)
320320
}
321-
defer cache.Close()
321+
defer func() { _ = cache.Close() }()
322322

323323
// Perform operations - should not panic even with export errors
324324
_ = cache.Set("key1", "value1", time.Hour)
@@ -482,7 +482,7 @@ func TestMetricsStatsInterface(t *testing.T) {
482482
if err != nil {
483483
t.Fatalf("Failed to create cache: %v", err)
484484
}
485-
defer cache.Close()
485+
defer func() { _ = cache.Close() }()
486486

487487
// Perform operations to generate stats
488488
_ = cache.Set("key1", "value1", time.Hour)
@@ -517,7 +517,7 @@ func BenchmarkMetricsOverhead(b *testing.B) {
517517
// Benchmark without metrics
518518
b.Run("NoMetrics", func(b *testing.B) {
519519
cache, _ := New(NewDefaultConfig())
520-
defer cache.Close()
520+
defer func() { _ = cache.Close() }()
521521

522522
b.ResetTimer()
523523
for i := 0; i < b.N; i++ {
@@ -537,7 +537,7 @@ func BenchmarkMetricsOverhead(b *testing.B) {
537537
Labels: make(metrics.Labels),
538538
})
539539
cache, _ := New(config)
540-
defer cache.Close()
540+
defer func() { _ = cache.Close() }()
541541

542542
b.ResetTimer()
543543
for i := 0; i < b.N; i++ {
@@ -556,7 +556,7 @@ func BenchmarkMetricsOverhead(b *testing.B) {
556556
Labels: make(metrics.Labels),
557557
})
558558
cache, _ := New(config)
559-
defer cache.Close()
559+
defer func() { _ = cache.Close() }()
560560

561561
b.ResetTimer()
562562
for i := 0; i < b.N; i++ {

pkg/obcache/wrap_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ func TestErrorCaching(t *testing.T) {
418418
if err != nil {
419419
t.Fatalf("Failed to create cache: %v", err)
420420
}
421-
defer cache.Close()
421+
defer func() { _ = cache.Close() }()
422422

423423
callCount := 0
424424
testFunc := func(shouldError bool) (int, error) {
@@ -436,7 +436,7 @@ func TestErrorCaching(t *testing.T) {
436436
if err != nil {
437437
t.Fatalf("Failed to create fresh cache: %v", err)
438438
}
439-
defer freshCache.Close()
439+
defer func() { _ = freshCache.Close() }()
440440

441441
wrapped := Wrap(freshCache, testFunc) // Default: don't cache errors
442442

@@ -490,7 +490,7 @@ func TestErrorCaching(t *testing.T) {
490490
if err != nil {
491491
t.Fatalf("Failed to create fresh cache: %v", err)
492492
}
493-
defer freshCache.Close()
493+
defer func() { _ = freshCache.Close() }()
494494

495495
wrapped := Wrap(freshCache, testFunc, WithErrorCaching())
496496

@@ -527,7 +527,7 @@ func TestErrorCaching(t *testing.T) {
527527
if err != nil {
528528
t.Fatalf("Failed to create fresh cache: %v", err)
529529
}
530-
defer freshCache.Close()
530+
defer func() { _ = freshCache.Close() }()
531531

532532
wrapped := Wrap(freshCache, testFunc, WithErrorTTL(50*time.Millisecond))
533533

@@ -569,7 +569,7 @@ func TestErrorCachingMultipleReturnValues(t *testing.T) {
569569
if err != nil {
570570
t.Fatalf("Failed to create cache: %v", err)
571571
}
572-
defer cache.Close()
572+
defer func() { _ = cache.Close() }()
573573

574574
callCount := 0
575575
testFunc := func(shouldError bool) (string, int, error) {

0 commit comments

Comments
 (0)