Skip to content
This repository has been archived by the owner on May 26, 2023. It is now read-only.

Latest commit

 

History

History
37 lines (29 loc) · 1.56 KB

CONTRIBUTING.md

File metadata and controls

37 lines (29 loc) · 1.56 KB

Find a bug, a way to improve the documentation or have a feature request? Open an issue.

Or even better, send us a PR :)

Before you send PRs

Running the tests

There are two options to run the tests, which are concrete execution and symbolic execution. Before running the test you have to choose an option. There is a global variable named UNIT_TEST in global_test_params.py to set the type of the tests.

# Testing concrete execution
UNIT_TEST = 2
# Testing symbolic execution
UNIT_TEST = 3
# Start testing
$ python oyente/run_tests.py

After running the testing program, the result would display a status for each testcase:

  • PASS: the testcase passes
  • FAIL: an opcode implements incorrectly
  • TIME_OUT: it takes too long to run the testcase (set GLOBAL_TIMEOUT_TEST in global_params.py)
  • UNKNOWN_INSTRUCTION: there is an unknown opcode in the testcase
  • EXCEPTION: the program encounters an exception while running the testcase
  • EMPTY_RESULT the result is invalid
  • INCORRECT_GAS the gas is calculated incorrectly