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.
		
		
		
		
		
			
		
			
				
	
	
		
			48 lines
		
	
	
		
			994 B
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			48 lines
		
	
	
		
			994 B
		
	
	
	
		
			Plaintext
		
	
env GOPRIVATE=test/main
 | 
						|
 | 
						|
# Tiny mode
 | 
						|
garble -tiny build
 | 
						|
! binsubstr main$exe 'main.go' 'fmt/print.go'
 | 
						|
env GODEBUG='allocfreetrace=1,gcpacertrace=1,gctrace=1,scavenge=1,scavtrace=1,scheddetail=1,schedtrace=10'
 | 
						|
! exec ./main$exe
 | 
						|
stderr '^\(0x[\d\w]{6,8},0x[\d\w]{6,8}\)' # interfaces/pointers print correctly
 | 
						|
stderr '^caller: \? 0$' # position info is removed
 | 
						|
stderr '^recovered: ya like jazz?'
 | 
						|
! stderr 'panic: oh noes' # panics are hidden
 | 
						|
 | 
						|
[short] stop # no need to verify this with -short
 | 
						|
 | 
						|
# Default mode
 | 
						|
env GODEBUG=
 | 
						|
garble build
 | 
						|
! exec ./main$exe
 | 
						|
stderr '^caller: \w\.go [1-9]'
 | 
						|
stderr '^recovered: ya like jazz?'
 | 
						|
stderr 'panic: oh noes'
 | 
						|
 | 
						|
-- go.mod --
 | 
						|
module test/main
 | 
						|
 | 
						|
go 1.15
 | 
						|
-- main.go --
 | 
						|
package main
 | 
						|
 | 
						|
import "runtime"
 | 
						|
 | 
						|
func main() {
 | 
						|
	var v interface{} = "tada"
 | 
						|
	println(v)
 | 
						|
 | 
						|
	defer func() {
 | 
						|
		if r := recover(); r != nil {
 | 
						|
			println("recovered:", r.(string))
 | 
						|
			panic("oh noes")
 | 
						|
		}
 | 
						|
	}()
 | 
						|
 | 
						|
	_, file, line, _ := runtime.Caller(0)
 | 
						|
	println("caller:", file, line)
 | 
						|
 | 
						|
	panic("ya like jazz?")
 | 
						|
}
 |