Commit Graph

134 Commits

Author SHA1 Message Date
Paweł Bylica cdbbd6a757
vmtester: Handle "invalid argument" error 2019-03-25 13:10:06 +01:00
Alex Beregszaszi dc4a2f4c1a Include evmc.hpp in compilation test 2019-03-19 19:23:06 +00:00
Paweł Bylica cf24ccb2ac
test: Add basic unit tests for C++ Host wrapper 2019-03-15 11:56:55 +01:00
Paweł Bylica 4683047d0b
test: Move compile-time checks from vmtester to unittests 2019-03-15 02:32:44 +01:00
Paweł Bylica 3ef9c1de50
examples: Always build example_vm as shared library 2019-03-14 18:32:27 +01:00
Paweł Bylica 3c1427fe7c
CMake: Add option EVMC_TEST_TOOLS
This will build evmc-vmtester but without bothering with unit tests. This option implies build examples because they are needed for vmtester.
2019-03-14 17:37:26 +01:00
Paweł Bylica ee795276cd
test: Drop vm-mock 2019-03-13 22:07:13 +01:00
Paweł Bylica d8f09d1d11
test: Rewrite loader unit tests by mocking DLL loading 2019-03-13 22:07:13 +01:00
Paweł Bylica c2bf49b2ef
test: Refactor a loader unit test 2019-03-13 22:07:13 +01:00
Paweł Bylica a2c0934073
test: Fix formatting (clang-format-8) 2019-03-11 22:29:03 +01:00
Paweł Bylica 4a9e852c4d
CMake: Refactor compilation tests 2019-03-11 22:29:04 +01:00
Paweł Bylica 553003ee3b
Fix compilation with VS 2015 2019-01-23 11:17:16 +01:00
Paweł Bylica b0ae85ebbf
Add C++ wrappers/bindings 2019-01-22 14:15:26 +01:00
Paweł Bylica d4fc289c80
Rename EVMC_LATEST_REVISION to EVMC_MAX_REVISION 2019-01-21 12:09:20 +01:00
Paweł Bylica 377167f76a
Enhance compilation tests 2019-01-18 13:52:34 +01:00
Paweł Bylica 28b2b8d6cf
helpers: Add is_zero() helper 2019-01-18 12:53:42 +01:00
Paweł Bylica 5c8e64915a
Improve C++ helpers 2018-09-08 22:43:04 +02:00
Paweł Bylica dc495408be
Improve EVMC capabilities 2018-09-08 22:16:14 +02:00
Paweł Bylica 1ab90eb80a
examples: Use evmc_bytes32 in the Host example 2018-09-07 00:14:21 +02:00
Paweł Bylica f41fccd21e
Add test for EVMC_SET_OPTION_INVALID_VALUE 2018-09-06 17:57:49 +02:00
Alex Beregszaszi 50c254fb98 Introduce evmc_set_option_result enum 2018-09-06 09:54:09 +01:00
Paweł Bylica 9a2d07e595
Remove code hash from evmc_message 2018-09-03 19:58:57 +02:00
Paweł Bylica f858f79e2a
CMake: Flatten example_host 2018-08-31 13:10:06 +02:00
Paweł Bylica 78888b57a9
Create header for example_host 2018-08-31 13:09:04 +02:00
Paweł Bylica 43dce45a5b
Create context in example host 2018-08-31 13:09:04 +02:00
Paweł Bylica 5aefc4faf3
Replace capi.c example with example_host.cpp 2018-08-31 13:09:04 +02:00
Alex Beregszaszi 0403343779 Return evmc_tx_context in get_tx_context (as opposed to pointer parameter) 2018-08-30 14:03:50 +01:00
Paweł Bylica 3c86a6b934
Return result from call_fn
This changes the evmc_call_fn signature to return evmc_result object instead of getting result as an output parameter.
2018-08-29 23:00:27 +02:00
Paweł Bylica 6768aa888e
Fix compilation in Debug configuration 2018-08-29 23:00:18 +02:00
Alex Beregszaszi 81425662e6 Add mock context for VM testing 2018-08-28 19:36:52 +01:00
Alex Beregszaszi 4a3bd021f4 Add vm test for execute 2018-08-28 19:36:52 +01:00
Alex Beregszaszi d1cea93f82
Merge pull request #104 from ethereum/clang-format
CI: Check code format
2018-08-28 17:17:10 +01:00
Paweł Bylica 044a137a36
Format code 2018-08-28 17:05:13 +02:00
Paweł Bylica 1a4b3c3c33
CMake: Clean up evmc-vmtester properties 2018-08-28 11:53:51 +02:00
Paweł Bylica 3076fc8429
Merge pull request #93 from ethereum/tests-cppstd
Compile unittests and vmtests as C++11
2018-08-28 11:20:51 +02:00
Paweł Bylica 8108f04b7a
Build tests with C++11 in not specified otherwise 2018-08-28 11:10:53 +02:00
Paweł Bylica 978a64049c
Fix compatibility with C++98 2018-08-27 22:13:33 +02:00
Paweł Bylica 391a300d08
Add unit tests for "evmc_create()" 2018-08-27 21:30:07 +02:00
Paweł Bylica 43fc619a7e
Update license note in headers of source files 2018-08-22 13:57:25 +02:00
Paweł Bylica 0659e24db0
Update copyright notice 2018-08-21 09:44:18 +02:00
Paweł Bylica 488bd5ad9d
Move Result Optional Storage functions to helpers.h 2018-08-20 11:12:01 +02:00
Paweł Bylica 5b45210241
utils: Properly resolve EVMC_EXPORT on mingw 2018-08-01 16:18:57 +02:00
Andrei Maiboroda 14b585922b
EXTCODEHASH support in instructions lib 2018-07-31 14:49:36 +02:00
Paweł Bylica 9bda457ddd
tracing: Fix test compilation with VS 2015 2018-07-25 18:22:09 +02:00
Paweł Bylica 17d95f2b8f
tracing: Remove "steps" parameter 2018-07-25 18:22:09 +02:00
Paweł Bylica 9e31e93fec
Make tracing feature optional 2018-07-25 18:22:08 +02:00
Paweł Bylica d2ac75f6a8
Do not allow set_tracer function to be null 2018-07-25 18:22:08 +02:00
Paweł Bylica 2c7ad06072
CMake: Move evmc-vmtester binary to test/ 2018-07-25 18:22:07 +02:00
Andrei Maiboroda 279f7c8b04
Add CREATE2 salt to evmc_message 2018-07-25 18:03:40 +02:00
Andrei Maiboroda cac4f6f9d0
CREATE2 support in instructions lib 2018-07-25 12:13:46 +02:00
Paweł Bylica 2e2b7f0e81
loader: Add unit tests for load_and_create() 2018-07-13 16:28:15 +02:00
Paweł Bylica 6b0ab05d07
loader: Fix support for Windows paths 2018-07-10 13:07:07 +02:00
Paweł Bylica 18a96c8d04
vmtester: Use CLI11 instead of boost::program_options 2018-07-10 13:07:07 +02:00
Paweł Bylica 8331ca15de
vmtester: Use loader library 2018-07-10 13:07:07 +02:00
Paweł Bylica 721f2b3083
loader: Return function pointer instead of EVM instance 2018-07-10 13:04:48 +02:00
Paweł Bylica 49e26b1ede
loader: Add Windows support 2018-07-10 13:02:42 +02:00
Paweł Bylica 02b52e2926
Add evmc::loader library to support dynamic loading 2018-07-10 12:57:29 +02:00
Paweł Bylica 977be63e74 vmtester: Add create function name search heuristic 2018-06-26 11:22:21 +02:00
Paweł Bylica 2d00ff6f69
CMake: Move evmc-vmtester artifacts to parent dir 2018-06-26 10:41:01 +02:00
Paweł Bylica 1902576903
Fix build for 32-bit architectures 2018-06-25 16:02:24 +02:00
Paweł Bylica cb2288b49d
Merge pull request #14 from ethereum/clang-format-config
Add clang-format config
2018-06-16 12:36:00 +02:00
Paweł Bylica 41b3501b5e
Add EVMC_LATEST_REVISON as an alias for latest EVM revision 2018-06-16 12:32:07 +02:00
Paweł Bylica cb9ebb7c82
Add names table for each EVM revision 2018-06-16 12:32:07 +02:00
Paweł Bylica bfa5c5bf06
Add more tests for instruction tables 2018-06-16 12:32:06 +02:00
Paweł Bylica 6f1f961f85
Use name prefix for EVM opcode enum items 2018-06-16 12:32:06 +02:00
Paweł Bylica e590d1b567
Circle CI: Execute unit tests 2018-06-11 11:44:13 +02:00
Paweł Bylica bc00d6e096
Add basic instruction table unit tests 2018-06-11 11:44:13 +02:00
Paweł Bylica fd578469a4
Add unit tests stub 2018-06-11 11:44:13 +02:00
Paweł Bylica dd1cfede55
Add evmc.h to any CMake target 2018-05-11 14:47:49 +02:00
Paweł Bylica 4ca2d9c66b
Reformat files 2018-05-11 13:26:58 +02:00
Paweł Bylica 7a99a71110
Make header compilable in C99 and C11 pedantic mode 2018-04-24 15:00:15 +02:00
Paweł Bylica f07e7ebbe5
vmtester: Simplify create function search 2018-04-23 14:07:59 +02:00
Paweł Bylica 262211ab68
Move evmc.h to include/evmc dir 2018-04-19 09:41:48 +02:00
Paweł Bylica b2c566f79c
Move static asserts from EVMJIT 2018-04-17 11:11:31 +02:00
Paweł Bylica c5c34599b9
Change naming convention for "create" function
Now should be prefixed with "evmc_create_".
2018-04-17 11:11:31 +02:00
Paweł Bylica 630d8be405
Add name and version to evmc_instance 2018-04-17 11:11:30 +02:00
Paweł Bylica 35ac166e3b
Circle CI: Test examplevm 2018-04-13 08:40:13 +02:00
Paweł Bylica 2e14d57482
CMake: Install evmc-vmtester 2018-04-13 08:40:13 +02:00
Paweł Bylica 379cea307c
Rename vmtester to evmc-vmtester 2018-04-12 11:02:01 +02:00
Paweł Bylica f1fcb37fbe
Add ctests for vmtester 2018-04-12 11:02:01 +02:00
Paweł Bylica 9c239da9bf
vmtester: Use program_options 2018-04-12 11:02:00 +02:00
Paweł Bylica df702acb99
Add basic EVMC VM compliance tests 2018-04-12 11:02:00 +02:00
Paweł Bylica 60c9d550aa
Search for symbols in dlls 2018-04-12 11:02:00 +02:00
Paweł Bylica 31a333df14
Bootstrap vmtester tool 2018-04-12 11:01:59 +02:00