summaryrefslogtreecommitdiff
path: root/pkg/machine/e2e/config.go
diff options
context:
space:
mode:
authorcdoern <cbdoer23@g.holycross.edu>2022-04-12 22:21:33 -0400
committercdoern <cbdoer23@g.holycross.edu>2022-04-27 20:12:43 -0400
commitc721acf082a720ea6ccdf6bc4726215754239237 (patch)
tree21a661db172d728640c29b4e584eb7322c25e921 /pkg/machine/e2e/config.go
parent5ac00a7287e4a9e6292f4a6ca5dfa9a02e5ca907 (diff)
downloadpodman-c721acf082a720ea6ccdf6bc4726215754239237.tar.gz
podman-c721acf082a720ea6ccdf6bc4726215754239237.tar.bz2
podman-c721acf082a720ea6ccdf6bc4726215754239237.zip
podman machine starting test
add a test to make sure machines are not running while still starting in order to do this, I added a parameter to `run()` to delineate whether or not the command should block or not. The non blocking run allows for tests to get and use the `machineSession` pointer and check the exit code to see if it has finished. also fix a bug (created by #13996) that before started, the machines would always say "LastUp" and "Created" Less than one second ago Signed-off-by: cdoern <cbdoer23@g.holycross.edu>
Diffstat (limited to 'pkg/machine/e2e/config.go')
-rw-r--r--pkg/machine/e2e/config.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/pkg/machine/e2e/config.go b/pkg/machine/e2e/config.go
index 7d75ca6bc..c17b840d3 100644
--- a/pkg/machine/e2e/config.go
+++ b/pkg/machine/e2e/config.go
@@ -131,7 +131,7 @@ func (m *machineTestBuilder) setTimeout(timeout time.Duration) *machineTestBuild
func (mb *machineTestBuilder) toQemuInspectInfo() ([]qemuMachineInspectInfo, int, error) {
args := []string{"machine", "inspect"}
args = append(args, mb.names...)
- session, err := runWrapper(mb.podmanBinary, args, defaultTimeout)
+ session, err := runWrapper(mb.podmanBinary, args, defaultTimeout, true)
if err != nil {
return nil, -1, err
}
@@ -140,11 +140,15 @@ func (mb *machineTestBuilder) toQemuInspectInfo() ([]qemuMachineInspectInfo, int
return mii, session.ExitCode(), err
}
+func (m *machineTestBuilder) runWithoutWait() (*machineSession, error) {
+ return runWrapper(m.podmanBinary, m.cmd, m.timeout, false)
+}
+
func (m *machineTestBuilder) run() (*machineSession, error) {
- return runWrapper(m.podmanBinary, m.cmd, m.timeout)
+ return runWrapper(m.podmanBinary, m.cmd, m.timeout, true)
}
-func runWrapper(podmanBinary string, cmdArgs []string, timeout time.Duration) (*machineSession, error) {
+func runWrapper(podmanBinary string, cmdArgs []string, timeout time.Duration, wait bool) (*machineSession, error) {
if len(os.Getenv("DEBUG")) > 0 {
cmdArgs = append([]string{"--log-level=debug"}, cmdArgs...)
}
@@ -156,8 +160,10 @@ func runWrapper(podmanBinary string, cmdArgs []string, timeout time.Duration) (*
return nil, err
}
ms := machineSession{session}
- ms.waitWithTimeout(timeout)
- fmt.Println("output:", ms.outputToString())
+ if wait {
+ ms.waitWithTimeout(timeout)
+ fmt.Println("output:", ms.outputToString())
+ }
return &ms, nil
}