|
|
|
env GOPRIVATE=test/main
|
|
|
|
|
|
|
|
garble -debugdir ./test1 build
|
|
|
|
exists 'test1/test/main/imported/imported.go' 'test1/main/main.go'
|
|
|
|
! grep ImportedFunc $WORK/test1/test/main/imported/imported.go
|
|
|
|
! grep ImportedFunc $WORK/test1/main/main.go
|
|
|
|
! grep 'some comment' $WORK/test1/main/main.go
|
|
|
|
|
|
|
|
[short] stop
|
|
|
|
|
|
|
|
# Sources from previous builds should be deleted
|
|
|
|
cp $WORK/test1/main/main.go $WORK/test1/some_file_from_prev_build.go
|
|
|
|
|
|
|
|
garble -debugdir ./test1 build -v
|
|
|
|
! stderr 'test/main'
|
|
|
|
! exists $WORK/test1/some_file_from_prev_build.go
|
|
|
|
|
|
|
|
-- go.mod --
|
|
|
|
module test/main
|
|
|
|
|
|
|
|
go 1.15
|
|
|
|
-- main.go --
|
|
|
|
package main
|
|
|
|
|
|
|
|
import "test/main/imported" // some comment
|
|
|
|
|
|
|
|
type someType int // some comment
|
|
|
|
var someVar = 0
|
|
|
|
|
|
|
|
type someStruct struct {
|
testdata: make syntax.txt pass when offline
The test intended to use an extra module to be obfuscated, rsc.io/quote,
which we were bundling in the local proxy as well. Unfortunately, the
use of GOPRIVATE also meant that we did not actually fetch the module
from the proxy, and we would instead do a full roundtrip to the internet
to "git clone" the actual upstream repository.
To prevent that roundtrip, instead use a locally replaced module. This
fits the syntax.txt test too, since it's one more edge case that we want
to make sure works well with garble. Since rsc.io/quote is used in
another test, simply make up our own tiny module.
Reduces a 'go test -run Syntax/syntax' run with warm cache from ~5s to
~0.5s, thanks to removing the multiple roundtrips. A warm 'go test' run
still sits at ~6s, since we still need that much CPU time in total.
While at it, fix a staticcheck warning and fix inconsistent indentation
in a couple of tests.
5 years ago
|
|
|
someField int // some comment
|
|
|
|
}
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
imported.ImportedFunc()
|
|
|
|
}
|
|
|
|
|
|
|
|
-- imported/imported.go --
|
|
|
|
package imported
|
|
|
|
|
|
|
|
func ImportedFunc() {}
|