aboutsummaryrefslogtreecommitdiffstats
path: root/docs/contributing.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/contributing.rst')
-rw-r--r--docs/contributing.rst12
1 files changed, 9 insertions, 3 deletions
diff --git a/docs/contributing.rst b/docs/contributing.rst
index f1dae192..155b4e65 100644
--- a/docs/contributing.rst
+++ b/docs/contributing.rst
@@ -97,6 +97,11 @@ Alternatively, there is a testing script at ``scripts/test.sh`` which executes a
Travis CI even runs some additional tests (including ``solc-js`` and testing third party Solidity frameworks) that require compiling the Emscripten target.
+.. note ::
+
+ While any version of ``cpp-ethereum`` should be usable, this cannot be guaranteed, and it is suggested to use the same version that is used by the Solidity continuous integration tests.
+ Currently the CI uses ``d661ac4fec0aeffbedcdc195f67f5ded0c798278`` of ``cpp-ethereum``.
+
Writing and running syntax tests
--------------------------------
@@ -114,13 +119,13 @@ Example: ``./test/libsolidity/syntaxTests/double_stateVariable_declaration.sol``
// ----
// DeclarationError: Identifier already declared.
-A syntax test must contain at least the contract under test itself, followed by the seperator ``----``. The additional comments above are used to describe the
+A syntax test must contain at least the contract under test itself, followed by the separator ``----``. The additional comments above are used to describe the
expected compiler errors or warnings. This section can be empty in case that the contract should compile without any errors or warnings.
In the above example, the state variable ``variable`` was declared twice, which is not allowed. This will result in a ``DeclarationError`` stating that the identifier was already declared.
The tool that is being used for those tests is called ``isoltest`` and can be found under ``./test/tools/``. It is an interactive tool which allows
-editing of failing contracts using your prefered text editor. Let's try to break this test by removing the second declaration of ``variable``:
+editing of failing contracts using your preferred text editor. Let's try to break this test by removing the second declaration of ``variable``:
::
@@ -213,6 +218,7 @@ At this stage you should be able to see a message similar to the following:
If the instrumentation messages did not appear, try switching the cmake flags pointing to AFL's clang binaries:
::
+
# if previously failed
make clean
cmake .. -DCMAKE_C_COMPILER=path/to/afl-clang -DCMAKE_CXX_COMPILER=path/to/afl-clang++
@@ -240,7 +246,7 @@ Othwerise, upon execution the fuzzer will halt with an error saying binary is no
Location : check_binary(), afl-fuzz.c:6920
-Next, you need some example source files. This will make it much easer for the fuzzer
+Next, you need some example source files. This will make it much easier for the fuzzer
to find errors. You can either copy some files from the syntax tests or extract test files
from the documentation or the other tests: