[short] skip

# In package list mode, output is buffered.
# Check that a newline is printed after the buffer's contents.
cd fail
! go test .
! stderr .
stdout '^exitcode=1\n'
stdout '^FAIL\s+example/fail'

# In local directory mode output is streamed, so we don't know
# whether the test printed anything at all, so we print the exit code
# (just in case it failed without emitting any output at all),
# and that happens to add the needed newline as well.
! go test
! stderr .
stdout '^exitcode=1exit status 1\n'
stdout '^FAIL\s+example/fail'

# In package list mode, if the test passes the 'ok' message appears
# on its own line.
cd ../skip
go test -v .
! stderr .
stdout '^skipping\n'
stdout '^ok\s+example/skip'

# If the output is streamed and the test passes, we can't tell whether it ended
# in a partial line, and don't want to emit any extra output in the
# overwhelmingly common case that it did not.
# (In theory we could hook the 'os' package to report whether output
# was emitted and whether it ended in a newline, but that seems too invasive.)
go test
! stderr .
stdout '^skippingok\s+example/skip'


-- go.mod --
module example

go 1.18
-- fail/fail_test.go --
package fail

import (
	"os"
	"testing"
)

func TestMain(m *testing.M) {
	os.Stderr.WriteString("exitcode=1")
	os.Exit(1)
}
-- skip/skip_test.go --
package skip

import (
	"os"
	"testing"
)

func TestMain(m *testing.M) {
	os.Stderr.WriteString("skipping")
	os.Exit(0)
}
