func (s *FoundationS) TestSkip(c *gocheck.C) { helper := SkipTestHelper{} output := String{} gocheck.Run(&helper, &gocheck.RunConf{Output: &output}) if output.value != "" { c.Error("Skip() logged something:\n", output.value) } }
func (s *FoundationS) TestError(c *gocheck.C) { expectedLog := fmt.Sprintf("foundation_test.go:%d:\n"+ " c\\.Error\\(\"Error \", \"message!\"\\)\n"+ "\\.\\.\\. Error: Error message!\n\n", getMyLine()+1) c.Error("Error ", "message!") checkState(c, nil, &expectedState{ name: "Error(`Error `, `message!`)", failed: true, log: expectedLog, }) }
func (s *FoundationS) TestSucceedNow(c *gocheck.C) { defer (func() { if c.Failed() { c.Error("SucceedNow() didn't succeed the test") } if c.GetTestLog() != "" { c.Error("Something got logged:\n" + c.GetTestLog()) } })() c.Fail() c.SucceedNow() c.Log("SucceedNow() didn't stop the test") }
func (s *BootstrapS) TestMinLogger(c *gocheck.C) { var logger minLogger logger = log.New(os.Stderr, "", 0) logger = c logger.Output(0, "Hello there") expected := "\\[LOG\\] [.0-9]+ Hello there\n" output := c.GetTestLog() matched, err := regexp.MatchString(expected, output) if err != nil { c.Error("Bad expression: ", expected) } else if !matched { c.Error("Output() didn't log properly:\n", output) } }
func (s *FoundationS) TestSkipVerbose(c *gocheck.C) { helper := SkipTestHelper{} output := String{} gocheck.Run(&helper, &gocheck.RunConf{Output: &output, Verbose: true}) expected := "SKIP: foundation_test\\.go:[0-9]+: SkipTestHelper\\.TestFail" + " \\(Wrong platform or whatever\\)" matched, err := regexp.MatchString(expected, output.value) if err != nil { c.Error("Bad expression: ", expected) } else if !matched { c.Error("Skip() didn't log properly:\n", output.value) } }
func (s *FoundationS) TestExpectFailureSucceedVerbose(c *gocheck.C) { helper := ExpectFailureSucceedHelper{} output := String{} result := gocheck.Run(&helper, &gocheck.RunConf{Output: &output, Verbose: true}) expected := "" + "FAIL EXPECTED: foundation_test\\.go:[0-9]+:" + " ExpectFailureSucceedHelper\\.TestSucceed \\(It booms!\\)\t *[.0-9]+s\n" matched, err := regexp.MatchString(expected, output.value) if err != nil { c.Error("Bad expression: ", expected) } else if !matched { c.Error("ExpectFailure() didn't log properly:\n", output.value) } c.Assert(result.ExpectedFailures, gocheck.Equals, 1) }
func (s *FoundationS) TestExpectFailureFail(c *gocheck.C) { helper := ExpectFailureFailHelper{} output := String{} result := gocheck.Run(&helper, &gocheck.RunConf{Output: &output}) expected := "" + "^\n-+\n" + "FAIL: foundation_test\\.go:[0-9]+:" + " ExpectFailureFailHelper\\.TestFail\n\n" + "\\.\\.\\. Error: Test succeeded, but was expected to fail\n" + "\\.\\.\\. Reason: Bug #XYZ\n$" matched, err := regexp.MatchString(expected, output.value) if err != nil { c.Error("Bad expression: ", expected) } else if !matched { c.Error("ExpectFailure() didn't log properly:\n", output.value) } c.Assert(result.ExpectedFailures, gocheck.Equals, 0) }
func (s *FoundationS) TestFatalf(c *gocheck.C) { var line int defer (func() { if !c.Failed() { c.Error("Fatalf() didn't fail the test") } else { c.Succeed() expected := fmt.Sprintf("foundation_test.go:%d:\n"+ " c.Fatalf(\"Die %%s!\", \"now\")\n"+ "... Error: Die now!\n\n", line) if c.GetTestLog() != expected { c.Error("Incorrect log:", c.GetTestLog()) } } })() line = getMyLine() + 1 c.Fatalf("Die %s!", "now") c.Log("Fatalf() didn't stop the test") }
func (s *EmbeddedInternalS) TestMethod(c *gocheck.C) { c.Error("TestMethod() of the embedded type was called!?") }
func (s *SkipTestHelper) TestFail(c *gocheck.C) { c.Skip("Wrong platform or whatever") c.Error("Boom!") }
func (s *ExpectFailureSucceedHelper) TestSucceed(c *gocheck.C) { c.ExpectFailure("It booms!") c.Error("Boom!") }