Skip to content

Commit

Permalink
wsl: machine tests for ssh
Browse files Browse the repository at this point in the history
a couple of small corrections for the ssh tests on WSL.  we need to
check for a different os type and windows emits a warning in stderr.

Signed-off-by: Brent Baude <[email protected]>
  • Loading branch information
baude committed Sep 26, 2023
1 parent a2434a9 commit e4bfcfc
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions pkg/machine/e2e/ssh_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package e2e_test

import (
"github.com/containers/podman/v4/pkg/machine"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
. "github.com/onsi/gomega/gexec"
Expand Down Expand Up @@ -43,6 +44,7 @@ var _ = Describe("podman machine ssh", func() {
})

It("ssh to running machine and check os-type", func() {
wsl := testProvider.VMType() == machine.WSLVirt
name := randomString()
i := new(initMachine)
session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withNow()).run()
Expand All @@ -53,13 +55,22 @@ var _ = Describe("podman machine ssh", func() {
sshSession, err := mb.setName(name).setCmd(ssh.withSSHCommand([]string{"cat", "/etc/os-release"})).run()
Expect(err).ToNot(HaveOccurred())
Expect(sshSession).To(Exit(0))
Expect(sshSession.outputToString()).To(ContainSubstring("Fedora CoreOS"))

if wsl {
Expect(sshSession.outputToString()).To(ContainSubstring("Fedora Linux"))
} else {
Expect(sshSession.outputToString()).To(ContainSubstring("Fedora CoreOS"))
}

// keep exit code
sshSession, err = mb.setName(name).setCmd(ssh.withSSHCommand([]string{"false"})).run()
Expect(err).ToNot(HaveOccurred())
Expect(sshSession).To(Exit(1))
Expect(sshSession.outputToString()).To(Equal(""))
Expect(sshSession.errorToString()).To(Equal(""))

// WSL will often emit an error message about the ssh key and keychains
if !wsl {
Expect(sshSession.errorToString()).To(Equal(""))
}
})
})

0 comments on commit e4bfcfc

Please sign in to comment.