Skip to content

x/website: "How to Write Go Code" manual - top-level go test does not find tests #44460

@shamrin

Description

@shamrin

What version of Go are you using (go version)?

$ go version
go version go1.16 darwin/amd64

Does this issue reproduce with the latest release?

Yes.

What operating system and processor architecture are you using (go env)?

go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/user/Library/Caches/go-build"
GOENV="/Users/user/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/user/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/user/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/user/src/swanbase/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/n1/gz5vlp814xsdfq0ncffzgqcc0000gq/T/go-build3415797913=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

I followed "How to Write Go Code" manual, "Testing" section. The manual says:

Add a test to the morestrings package by creating the file $HOME/hello/morestrings/reverse_test.go containing the following Go code.
...
Then run the test with go test:

$ go test
PASS
ok  	example.com/user/morestrings 0.165s
$

However, go test doesn't work for the top folder:

$ go test
?       example.com/user/hello  [no test files]
$ pwd
/Users/user/src/hello
$ tree
.
├── go.mod
├── go.sum
├── hello
├── hello.go
└── morestrings
    ├── reverse.go
    └── reverse_test.go

What did you expect to see?

I expected go test to find tests in morestrings automatically. Alternatively, the manual should suggest one of:

  • go test ./morestrings
  • go test ./...
  • cd morestrings; go test

Metadata

Metadata

Assignees

No one assigned

    Labels

    DocumentationIssues describing a change to documentation.FrozenDueToAgeNeedsFixThe path to resolution is known, but the work has not been done.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions