示例#1
0
func waitOrFail(t *testing.T, child *gexpect.ExpectSubprocess, shouldSucceed bool) {
	err := child.Wait()
	switch {
	case !shouldSucceed && err == nil:
		t.Fatalf("Expected test to fail but it didn't\nOutput:\n%s", child.Collect())
	case shouldSucceed && err != nil:
		t.Fatalf("rkt didn't terminate correctly: %v\nOutput:\n%s", err, child.Collect())
	case err != nil && err.Error() != "exit status 1":
		t.Fatalf("rkt terminated with unexpected error: %v\nOutput:\n%s", err, child.Collect())
	}
}
示例#2
0
func expectCommon(p *gexpect.ExpectSubprocess, searchString string, timeout time.Duration) error {
	var err error

	p.Capture()
	if timeout == 0 {
		err = p.Expect(searchString)
	} else {
		err = p.ExpectTimeout(searchString, timeout)
	}
	if err != nil {
		return fmt.Errorf(string(p.Collect()))
	}

	return nil
}
示例#3
0
func expectRegexTimeoutWithOutput(p *gexpect.ExpectSubprocess, searchPattern string, timeout time.Duration) ([]string, string, error) {
	return p.ExpectTimeoutRegexFindWithOutput(searchPattern, timeout)
}
示例#4
0
func expectRegexWithOutput(p *gexpect.ExpectSubprocess, searchPattern string) ([]string, string, error) {
	return p.ExpectRegexFindWithOutput(searchPattern)
}
示例#5
0
func (a *GoroutineAssistant) WaitOrFail(child *gexpect.ExpectSubprocess) {
	err := child.Wait()
	if err != nil {
		a.Fatalf("rkt didn't terminate correctly: %v", err)
	}
}