mirror of
https://github.com/httprunner/httprunner.git
synced 2026-07-06 23:11:21 +08:00
feat: print hrp runner exit code
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user