feat: print hrp runner exit code

This commit is contained in:
lilong.129
2023-06-01 17:57:17 +08:00
parent a24e1ff251
commit 78d912fdc0

View File

@@ -191,7 +191,7 @@ func (r *HRPRunner) GenHTMLReport() *HRPRunner {
} }
// Run starts to execute one or multiple testcases. // Run starts to execute one or multiple testcases.
func (r *HRPRunner) Run(testcases ...ITestCase) error { func (r *HRPRunner) Run(testcases ...ITestCase) (err error) {
log.Info().Str("hrp_version", version.VERSION).Msg("start running") log.Info().Str("hrp_version", version.VERSION).Msg("start running")
event := sdk.EventTracking{ event := sdk.EventTracking{
Category: "RunAPITests", Category: "RunAPITests",
@@ -204,6 +204,11 @@ func (r *HRPRunner) Run(testcases ...ITestCase) error {
// record execution data to summary // record execution data to summary
s := newOutSummary() s := newOutSummary()
defer func() {
exitCode := code.GetErrorCode(err)
log.Info().Int("code", exitCode).Msg("hrp runner exit code")
}()
// load all testcases // load all testcases
testCases, err := LoadTestCases(testcases...) testCases, err := LoadTestCases(testcases...)
if err != nil { if err != nil {
@@ -221,7 +226,6 @@ func (r *HRPRunner) Run(testcases ...ITestCase) error {
}) })
}() }()
var runErr error
// run testcase one by one // run testcase one by one
for _, testcase := range testCases { for _, testcase := range testCases {
// each testcase has its own case runner // each testcase has its own case runner
@@ -245,20 +249,20 @@ func (r *HRPRunner) Run(testcases ...ITestCase) error {
err1 := sessionRunner.Start(it.Next()) err1 := sessionRunner.Start(it.Next())
if err1 != nil { if err1 != nil {
log.Error().Err(err1).Msg("[Run] run testcase failed") log.Error().Err(err1).Msg("[Run] run testcase failed")
runErr = err1 err = err1
} }
caseSummary, err2 := sessionRunner.GetSummary() caseSummary, err2 := sessionRunner.GetSummary()
s.appendCaseSummary(caseSummary) s.appendCaseSummary(caseSummary)
if err2 != nil { if err2 != nil {
log.Error().Err(err2).Msg("[Run] get summary failed") log.Error().Err(err2).Msg("[Run] get summary failed")
if err1 != nil { if err1 != nil {
runErr = errors.Wrap(err1, err2.Error()) err = errors.Wrap(err1, err2.Error())
} else { } else {
runErr = err2 err = err2
} }
} }
if runErr != nil && r.failfast { if err != nil && r.failfast {
break break
} }
} }
@@ -267,21 +271,19 @@ func (r *HRPRunner) Run(testcases ...ITestCase) error {
// save summary // save summary
if r.saveTests { if r.saveTests {
err := s.genSummary() if err := s.genSummary(); err != nil {
if err != nil {
return err return err
} }
} }
// generate HTML report // generate HTML report
if r.genHTMLReport { if r.genHTMLReport {
err := s.genHTMLReport() if err := s.genHTMLReport(); err != nil {
if err != nil {
return err return err
} }
} }
return runErr return err
} }
// NewCaseRunner creates a new case runner for testcase. // NewCaseRunner creates a new case runner for testcase.