blob: be114159a1fbf7475fc1fba69ff18bae2e7ac0a1 [file] [log] [blame]
go mod vendor
cmp vendor/example.com/a/samedir_embed.txt a/samedir_embed.txt
cmp vendor/example.com/a/subdir/embed.txt a/subdir/embed.txt
cmp vendor/example.com/a/subdir/test/embed.txt a/subdir/test/embed.txt
cmp vendor/example.com/a/subdir/test/xtest/embed.txt a/subdir/test/xtest/embed.txt
cd broken_no_matching_files
! go mod vendor
stderr 'go mod vendor: pattern foo.txt: no matching files found'
cd ../broken_bad_pattern
! go mod vendor
stderr 'go mod vendor: pattern ../foo.txt: invalid pattern syntax'
# matchPotentialSourceFile prunes out tests and unbuilt code.
# Make sure that they are vendored if they are embedded files.
cd ../embed_unbuilt
go mod vendor
cmp vendor/example.com/dep/unbuilt.go dep/unbuilt.go
cmp vendor/example.com/dep/dep_test.go dep/dep_test.go
! exists vendor/example.com/dep/not_embedded_unbuilt.go
! exists vendor/example.com/dep/not_embedded_dep_test.go
-- go.mod --
module example.com/foo
go 1.16
require (
example.com/a v0.1.0
)
replace (
example.com/a v0.1.0 => ./a
)
-- foo.go --
package main
import (
"fmt"
"example.com/a"
)
func main() {
fmt.Println(a.Str())
}
-- a/go.mod --
module example.com/a
-- a/a.go --
package a
import _ "embed"
//go:embed samedir_embed.txt
var sameDir string
//go:embed subdir/embed.txt
var subDir string
func Str() string {
return sameDir + subDir
}
-- a/a_test.go --
package a
import _ "embed"
//go:embed subdir/test/embed.txt
var subderTest string
-- a/a_x_test.go --
package a_test
import _ "embed"
//go:embed subdir/test/xtest/embed.txt
var subdirXtest string
-- a/samedir_embed.txt --
embedded file in same directory as package
-- a/subdir/embed.txt --
embedded file in subdirectory of package
-- a/subdir/test/embed.txt --
embedded file of test in subdirectory of package
-- a/subdir/test/xtest/embed.txt --
embedded file of xtest in subdirectory of package
-- broken_no_matching_files/go.mod --
module example.com/broken
go 1.16
require (
example.com/brokendep v0.1.0
)
replace (
example.com/brokendep v0.1.0 => ./brokendep
)
-- broken_no_matching_files/f.go --
package broken
import _ "example.com/brokendep"
func F() {}
-- broken_no_matching_files/brokendep/go.mod --
module example.com/brokendep
go 1.16
-- broken_no_matching_files/brokendep/f.go --
package brokendep
import _ "embed"
//go:embed foo.txt
var foo string
-- broken_bad_pattern/go.mod --
module example.com/broken
go 1.16
require (
example.com/brokendep v0.1.0
)
replace (
example.com/brokendep v0.1.0 => ./brokendep
)
-- broken_bad_pattern/f.go --
package broken
import _ "example.com/brokendep"
func F() {}
-- broken_bad_pattern/brokendep/go.mod --
module example.com/brokendep
go 1.16
-- broken_bad_pattern/brokendep/f.go --
package brokendep
import _ "embed"
//go:embed ../foo.txt
var foo string
-- embed_unbuilt/go.mod --
module example.com/foo
go 1.16
require (
example.com/dep v0.1.0
)
replace (
example.com/dep v0.1.0 => ./dep
)
-- embed_unbuilt/foo.go --
package a
import _ "example.com/dep"
func F() {}
-- embed_unbuilt/dep/go.mod --
module example.com/dep
go 1.16
-- embed_unbuilt/dep/dep.go --
package dep
import _ "embed"
//go:embed unbuilt.go
var unbuilt string
//go:embed dep_test.go
var depTest string
-- embed_unbuilt/dep/unbuilt.go --
// +build ignore
package dep
-- embed_unbuilt/dep/not_embedded_unbuilt.go --
// +build ignore
package dep
-- embed_unbuilt/dep/dep_test.go --
package dep
-- embed_unbuilt/dep/not_embedded_dep_test.go --
package dep