diff options
author | holgerd77 <Holger.Drewes@gmail.com> | 2017-08-29 01:57:01 +0800 |
---|---|---|
committer | holgerd77 <Holger.Drewes@gmail.com> | 2017-08-30 01:23:44 +0800 |
commit | 8477fc273c31f839119847731f029f10a8648bd2 (patch) | |
tree | 9412fed202aa6ff3120eff4aac591954ddb87054 /docs/using-testeth.rst | |
parent | 60c19d22eb79aed3084ede5d4a0725235376c6b3 (diff) | |
download | tangerine-tests-8477fc273c31f839119847731f029f10a8648bd2.tar tangerine-tests-8477fc273c31f839119847731f029f10a8648bd2.tar.gz tangerine-tests-8477fc273c31f839119847731f029f10a8648bd2.tar.bz2 tangerine-tests-8477fc273c31f839119847731f029f10a8648bd2.tar.lz tangerine-tests-8477fc273c31f839119847731f029f10a8648bd2.tar.xz tangerine-tests-8477fc273c31f839119847731f029f10a8648bd2.tar.zst tangerine-tests-8477fc273c31f839119847731f029f10a8648bd2.zip |
Added doc rst files from the Homestead docs
Diffstat (limited to 'docs/using-testeth.rst')
-rw-r--r-- | docs/using-testeth.rst | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/docs/using-testeth.rst b/docs/using-testeth.rst new file mode 100644 index 000000000..49ef3945a --- /dev/null +++ b/docs/using-testeth.rst @@ -0,0 +1,68 @@ + +***************************************************** +Using Testeth +***************************************************** +Ethereum cpp-client testeth tool for creation and execution of ethereum tests. + +To run tests you should open folder (see also `Installing and building <http://www.ethdocs.org/en/latest/ethereum-clients/cpp-ethereum/index.html#installing-and-building>`_ +in ``cpp-ethereum`` docs) + + ``/build/libethereum/test`` + +and execute a command ``./testeth`` This will run all test cases automatically. +To run a specific test case you could use parameter ``-t`` in the command line option: + + ``./testeth -t <TEST_SUITE>/<TEST_CASE>`` + +Or just the test suite: + + ``./testeth -t <TEST_SUITE>`` + +You could also use ``--filltests`` option to rerun test creation from .json files which are located at ``../cpp-ethereum/test/<TEST_FILLER>.json`` + + ``./testeth -t <TEST_SUITE>/<TEST_CASE> --filltests`` + +By default using ``--filltests`` option ``testeth`` recreate tests to the ``ETHEREUM_TEST_PATH`` folder. You might want to set this variable globally on your system like: + +| ``nano /etc/environment`` +| ``ETHEREUM_TEST_PATH="/home/user/ethereum/tests"`` +| + +Filler files are test templates which are used to fill initial parameters defined at test specification :ref:`ethereum_tests` and then create a complete test ``.json`` file. You might find filler files very useful when creating your own tests. + +The ``--checkstate`` option adds a BOOST error if the post state of filled test differs from its ``expected`` section. + +To specify a concrete test in a TEST_CASE file for filling/running procedure use ``--singletest`` option: + + ``./testeth -t <TEST_SUITE>/<TEST_CASE> --singletest <TEST_NAME>`` + +If you want to debug (note: testeth should be build with VMTRACE=1) a single test within a result test ``.json`` file, you might use the following command: + +| ``./testeth --log_level=test_suite --run_test=<TEST_SUITE>/<TEST_CASE> --singletest <TEST_FILE>.json`` +| ``<TEST_NAME> --vmtrace --verbosity 12`` +| or +| ``./testeth -t <TEST_SUITE>/<TEST_CASE> --singletest <TEST_NAME> --vmtrace --verbosity 12`` +| + +Some tests may use excessive resources when running, so by default they are disabled. Such tests require specific flag to be set in order to be executed. Like ``--performance``, ``--inputLimits``, ``--memory``, ``--quadratic``. You may also enable all of the tests by setting ``--all`` flag. Be careful. Enabled memory tests may stress your system to use 4GB of RAM and more. + +That's it for test execution. To read more about command line options you may run ``testeth`` with ``--help`` option. + +Now let's see what test cases are available. + +Test Cases +-------------------------------------------------------------------------------- + +Almost each test case has its filler file available at ``/webthree-umbrella/libethereum/test`` + +TEST_SUITE = BlockTests +TEST_CASES = blValidBlockTest blInvalidTransactionRLP blTransactionTest blInvalidHeaderTest userDefinedFile + +TEST_SUITE = TransactionTests +TEST_CASES = ttTransactionTest ttWrongRLPTransaction tt10mbDataField userDefinedFile + +TEST_SUITE = StateTests +TEST_CASES = stExample stSystemOperationsTest stPreCompiledContracts stLogTests stRecursiveCreate stTransactionTest stInitCodeTest stSpecialTest stRefundTest stBlockHashTest stQuadraticComplexityTest stSolidityTest stMemoryTest stCreateTest userDefinedFileState + +TEST_SUITE = VMTests +TEST_CASES = vm_tests vmArithmeticTest vmBitwiseLogicOperationTest vmSha3Test vmEnvironmentalInfoTest vmBlockInfoTest vmIOandFlowOperationsTest vmPushDupSwapTest vmLogTest vmSystemOperationsTest vmPerformanceTest vmInputLimitsTest1 vmInputLimitsTest2 vmRandom userDefinedFile |