! garble
stderr 'Garble obfuscates Go code'
stderr 'garble \[garble flags\] command'
! stderr 'usage: go build'
! stdout .

! garble -h
stderr 'Garble obfuscates Go code'
stderr 'garble \[garble flags\] command'
! stdout .

! garble help
stderr 'Garble obfuscates Go code'
stderr 'garble \[garble flags\] command'
! stdout .

! garble help foo bar
stderr 'does not take arguments'
! stdout .

! garble build -h
stderr 'garble \[garble flags\] build'
stderr 'This command wraps "go build"'
stderr 'usage: go build'
stderr 'Run .go help build.'
! stderr 'Garble obfuscates Go code'
! stdout .

! garble test -h
stderr 'garble \[garble flags\] test'
stderr 'This command wraps "go test"'
stderr 'usage: go test'
stderr 'Run .go help test.'
! stderr 'Garble obfuscates Go code'
! stdout .

! garble reverse -h
stderr 'garble \[garble flags\] reverse \[files\]'
! stderr 'usage: go '
! stdout .

! garble -badflag
stderr 'flag provided but not defined'
stderr 'garble \[garble flags\] command'
! stdout .

! garble badcmd
stderr 'unknown command'

! garble build -badflag
stderr 'usage: go build' # TODO: is this confusing?
! stdout .

[!windows] ! garble /does/not/exist/compile
[windows] ! garble C:\does\not\exist\compile
stderr 'not running "garble \[command\]"'

garble version
stdout 'devel|^v0'

! garble version -flag
stderr 'does not take arguments'

! garble version arg
stderr 'does not take arguments'

# We need a dummy module for "garble build -badflag".
-- go.mod --
module dummy
-- dummy.go --
package dummy
