Skip to content

Commit

Permalink
Merge f59c456 into 033a402
Browse files Browse the repository at this point in the history
  • Loading branch information
valaparthvi authored Apr 4, 2023
2 parents 033a402 + f59c456 commit 42de3b8
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
9 changes: 8 additions & 1 deletion tests/helper/helper_dev.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,27 +176,34 @@ func (o DevSession) Kill() {

// Stop a Dev session cleanly (equivalent as hitting Ctrl-c)
func (o *DevSession) Stop() {
if o.session == nil {
return
}
if o.console != nil {
err := o.console.Close()
gomega.Expect(err).NotTo(gomega.HaveOccurred())
}
if o.stopped {
return
}

err := terminateProc(o.session)
gomega.Expect(err).NotTo(gomega.HaveOccurred())
o.stopped = true
}

func (o *DevSession) PressKey(p byte) {
if o.console == nil {
if o.console == nil || o.session == nil {
return
}
_, err := o.console.Write([]byte{p})
Expect(err).ToNot(HaveOccurred())
}

func (o DevSession) WaitEnd() {
if o.session == nil {
return
}
o.session.Wait(3 * time.Minute)
}

Expand Down
14 changes: 12 additions & 2 deletions tests/helper/helper_run.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,13 @@ func CmdRunner(program string, args ...string) *gexec.Session {
return session
}

// WaitForOutputToContain waits for the session stdout output to contain a particular substring
// WaitForOutputToContain waits for the session stdout output to contain a particular substring;
// if the session exits, it checks for the substring and returns early
func WaitForOutputToContain(substring string, timeoutInSeconds int, intervalInSeconds int, session *gexec.Session) {

Eventually(func() string {
if session.ExitCode() != -1 {
Expect(string(session.Out.Contents())).To(ContainSubstring(substring), "session exited, but substring not found")
}
contents := string(session.Out.Contents())
return contents
}, timeoutInSeconds, intervalInSeconds).Should(ContainSubstring(substring))
Expand All @@ -59,15 +62,22 @@ func WaitForOutputToContainOne(substrings []string, timeoutInSeconds int, interv
matchers = append(matchers, ContainSubstring(substring))
}
Eventually(func() string {
if session.ExitCode() != -1 {
Expect(string(session.Out.Contents())).To(SatisfyAny(matchers...), "session exited, but substring not found")
}
contents := string(session.Out.Contents())
return contents
}, timeoutInSeconds, intervalInSeconds).Should(SatisfyAny(matchers...))
}

// WaitForErroutToContain waits for the session stdout output to contain a particular substring
// if the session exits, it checks for the substring and returns early
func WaitForErroutToContain(substring string, timeoutInSeconds int, intervalInSeconds int, session *gexec.Session) {

Eventually(func() string {
if session.ExitCode() != -1 {
Expect(string(session.Err.Contents())).To(ContainSubstring(substring), "session exited, but substring not found")
}
contents := string(session.Err.Contents())
return contents
}, timeoutInSeconds, intervalInSeconds).Should(ContainSubstring(substring))
Expand Down

0 comments on commit 42de3b8

Please sign in to comment.