...
1
2
3
4
5
6
7
8 package imports
9
10 import (
11 "context"
12 "testing"
13 )
14
15
16 func TestModWorkspaceVendoring(t *testing.T) {
17 mt := setup(t, nil, `
18 -- go.work --
19 go 1.22
20
21 use (
22 ./a
23 ./b
24 )
25 -- a/go.mod --
26 module example.com/a
27
28 go 1.22
29
30 require rsc.io/sampler v1.3.1
31 -- a/a.go --
32 package a
33
34 import _ "rsc.io/sampler"
35 -- b/go.mod --
36 module example.com/b
37
38 go 1.22
39 -- b/b.go --
40 package b
41 `, "")
42 defer mt.cleanup()
43
44
45 if _, err := mt.env.invokeGo(context.Background(), "work", "vendor"); err != nil {
46 t.Fatal(err)
47 }
48
49
50 mt.env.ClearModuleInfo()
51 mt.env.UpdateResolver(mt.env.resolver.ClearForNewScan())
52
53 mt.assertModuleFoundInDir("example.com/a", "a", `main/a$`)
54 mt.assertScanFinds("example.com/a", "a")
55 mt.assertModuleFoundInDir("example.com/b", "b", `main/b$`)
56 mt.assertScanFinds("example.com/b", "b")
57 mt.assertModuleFoundInDir("rsc.io/sampler", "sampler", `/vendor/`)
58 }
59
View as plain text