ROOTPLOIT
Server: LiteSpeed
System: Linux in-mum-web1878.main-hosting.eu 5.14.0-570.21.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 11 07:22:35 EDT 2025 x86_64
User: u435929562 (435929562)
PHP: 7.4.33
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/golang/1.22.0/src/cmd/go/testdata/script/test_fail_newline.txt
[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)
}