# 'go mod init' should not recommend 'go mod tidy' in an empty directory # (one that contains no non-hidden .go files or subdirectories). cd empty go mod init m ! stderr tidy cd .. # 'go mod init' should recommend 'go mod tidy' if the directory has a .go file. cd pkginroot go mod init m stderr '^go: to add module requirements and sums:\n\tgo mod tidy$' cd .. # 'go mod init' should recommend 'go mod tidy' if the directory has a # subdirectory. We don't walk the tree to see if it has .go files. cd subdir go mod init m stderr '^go: to add module requirements and sums:\n\tgo mod tidy$' cd .. -- empty/empty.txt -- Not a .go file. Still counts as an empty project. -- empty/.hidden/empty.go -- File in hidden directory. Still as an empty project. -- empty/_hidden/empty.go -- File in hidden directory. Still as an empty project. -- pkginroot/hello.go -- package vendorimport -- subdir/sub/empty.txt -- Subdirectory doesn't need to contain a package.