From 29ecdbe8a9b3b707adb5a9d85ba87ac29a256da9 Mon Sep 17 00:00:00 2001 From: Ram Damera Date: Mon, 19 Jan 2026 19:39:24 +0530 Subject: [PATCH 1/3] Avoid resetting config options to nil on error Signed-off-by: Ram Damera --- settings/settings.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/settings/settings.go b/settings/settings.go index e7d9d5a..75d188e 100644 --- a/settings/settings.go +++ b/settings/settings.go @@ -116,16 +116,20 @@ func readConf(filename string) { } if gc.CacheLife != "" { - CacheLife, err = time.ParseDuration(gc.CacheLife) + cl, err := time.ParseDuration(gc.CacheLife) if err != nil { logger.Error(err) + } else { + CacheLife = cl } } if gc.LockFileMaxAge != "" { - LockFileMaxAge, err = time.ParseDuration(gc.LockFileMaxAge) + lfma, err := time.ParseDuration(gc.LockFileMaxAge) if err != nil { logger.Error(err) + } else { + LockFileMaxAge = lfma } } From ba7dee79d79ebbce4ca2da51e3dc183381de18f3 Mon Sep 17 00:00:00 2001 From: Ram Damera Date: Wed, 21 Jan 2026 13:36:30 +0530 Subject: [PATCH 2/3] Add tests for defaults in settings_test.go Signed-off-by: Ram Damera --- settings/settings_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/settings/settings_test.go b/settings/settings_test.go index fb41ddc..7cade73 100644 --- a/settings/settings_test.go +++ b/settings/settings_test.go @@ -16,7 +16,7 @@ func TestInitialize(t *testing.T) { if err != nil { t.Fatalf("error creating conf file: %v", err) } - content := []byte("archs: [noarch, x86_64, arm64]\ncachelife: 10m\nlockfilemaxage: 1h\nallowunsafeurl: true") + content := []byte("archs: [noarch, x86_64, arm64]\ncachelife: 10m\nlockfilemaxage: 1x\nallowunsafeurl: true") if _, err := f.Write(content); err != nil { t.Fatalf("error writing conf file: %v", err) } @@ -39,7 +39,7 @@ func TestInitialize(t *testing.T) { t.Errorf("settings.CacheLife got: %v, want: %v", got, want) } - if got, want := settings.LockFileMaxAge, 1*time.Hour; got != want { + if got, want := settings.LockFileMaxAge, 24*time.Hour; got != want { t.Errorf("settings.LockfileMaxAge got: %v, want: %v", got, want) } From c37538eecd337d89acf9419ca38304adc7c0e69e Mon Sep 17 00:00:00 2001 From: Ram Damera Date: Thu, 22 Jan 2026 12:25:26 +0530 Subject: [PATCH 3/3] Run checks in subtests Signed-off-by: Ram Damera --- settings/settings_test.go | 43 ++++++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/settings/settings_test.go b/settings/settings_test.go index 7cade73..9942131 100644 --- a/settings/settings_test.go +++ b/settings/settings_test.go @@ -30,20 +30,31 @@ func TestInitialize(t *testing.T) { t.Errorf("settings.Confirm got: %v, want: %v", got, want) } - wantArches := []string{"noarch", "x86_64", "arm64"} - if diff := cmp.Diff(wantArches, settings.Archs); diff != "" { - t.Errorf("settings.Archs unexpected diff (-want +got):\n%v", diff) - } - - if got, want := settings.CacheLife, 10*time.Minute; got != want { - t.Errorf("settings.CacheLife got: %v, want: %v", got, want) - } - - if got, want := settings.LockFileMaxAge, 24*time.Hour; got != want { - t.Errorf("settings.LockfileMaxAge got: %v, want: %v", got, want) - } - - if got, want := settings.AllowUnsafeURL, true; got != want { - t.Errorf("settings.AllowUnsafeURL got: %v, want: %v", got, want) - } + t.Run("Parsing Architectures", func(t *testing.T) { + wantArches := []string{"noarch", "x86_64", "arm64"} + if diff := cmp.Diff(wantArches, settings.Archs); diff != "" { + t.Errorf("settings.Archs unexpected diff (-want +got):\n%v", diff) + } + }) + + t.Run("Parsing CacheLife", func(t *testing.T) { + wantCacheLife := 10 * time.Minute + if got := settings.CacheLife; got != wantCacheLife { + t.Errorf("settings.CacheLife got: %v, want: %v", got, wantCacheLife) + } + }) + + t.Run("Parsing LockFileMaxAge", func(t *testing.T) { + wantLockFileMaxAge := 24 * time.Hour + if got := settings.LockFileMaxAge; got != wantLockFileMaxAge { + t.Errorf("settings.LockFileMaxAge got: %v, want: %v", got, wantLockFileMaxAge) + } + }) + + t.Run("Parsing AllowUnsafeURL", func(t *testing.T) { + wantAllowUnsafeURL := true + if got := settings.AllowUnsafeURL; got != wantAllowUnsafeURL { + t.Errorf("settings.AllowUnsafeURL got: %v, want: %v", got, wantAllowUnsafeURL) + } + }) }