From 6454db68d97667f90ec1f0f838c7da275c46d2b8 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sun, 31 Jan 2016 18:09:39 +0100 Subject: Add new "-wpanic" option and enable it for the automated tests --- cryptfs/log.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'cryptfs') diff --git a/cryptfs/log.go b/cryptfs/log.go index 44cb84f..19d8b51 100644 --- a/cryptfs/log.go +++ b/cryptfs/log.go @@ -2,6 +2,7 @@ package cryptfs import ( "encoding/json" + "fmt" "log" "os" ) @@ -17,7 +18,10 @@ func JSONDump(obj interface{}) string { // toggledLogger - a Logger than can be enabled and disabled type toggledLogger struct { + // Enable or disable output Enabled bool + // Panic after logging a message, useful in regression tests + PanicAfter bool *log.Logger } @@ -26,12 +30,18 @@ func (l *toggledLogger) Printf(format string, v ...interface{}) { return } l.Logger.Printf(format, v...) + if l.PanicAfter { + panic("PanicAfter: " + fmt.Sprintf(format, v...)) + } } func (l *toggledLogger) Println(v ...interface{}) { if !l.Enabled { return } l.Logger.Println(v...) + if l.PanicAfter { + panic("PanicAfter: " + fmt.Sprintln(v...)) + } } // As defined by http://elinux.org/Debugging_by_printing#Log_Levels @@ -45,7 +55,7 @@ var Info *toggledLogger var Warn *toggledLogger func init() { - Debug = &toggledLogger{false, log.New(os.Stdout, "", 0)} - Info = &toggledLogger{true, log.New(os.Stdout, "", 0)} - Warn = &toggledLogger{true, log.New(os.Stderr, "", 0)} + Debug = &toggledLogger{false, false, log.New(os.Stdout, "", 0)} + Info = &toggledLogger{true, false, log.New(os.Stdout, "", 0)} + Warn = &toggledLogger{true, false, log.New(os.Stderr, "", 0)} } -- cgit v1.2.3