mirror of
https://github.com/containers/podman.git
synced 2025-10-17 19:24:04 +08:00
e2e: redefine ExitWithError() to require exit code
...and an optional error-message string, to be checked against stderr. This is a starting point and baby-steps progress toward #18188. There are 249 ExitWithError() checks in test/e2e. It will take weeks to fix them all. This commit enables new functionality: Expect(ExitWithError(125, "expected substring")) ...while also allowing the current empty-args form. Once all 249 empty-args uses are modernized, the matcher code will be cleaned up. I expect it will take several months of light effort to get all e2e tests transitioned to the new form. I am choosing to do so in pieces, for (relative) ease of review. This PR: 1) makes the initial changes described above; and 2) updates a small subset of e2e _test.go files such that: a) ExitWithError() is given an exit code and error string; and b) Exit(Nonzero) is changed to ExitWithError(Nonzero, "string") (when possible) Signed-off-by: Ed Santiago <santiago@redhat.com>
This commit is contained in:
@ -20,8 +20,7 @@ var _ = Describe("Podman commit", func() {
|
||||
|
||||
session := podmanTest.Podman([]string{"commit", "test1", "--change", "BOGUS=foo", "foobar.com/test1-image:latest"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session).Should(Exit(125))
|
||||
Expect(session.ErrorToString()).To(HaveSuffix(`applying changes: processing change "BOGUS foo": did not understand change instruction "BOGUS foo"`))
|
||||
Expect(session).Should(ExitWithError(125, `applying changes: processing change "BOGUS foo": did not understand change instruction "BOGUS foo"`))
|
||||
|
||||
session = podmanTest.Podman([]string{"commit", "test1", "foobar.com/test1-image:latest"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
@ -47,8 +46,7 @@ var _ = Describe("Podman commit", func() {
|
||||
// commit second time with --quiet, should not write to stderr
|
||||
session = podmanTest.Podman([]string{"commit", "--quiet", "bogus", "foobar.com/test1-image:latest"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session).Should(Exit(125))
|
||||
Expect(session.ErrorToString()).To(Equal("Error: no container with name or ID \"bogus\" found: no such container"))
|
||||
Expect(session).Should(ExitWithError(125, `no container with name or ID "bogus" found: no such container`))
|
||||
})
|
||||
|
||||
It("podman commit single letter container", func() {
|
||||
@ -346,7 +344,7 @@ var _ = Describe("Podman commit", func() {
|
||||
|
||||
session = podmanTest.Podman([]string{"run", "foobar.com/test1-image:latest", "cat", "/run/secrets/mysecret"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session).To(ExitWithError())
|
||||
Expect(session).To(ExitWithError(1, "can't open '/run/secrets/mysecret': No such file or directory"))
|
||||
|
||||
})
|
||||
|
||||
|
Reference in New Issue
Block a user