fix #529: exit with code 7 when error was logged

This commit is contained in:
Denis Isaev 2019-06-10 10:45:36 +03:00 committed by Isaev Denis
parent 7274db714c
commit 4ba2155996
2 changed files with 14 additions and 3 deletions

View File

@ -415,13 +415,23 @@ func (e *Executor) setupExitCode(ctx context.Context) {
if ctx.Err() != nil {
e.exitCode = exitcodes.Timeout
e.log.Errorf("Deadline exceeded: try increase it by passing --deadline option")
return
}
if e.exitCode == exitcodes.Success &&
(os.Getenv("GL_TEST_RUN") == "1" || os.Getenv("FAIL_ON_WARNINGS") == "1") &&
len(e.reportData.Warnings) != 0 {
if e.exitCode != exitcodes.Success {
return
}
needFailOnWarnings := (os.Getenv("GL_TEST_RUN") == "1" || os.Getenv("FAIL_ON_WARNINGS") == "1")
if needFailOnWarnings && len(e.reportData.Warnings) != 0 {
e.exitCode = exitcodes.WarningInTest
return
}
if e.reportData.Error != "" {
// it's a case e.g. when typecheck linter couldn't parse and error and just logged it
e.exitCode = exitcodes.ErrorWasLogged
return
}
}

View File

@ -8,6 +8,7 @@ const (
Timeout = 4
NoGoFiles = 5
NoConfigFileDetected = 6
ErrorWasLogged = 7
)
type ExitError struct {