You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
garble/testdata/scripts/basic.txt

54 lines
1.1 KiB
Plaintext

# TODO: make this script run on mac and windows
# Check that the program works as expected without garble.
exec go build main.go
exec ./main
cmp stderr main.stderr
grep $WORK main
# The default build includes DWARF and the symbol table.
exec readelf --section-headers main
stdout 'debug_info'
stdout '\.symtab'
# The default build includes full non-trimmed paths.
grep $WORK main
# Check that we fail if the user forgot -trimpath.
! exec go build -a -toolexec=garble main.go
stderr 'should be used alongside -trimpath'
# Check that the simplest use of garble works.
exec go build -a -trimpath -toolexec=garble main.go
exec ./main
cmp stderr main.stderr
exec readelf --section-headers main
! stdout 'debug_info'
! stdout '\.symtab'
! grep $WORK main
! grep 'globalVar' main
! grep 'globalFunc' main
# Finally, check that the 'garble build' shortcut works.
# cp main main_old
garble build main.go
! grep 'globalVar' main
# cmp main main_old
-- main.go --
package main
var globalVar = "global value"
func globalFunc() { println("global func body") }
func main() {
println(globalVar)
globalFunc()
}
-- main.stderr --
global value
global func body