Files
garble/testdata/scripts/ldflags.txt
pagran 90fa325da7 Rewrite renaming logic for private names and reduce length of public names (#135)
1. Now private names are obfuscated based on the counter in scope of the package.
2. The length of public names is reduced to 4 bytes.
2020-09-12 17:36:16 +03:00

43 lines
1.0 KiB
Plaintext

# Note the proper domain, since the dot adds an edge case.
env GOPRIVATE=domain.test/main
garble build -ldflags='-X=main.unexportedVersion=v1.0.0 -X=domain.test/main/imported.ExportedVar=replaced'
exec ./main
cmp stderr main.stderr
! binsubstr main$exe 'unexportedVersion'
[short] stop # no need to verify this with -short
garble -tiny build -ldflags='-X=main.unexportedVersion=v1.0.0 -X=domain.test/main/imported.ExportedVar=replaced'
exec ./main
cmp stderr main.stderr
! binsubstr main$exe 'unexportedVersion'
exec go build -ldflags='-X=main.unexportedVersion=v1.0.0 -X=domain.test/main/imported.ExportedVar=replaced'
exec ./main
cmp stderr main.stderr
binsubstr main$exe 'unexportedVersion'
-- go.mod --
module domain.test/main
-- main.go --
package main
import (
"domain.test/main/imported"
)
var unexportedVersion = "unknown"
func main() {
println("version:", unexportedVersion)
println("var:", imported.ExportedVar)
}
-- imported/imported.go --
package imported
var ExportedVar = "original"
-- main.stderr --
version: v1.0.0
var: replaced