Commit Graph

911 Commits

Author SHA1 Message Date
Dmitry Shulyak 2d964bfe9f Remove async operations from node manager (#584)
The main goal of this change is to remove async operations from node manager.
Additionally all of the signals from node manager are moved to status backend.

All of the async operation now will have the following behaviour:
- If node in the correct state exit immediatly without error
- If node not in the correct state exit immediatly with error
- In all other cases spawn a goroutine with wanted operation
- All the progress regarding that operation will be reported
  by using signals
- Signals should be handled in once place, which is StatusBackend

There are 2 potentially breaking changes:
- Empty event field will be ommited when Envelope is sent to a client
- All errors will be delivered to a client as an Envelope, previously
  some errors (NodeExists, NoRunningNode) were delivered synchronously

Signed-off-by: Dmitry Shulyak <yashulyak@gmail.com>
2018-02-09 14:37:56 +01:00
Pedro Pombeiro 8c3aa9a619
Fix a couple of lint warnings 2018-02-09 10:28:27 +01:00
Adrià Cidre 3c83c93039 Update jail README (#626) 2018-02-09 02:25:17 +02:00
Dmitry Shulyak 4cddc362ac
Fix all data races in jail package (#632)
* Rework how loop is stopped

* Use atomic int32 for DummyTask

* Close loop channel only once

* Rename closeChan to closedChan
2018-02-08 15:03:04 +02:00
Sebastian Klier 70912ab8f6 Group tests in a dedicated testing package (#629) 2018-02-08 13:52:47 +01:00
Dmitry Shulyak 766568dc11 Ignore *.test files from all folders (#635) 2018-02-08 14:23:08 +02:00
Caner Çıdam 34dc63a952 Create a script that auto-applies geth-patches #603 (#624) 2018-02-08 13:07:49 +01:00
Pedro Pombeiro 5e244ee7ef
Update github-bot.yml 2018-02-08 13:00:10 +01:00
Azer Koçulu 5bea85fa9b Improve `fetch` tests in Cell (#627) 2018-02-08 12:41:07 +01:00
Adrià Cidre 00df3ff9f8 [#618] Jail.Call to return valid JSON string based results (#619) 2018-02-08 12:25:01 +01:00
Adam Babik 9885d74db0 Fix sync-and-exit option logic (#628)
* fix sync-and-exit logic

* fix reading from doneSync channel

* clean up

* make statusd before using it

* move syncAndStopNode to different file

* change log level in travis chain sync command

* do not use fmt but log

* add progress log and set timeout to 20 mins

* set datadir to .ethereumtest

* fix datadir
2018-02-08 10:51:53 +02:00
Dmitry Shulyak d0ef64a177 Maintain local copy of the nonce for each used address (#538) 2018-02-08 00:23:57 +02:00
Caner Çıdam ca719af71c Sync blockchain before running e2e tests on public testnet #568 (#612) 2018-02-07 11:48:03 +01:00
Adam Babik c00e5c9c58 Fix command line flags (#623) 2018-02-06 14:53:04 +02:00
Dmitry Shulyak f90e65820c
Fix linter after ethmetrics were merged (#622) 2018-02-06 13:59:40 +02:00
Dmitry Shulyak ca5a8f6669 Enable ethereum metrics collection (#616) 2018-02-05 21:25:40 +02:00
Caner Çıdam 0dd47ab7bc Cover transaction manager with additional test cases #561 (#601) 2018-02-05 17:28:21 +01:00
Federico Gimenez 2f4be933bf Add a test case with multiple transactions and upstream node (#615)
* Add a test case with multiple transactions and upstream node

* address review comments
2018-02-05 16:48:54 +01:00
Federico Gimenez 13454e827b e2e: wait and get message before asserting empty list (#610)
* e2e: wait and get message before asserting empty list

* Added comments

* remove redundant checks

* remove redundant check

* address review comments
2018-02-05 15:40:27 +02:00
Sebastian Delgado 607954bfc3 Enforce type safety in `NodeCrashEvent` #602 (#607) 2018-02-05 11:37:59 +01:00
Dmitry Shulyak d699d35107 Make max amount of peers configurable (#611) 2018-02-05 11:12:57 +01:00
Denis Makogon 230e4febb1 Fixing test imports (#593) 2018-02-05 00:07:47 +01:00
Igor Mandrigin 6728dcf06d
Update `README`s to document `dep`-based workflow. (#606) 2018-02-02 18:44:29 +01:00
Igor Mandrigin 77de41d0fa Fix package name for `testing/testing.go`. 2018-02-02 16:55:42 +01:00
Igor Mandrigin 2d55ed23af Remove unused `helpers` package with single subpackage. 2018-02-02 16:55:42 +01:00
Athos Ribeiro d58a06c323 Fix string printed after compilation is done (#505)
* Fix string printed after compilation is done

On GNU coreutils 8.27, echo prints the \n occurrences as literals. This
commit changes the calls to echo containing such character to calls to
printf, and appends another \n in the end of the line.

* Fix indent
2018-02-02 16:54:14 +01:00
Dmitry Shulyak ecf74e2189 Make whisper nodes reachable from prometheus by sharing a network
Signed-off-by: Dmitry Shulyak <yashulyak@gmail.com>
2018-02-02 15:22:22 +02:00
Igor Mandrigin 156bbe1986 [#429] fix npe in geth's filter system. 2018-02-02 15:10:30 +02:00
Igor Mandrigin def50018ec
[#429/partial] Add a patch to fix npe in go-ethereum. (#599) 2018-02-02 13:30:56 +01:00
Dmitry Shulyak 653da5bcd0 Result of tx processing returned as QueuedTxResult
Currently it is quite easy to introduce concurrency issues while working
with transaction object. For example, race issue will exist every time
while transaction is processed in a separate goroutine and caller will
try to check for an error before event to Done channel is sent.

This change removes all the data that is updated on transaction and leaves
it with ID, Args and Context (which is not used at the moment).

Signed-off-by: Dmitry Shulyak <yashulyak@gmail.com>
2018-02-02 09:47:56 +02:00
Azer Koçulu 8b56060e21 Add vendor-check script, Makefile target and CI step (#581) 2018-02-01 18:14:51 +01:00
Dmitry Shulyak b41c4895fe Remove syncpool.go (#594) 2018-01-31 23:50:38 +01:00
Adam Babik 5383182251
Fix race conditions in e2e transaction tests (#582) 2018-01-31 08:34:31 +01:00
Adam Babik 89d89681a3
Add support for metrics (#558)
It adds support for metrics (expvar and Prometheus) along with docker-compose files to run a Whisper test cluster.
2018-01-30 12:51:48 +01:00
Dmitry Shulyak ba0433367c Add instructions how to prepare/run e2e tests (#577) 2018-01-29 11:14:55 +01:00
Dmitry Shulyak ba0b20e53f Remove mocks for transaction manager and transaction queue
It is very unlikely that there will be 2 or more implementations
of tx manager and queue, as they are tailored specifically to status project
requirements.
2018-01-26 15:21:34 +01:00
Dmitry Shulyak 680d0513b7 Refactoring of TxQueue and Manager (#530) 2018-01-25 21:59:21 -08:00
Dmitry Shulyak 6ed5997ff4
Merge pull request #573 from azer/develop
Fix link to geth-patches readme
2018-01-26 07:50:04 +02:00
Azer Koçulu 72445d5dd4
Fix link to geth-patches readme 2018-01-26 10:14:29 +08:00
Igor Mandrigin fb3d2ff6fe
Introduce the dependency vendoring tool: `dep`. (#551)
* Introduce `dep`, the dependency vendoring tool.

Use commits from `go-ethereum@release/1.7` for most of the dependencies.

* Update dependencies.
2018-01-25 14:08:43 +01:00
Dmitry Shulyak 3b3097c95b
Merge pull request #572 from dshulyak/peercountlint
Fix PeerCount lint warning
2018-01-25 14:26:24 +02:00
Dmitry Shulyak 28a122f4aa Fix PeerCount lint warning 2018-01-25 12:16:59 +02:00
Dmitry Shulyak 889eeca31d Add a workaround for waiting till node is synced with network (#565) 2018-01-24 23:26:34 -08:00
Daniel Nephin 755a646bd4 Use gometalinter config instead of makefile (#560) 2018-01-24 00:25:28 -08:00
Adam Babik e214e1e270
Manage discovery from flags and refactor handling interrupt signals (#557) 2018-01-22 21:16:13 -08:00
Pedro Pombeiro cb0a889245 Add probot settings 2018-01-22 16:41:34 +01:00
Adam Babik c153a60dc3
Clean up whisper log delivery (#555) 2018-01-19 15:53:16 +01:00
Dmitry Shulyak 0771e7d1b7 Use single codepath for sending transactions to a local and remote nodes (#527)
- new EthereumTransactor that provides higher level API for working with ethereum network, and it is fully conformant with ethclient
- new test rpc service that improves flexibility and coverage of txqueue manager tests
- run complete transaction sequantially for each address
- go-ethereum: Get pending nonce from transaction pool
- add a patch with getting nonce from transaction pool
2018-01-18 17:55:17 +01:00
Ivan Daniluk ea55ac0744
Cleanup after merging wnode-status and statusd (#554) 2018-01-17 22:40:14 +01:00
phcurtis 5a5c5d3a5c Merge wnode-status into statusd (#549) (#550) 2018-01-17 21:07:45 +01:00