Commit Graph

2557 Commits

Author SHA1 Message Date
Felix Lange fd9b03a431 ethlog: fix concurrency
Rather than spawning a new goroutine for each message,
run each log system in a dedicated goroutine.

Ensure that logging is still asynchronous by using a per-system buffer
(currently 500 messages). If it overflows all logging will hang,
but that's better than spawning indefinitely many goroutines.
2014-10-17 17:23:29 +02:00
Felix Lange c090a77f1c ethlog: simplify LogSystem interface
Messages are formatted by generic part, so the log system doesn't need
to provide formatting. This fixes the test from the previous commit.

As a small bonus, log systems now have access to the level of
the message. This could be used to provide colored logging in the
future.
2014-10-17 17:23:29 +02:00
Felix Lange 50f5ba5b0c ethlog: add test for '%' in log message
This test fails because the log message is formatted twice.
2014-10-17 17:23:29 +02:00
Felix Lange cbd785cfe8 ethvm, tests/*: use log level constants 2014-10-17 17:23:28 +02:00
Felix Lange 0165c18330 ethlog: use Godoc for code examples in documentation
This ensures that examples will actually compile.
2014-10-17 17:20:44 +02:00
Felix Lange e0f93c74c5 ethlog: add Godoc documentation, remove README 2014-10-17 17:20:44 +02:00
Felix Lange a6265cb49a ethlog: verify that Flush is blocking in TestLoggerFlush 2014-10-17 17:20:44 +02:00
Felix Lange 793baf060a ethlog: don't buffer output in TestConcurrentAddSystem 2014-10-17 17:20:44 +02:00
Felix Lange ec132749aa ethlog: improve TestLogSystem
It's now safe for concurrent access.
Output checking looks better.
2014-10-17 17:20:44 +02:00
Felix Lange 45d1052229 ethlog: fix StdLogSystem data race on level 2014-10-17 17:20:44 +02:00
Felix Lange d5a7ba1626 ethlog: add test that adds log systems concurrently 2014-10-17 17:20:44 +02:00
Felix Lange 3b1296077b ethlog: Reset before each test 2014-10-17 17:20:43 +02:00
Felix Lange dac128a029 ethlog: fix test compilation error 2014-10-17 17:20:43 +02:00
Felix Lange 4e95cecfb9 ethlog: improve dispatch concurrency
This also fixes a deadlock in the tests.
2014-10-17 17:20:43 +02:00
obscuren 3976b52ed7 Updated vm 2014-10-17 17:14:29 +02:00
obscuren e183880d8b arith test 2014-10-17 17:11:45 +02:00
obscuren d7736a7bbb Quick dirty peer update 2014-10-17 17:11:34 +02:00
Jeffrey Wilcke df2b70853f Merge pull request #58 from fjl/feature/event
Blocking event package
2014-10-17 17:10:34 +02:00
Jeffrey Wilcke 9e6411db31 Merge pull request #140 from fjl/feature/event
Adapt to new event package
2014-10-17 17:10:30 +02:00
obscuren 3b70985284 added eth tester 2014-10-16 21:34:59 +02:00
Felix Lange fa84e50ddb event: panic for duplicate type 2014-10-16 18:59:28 +02:00
Felix Lange ade980912d ethreact: remove package 2014-10-16 18:51:21 +02:00
Felix Lange 28570ef109 eventer: remove package 2014-10-16 18:51:21 +02:00
Felix Lange 20cdb73862 ethchain: fix tests 2014-10-16 18:51:21 +02:00
Felix Lange 36cdab2068 all: use (blocking) event package instead of ethreact 2014-10-16 18:50:48 +02:00
Felix Lange 6906904896 event: make TypeMux zero value ready to use 2014-10-16 18:50:48 +02:00
Felix Lange 10bbf265b2 event: make Unsubscribe idempotent 2014-10-16 18:50:48 +02:00
Felix Lange dac4a8f113 event: add some documentation 2014-10-16 18:50:48 +02:00
obscuren 93fcabd251 Fixed most of the tests 2014-10-16 18:27:05 +02:00
Felix Lange f5b8775bed event: new package for event multiplexer 2014-10-16 18:14:35 +02:00
obscuren bb5038699e Corrected package .... 2014-10-16 13:41:44 +02:00
obscuren 65cdb3436e Updated tests 2014-10-16 13:40:46 +02:00
obscuren 86f789333a Moved state reset to defered function 2014-10-16 13:39:30 +02:00
obscuren febec5ca4a Switch EXT* codes 2014-10-16 13:39:11 +02:00
obscuren 70f7a0be11 Use the state instead of the state object directly.
If a state gets reset and you still hold a pointer to the previous,
incorrect, state object you'll operate on the wrong object. Using the
state to set/get objects and attributes you won't have this problem
since the state will always have the correct object.
2014-10-16 13:38:21 +02:00
Felix Lange 0a99719a39 mist: update for new ethlog.LogSystem interface (in ethereum/eth-go#59) 2014-10-16 12:07:43 +02:00
obscuren 311c6f8a3f Fixed remote Arithmetic tests 2014-10-15 17:12:26 +02:00
Erez Wanderman 7227552f42 Fix ethereum compilation and functioning on Windows.
repl console output is now colored.
repl "exit" command now works.
2014-10-15 02:41:26 +03:00
obscuren 266d212094 Working on test suite 2014-10-15 00:41:00 +02:00
obscuren 3d177be73e Couple of minor issues fixed
* CALLVALUE pushed incorrect value to the stack
* Set execution model to closure
2014-10-15 00:40:41 +02:00
Felix Lange 0aea5fc4a3 adapt to new event package 2014-10-14 19:38:38 +02:00
obscuren 7ca7938d8e Removed old installer script 2014-10-14 15:31:25 +02:00
obscuren f55e39cf1a Tests for native function calling 2014-10-14 13:37:26 +02:00
obscuren 393a92811b Changed VM Test code 2014-10-14 12:21:46 +02:00
obscuren 294b437414 New VM 2014-10-14 11:49:15 +02:00
obscuren c5bd32b0ad Refactored VM to two separate VMs; std & debug
Standard VM should be about 10x faster than the debug VM. Some error
checking has been removed, all of the log statements and therefor quite
some unnecessary if-statements.
2014-10-14 11:48:52 +02:00
obscuren 03e082d4ac Merge branch 'master' into develop 2014-10-14 09:47:38 +02:00
obscuren db6f4ab1cc Merge branch 'master' into develop 2014-10-14 09:47:19 +02:00
Jeffrey Wilcke 1644b1e53e Merge pull request #137 from caktux/master
build status
2014-10-13 12:57:50 +02:00
caktux cfd1f0907f build status 2014-10-12 02:15:15 -04:00