# When we attempt to resolve an import that doesn't exist, we should not save
# hashes for downloaded modules.
# Verifies golang.org/issue/36260.
# TODO(golang.org/issue/26603): use 'go mod tidy -e' when implemented.
go list -e -mod=mod -tags=ignore ./noexist
! exists go.sum

# When an import is resolved successfully, we should only save hashes for
# the module that provides the package, not for other modules looked up.
# Verifies golang.org/issue/31580.
go get ./exist
grep '^example.com/join v1.1.0 h1:' go.sum
! grep '^example.com/join/subpkg' go.sum
cp go.sum go.list.sum
go mod tidy
cmp go.sum go.list.sum

-- go.mod --
module m

go 1.15

-- noexist/use.go --
// ignore tags prevents errors in 'go mod tidy'
// +build ignore

package use

import _ "example.com/join/subpkg/noexist"

-- exist/use.go --
package use

import _ "example.com/join/subpkg"
