go fmt
This commit is contained in:
		
							parent
							
								
									da38faa8f7
								
							
						
					
					
						commit
						853053a3b2
					
				| @ -2,9 +2,9 @@ package ethchain | |||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"bytes" | 	"bytes" | ||||||
|  | 	"github.com/ethereum/eth-go/ethlog" | ||||||
| 	"github.com/ethereum/eth-go/ethutil" | 	"github.com/ethereum/eth-go/ethutil" | ||||||
| 	"github.com/ethereum/eth-go/ethwire" | 	"github.com/ethereum/eth-go/ethwire" | ||||||
| 	"github.com/ethereum/eth-go/ethlog" |  | ||||||
| 	"math" | 	"math" | ||||||
| 	"math/big" | 	"math/big" | ||||||
| ) | ) | ||||||
|  | |||||||
| @ -1,8 +1,8 @@ | |||||||
| package ethchain | package ethchain | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"github.com/ethereum/eth-go/ethutil" |  | ||||||
| 	"github.com/ethereum/eth-go/ethlog" | 	"github.com/ethereum/eth-go/ethlog" | ||||||
|  | 	"github.com/ethereum/eth-go/ethutil" | ||||||
| 	"github.com/obscuren/sha3" | 	"github.com/obscuren/sha3" | ||||||
| 	"hash" | 	"hash" | ||||||
| 	"math/big" | 	"math/big" | ||||||
| @ -31,7 +31,6 @@ func (pow *EasyPow) Search(block *Block, reactChan chan ethutil.React) []byte { | |||||||
| 	for { | 	for { | ||||||
| 		select { | 		select { | ||||||
| 		case <-reactChan: | 		case <-reactChan: | ||||||
| 			//powlogger.Infoln("Received reactor event; breaking out.")
 |  | ||||||
| 			return nil | 			return nil | ||||||
| 		default: | 		default: | ||||||
| 			i++ | 			i++ | ||||||
|  | |||||||
| @ -3,9 +3,9 @@ package ethchain | |||||||
| import ( | import ( | ||||||
| 	"bytes" | 	"bytes" | ||||||
| 	"container/list" | 	"container/list" | ||||||
|  | 	"github.com/ethereum/eth-go/ethlog" | ||||||
| 	"github.com/ethereum/eth-go/ethutil" | 	"github.com/ethereum/eth-go/ethutil" | ||||||
| 	"github.com/ethereum/eth-go/ethwire" | 	"github.com/ethereum/eth-go/ethwire" | ||||||
| 	"github.com/ethereum/eth-go/ethlog" |  | ||||||
| 	"math/big" | 	"math/big" | ||||||
| 	"sync" | 	"sync" | ||||||
| 	"time" | 	"time" | ||||||
|  | |||||||
| @ -4,8 +4,8 @@ import ( | |||||||
| 	"bytes" | 	"bytes" | ||||||
| 	"container/list" | 	"container/list" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"github.com/ethereum/eth-go/ethwire" |  | ||||||
| 	"github.com/ethereum/eth-go/ethlog" | 	"github.com/ethereum/eth-go/ethlog" | ||||||
|  | 	"github.com/ethereum/eth-go/ethwire" | ||||||
| 	"math/big" | 	"math/big" | ||||||
| 	"sync" | 	"sync" | ||||||
| ) | ) | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ package ethchain | |||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"github.com/ethereum/eth-go/ethutil" |  | ||||||
| 	"github.com/ethereum/eth-go/ethlog" | 	"github.com/ethereum/eth-go/ethlog" | ||||||
|  | 	"github.com/ethereum/eth-go/ethutil" | ||||||
| 	"math" | 	"math" | ||||||
| 	"math/big" | 	"math/big" | ||||||
| ) | ) | ||||||
|  | |||||||
| @ -5,10 +5,10 @@ import ( | |||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"github.com/ethereum/eth-go/ethchain" | 	"github.com/ethereum/eth-go/ethchain" | ||||||
| 	"github.com/ethereum/eth-go/ethdb" | 	"github.com/ethereum/eth-go/ethdb" | ||||||
|  | 	"github.com/ethereum/eth-go/ethlog" | ||||||
| 	"github.com/ethereum/eth-go/ethrpc" | 	"github.com/ethereum/eth-go/ethrpc" | ||||||
| 	"github.com/ethereum/eth-go/ethutil" | 	"github.com/ethereum/eth-go/ethutil" | ||||||
| 	"github.com/ethereum/eth-go/ethwire" | 	"github.com/ethereum/eth-go/ethwire" | ||||||
| 	"github.com/ethereum/eth-go/ethlog" |  | ||||||
| 	"io/ioutil" | 	"io/ioutil" | ||||||
| 	"math/rand" | 	"math/rand" | ||||||
| 	"net" | 	"net" | ||||||
|  | |||||||
| @ -1,188 +1,188 @@ | |||||||
| package ethlog | package ethlog | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|   "fmt" | 	"fmt" | ||||||
|   "sync" | 	"io" | ||||||
|   "log" | 	"log" | ||||||
|   "io" | 	"os" | ||||||
|   "os" | 	"sync" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type LogSystem interface { | type LogSystem interface { | ||||||
|   GetLogLevel() LogLevel | 	GetLogLevel() LogLevel | ||||||
|   SetLogLevel(i LogLevel) | 	SetLogLevel(i LogLevel) | ||||||
|   Println(v ...interface{}) | 	Println(v ...interface{}) | ||||||
|   Printf(format string, v ...interface{}) | 	Printf(format string, v ...interface{}) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type logMessage struct { | type logMessage struct { | ||||||
|   LogLevel  LogLevel | 	LogLevel LogLevel | ||||||
|   format    bool | 	format   bool | ||||||
|   msg       string | 	msg      string | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func newPrintlnLogMessage(level LogLevel, tag string, v...interface{}) *logMessage { | func newPrintlnLogMessage(level LogLevel, tag string, v ...interface{}) *logMessage { | ||||||
|   return &logMessage{level, false, fmt.Sprintf("[%s] %s", tag, fmt.Sprint(v...))} | 	return &logMessage{level, false, fmt.Sprintf("[%s] %s", tag, fmt.Sprint(v...))} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func newPrintfLogMessage(level LogLevel, tag string, format string, v...interface{}) *logMessage { | func newPrintfLogMessage(level LogLevel, tag string, format string, v ...interface{}) *logMessage { | ||||||
|   return &logMessage{level, true, fmt.Sprintf("[%s] %s", tag, fmt.Sprintf(format, v...))} | 	return &logMessage{level, true, fmt.Sprintf("[%s] %s", tag, fmt.Sprintf(format, v...))} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (msg *logMessage) send(logger LogSystem) { | func (msg *logMessage) send(logger LogSystem) { | ||||||
|   if msg.format { | 	if msg.format { | ||||||
|     logger.Printf(msg.msg) | 		logger.Printf(msg.msg) | ||||||
|   } else { | 	} else { | ||||||
|     logger.Println(msg.msg) | 		logger.Println(msg.msg) | ||||||
|   } | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| var logMessages chan(*logMessage) | var logMessages chan (*logMessage) | ||||||
| var logSystems  []LogSystem | var logSystems []LogSystem | ||||||
| var drained = true | var drained = true | ||||||
| 
 | 
 | ||||||
| type LogLevel uint8 | type LogLevel uint8 | ||||||
| 
 | 
 | ||||||
| const ( | const ( | ||||||
|   Silence LogLevel = iota | 	Silence LogLevel = iota | ||||||
|   ErrorLevel | 	ErrorLevel | ||||||
|   WarnLevel | 	WarnLevel | ||||||
|   InfoLevel | 	InfoLevel | ||||||
|   DebugLevel | 	DebugLevel | ||||||
|   DebugDetailLevel | 	DebugDetailLevel | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // log messages are dispatched to log writers
 | // log messages are dispatched to log writers
 | ||||||
| func start() { | func start() { | ||||||
|   for { | 	for { | ||||||
|     select { | 		select { | ||||||
|       case msg := <- logMessages: | 		case msg := <-logMessages: | ||||||
|         for _, logSystem := range logSystems { | 			for _, logSystem := range logSystems { | ||||||
|           if logSystem.GetLogLevel() >= msg.LogLevel { | 				if logSystem.GetLogLevel() >= msg.LogLevel { | ||||||
|             msg.send(logSystem) | 					msg.send(logSystem) | ||||||
|           } | 				} | ||||||
|         } | 			} | ||||||
|       default: | 		default: | ||||||
|         drained = true | 			drained = true | ||||||
|     } | 		} | ||||||
|   } | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // waits until log messages are drained (dispatched to log writers)
 | // waits until log messages are drained (dispatched to log writers)
 | ||||||
| func Flush() { | func Flush() { | ||||||
|   for !drained {} | 	for !drained { | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type Logger struct { | type Logger struct { | ||||||
|   tag string | 	tag string | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func NewLogger(tag string) *Logger { | func NewLogger(tag string) *Logger { | ||||||
|   return &Logger{tag} | 	return &Logger{tag} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func AddLogSystem(logSystem LogSystem) { | func AddLogSystem(logSystem LogSystem) { | ||||||
|   var mutex = &sync.Mutex{} | 	var mutex = &sync.Mutex{} | ||||||
|   mutex.Lock() | 	mutex.Lock() | ||||||
|   defer mutex.Unlock() | 	defer mutex.Unlock() | ||||||
|   if logSystems == nil { | 	if logSystems == nil { | ||||||
|     logMessages = make(chan *logMessage) | 		logMessages = make(chan *logMessage) | ||||||
|     go start() | 		go start() | ||||||
|   } | 	} | ||||||
|   logSystems = append(logSystems, logSystem) | 	logSystems = append(logSystems, logSystem) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) sendln(level LogLevel, v...interface{}) { | func (logger *Logger) sendln(level LogLevel, v ...interface{}) { | ||||||
|   if logMessages != nil { | 	if logMessages != nil { | ||||||
|     msg := newPrintlnLogMessage(level, logger.tag, v...) | 		msg := newPrintlnLogMessage(level, logger.tag, v...) | ||||||
|     drained = false | 		drained = false | ||||||
|     logMessages <- msg | 		logMessages <- msg | ||||||
|   } | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) sendf(level LogLevel, format string, v...interface{}) { | func (logger *Logger) sendf(level LogLevel, format string, v ...interface{}) { | ||||||
|   if logMessages != nil { | 	if logMessages != nil { | ||||||
|     msg := newPrintfLogMessage(level, logger.tag, format, v...) | 		msg := newPrintfLogMessage(level, logger.tag, format, v...) | ||||||
|     drained = false | 		drained = false | ||||||
|     logMessages <- msg | 		logMessages <- msg | ||||||
|   } | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) Errorln(v...interface{}) { | func (logger *Logger) Errorln(v ...interface{}) { | ||||||
|   logger.sendln(ErrorLevel, v...) | 	logger.sendln(ErrorLevel, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) Warnln(v...interface{}) { | func (logger *Logger) Warnln(v ...interface{}) { | ||||||
|   logger.sendln(WarnLevel, v...) | 	logger.sendln(WarnLevel, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) Infoln(v...interface{}) { | func (logger *Logger) Infoln(v ...interface{}) { | ||||||
|   logger.sendln(InfoLevel, v...) | 	logger.sendln(InfoLevel, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) Debugln(v...interface{}) { | func (logger *Logger) Debugln(v ...interface{}) { | ||||||
|   logger.sendln(DebugLevel, v...) | 	logger.sendln(DebugLevel, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) DebugDetailln(v...interface{}) { | func (logger *Logger) DebugDetailln(v ...interface{}) { | ||||||
|   logger.sendln(DebugDetailLevel, v...) | 	logger.sendln(DebugDetailLevel, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) Errorf(format string, v...interface{}) { | func (logger *Logger) Errorf(format string, v ...interface{}) { | ||||||
|   logger.sendf(ErrorLevel, format, v...) | 	logger.sendf(ErrorLevel, format, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) Warnf(format string, v...interface{}) { | func (logger *Logger) Warnf(format string, v ...interface{}) { | ||||||
|   logger.sendf(WarnLevel, format, v...) | 	logger.sendf(WarnLevel, format, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) Infof(format string, v...interface{}) { | func (logger *Logger) Infof(format string, v ...interface{}) { | ||||||
|   logger.sendf(InfoLevel, format, v...) | 	logger.sendf(InfoLevel, format, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) Debugf(format string, v...interface{}) { | func (logger *Logger) Debugf(format string, v ...interface{}) { | ||||||
|   logger.sendf(DebugLevel, format, v...) | 	logger.sendf(DebugLevel, format, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) DebugDetailf(format string, v...interface{}) { | func (logger *Logger) DebugDetailf(format string, v ...interface{}) { | ||||||
|   logger.sendf(DebugDetailLevel, format, v...) | 	logger.sendf(DebugDetailLevel, format, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) Fatalln (v...interface{}) { | func (logger *Logger) Fatalln(v ...interface{}) { | ||||||
|   logger.sendln(ErrorLevel, v...) | 	logger.sendln(ErrorLevel, v...) | ||||||
|   Flush() | 	Flush() | ||||||
|   os.Exit(0) | 	os.Exit(0) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (logger *Logger) Fatalf (format string, v...interface{}) { | func (logger *Logger) Fatalf(format string, v ...interface{}) { | ||||||
|   logger.sendf(ErrorLevel, format, v...) | 	logger.sendf(ErrorLevel, format, v...) | ||||||
|   Flush() | 	Flush() | ||||||
|   os.Exit(0) | 	os.Exit(0) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type StdLogSystem struct { | type StdLogSystem struct { | ||||||
|   logger *log.Logger | 	logger *log.Logger | ||||||
|   level LogLevel | 	level  LogLevel | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (t *StdLogSystem) Println(v ...interface{}) { | func (t *StdLogSystem) Println(v ...interface{}) { | ||||||
|   t.logger.Println(v...) | 	t.logger.Println(v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (t *StdLogSystem) Printf(format string, v ...interface{}) { | func (t *StdLogSystem) Printf(format string, v ...interface{}) { | ||||||
|   t.logger.Printf(format, v...) | 	t.logger.Printf(format, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (t *StdLogSystem) SetLogLevel(i LogLevel) { | func (t *StdLogSystem) SetLogLevel(i LogLevel) { | ||||||
|   t.level = i | 	t.level = i | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (t *StdLogSystem) GetLogLevel() LogLevel { | func (t *StdLogSystem) GetLogLevel() LogLevel { | ||||||
|   return t.level | 	return t.level | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func NewStdLogSystem(writer io.Writer, flags int, level LogLevel) *StdLogSystem { | func NewStdLogSystem(writer io.Writer, flags int, level LogLevel) *StdLogSystem { | ||||||
|   logger := log.New(writer, "", flags) | 	logger := log.New(writer, "", flags) | ||||||
|   return &StdLogSystem{logger, level} | 	return &StdLogSystem{logger, level} | ||||||
| } | } | ||||||
| 
 |  | ||||||
|  | |||||||
| @ -1,115 +1,109 @@ | |||||||
| package ethlog | package ethlog | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|   "testing" | 	"fmt" | ||||||
|   "fmt" | 	"io/ioutil" | ||||||
|   "io/ioutil" | 	"os" | ||||||
|   "os" | 	"testing" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type TestLogSystem struct { | type TestLogSystem struct { | ||||||
|   Output string | 	Output string | ||||||
|   level  LogLevel | 	level  LogLevel | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (t *TestLogSystem) Println(v ...interface{}) { | func (t *TestLogSystem) Println(v ...interface{}) { | ||||||
|   t.Output += fmt.Sprintln(v...) | 	t.Output += fmt.Sprintln(v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (t *TestLogSystem) Printf(format string, v ...interface{}) { | func (t *TestLogSystem) Printf(format string, v ...interface{}) { | ||||||
|   t.Output += fmt.Sprintf(format, v...) | 	t.Output += fmt.Sprintf(format, v...) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (t *TestLogSystem) SetLogLevel(i LogLevel) { | func (t *TestLogSystem) SetLogLevel(i LogLevel) { | ||||||
|   t.level = i | 	t.level = i | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (t *TestLogSystem) GetLogLevel() LogLevel { | func (t *TestLogSystem) GetLogLevel() LogLevel { | ||||||
|   return t.level | 	return t.level | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func quote(s string) string { | func quote(s string) string { | ||||||
|   return fmt.Sprintf("'%s'", s) | 	return fmt.Sprintf("'%s'", s) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestLoggerPrintln(t *testing.T) { | func TestLoggerPrintln(t *testing.T) { | ||||||
|   logger := NewLogger("TEST") | 	logger := NewLogger("TEST") | ||||||
|   testLogSystem := &TestLogSystem{level: WarnLevel} | 	testLogSystem := &TestLogSystem{level: WarnLevel} | ||||||
|   AddLogSystem(testLogSystem) | 	AddLogSystem(testLogSystem) | ||||||
|   logger.Errorln("error") | 	logger.Errorln("error") | ||||||
|   logger.Warnln("warn") | 	logger.Warnln("warn") | ||||||
|   logger.Infoln("info") | 	logger.Infoln("info") | ||||||
|   logger.Debugln("debug") | 	logger.Debugln("debug") | ||||||
|   Flush() | 	Flush() | ||||||
|   output := testLogSystem.Output | 	output := testLogSystem.Output | ||||||
|   fmt.Println(quote(output)) | 	fmt.Println(quote(output)) | ||||||
|   if output != "[TEST] error\n[TEST] warn\n" { | 	if output != "[TEST] error\n[TEST] warn\n" { | ||||||
|     t.Error("Expected logger output '[TEST] error\\n[TEST] warn\\n', got ", quote(testLogSystem.Output)) | 		t.Error("Expected logger output '[TEST] error\\n[TEST] warn\\n', got ", quote(testLogSystem.Output)) | ||||||
|   } | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestLoggerPrintf(t *testing.T) { | func TestLoggerPrintf(t *testing.T) { | ||||||
|   logger := NewLogger("TEST") | 	logger := NewLogger("TEST") | ||||||
|   testLogSystem := &TestLogSystem{level: WarnLevel} | 	testLogSystem := &TestLogSystem{level: WarnLevel} | ||||||
|   AddLogSystem(testLogSystem) | 	AddLogSystem(testLogSystem) | ||||||
|   logger.Errorf("error to %v\n", *testLogSystem) | 	logger.Errorf("error to %v\n", *testLogSystem) | ||||||
|   logger.Warnf("warn") | 	logger.Warnf("warn") | ||||||
|   logger.Infof("info") | 	logger.Infof("info") | ||||||
|   logger.Debugf("debug") | 	logger.Debugf("debug") | ||||||
|   Flush() | 	Flush() | ||||||
|   output := testLogSystem.Output | 	output := testLogSystem.Output | ||||||
|   fmt.Println(quote(output)) | 	fmt.Println(quote(output)) | ||||||
|   if output != "[TEST] error to { 2}\n[TEST] warn" { | 	if output != "[TEST] error to { 2}\n[TEST] warn" { | ||||||
|     t.Error("Expected logger output '[TEST] error to { 2}\\n[TEST] warn', got ", quote(testLogSystem.Output)) | 		t.Error("Expected logger output '[TEST] error to { 2}\\n[TEST] warn', got ", quote(testLogSystem.Output)) | ||||||
|   } | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestMultipleLogSystems(t *testing.T) { | func TestMultipleLogSystems(t *testing.T) { | ||||||
|   logger := NewLogger("TEST") | 	logger := NewLogger("TEST") | ||||||
|   testLogSystem0 := &TestLogSystem{level: ErrorLevel} | 	testLogSystem0 := &TestLogSystem{level: ErrorLevel} | ||||||
|   testLogSystem1 := &TestLogSystem{level: WarnLevel} | 	testLogSystem1 := &TestLogSystem{level: WarnLevel} | ||||||
|   AddLogSystem(testLogSystem0) | 	AddLogSystem(testLogSystem0) | ||||||
|   AddLogSystem(testLogSystem1) | 	AddLogSystem(testLogSystem1) | ||||||
|   logger.Errorln("error") | 	logger.Errorln("error") | ||||||
|   logger.Warnln("warn") | 	logger.Warnln("warn") | ||||||
|   Flush() | 	Flush() | ||||||
|   output0 := testLogSystem0.Output | 	output0 := testLogSystem0.Output | ||||||
|   output1 := testLogSystem1.Output | 	output1 := testLogSystem1.Output | ||||||
|   if output0 != "[TEST] error\n" { | 	if output0 != "[TEST] error\n" { | ||||||
|     t.Error("Expected logger 0 output '[TEST] error\\n', got ", quote(testLogSystem0.Output)) | 		t.Error("Expected logger 0 output '[TEST] error\\n', got ", quote(testLogSystem0.Output)) | ||||||
|   } | 	} | ||||||
|   if output1 != "[TEST] error\n[TEST] warn\n" { | 	if output1 != "[TEST] error\n[TEST] warn\n" { | ||||||
|     t.Error("Expected logger 1 output '[TEST] error\\n[TEST] warn\\n', got ", quote(testLogSystem1.Output)) | 		t.Error("Expected logger 1 output '[TEST] error\\n[TEST] warn\\n', got ", quote(testLogSystem1.Output)) | ||||||
|   } | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestFileLogSystem(t *testing.T) { | func TestFileLogSystem(t *testing.T) { | ||||||
|   logger := NewLogger("TEST") | 	logger := NewLogger("TEST") | ||||||
|   filename := "test.log" | 	filename := "test.log" | ||||||
|   file, _ := os.OpenFile(filename, os.O_RDWR|os.O_CREATE, os.ModePerm) | 	file, _ := os.OpenFile(filename, os.O_RDWR|os.O_CREATE, os.ModePerm) | ||||||
|   testLogSystem := NewStdLogSystem(file, 0, WarnLevel) | 	testLogSystem := NewStdLogSystem(file, 0, WarnLevel) | ||||||
|   AddLogSystem(testLogSystem) | 	AddLogSystem(testLogSystem) | ||||||
|   logger.Errorf("error to %s\n", filename) | 	logger.Errorf("error to %s\n", filename) | ||||||
|   logger.Warnln("warn") | 	logger.Warnln("warn") | ||||||
|   Flush() | 	Flush() | ||||||
|   contents, _ :=  ioutil.ReadFile(filename) | 	contents, _ := ioutil.ReadFile(filename) | ||||||
|   output := string(contents) | 	output := string(contents) | ||||||
|   fmt.Println(quote(output)) | 	fmt.Println(quote(output)) | ||||||
|   if output != "[TEST] error to test.log\n[TEST] warn\n" { | 	if output != "[TEST] error to test.log\n[TEST] warn\n" { | ||||||
|     t.Error("Expected contents of file 'test.log': '[TEST] error to test.log\\n[TEST] warn\\n', got ", quote(output)) | 		t.Error("Expected contents of file 'test.log': '[TEST] error to test.log\\n[TEST] warn\\n', got ", quote(output)) | ||||||
|   } else { | 	} else { | ||||||
|     os.Remove(filename) | 		os.Remove(filename) | ||||||
|   } | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func TestNoLogSystem(t *testing.T) { | func TestNoLogSystem(t *testing.T) { | ||||||
|   logger := NewLogger("TEST") | 	logger := NewLogger("TEST") | ||||||
|   logger.Warnln("warn") | 	logger.Warnln("warn") | ||||||
|   Flush() | 	Flush() | ||||||
| } | } | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|  | |||||||
| @ -3,9 +3,9 @@ package ethminer | |||||||
| import ( | import ( | ||||||
| 	"bytes" | 	"bytes" | ||||||
| 	"github.com/ethereum/eth-go/ethchain" | 	"github.com/ethereum/eth-go/ethchain" | ||||||
|  | 	"github.com/ethereum/eth-go/ethlog" | ||||||
| 	"github.com/ethereum/eth-go/ethutil" | 	"github.com/ethereum/eth-go/ethutil" | ||||||
| 	"github.com/ethereum/eth-go/ethwire" | 	"github.com/ethereum/eth-go/ethwire" | ||||||
| 	"github.com/ethereum/eth-go/ethlog" |  | ||||||
| 	"sort" | 	"sort" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| @ -57,18 +57,23 @@ func NewDefaultMiner(coinbase []byte, ethereum ethchain.EthManager) Miner { | |||||||
| 
 | 
 | ||||||
| 	return miner | 	return miner | ||||||
| } | } | ||||||
|  | 
 | ||||||
| func (miner *Miner) Start() { | func (miner *Miner) Start() { | ||||||
| 	// Prepare inital block
 | 	// Prepare inital block
 | ||||||
| 	//miner.ethereum.StateManager().Prepare(miner.block.State(), miner.block.State())
 | 	//miner.ethereum.StateManager().Prepare(miner.block.State(), miner.block.State())
 | ||||||
| 	go miner.listener() | 	go miner.listener() | ||||||
|  | 	logger.Infoln("Started") | ||||||
| } | } | ||||||
|  | 
 | ||||||
| func (miner *Miner) listener() { | func (miner *Miner) listener() { | ||||||
| out: | out: | ||||||
| 	for { | 	for { | ||||||
| 		select { | 		select { | ||||||
| 		case <-miner.quitChan: | 		case <-miner.quitChan: | ||||||
|  | 			logger.Infoln("Stopped") | ||||||
| 			break out | 			break out | ||||||
| 		case chanMessage := <-miner.reactChan: | 		case chanMessage := <-miner.reactChan: | ||||||
|  | 
 | ||||||
| 			if block, ok := chanMessage.Resource.(*ethchain.Block); ok { | 			if block, ok := chanMessage.Resource.(*ethchain.Block); ok { | ||||||
| 				//logger.Infoln("Got new block via Reactor")
 | 				//logger.Infoln("Got new block via Reactor")
 | ||||||
| 				if bytes.Compare(miner.ethereum.BlockChain().CurrentBlock.Hash(), block.Hash()) == 0 { | 				if bytes.Compare(miner.ethereum.BlockChain().CurrentBlock.Hash(), block.Hash()) == 0 { | ||||||
| @ -123,8 +128,9 @@ out: | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (self *Miner) Stop() { | func (self *Miner) Stop() { | ||||||
| 	self.powQuitChan <- ethutil.React{} | 	logger.Infoln("Stopping...") | ||||||
| 	self.quitChan <- true | 	self.quitChan <- true | ||||||
|  | 	self.powQuitChan <- ethutil.React{} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (self *Miner) mineNewBlock() { | func (self *Miner) mineNewBlock() { | ||||||
|  | |||||||
| @ -5,8 +5,8 @@ import ( | |||||||
| 	"encoding/hex" | 	"encoding/hex" | ||||||
| 	"encoding/json" | 	"encoding/json" | ||||||
| 	"github.com/ethereum/eth-go/ethchain" | 	"github.com/ethereum/eth-go/ethchain" | ||||||
| 	"github.com/ethereum/eth-go/ethutil" |  | ||||||
| 	"github.com/ethereum/eth-go/ethlog" | 	"github.com/ethereum/eth-go/ethlog" | ||||||
|  | 	"github.com/ethereum/eth-go/ethutil" | ||||||
| 	"math/big" | 	"math/big" | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"sync/atomic" | 	"sync/atomic" | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ package ethrpc | |||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"github.com/ethereum/eth-go/ethpub" |  | ||||||
| 	"github.com/ethereum/eth-go/ethlog" | 	"github.com/ethereum/eth-go/ethlog" | ||||||
|  | 	"github.com/ethereum/eth-go/ethpub" | ||||||
| 	"net" | 	"net" | ||||||
| 	"net/rpc" | 	"net/rpc" | ||||||
| 	"net/rpc/jsonrpc" | 	"net/rpc/jsonrpc" | ||||||
|  | |||||||
| @ -4,8 +4,8 @@ import ( | |||||||
| 	"flag" | 	"flag" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"github.com/rakyll/globalconf" | 	"github.com/rakyll/globalconf" | ||||||
| 	"runtime" |  | ||||||
| 	"os" | 	"os" | ||||||
|  | 	"runtime" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // Config struct
 | // Config struct
 | ||||||
| @ -29,21 +29,21 @@ var Config *config | |||||||
| // Initialize Config from Config File
 | // Initialize Config from Config File
 | ||||||
| func ReadConfig(ConfigFile string, Datadir string, Identifier string, EnvPrefix string) *config { | func ReadConfig(ConfigFile string, Datadir string, Identifier string, EnvPrefix string) *config { | ||||||
| 	if Config == nil { | 	if Config == nil { | ||||||
| 	 	// create ConfigFile if does not exist, otherwise globalconf panic when trying to persist flags
 | 		// create ConfigFile if does not exist, otherwise globalconf panic when trying to persist flags
 | ||||||
|     _, err := os.Stat(ConfigFile) | 		_, err := os.Stat(ConfigFile) | ||||||
|     if err != nil && os.IsNotExist(err) { | 		if err != nil && os.IsNotExist(err) { | ||||||
| 			fmt.Printf("config file '%s' doesn't exist, creating it\n", ConfigFile) | 			fmt.Printf("config file '%s' doesn't exist, creating it\n", ConfigFile) | ||||||
|       os.Create(ConfigFile) | 			os.Create(ConfigFile) | ||||||
|     } | 		} | ||||||
|     g, err := globalconf.NewWithOptions(&globalconf.Options{ | 		g, err := globalconf.NewWithOptions(&globalconf.Options{ | ||||||
|  			Filename: ConfigFile, | 			Filename:  ConfigFile, | ||||||
|  			EnvPrefix: EnvPrefix, | 			EnvPrefix: EnvPrefix, | ||||||
| 		}) | 		}) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
|  			fmt.Println(err) | 			fmt.Println(err) | ||||||
| 	  } else { | 		} else { | ||||||
| 	   g.ParseAll() | 			g.ParseAll() | ||||||
| 	  } | 		} | ||||||
| 		Config = &config{ExecPath: Datadir, Debug: true, Ver: "0.5.14", conf: g, Identifier: Identifier} | 		Config = &config{ExecPath: Datadir, Debug: true, Ver: "0.5.14", conf: g, Identifier: Identifier} | ||||||
| 		Config.SetClientString("Ethereum(G)") | 		Config.SetClientString("Ethereum(G)") | ||||||
| 	} | 	} | ||||||
|  | |||||||
| @ -64,4 +64,4 @@ func TestCompactDecode(t *testing.T) { | |||||||
| 	if !CompareIntSlice(res, exp) { | 	if !CompareIntSlice(res, exp) { | ||||||
| 		t.Error("even terminated compact decode. Expected", exp, "got", res) | 		t.Error("even terminated compact decode. Expected", exp, "got", res) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								peer.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								peer.go
									
									
									
									
									
								
							| @ -5,9 +5,9 @@ import ( | |||||||
| 	"container/list" | 	"container/list" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"github.com/ethereum/eth-go/ethchain" | 	"github.com/ethereum/eth-go/ethchain" | ||||||
|  | 	"github.com/ethereum/eth-go/ethlog" | ||||||
| 	"github.com/ethereum/eth-go/ethutil" | 	"github.com/ethereum/eth-go/ethutil" | ||||||
| 	"github.com/ethereum/eth-go/ethwire" | 	"github.com/ethereum/eth-go/ethwire" | ||||||
| 	"github.com/ethereum/eth-go/ethlog" |  | ||||||
| 	"net" | 	"net" | ||||||
| 	"strconv" | 	"strconv" | ||||||
| 	"strings" | 	"strings" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user