Skip to content

Big refactoring - (team effort: testweek)#374

Merged
crystalin merged 17 commits intomasterfrom
testweek
Apr 21, 2021
Merged

Big refactoring - (team effort: testweek)#374
crystalin merged 17 commits intomasterfrom
testweek

Conversation

@crystalin
Copy link
Collaborator

Adds test for (trace, smart contracts, gas, txpool, ethpool...)
Adds concurrency support tests (mocha --parallel) with correct port detection (can be improved by using a lock)
Adds VSCode Debugger setup
Adds smart contract solidity code and factory. contracts are precompiled to reduce test execution time
Refactoring of the test architecture to ensure test isolation

notlesh and others added 17 commits April 12, 2021 21:57
* added example test for frontier (#343)

* added example test for frontier

* added npm run non-ci-test

* move staking test spec to node/chainspec (#335)

* init

* hide staking test spec behind test-staking feature flag

* clean

* comment staking test genesis config for readability

* move test spec to separate file

* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

Co-authored-by: Antoine Estienne <estienne.antoine@gmail.com>
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
Co-authored-by: Crystalin <alan@purestake.com>
* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

* Adds support for test watch

* Cleaned package.json

* Prevent test to run at start of watch

* Restore optimization for cargo build

Co-authored-by: Stephen Shelton <steve@brewcraft.org>
* Unskip `fetch genesis block by hash`

* Remove timeouts

* Unskip block gas limit tests

* Remove `opt-level = 0` from Cargo.toml

* Unskip
* added deployContractByName and  contractSources

* added getcompiled function

* increase timeout for testfilterapi

* change contract name and add sourcecode

* Fix fixture requirement

* update package and json

Co-authored-by: Crystalin <alan@purestake.com>
* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

* Adds support for test watch

* Cleaned package.json

* Prevent test to run at start of watch

* Restore optimization for cargo build

* Allow for non-finalization and ParentHash specification in createAndFinalizeBlock

* Make test-block tests non-dependent by using non-finalized chains

* Separate tests to make them non-dependent and parametrize tx hashes and nonces in test-txpool

* it instead of step in test-version

* setup providers before tests in test-ethers.ts

* Create a block before tests to avoid one depend on the other in test-nonce

* it for step in test-receipt

* import constants for test-staking

* Attemp at parametrizing test-filter-api tests

* attemp at parametrizing test-revert-receipt

* remove mocha-steps from tests

* make test-subscription tests non-dependent

* comply with prettier

* Add support for retrieving the hash of the generated block

* Make test-trace-filter tests non-dependent

* balance-tests non-dependent

* Non-dependent tests for test-polkadot-api

* Add test-fork-chain tests

* remove unnecesary timeouts

* Use context provider for test-ether.ts

* Remove currentId from test-filter-api since we are uninstalling all filters from test to test

* Join balance test setups and check balance at each block

* Rename variables to camelCase in tests

* small introduced bug in test-pool-pending when camelCasing variables

* Use a different account for test-revert-receipt deployment contract to avoid non-determinism of the nonce

* shorten line because of editconfig

* Separate test-subscription and test-subscription-past-events.ts

* remove single letter variable in test-filter-api

* Small cosmetic changes

* revert changes in package.json

* Remove beforeEach and substitute it for common function

* change var for let or const

Co-authored-by: Stephen Shelton <steve@brewcraft.org>
Co-authored-by: Crystalin <alan@purestake.com>
* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

* Adds support for test watch

* Cleaned package.json

* Prevent test to run at start of watch

* Restore optimization for cargo build

* Allow for non-finalization and ParentHash specification in createAndFinalizeBlock

* Make test-block tests non-dependent by using non-finalized chains

* Separate tests to make them non-dependent and parametrize tx hashes and nonces in test-txpool

* it instead of step in test-version

* setup providers before tests in test-ethers.ts

* Create a block before tests to avoid one depend on the other in test-nonce

* it for step in test-receipt

* import constants for test-staking

* Attemp at parametrizing test-filter-api tests

* attemp at parametrizing test-revert-receipt

* remove mocha-steps from tests

* make test-subscription tests non-dependent

* comply with prettier

* Add support for retrieving the hash of the generated block

* Make test-trace-filter tests non-dependent

* balance-tests non-dependent

* Non-dependent tests for test-polkadot-api

* Add test-fork-chain tests

* remove unnecesary timeouts

* Use context provider for test-ether.ts

* Remove currentId from test-filter-api since we are uninstalling all filters from test to test

* Join balance test setups and check balance at each block

* Rename variables to camelCase in tests

* small introduced bug in test-pool-pending when camelCasing variables

* Use a different account for test-revert-receipt deployment contract to avoid non-determinism of the nonce

* shorten line because of editconfig

* Separate test-subscription and test-subscription-past-events.ts

* remove single letter variable in test-filter-api

* Small cosmetic changes

* revert changes in package.json

* Remove beforeEach and substitute it for common function

* change var for let or const

* Removes solc from tests

* Fixes path for contract tests

* Adds formatting for compiled contracts

Co-authored-by: Stephen Shelton <steve@brewcraft.org>
Co-authored-by: Gorka Irazoqui <gorka.irazoki@gmail.com>
* Crude attempt at finding open ports

* npx -w

* Add missing file

* Adds random port and parallel test execution

* Fixed ethers test

* Adds delay to node start in test

* Adds support for test watch

* Cleaned package.json

* Prevent test to run at start of watch

* Restore optimization for cargo build

* Allow for non-finalization and ParentHash specification in createAndFinalizeBlock

* Make test-block tests non-dependent by using non-finalized chains

* Separate tests to make them non-dependent and parametrize tx hashes and nonces in test-txpool

* it instead of step in test-version

* setup providers before tests in test-ethers.ts

* Create a block before tests to avoid one depend on the other in test-nonce

* it for step in test-receipt

* import constants for test-staking

* Attemp at parametrizing test-filter-api tests

* attemp at parametrizing test-revert-receipt

* remove mocha-steps from tests

* make test-subscription tests non-dependent

* comply with prettier

* Add support for retrieving the hash of the generated block

* Make test-trace-filter tests non-dependent

* balance-tests non-dependent

* Non-dependent tests for test-polkadot-api

* Add test-fork-chain tests

* remove unnecesary timeouts

* Use context provider for test-ether.ts

* Remove currentId from test-filter-api since we are uninstalling all filters from test to test

* Join balance test setups and check balance at each block

* Rename variables to camelCase in tests

* small introduced bug in test-pool-pending when camelCasing variables

* Use a different account for test-revert-receipt deployment contract to avoid non-determinism of the nonce

* shorten line because of editconfig

* Separate test-subscription and test-subscription-past-events.ts

* remove single letter variable in test-filter-api

* Small cosmetic changes

* revert changes in package.json

* Remove beforeEach and substitute it for common function

* change var for let or const

* Removes solc from tests

* Fixes path for contract tests

* Adds formatting for compiled contracts

* Refactor tests

* Fix formatting

* Limit concurrency to half cpus for ts tests

* Fixes github action typo

Co-authored-by: Stephen Shelton <steve@brewcraft.org>
Co-authored-by: Gorka Irazoqui <gorka.irazoki@gmail.com>
* added instructions to readme

* update package lock
* Add Callee, Caller, Incrementer

* Update test-trace

* Remove unused

* Move blockscout tracer to util/tracer
* Improve pending pool test

* Rephrase comment

* Better naming for txpool tests

* Split txpool multiple test for more independance

* Fixes few test expectations

* Adds test for future transaction

* Rename eth pool correctly

* Fixes node listeners

Co-authored-by: tgmichel <telmo@purestake.com>
Add a VSCode debugger config with CodeLLDB.
TS tests can be debugged by first starting the node in the debugger, then launching DEBUG_MODE=true npm run test-single in the test folder (modify package.json to change the test file).
@crystalin crystalin merged commit 24e820d into master Apr 21, 2021
@crystalin crystalin deleted the testweek branch April 21, 2021 01:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants