summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/snonux/sync_test.go47
1 files changed, 23 insertions, 24 deletions
diff --git a/cmd/snonux/sync_test.go b/cmd/snonux/sync_test.go
index 93c9233..b8e8701 100644
--- a/cmd/snonux/sync_test.go
+++ b/cmd/snonux/sync_test.go
@@ -31,7 +31,8 @@ func TestSplitAndTrim(t *testing.T) {
}
func TestResolveSyncConfig_defaults(t *testing.T) {
- t.Parallel()
+ unsetEnv(t, "SNONUX_SYNC_TARGETS")
+ unsetEnv(t, "SNONUX_SYNC_REMOTE_DIR")
cfg := &config.Config{}
resolveSyncConfig(cfg)
@@ -45,12 +46,8 @@ func TestResolveSyncConfig_defaults(t *testing.T) {
}
func TestResolveSyncConfig_envTargets(t *testing.T) {
- t.Parallel()
-
- orig := os.Getenv("SNONUX_SYNC_TARGETS")
- defer os.Setenv("SNONUX_SYNC_TARGETS", orig)
-
- os.Setenv("SNONUX_SYNC_TARGETS", "h1, h2 ,h3")
+ t.Setenv("SNONUX_SYNC_TARGETS", "h1, h2 ,h3")
+ unsetEnv(t, "SNONUX_SYNC_REMOTE_DIR")
cfg := &config.Config{}
resolveSyncConfig(cfg)
want := []string{"h1", "h2", "h3"}
@@ -60,12 +57,8 @@ func TestResolveSyncConfig_envTargets(t *testing.T) {
}
func TestResolveSyncConfig_envRemoteDir(t *testing.T) {
- t.Parallel()
-
- orig := os.Getenv("SNONUX_SYNC_REMOTE_DIR")
- defer os.Setenv("SNONUX_SYNC_REMOTE_DIR", orig)
-
- os.Setenv("SNONUX_SYNC_REMOTE_DIR", "/custom/path/")
+ unsetEnv(t, "SNONUX_SYNC_TARGETS")
+ t.Setenv("SNONUX_SYNC_REMOTE_DIR", "/custom/path/")
cfg := &config.Config{}
resolveSyncConfig(cfg)
if cfg.SyncRemoteDir != "/custom/path/" {
@@ -74,17 +67,8 @@ func TestResolveSyncConfig_envRemoteDir(t *testing.T) {
}
func TestResolveSyncConfig_flagsOverrideEnv(t *testing.T) {
- t.Parallel()
-
- origTargets := os.Getenv("SNONUX_SYNC_TARGETS")
- origDir := os.Getenv("SNONUX_SYNC_REMOTE_DIR")
- defer func() {
- os.Setenv("SNONUX_SYNC_TARGETS", origTargets)
- os.Setenv("SNONUX_SYNC_REMOTE_DIR", origDir)
- }()
-
- os.Setenv("SNONUX_SYNC_TARGETS", "from-env")
- os.Setenv("SNONUX_SYNC_REMOTE_DIR", "/env/dir/")
+ t.Setenv("SNONUX_SYNC_TARGETS", "from-env")
+ t.Setenv("SNONUX_SYNC_REMOTE_DIR", "/env/dir/")
cfg := &config.Config{
SyncTargets: []string{"from-flag"},
@@ -99,3 +83,18 @@ func TestResolveSyncConfig_flagsOverrideEnv(t *testing.T) {
t.Fatalf("flag dir should override env: got %q", cfg.SyncRemoteDir)
}
}
+
+func unsetEnv(t *testing.T, key string) {
+ t.Helper()
+ orig, hadOrig := os.LookupEnv(key)
+ if err := os.Unsetenv(key); err != nil {
+ t.Fatalf("unset %s: %v", key, err)
+ }
+ t.Cleanup(func() {
+ if hadOrig {
+ _ = os.Setenv(key, orig)
+ } else {
+ _ = os.Unsetenv(key)
+ }
+ })
+}