pkg/terminal: Fix exit status

During a debug session if the process exited and then the user quit the
debug session, the process exit message would display again and Delve
would exit non-zero (specifically with exit code 1) despite nothing
going wrong.

This patch fixes this so that Delve exits with a clean 0 status and the
process exit message is not printed yet again.
This commit is contained in:
Derek Parker
2019-12-02 08:16:18 -08:00
committed by Alessandro Arzilli
parent 7e2660e7de
commit c119e40c6d
2 changed files with 25 additions and 9 deletions

View File

@ -281,6 +281,19 @@ func TestIssue411(t *testing.T) {
})
}
func TestExitStatus(t *testing.T) {
withTestTerminal("continuetestprog", t, func(term *FakeTerminal) {
term.Exec("continue")
status, err := term.handleExit()
if err != nil {
t.Fatal(err)
}
if status != 0 {
t.Fatalf("incorrect exit status, expected 0, got %d", status)
}
})
}
func TestScopePrefix(t *testing.T) {
if runtime.GOARCH == "arm64" {
t.Skip("arm64 does not support Stacktrace for now")