X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fmain_sync_test.go;h=c0f9818d0f2f427317d5c006744fe8d7ab83067e;hb=9506effbe395b9be30ba2b34702c51478e8043e4;hp=16aad166cb5c854842453f89659901dfd959f3d7;hpb=35c082709bb4fae99e61debf65e146507f265fcc;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/main_sync_test.go b/cmd/safcm/main_sync_test.go index 16aad16..c0f9818 100644 --- a/cmd/safcm/main_sync_test.go +++ b/cmd/safcm/main_sync_test.go @@ -1,4 +1,4 @@ -// Copyright (C) 2021 Simon Ruderich +// Copyright (C) 2021-2023 Simon Ruderich // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ import ( "testing" "time" - ft "ruderich.org/simon/safcm/cmd/safcm-remote/sync/filetest" + ft "ruderich.org/simon/safcm/remote/sync/filetest" "ruderich.org/simon/safcm/testutil" ) @@ -35,7 +35,7 @@ func TestSyncSshEndToEnd(t *testing.T) { if err != nil { t.Fatal(err) } - defer os.Chdir(cwd) + defer os.Chdir(cwd) //nolint:errcheck var suffix string // Needs different options in sshd_config @@ -56,7 +56,7 @@ func TestSyncSshEndToEnd(t *testing.T) { if err != nil { t.Fatal(err) } - defer sshCmd.Process.Kill() + defer sshCmd.Process.Kill() //nolint:errcheck // Wait until SSH server is ready (up to 30 seconds) for i := 0; i < 30; i++ { @@ -348,6 +348,20 @@ executed 2 command(s): logRegexp := regexp.MustCompile(`^\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} `) detectedRegexp := regexp.MustCompile(`detected_\S+`) + t.Run("error before connection is established", func(t *testing.T) { + // Fake $PATH so safcm cannot find the `ssh` binary. + path := os.Getenv("PATH") + os.Setenv("PATH", "") + defer os.Setenv("PATH", path) + + cmd := exec.Command("../../../../../safcm", + "sync", "-n", "no-settings.example.org") + _, err := cmd.CombinedOutput() + if err == nil { + t.Errorf("err = nil") + } + }) + for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { if tc.remove {