|  |  |  | # Note that we need bar_test too. | 
					
						
							|  |  |  | env GOPRIVATE=test/bar,test/bar_test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # build the test binary | 
					
						
							|  |  |  | garble test -c | 
					
						
							|  |  |  | binsubstr bar.test$exe 'TestFoo' 'TestSeparateFoo' | 
					
						
							|  |  |  | ! binsubstr bar.test$exe 'ImportedVar' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # run the tests | 
					
						
							|  |  |  | exec ./bar.test -test.v | 
					
						
							|  |  |  | stdout 'PASS.*TestFoo' | 
					
						
							|  |  |  | stdout 'PASS.*TestSeparateFoo' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | [short] stop # no need to verify this with -short | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # verify with regular cmd/go | 
					
						
							|  |  |  | exec go test -v | 
					
						
							|  |  |  | stdout 'PASS.*TestFoo' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | -- go.mod -- | 
					
						
							|  |  |  | module test/bar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | go 1.15 | 
					
						
							|  |  |  | -- bar.go -- | 
					
						
							|  |  |  | package bar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func Foo() string { return "Foo" } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var ImportedVar = "imported var value" | 
					
						
							|  |  |  | -- bar_test.go -- | 
					
						
							|  |  |  | package bar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import "testing" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func TestFoo(t *testing.T) { | 
					
						
							|  |  |  | 	t.Log(ImportedVar) | 
					
						
							|  |  |  | 	if Foo() != "Foo" { | 
					
						
							|  |  |  | 		t.FailNow() | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | -- bar_separate_test.go -- | 
					
						
							|  |  |  | package bar_test | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"testing" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	"test/bar" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func TestSeparateFoo(t *testing.T) { | 
					
						
							|  |  |  | 	t.Log(bar.ImportedVar) | 
					
						
							|  |  |  | 	if bar.Foo() != "Foo" { | 
					
						
							|  |  |  | 		t.FailNow() | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | -- main_test.go -- | 
					
						
							|  |  |  | package bar | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"os" | 
					
						
							|  |  |  | 	"testing" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func TestMain(m *testing.M) { | 
					
						
							|  |  |  | 	os.Exit(m.Run()) | 
					
						
							|  |  |  | } |