]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - cmd/safcm/sync.go
tests: add very basic end-to-end test with real ssh server
[safcm/safcm.git] / cmd / safcm / sync.go
index 238ed62ae5e50f5f3516847817363a3bf894f8b7..98b118ed821d2224bf4f7e77e0ed002b368d9df3 100644 (file)
@@ -76,6 +76,8 @@ func MainSync(args []string) error {
                "hide successful, non-trigger commands with no output from host changes listing")
        optionLog := flag.String("log", "info", "set log `level`; "+
                "levels: error, info, verbose, debug, debug2, debug3")
+       optionSshConfig := flag.String("sshconfig", "",
+               "`path` to ssh configuration file; used for tests")
 
        flag.CommandLine.Parse(args[2:])
 
@@ -110,6 +112,7 @@ func MainSync(args []string) error {
        cfg.DryRun = *optionDryRun
        cfg.Quiet = *optionQuiet
        cfg.LogLevel = level
+       cfg.SshConfig = *optionSshConfig
 
        toSync, err := hostsToSync(names, allHosts, allGroups)
        if err != nil {
@@ -364,7 +367,7 @@ func (s *Sync) Host(wg *sync.WaitGroup) error {
        }()
 
        // Connect to remote host
-       err := conn.DialSSH(s.host.SshUser, s.host.Name)
+       err := conn.DialSSH(s.host.SshUser, s.host.Name, s.config.SshConfig)
        if err != nil {
                return err
        }