|
2 | 2 | # Copyright 2019-2020 The EVMC Authors. |
3 | 3 | # Licensed under the Apache License, Version 2.0. |
4 | 4 |
|
5 | | -set(PREFIX ${PROJECT_NAME}/evmc-tool) |
| 5 | +function(add_evmc_tool_test NAME ARGUMENTS EXPECTED_OUTPUT) |
| 6 | + separate_arguments(ARGUMENTS) |
| 7 | + add_test(NAME ${PROJECT_NAME}/evmc-tool/${NAME} COMMAND evmc::tool ${ARGUMENTS}) |
| 8 | + set_tests_properties(${PROJECT_NAME}/evmc-tool/${NAME} PROPERTIES PASS_REGULAR_EXPRESSION ${EXPECTED_OUTPUT}) |
| 9 | +endfunction() |
6 | 10 |
|
7 | | -add_test( |
8 | | - NAME ${PREFIX}/example1 |
9 | | - COMMAND evmc::tool --vm $<TARGET_FILE:evmc::example-vm> run 30600052596000f3 --gas 99 |
10 | | -) |
11 | | -set_tests_properties( |
12 | | - ${PREFIX}/example1 PROPERTIES PASS_REGULAR_EXPRESSION |
| 11 | + |
| 12 | +add_evmc_tool_test( |
| 13 | + example1 |
| 14 | + "--vm $<TARGET_FILE:evmc::example-vm> run 30600052596000f3 --gas 99" |
13 | 15 | "Result: +success[\r\n]+Gas used: +6[\r\n]+Output: +0000000000000000000000000000000000000000000000000000000000000000[\r\n]" |
14 | 16 | ) |
15 | 17 |
|
16 | | -add_test( |
17 | | - NAME ${PREFIX}/version |
18 | | - COMMAND evmc::tool --version |
19 | | -) |
20 | | -set_tests_properties( |
21 | | - ${PREFIX}/version PROPERTIES PASS_REGULAR_EXPRESSION |
| 18 | +add_evmc_tool_test( |
| 19 | + version |
| 20 | + "--version" |
22 | 21 | "EVMC ${PROJECT_VERSION} \\($<TARGET_FILE:evmc::tool>\\)" |
23 | 22 | ) |
24 | 23 |
|
25 | | -add_test( |
26 | | - NAME ${PREFIX}/version_vm |
27 | | - COMMAND evmc::tool --vm $<TARGET_FILE:evmc::example-vm> --version |
28 | | -) |
29 | | -set_tests_properties( |
30 | | - ${PREFIX}/version_vm PROPERTIES PASS_REGULAR_EXPRESSION |
| 24 | +add_evmc_tool_test( |
| 25 | + version_vm |
| 26 | + "--vm $<TARGET_FILE:evmc::example-vm> --version" |
31 | 27 | "example_vm ${PROJECT_VERSION} \\($<TARGET_FILE:evmc::example-vm>\\)[\r\n]EVMC ${PROJECT_VERSION} \\($<TARGET_FILE:evmc::tool>\\)" |
32 | 28 | ) |
33 | 29 |
|
34 | | -add_test( |
35 | | - NAME ${PREFIX}/copy_input |
36 | | - COMMAND evmc::tool --vm $<TARGET_FILE:evmc::example-vm> run 600035600052596000f3 --input aabbccdd |
37 | | -) |
38 | | -set_tests_properties( |
39 | | - ${PREFIX}/copy_input PROPERTIES PASS_REGULAR_EXPRESSION |
| 30 | +add_evmc_tool_test( |
| 31 | + copy_input |
| 32 | + "--vm $<TARGET_FILE:evmc::example-vm> run 600035600052596000f3 --input aabbccdd" |
40 | 33 | "Result: +success[\r\n]+Gas used: +7[\r\n]+Output: +aabbccdd00000000000000000000000000000000000000000000000000000000[\r\n]" |
41 | 34 | ) |
42 | 35 |
|
|
0 commit comments