diff --git a/src/bin_client/test/contracts/list_map_block.tz b/src/bin_client/test/contracts_attic/list_map_block.tz similarity index 100% rename from src/bin_client/test/contracts/list_map_block.tz rename to src/bin_client/test/contracts_attic/list_map_block.tz diff --git a/src/bin_client/test/contracts/list_of_transactions.tz b/src/bin_client/test/contracts_attic/list_of_transactions.tz similarity index 100% rename from src/bin_client/test/contracts/list_of_transactions.tz rename to src/bin_client/test/contracts_attic/list_of_transactions.tz diff --git a/src/bin_client/test/contracts/loop_left.tz b/src/bin_client/test/contracts_attic/loop_left.tz similarity index 100% rename from src/bin_client/test/contracts/loop_left.tz rename to src/bin_client/test/contracts_attic/loop_left.tz diff --git a/src/bin_client/test/contracts/queue.tz b/src/bin_client/test/contracts_attic/queue.tz similarity index 100% rename from src/bin_client/test/contracts/queue.tz rename to src/bin_client/test/contracts_attic/queue.tz diff --git a/src/bin_client/test/contracts/reduce_map.tz b/src/bin_client/test/contracts_attic/reduce_map.tz similarity index 100% rename from src/bin_client/test/contracts/reduce_map.tz rename to src/bin_client/test/contracts_attic/reduce_map.tz diff --git a/src/bin_client/test/contracts/reentrancy.tz b/src/bin_client/test/contracts_attic/reentrancy.tz similarity index 100% rename from src/bin_client/test/contracts/reentrancy.tz rename to src/bin_client/test/contracts_attic/reentrancy.tz diff --git a/src/bin_client/test/contracts/reverse.tz b/src/bin_client/test/contracts_attic/reverse.tz similarity index 100% rename from src/bin_client/test/contracts/reverse.tz rename to src/bin_client/test/contracts_attic/reverse.tz diff --git a/src/bin_client/test/contracts/spawn_identities.tz b/src/bin_client/test/contracts_attic/spawn_identities.tz similarity index 100% rename from src/bin_client/test/contracts/spawn_identities.tz rename to src/bin_client/test/contracts_attic/spawn_identities.tz diff --git a/src/bin_client/test/dune b/src/bin_client/test/dune index 0414882d2..242cf6a5a 100644 --- a/src/bin_client/test/dune +++ b/src/bin_client/test/dune @@ -76,6 +76,21 @@ %{bin:tezos-client} %{bin:tezos-admin-client}))) +(alias + (name runtest_contracts_attic.sh) + (deps sandbox.json + test_lib.inc.sh + (glob_files contracts_attic/*)) + (locks /tcp-port/18731 + /tcp-port/19731) + (action + (run bash %{dep:test_contracts_attic.sh} + %{bin:tezos-sandboxed-node.sh} + %{bin:tezos-node} + %{bin:tezos-init-sandboxed-client.sh} + %{bin:tezos-client} + %{bin:tezos-admin-client}))) + (alias (name runtest_multinode.sh) (deps sandbox.json diff --git a/src/bin_client/test/test_contracts.sh b/src/bin_client/test/test_contracts.sh index 864742617..cbe975beb 100755 --- a/src/bin_client/test/test_contracts.sh +++ b/src/bin_client/test/test_contracts.sh @@ -105,10 +105,6 @@ assert_storage $contract_dir/map_id.tz '{}' '{ Elt 0 1 }' '{ Elt 0 1 }' assert_storage $contract_dir/map_id.tz '{}' '{ Elt 0 0 }' '{ Elt 0 0 }' assert_storage $contract_dir/map_id.tz '{}' '{ Elt 0 0 ; Elt 3 4 }' '{ Elt 0 0 ; Elt 3 4 }' -# Map block on lists -assert_storage $contract_dir/list_map_block.tz '{0}' '{}' '{}' -assert_storage $contract_dir/list_map_block.tz '{0}' '{ 1 ; 1 ; 1 ; 1 }' '{ 1 ; 2 ; 3 ; 4 }' -assert_storage $contract_dir/list_map_block.tz '{0}' '{ 1 ; 2 ; 3 ; 0 }' '{ 1 ; 3 ; 5 ; 3 }' # List iter assert_storage $contract_dir/list_iter.tz 0 '{ 10 ; 2 ; 1 }' 20 @@ -200,15 +196,9 @@ assert_storage $contract_dir/swap_left_right.tz '(Left "X")' '(Left True)' '(Rig assert_storage $contract_dir/swap_left_right.tz '(Left "X")' '(Right "a")' '(Left "a")' # Reverse a list -assert_storage $contract_dir/reverse.tz '{""}' '{}' '{}' -assert_storage $contract_dir/reverse.tz '{""}' '{ "c" ; "b" ; "a" }' '{ "a" ; "b" ; "c" }' assert_storage $contract_dir/reverse_loop.tz '{""}' '{}' '{}' assert_storage $contract_dir/reverse_loop.tz '{""}' '{ "c" ; "b" ; "a" }' '{ "a" ; "b" ; "c" }' -# Reverse using LOOP_LEFT -assert_storage $contract_dir/loop_left.tz '{""}' '{}' '{}' -assert_storage $contract_dir/loop_left.tz '{""}' '{ "c" ; "b" ; "a" }' '{ "a" ; "b" ; "c" }' - # Exec concat contract #assert_storage $contract_dir/exec_concat.tz '"?"' '""' '"_abc"' #assert_storage $contract_dir/exec_concat.tz '"?"' '"test"' '"test_abc"' diff --git a/src/bin_client/test/test_contracts_attic.sh b/src/bin_client/test/test_contracts_attic.sh new file mode 100644 index 000000000..03a0ae754 --- /dev/null +++ b/src/bin_client/test/test_contracts_attic.sh @@ -0,0 +1,68 @@ +#!/bin/bash + +set -e +set -o pipefail + +test_dir="$(cd "$(dirname "$0")" && echo "$(pwd -P)")" +source $test_dir/test_lib.inc.sh "$@" + +start_node 1 +activate_alpha + +$client -w none config update + +bake + +key1=foo +key2=bar + +$client gen keys $key1 +$client gen keys $key2 + +printf "\n\n" + +# Assert all contracts typecheck +if [ ! $NO_TYPECHECK ] ; then + for contract in `ls $contract_attic_dir/*.tz`; do + printf "[Typechecking %s]\n" "$contract"; + ${client} typecheck script "$contract"; + done + printf "All contracts are well typed\n\n" +fi + +# Map block on lists +assert_storage $contract_attic_dir/list_map_block.tz '{0}' '{}' '{}' +assert_storage $contract_attic_dir/list_map_block.tz '{0}' '{ 1 ; 1 ; 1 ; 1 }' '{ 1 ; 2 ; 3 ; 4 }' +assert_storage $contract_attic_dir/list_map_block.tz '{0}' '{ 1 ; 2 ; 3 ; 0 }' '{ 1 ; 3 ; 5 ; 3 }' + +# Reverse a list +assert_storage $contract_attic_dir/reverse.tz '{""}' '{}' '{}' +assert_storage $contract_attic_dir/reverse.tz '{""}' '{ "c" ; "b" ; "a" }' '{ "a" ; "b" ; "c" }' + + +# Reverse using LOOP_LEFT +assert_storage $contract_attic_dir/loop_left.tz '{""}' '{}' '{}' +assert_storage $contract_attic_dir/loop_left.tz '{""}' '{ "c" ; "b" ; "a" }' '{ "a" ; "b" ; "c" }' + + +# TODO [a-k] contracts in attic + +# List of transactions +# TODO + + +# Queue +# TODO + +# Reduce map +# TODO + +# Reentrancy +# TODO + +# Spawn identities +# TODO + +printf "\nEnd of test\n" + +show_logs="no" diff --git a/src/bin_client/test/test_contracts_opcode.sh b/src/bin_client/test/test_contracts_opcode.sh index 48a9139e4..a750681c3 100644 --- a/src/bin_client/test/test_contracts_opcode.sh +++ b/src/bin_client/test/test_contracts_opcode.sh @@ -1,3 +1,5 @@ +#!/bin/bash + set -e set -o pipefail diff --git a/src/bin_client/test/test_lib.inc.sh b/src/bin_client/test/test_lib.inc.sh index 09287e91b..c552a6fb4 100755 --- a/src/bin_client/test/test_lib.inc.sh +++ b/src/bin_client/test/test_lib.inc.sh @@ -20,6 +20,7 @@ contract_dir="contracts" contract_op_dir="contracts_opcode" contract_macros_dir="contracts_macros" contract_scenarios_dir="contracts_mini_scenarios" +contract_attic_dir="contracts_attic" source $tezos_sandboxed_node source $tezos_init_sandboxed_client