From ad8334e54c7fd53f8fb3ad3423050a876a11676a Mon Sep 17 00:00:00 2001 From: Alexandre Paillier Date: Tue, 28 Jun 2022 14:38:19 +0200 Subject: [PATCH 01/69] feat: unit-test with cmocka - Test only 1 function which is in utils2.c - Because is not inlude nano sdk - Move zemu's into functional folder - Change path of zemu's test in CI and Makefile --- .github/workflows/ci-workflow.yml | 12 +- .gitignore | 1 + Makefile | 7 +- tests/{ => functional}/.babelrc | 0 tests/{ => functional}/.flowconfig | 0 .../{ => functional}/build_local_test_elfs.sh | 0 .../elfs/ethereum_classic_nanos.elf | Bin 0 -> 175288 bytes .../elfs/ethereum_classic_nanox.elf | Bin 0 -> 550472 bytes tests/functional/elfs/ethereum_nanos.elf | Bin 0 -> 715896 bytes tests/functional/elfs/ethereum_nanox.elf | Bin 0 -> 753252 bytes tests/{ => functional}/globalsetup.js | 0 tests/{ => functional}/jest.config.js | 0 tests/functional/jest.js | 22 +++ tests/functional/lib/approve.test.js | 22 +++ .../lib/blind_compound_deposit.test.js | 24 +++ tests/functional/lib/chainid.test.js | 37 +++++ .../lib/contract_data_warning.test.js | 30 ++++ tests/functional/lib/eip1559.test.js | 22 +++ tests/functional/lib/erc1155.test.js | 65 +++++++++ tests/functional/lib/erc721.test.js | 45 ++++++ tests/functional/lib/send.test.js | 46 ++++++ tests/functional/lib/send_bsc.test.js | 22 +++ tests/functional/lib/send_etc.test.js | 31 ++++ tests/functional/lib/starkware.test.js | 32 ++++ tests/functional/lib/test.fixture.js | 138 ++++++++++++++++++ tests/{ => functional}/package.json | 0 tests/{ => functional}/setupTests.js | 0 .../nanos_approve_dai_tokens/00000.png | Bin .../nanos_approve_dai_tokens/00001.png | Bin .../nanos_approve_dai_tokens/00002.png | Bin .../nanos_approve_dai_tokens/00003.png | Bin .../nanos_approve_dai_tokens/00004.png | Bin .../nanos_approve_dai_tokens/00005.png | Bin .../nanos_approve_dai_tokens/00006.png | Bin .../nanos_approve_dai_tokens/00007.png | Bin .../nanos_approve_dai_tokens/00008.png | Bin .../nanos_approve_dai_tokens/00009.png | 0 .../nanos_approve_dai_tokens/00010.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | Bin .../00008.png | Bin .../00009.png | 0 .../00010.png | Bin .../nanos_disable_blind_signing/00000.png | Bin .../nanos_disable_blind_signing/00001.png | Bin .../nanos_disable_blind_signing/00002.png | Bin .../nanos_disable_blind_signing/00003.png | Bin .../nanos_disable_blind_signing/00004.png | Bin .../nanos_disable_blind_signing/00005.png | Bin .../nanos_disable_blind_signing/00006.png | Bin .../nanos_disable_blind_signing/00007.png | Bin .../nanos_disable_blind_signing/00008.png | Bin .../nanos_enable_blind_signing/00000.png | Bin .../nanos_enable_blind_signing/00001.png | Bin .../nanos_enable_blind_signing/00002.png | Bin .../nanos_enable_blind_signing/00003.png | Bin .../nanos_enable_blind_signing/00004.png | Bin .../nanos_enable_blind_signing/00005.png | Bin .../nanos_enable_blind_signing/00006.png | Bin .../nanos_enable_blind_signing/00007.png | Bin .../nanos_enable_blind_signing/00008.png | Bin .../nanos_starkware_usdt_deposit/00000.png | Bin .../nanos_starkware_usdt_deposit/00001.png | Bin .../nanos_starkware_usdt_deposit/00002.png | Bin .../nanos_starkware_usdt_deposit/00003.png | Bin .../nanos_starkware_usdt_deposit/00004.png | Bin .../nanos_starkware_usdt_deposit/00005.png | Bin .../nanos_starkware_usdt_deposit/00006.png | Bin .../nanos_starkware_usdt_deposit/00007.png | Bin .../nanos_starkware_usdt_deposit/00008.png | Bin .../nanos_starkware_usdt_deposit/00009.png | Bin .../nanos_starkware_usdt_deposit/00010.png | Bin .../nanos_starkware_usdt_deposit/00011.png | Bin .../nanos_starkware_usdt_deposit/00012.png | Bin .../nanos_starkware_usdt_deposit/00013.png | Bin .../nanos_starkware_usdt_deposit/00014.png | Bin .../nanos_starkware_usdt_deposit/00015.png | 0 .../nanos_starkware_usdt_deposit/00016.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | Bin .../00008.png | Bin .../00009.png | Bin .../00010.png | Bin .../00011.png | 0 .../00012.png | Bin .../snapshots/nanos_transfer_bsc/00000.png | Bin .../snapshots/nanos_transfer_bsc/00001.png | Bin .../snapshots/nanos_transfer_bsc/00002.png | Bin .../snapshots/nanos_transfer_bsc/00003.png | Bin .../snapshots/nanos_transfer_bsc/00004.png | Bin .../snapshots/nanos_transfer_bsc/00005.png | Bin .../snapshots/nanos_transfer_bsc/00006.png | Bin .../snapshots/nanos_transfer_bsc/00007.png | Bin .../snapshots/nanos_transfer_bsc/00008.png | Bin .../snapshots/nanos_transfer_bsc/00009.png | Bin .../snapshots/nanos_transfer_bsc/00010.png | Bin .../snapshots/nanos_transfer_bsc/00011.png | 0 .../snapshots/nanos_transfer_bsc/00012.png | Bin .../nanos_transfer_eip1559/00000.png | Bin .../nanos_transfer_eip1559/00001.png | Bin .../nanos_transfer_eip1559/00002.png | Bin .../nanos_transfer_eip1559/00003.png | Bin .../nanos_transfer_eip1559/00004.png | Bin .../nanos_transfer_eip1559/00005.png | Bin .../nanos_transfer_eip1559/00006.png | Bin .../nanos_transfer_eip1559/00007.png | Bin .../nanos_transfer_eip1559/00008.png | 0 .../nanos_transfer_eip1559/00009.png | Bin .../nanos_transfer_ethereum/00000.png | Bin .../nanos_transfer_ethereum/00001.png | Bin .../nanos_transfer_ethereum/00002.png | Bin .../nanos_transfer_ethereum/00003.png | Bin .../nanos_transfer_ethereum/00004.png | Bin .../nanos_transfer_ethereum/00005.png | Bin .../nanos_transfer_ethereum/00006.png | Bin .../nanos_transfer_ethereum/00007.png | Bin .../nanos_transfer_ethereum/00008.png | Bin .../nanos_transfer_ethereum/00009.png | Bin .../nanos_transfer_ethereum/00010.png | 0 .../nanos_transfer_ethereum/00011.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | Bin .../00008.png | Bin .../00009.png | Bin .../00010.png | Bin .../00011.png | 0 .../00012.png | Bin .../nanos_transfer_ethereum_clone/00000.png | Bin .../nanos_transfer_ethereum_clone/00001.png | Bin .../nanos_transfer_ethereum_clone/00002.png | Bin .../nanos_transfer_ethereum_clone/00003.png | Bin .../nanos_transfer_ethereum_clone/00004.png | Bin .../nanos_transfer_ethereum_clone/00005.png | Bin .../nanos_transfer_ethereum_clone/00006.png | Bin .../nanos_transfer_ethereum_clone/00007.png | Bin .../nanos_transfer_ethereum_clone/00008.png | Bin .../nanos_transfer_ethereum_clone/00009.png | Bin .../nanos_transfer_ethereum_clone/00010.png | 0 .../nanos_transfer_ethereum_clone/00011.png | Bin .../nanos_transfer_palm_network/00000.png | Bin .../nanos_transfer_palm_network/00001.png | Bin .../nanos_transfer_palm_network/00002.png | Bin .../nanos_transfer_palm_network/00003.png | Bin .../nanos_transfer_palm_network/00004.png | Bin .../nanos_transfer_palm_network/00005.png | Bin .../nanos_transfer_palm_network/00006.png | Bin .../nanos_transfer_palm_network/00007.png | Bin .../nanos_transfer_palm_network/00008.png | Bin .../nanos_transfer_palm_network/00009.png | Bin .../nanos_transfer_palm_network/00010.png | Bin .../nanos_transfer_palm_network/00011.png | 0 .../nanos_transfer_palm_network/00012.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin .../nanox_approve_dai_tokens/00000.png | Bin .../nanox_approve_dai_tokens/00001.png | Bin .../nanox_approve_dai_tokens/00002.png | Bin .../nanox_approve_dai_tokens/00003.png | Bin .../nanox_approve_dai_tokens/00004.png | Bin .../nanox_approve_dai_tokens/00005.png | Bin .../nanox_approve_dai_tokens/00006.png | Bin .../nanox_approve_dai_tokens/00007.png | 0 .../nanox_approve_dai_tokens/00008.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | 0 .../00008.png | Bin .../nanox_disable_blind_signing/00000.png | Bin .../nanox_disable_blind_signing/00001.png | Bin .../nanox_disable_blind_signing/00002.png | Bin .../nanox_disable_blind_signing/00003.png | Bin .../nanox_disable_blind_signing/00004.png | Bin .../nanox_disable_blind_signing/00005.png | Bin .../nanox_disable_blind_signing/00006.png | Bin .../nanox_disable_blind_signing/00007.png | Bin .../nanox_disable_blind_signing/00008.png | Bin .../nanox_enable_blind_signing/00000.png | Bin .../nanox_enable_blind_signing/00001.png | Bin .../nanox_enable_blind_signing/00002.png | Bin .../nanox_enable_blind_signing/00003.png | Bin .../nanox_enable_blind_signing/00004.png | Bin .../nanox_enable_blind_signing/00005.png | Bin .../nanox_enable_blind_signing/00006.png | Bin .../nanox_enable_blind_signing/00007.png | Bin .../nanox_enable_blind_signing/00008.png | Bin .../nanox_erc1155_batch_transfer/00000.png | Bin .../nanox_erc1155_batch_transfer/00001.png | Bin .../nanox_erc1155_batch_transfer/00002.png | Bin .../nanox_erc1155_batch_transfer/00003.png | Bin .../nanox_erc1155_batch_transfer/00004.png | Bin .../nanox_erc1155_batch_transfer/00005.png | Bin .../nanox_erc1155_batch_transfer/00006.png | Bin .../nanox_erc1155_batch_transfer/00007.png | Bin .../nanox_erc1155_batch_transfer/00008.png | Bin .../nanox_erc1155_batch_transfer/00009.png | 0 .../nanox_erc1155_batch_transfer/00010.png | Bin .../nanox_erc1155_transfer/00000.png | Bin .../nanox_erc1155_transfer/00001.png | Bin .../nanox_erc1155_transfer/00002.png | Bin .../nanox_erc1155_transfer/00003.png | Bin .../nanox_erc1155_transfer/00004.png | Bin .../nanox_erc1155_transfer/00005.png | Bin .../nanox_erc1155_transfer/00006.png | Bin .../nanox_erc1155_transfer/00007.png | Bin .../nanox_erc1155_transfer/00008.png | Bin .../nanox_erc1155_transfer/00009.png | Bin .../nanox_erc1155_transfer/00010.png | Bin .../nanox_erc1155_transfer/00011.png | 0 .../nanox_erc1155_transfer/00012.png | Bin .../nanox_erc1155_transfer_wo_info/00000.png | 1 + .../nanox_erc1155_transfer_wo_info/00001.png | 1 + .../nanox_erc1155_transfer_wo_info/00002.png | 1 + .../nanox_erc1155_transfer_wo_info/00003.png | Bin 0 -> 457 bytes .../nanox_erc1155_transfer_wo_info/00004.png | 1 + .../nanox_erc1155_transfer_wo_info/00005.png | 1 + .../nanox_erc1155_transfer_wo_info/00006.png | 1 + .../nanox_erc1155_transfer_wo_info/00007.png | 1 + .../nanox_erc1155_transfer_wo_info/00008.png | 1 + .../nanox_erc1155_transfer_wo_info/00009.png | 1 + .../nanox_erc1155_transfer_wo_info/00010.png | 1 + .../nanox_erc1155_transfer_wo_info/00011.png | 1 + .../nanox_erc1155_transfer_wo_info/00012.png | 1 + .../snapshots/nanox_erc721_transfer/00000.png | Bin .../snapshots/nanox_erc721_transfer/00001.png | Bin .../snapshots/nanox_erc721_transfer/00002.png | Bin .../snapshots/nanox_erc721_transfer/00003.png | Bin .../snapshots/nanox_erc721_transfer/00004.png | Bin .../snapshots/nanox_erc721_transfer/00005.png | Bin .../snapshots/nanox_erc721_transfer/00006.png | Bin .../snapshots/nanox_erc721_transfer/00007.png | Bin .../snapshots/nanox_erc721_transfer/00008.png | Bin .../snapshots/nanox_erc721_transfer/00009.png | 0 .../snapshots/nanox_erc721_transfer/00010.png | Bin .../nanox_erc721_transfer_wo_info/00000.png | 1 + .../nanox_erc721_transfer_wo_info/00001.png | 1 + .../nanox_erc721_transfer_wo_info/00002.png | 1 + .../nanox_erc721_transfer_wo_info/00003.png | Bin 0 -> 457 bytes .../nanox_erc721_transfer_wo_info/00004.png | 1 + .../nanox_erc721_transfer_wo_info/00005.png | 1 + .../nanox_erc721_transfer_wo_info/00006.png | 1 + .../nanox_erc721_transfer_wo_info/00007.png | 1 + .../nanox_erc721_transfer_wo_info/00008.png | 1 + .../nanox_erc721_transfer_wo_info/00009.png | 1 + .../nanox_erc721_transfer_wo_info/00010.png | 1 + .../nanox_starkware_usdt_deposit/00000.png | Bin .../nanox_starkware_usdt_deposit/00001.png | Bin .../nanox_starkware_usdt_deposit/00002.png | Bin .../nanox_starkware_usdt_deposit/00003.png | Bin .../nanox_starkware_usdt_deposit/00004.png | Bin .../nanox_starkware_usdt_deposit/00005.png | Bin .../nanox_starkware_usdt_deposit/00006.png | Bin .../nanox_starkware_usdt_deposit/00007.png | Bin .../nanox_starkware_usdt_deposit/00008.png | Bin .../nanox_starkware_usdt_deposit/00009.png | Bin .../nanox_starkware_usdt_deposit/00010.png | Bin .../nanox_starkware_usdt_deposit/00011.png | 0 .../nanox_starkware_usdt_deposit/00012.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | 0 .../00008.png | Bin .../snapshots/nanox_transfer_bsc/00000.png | Bin .../snapshots/nanox_transfer_bsc/00001.png | Bin .../snapshots/nanox_transfer_bsc/00002.png | Bin .../snapshots/nanox_transfer_bsc/00003.png | Bin .../snapshots/nanox_transfer_bsc/00004.png | Bin .../snapshots/nanox_transfer_bsc/00005.png | Bin .../snapshots/nanox_transfer_bsc/00006.png | Bin .../snapshots/nanox_transfer_bsc/00007.png | 0 .../snapshots/nanox_transfer_bsc/00008.png | Bin .../nanox_transfer_eip1559/00000.png | Bin .../nanox_transfer_eip1559/00001.png | Bin .../nanox_transfer_eip1559/00002.png | Bin .../nanox_transfer_eip1559/00003.png | Bin .../nanox_transfer_eip1559/00004.png | Bin .../nanox_transfer_eip1559/00005.png | Bin .../nanox_transfer_eip1559/00006.png | 0 .../nanox_transfer_eip1559/00007.png | Bin .../nanox_transfer_ethereum/00000.png | Bin .../nanox_transfer_ethereum/00001.png | Bin .../nanox_transfer_ethereum/00002.png | Bin .../nanox_transfer_ethereum/00003.png | Bin .../nanox_transfer_ethereum/00004.png | Bin .../nanox_transfer_ethereum/00005.png | Bin .../nanox_transfer_ethereum/00006.png | 0 .../nanox_transfer_ethereum/00007.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin .../00003.png | Bin .../00004.png | Bin .../00005.png | Bin .../00006.png | Bin .../00007.png | 0 .../00008.png | Bin .../nanox_transfer_ethereum_clone/00000.png | Bin .../nanox_transfer_ethereum_clone/00001.png | Bin .../nanox_transfer_ethereum_clone/00002.png | Bin .../nanox_transfer_ethereum_clone/00003.png | Bin .../nanox_transfer_ethereum_clone/00004.png | Bin .../nanox_transfer_ethereum_clone/00005.png | Bin .../nanox_transfer_ethereum_clone/00006.png | 0 .../nanox_transfer_ethereum_clone/00007.png | Bin .../nanox_transfer_palm_network/00000.png | Bin .../nanox_transfer_palm_network/00001.png | Bin .../nanox_transfer_palm_network/00002.png | Bin .../nanox_transfer_palm_network/00003.png | Bin .../nanox_transfer_palm_network/00004.png | Bin .../nanox_transfer_palm_network/00005.png | Bin .../nanox_transfer_palm_network/00006.png | Bin .../nanox_transfer_palm_network/00007.png | 0 .../nanox_transfer_palm_network/00008.png | Bin .../00000.png | Bin .../00001.png | Bin tests/{ => functional}/src/approve.test.js | 0 .../src/blind_compound_deposit.test.js | 0 tests/{ => functional}/src/chainid.test.js | 0 .../src/contract_data_warning.test.js | 0 tests/{ => functional}/src/eip1559.test.js | 0 tests/{ => functional}/src/erc1155.test.js | 0 tests/{ => functional}/src/erc721.test.js | 0 tests/{ => functional}/src/send.test.js | 0 tests/{ => functional}/src/send_bsc.test.js | 0 tests/{ => functional}/src/send_etc.test.js | 0 tests/{ => functional}/src/starkware.test.js | 0 tests/{ => functional}/src/test.fixture.js | 0 tests/{ => functional}/yarn.lock | 6 +- 356 files changed, 573 insertions(+), 11 deletions(-) rename tests/{ => functional}/.babelrc (100%) rename tests/{ => functional}/.flowconfig (100%) rename tests/{ => functional}/build_local_test_elfs.sh (100%) create mode 100755 tests/functional/elfs/ethereum_classic_nanos.elf create mode 100755 tests/functional/elfs/ethereum_classic_nanox.elf create mode 100755 tests/functional/elfs/ethereum_nanos.elf create mode 100755 tests/functional/elfs/ethereum_nanox.elf rename tests/{ => functional}/globalsetup.js (100%) rename tests/{ => functional}/jest.config.js (100%) create mode 100644 tests/functional/jest.js create mode 100644 tests/functional/lib/approve.test.js create mode 100644 tests/functional/lib/blind_compound_deposit.test.js create mode 100644 tests/functional/lib/chainid.test.js create mode 100644 tests/functional/lib/contract_data_warning.test.js create mode 100644 tests/functional/lib/eip1559.test.js create mode 100644 tests/functional/lib/erc1155.test.js create mode 100644 tests/functional/lib/erc721.test.js create mode 100644 tests/functional/lib/send.test.js create mode 100644 tests/functional/lib/send_bsc.test.js create mode 100644 tests/functional/lib/send_etc.test.js create mode 100644 tests/functional/lib/starkware.test.js create mode 100644 tests/functional/lib/test.fixture.js rename tests/{ => functional}/package.json (100%) rename tests/{ => functional}/setupTests.js (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00009.png (100%) rename tests/{ => functional}/snapshots/nanos_approve_dai_tokens/00010.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00009.png (100%) rename tests/{ => functional}/snapshots/nanos_deposit_eth_compound_blind/00010.png (100%) rename tests/{ => functional}/snapshots/nanos_disable_blind_signing/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_disable_blind_signing/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_disable_blind_signing/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_disable_blind_signing/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_disable_blind_signing/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_disable_blind_signing/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_disable_blind_signing/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_disable_blind_signing/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_disable_blind_signing/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_enable_blind_signing/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_enable_blind_signing/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_enable_blind_signing/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_enable_blind_signing/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_enable_blind_signing/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_enable_blind_signing/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_enable_blind_signing/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_enable_blind_signing/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_enable_blind_signing/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00009.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00010.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00011.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00012.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00013.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00014.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00015.png (100%) rename tests/{ => functional}/snapshots/nanos_starkware_usdt_deposit/00016.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00009.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00010.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00011.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_112233445566_network/00012.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00009.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00010.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00011.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_bsc/00012.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_eip1559/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_eip1559/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_eip1559/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_eip1559/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_eip1559/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_eip1559/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_eip1559/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_eip1559/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_eip1559/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_eip1559/00009.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00009.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00010.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum/00011.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00009.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00010.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00011.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_5234_network/00012.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00009.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00010.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_ethereum_clone/00011.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00002.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00003.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00004.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00005.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00006.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00007.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00008.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00009.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00010.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00011.png (100%) rename tests/{ => functional}/snapshots/nanos_transfer_palm_network/00012.png (100%) rename tests/{ => functional}/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00000.png (100%) rename tests/{ => functional}/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00001.png (100%) rename tests/{ => functional}/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_approve_dai_tokens/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_approve_dai_tokens/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_approve_dai_tokens/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_approve_dai_tokens/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_approve_dai_tokens/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_approve_dai_tokens/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_approve_dai_tokens/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_approve_dai_tokens/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_approve_dai_tokens/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_deposit_eth_compound_blind/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_deposit_eth_compound_blind/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_deposit_eth_compound_blind/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_deposit_eth_compound_blind/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_deposit_eth_compound_blind/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_deposit_eth_compound_blind/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_deposit_eth_compound_blind/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_deposit_eth_compound_blind/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_deposit_eth_compound_blind/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_disable_blind_signing/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_disable_blind_signing/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_disable_blind_signing/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_disable_blind_signing/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_disable_blind_signing/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_disable_blind_signing/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_disable_blind_signing/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_disable_blind_signing/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_disable_blind_signing/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_enable_blind_signing/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_enable_blind_signing/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_enable_blind_signing/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_enable_blind_signing/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_enable_blind_signing/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_enable_blind_signing/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_enable_blind_signing/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_enable_blind_signing/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_enable_blind_signing/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00009.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_batch_transfer/00010.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00009.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00010.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00011.png (100%) rename tests/{ => functional}/snapshots/nanox_erc1155_transfer/00012.png (100%) create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00000.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00001.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00002.png create mode 100644 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00003.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00004.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00005.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00006.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00007.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00008.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00009.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00010.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00011.png create mode 120000 tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00012.png rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00009.png (100%) rename tests/{ => functional}/snapshots/nanox_erc721_transfer/00010.png (100%) create mode 120000 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00000.png create mode 120000 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00001.png create mode 120000 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00002.png create mode 100644 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00003.png create mode 120000 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00004.png create mode 120000 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00005.png create mode 120000 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00006.png create mode 120000 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00007.png create mode 120000 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00008.png create mode 120000 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00009.png create mode 120000 tests/functional/snapshots/nanox_erc721_transfer_wo_info/00010.png rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00009.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00010.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00011.png (100%) rename tests/{ => functional}/snapshots/nanox_starkware_usdt_deposit/00012.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_112233445566_network/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_112233445566_network/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_112233445566_network/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_112233445566_network/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_112233445566_network/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_112233445566_network/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_112233445566_network/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_112233445566_network/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_112233445566_network/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_bsc/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_bsc/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_bsc/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_bsc/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_bsc/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_bsc/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_bsc/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_bsc/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_bsc/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_eip1559/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_eip1559/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_eip1559/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_eip1559/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_eip1559/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_eip1559/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_eip1559/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_eip1559/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_5234_network/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_5234_network/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_5234_network/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_5234_network/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_5234_network/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_5234_network/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_5234_network/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_5234_network/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_5234_network/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_clone/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_clone/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_clone/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_clone/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_clone/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_clone/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_clone/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_ethereum_clone/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_palm_network/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_palm_network/00001.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_palm_network/00002.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_palm_network/00003.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_palm_network/00004.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_palm_network/00005.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_palm_network/00006.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_palm_network/00007.png (100%) rename tests/{ => functional}/snapshots/nanox_transfer_palm_network/00008.png (100%) rename tests/{ => functional}/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00000.png (100%) rename tests/{ => functional}/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00001.png (100%) rename tests/{ => functional}/src/approve.test.js (100%) rename tests/{ => functional}/src/blind_compound_deposit.test.js (100%) rename tests/{ => functional}/src/chainid.test.js (100%) rename tests/{ => functional}/src/contract_data_warning.test.js (100%) rename tests/{ => functional}/src/eip1559.test.js (100%) rename tests/{ => functional}/src/erc1155.test.js (100%) rename tests/{ => functional}/src/erc721.test.js (100%) rename tests/{ => functional}/src/send.test.js (100%) rename tests/{ => functional}/src/send_bsc.test.js (100%) rename tests/{ => functional}/src/send_etc.test.js (100%) rename tests/{ => functional}/src/starkware.test.js (100%) rename tests/{ => functional}/src/test.fixture.js (100%) rename tests/{ => functional}/yarn.lock (99%) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index c3f4562..a1212e8 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -114,13 +114,13 @@ jobs: - uses: actions/checkout@v2 - name: Build testing binaries - run: cd tests && ./build_local_test_elfs.sh + run: cd tests/functional/ && ./build_local_test_elfs.sh - name: Upload app binaries uses: actions/upload-artifact@v2 with: name: e2e_elfs - path: ./tests/elfs/ + path: ./tests/functional/elfs/ jobs-e2e-tests: name: E2E tests @@ -146,10 +146,10 @@ jobs: run: npm install -g yarn - name: Build/Install build js deps - run: cd tests && yarn install + run: cd tests/functional/ && yarn install - name: Create tmp folder for artifacts - run: mkdir tests/elfs + run: mkdir tests/functional/elfs - name: Download app binaries uses: actions/download-artifact@v2 @@ -157,7 +157,7 @@ jobs: path: tmp/ - name: Gather elfs - run: cp `find tmp/e2e_elfs/ -name "*.elf"` tests/elfs/ + run: cp `find tmp/e2e_elfs/ -name "*.elf"` tests/functional/elfs/ - name: Run zemu tests - run: cd tests && yarn test + run: cd tests/functional/ && yarn test diff --git a/.gitignore b/.gitignore index 16c938c..9443644 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ tests/elfs/* tests/snapshots-tmp .vscode +.idea \ No newline at end of file diff --git a/Makefile b/Makefile index 0fb0289..0a36e37 100644 --- a/Makefile +++ b/Makefile @@ -222,13 +222,16 @@ delete: python3 -m ledgerblue.deleteApp $(COMMON_DELETE_PARAMS) install_tests: - cd tests && (yarn install || sudo yarn install) + cd tests/functional/ && (yarn install || sudo yarn install) run_tests: - cd tests && (yarn test || sudo yarn test) + cd tests/functional/ && (yarn test || sudo yarn test) test: install_tests run_tests +unit-test: + make -C tests/unit + # import generic rules from the sdk include $(BOLOS_SDK)/Makefile.rules diff --git a/tests/.babelrc b/tests/functional/.babelrc similarity index 100% rename from tests/.babelrc rename to tests/functional/.babelrc diff --git a/tests/.flowconfig b/tests/functional/.flowconfig similarity index 100% rename from tests/.flowconfig rename to tests/functional/.flowconfig diff --git a/tests/build_local_test_elfs.sh b/tests/functional/build_local_test_elfs.sh similarity index 100% rename from tests/build_local_test_elfs.sh rename to tests/functional/build_local_test_elfs.sh diff --git a/tests/functional/elfs/ethereum_classic_nanos.elf b/tests/functional/elfs/ethereum_classic_nanos.elf new file mode 100755 index 0000000000000000000000000000000000000000..866388cf865ed7ce41c586a7af044bbb657aa0ad GIT binary patch literal 175288 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 F{{w`Sj<)~+ literal 0 HcmV?d00001 diff --git a/tests/functional/elfs/ethereum_classic_nanox.elf b/tests/functional/elfs/ethereum_classic_nanox.elf new file mode 100755 index 0000000000000000000000000000000000000000..3940b3c54f108d66dfbc792bda78b6b519d8398d GIT binary patch literal 550472 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�Kab!DK+1{R$H3IFjk+i2q2YRyxd;3}Y4YpVO`;J%a^N?$Upx6s0p* z5RHW;kZBSBk!2VcwboXGaEeXMXw(fEGGuT>{5OPxoLT)A@g;`roLJG6?8xryo$}iAR z)fy5~SpTyEZOA_Y?N>e zE3fau3d6BPLli6hyn*oz5I}nCcPAp;4IUB0(9S;CGWu?;xatmoC!yc^ZmhdzE=hR< zIF5xro<^kV60~<~9^eF8)T$={6yhhctwtZUEJn8T@vrY++EfL&>w8xtK%}`hf_$9Z z@&wRBfWcqQI<|Bc>XMdT`ZK`?qiGi* zZvhKw`L_{#ga7J5ah~O;Adgn_6$|baBd==07Og%JpcKAZ3fJ&)r|RqCJP%Ak5motv zl8$jkO@{U|7C=g$y#T8g1>EPAc0QeCwx1>%{0EZb;Cr#BwL4eh&B==r4W3tNMt2|v zqcYv}Bei)~K&fL8KyOtV{3OJ!eGoW@AW)API5QEY0+W5CEY&(&0{@lW_;zr z;;O=w<`2hYNvflo^Vf}u5UxU`BPBhvpdIBhqNHa;NzaIqo)INIBT9Nkl=O@!=^0Vd zGoqwtL`lzxlAaMIJ)@NLK({J0KR?KdH$f4EH|awdgUqedL2hOP!c^vOi4f= z72BfUBL~Pj5CIi?duUeldwXz5{r(s>E&9EE0<$ebK>gnDn^XF|zja9ceiQIM?-@es z_iW1VMG~ps3q<`sq<$|@Z<07+lcu$Se1BV#Nd5k3LQ22SM*4k7{hmul^!t$d{cD6~ zVL0H-i>O5(bf*S^((g;4--rEC_XW&H{k}kx==TMhM86NI-`~fa)bGRf?Ku4tqJAGz zzb^+(qTh$q@3$jFn@~6mE$m82*@W)bV*TE^3FWEZyFDCUG*iEKmbj5kXag{%`~sg| z_7{Yj!`@K8_hvfpB1-+<=pzNG-|Lg?&A>VwU!~vMzW^?(p^UR!#!=PmYS2@h#KoZ= z9Ym5B5Yff$pm>;bHKOV^ z*;T5&O`kO9E(Fx+?NM1#?d{UsM?2A?FFK0A5yg!h^l?~R9ggzY9CUy=Os%)jp(ZPoA3*)jp(Z zFR7y1hg9vKXR1=|ozoDfPM?{d71cg-oKUigS*Y5FRPCj_Qtgv5Y%Cs7sP;(;UbUfA zd;2X^<1P`4i2Whr&SnH7L7>$)%b&ScOGtf|y|Lgbfb$x3dNyut#T~>!p|^?E-Dn;h zZUXIJ6585mo*Zi3)V{H>N2i2Kv9l!&d$cW_f^p|6w6I4H4~Hy@(y<hnv7SI0Dvo zM)S-tjao7epgud_o=&W1odU4%Sca6D|DE<&Cz1mfu;Vd`?aus4D}=XVHrtgz3|%IU&hln}|&MM5M` z7YUI(U4$=UmDBoY^K=nXPZekxiR9@*n&#;uY5H8AF6gTUJgN+1kSL%kp#)p3|;rYmq6-(?!VB#Y2R6x(I3YBMn(~y5QPY za|sh*0+fUQp$N|yx#;PioO=4_d!Ta}w!)(Z>&*pn)JO_9f&Y6L#|i{IW7sRQa@4Rd zNyd>!jbt2o)JVpWM~(1xjHAdx9yLN9HOLNa9yLN9H6)EkjgUtTN#ju?8C5xIRPMS6 z3pNMEms+lwtHRXgsX3Y@cVlhlsmYq<9FIKpK(q8+jE7da5iHK^7nkanln1(J1u z%K9M$AKlPY1N$dgCqIm=TIIo@+H8%}Ta)yIEewyU>JX`_ni_w}X#E5qTd0Z}f5~WO zucF3ZGMZh?Q{yig!)0G1w3mz}8th4F{OFi+>(X1B!Gg>abiMAMS7XAln#~hfaorx* zD2?AdfpvE|A4IIf;F>1|^|O(5IpBud5xIep&k?yDk;eNGXkDH_xQUrh3+e}63s+j^ znTg2Tj9iBZKUdha1KQaSqdOJ<_^e>pF@Wp0zYdQOBhuK4pgB%%s0VrmF!*cw5`}L; z^LQGj$0O<^n*c2lX0?<^eZ+faGRG8ni`S~Z{6Z13uSrhZK zKoEV({45aFQ!zi^2r?4$Gu6Zn=4XATn4gZzEYD?o)#^;FEy`x7ddpXU*xdMf7U zGYN@$YHx)Zqsy;8(S97YQ9ZSK*e@VT^)$64y0Wz11}6B3?PcY>X0tbu`I+vTR8O5g zQjqGYJ;|a9ZgYI8p6dHsHGqq1$a0pm?2l#*K-A~V+Pfl9PF40Ei1MIm$5)uv6kv*L z;HuFqmb2z>k)-N9k60P9EG_k#MI*XT!a|nHQ47Z-WhLqa8$MCM!A|`WfXGh$dqfwv zqkqHfKO?G~mNH72wY~<%{s{rKSTnLyo61gI20m$yz)WgZ9#I=p-7!cItn!n#4}c9v0cDT?m#UJGG=Hc4|I`8{4U=f_Gx4-puL? zc4{dv%52e4HWrU747$vu2HDjzN}09zsEfS~0&1>CUq=*JqebkK?14cA)};c=1`R5( zG7vAJh(QI`r2^Xr#Oo$2zINin*M$8=}D4zehG|u9;>>6xd9YO9l38pffOSJPsOl)(dOg%b%{9~D zhyt7GBH0^(&WHjVa%~l|4+fqJtkYuejHq%+itlHaV1ZJBHM*AWjqwWL!&64}A+Ucy zN*NV_z~=MoUPhfDTg{DI#;g8pwQMu7M!tZJuD9OKhL44^u`6UFHJ;$u0K%|b=scd4=g&oo z^x!x)TfHwT?gMEUEDdU&LDIp1Ykojv1|qe_a_u<$YSrxs$1>a5K~2x=VL4*9JrKD> zl2;&XWAd_~<^*8ZF!?S-?m>jLJc{2so-7Q|N$=HQY(>ov$nZ9Emal;3fQVMjEbXjl za7E2_z)JGCI2pSanTmYivUNJwSJgD+kin_r;MCX2=+w#RG-#_t9nfkLb)f7a*eB0U z)Bz6O|Iz9I4eVxQXE&9d{Xz8EEZEscVBMNGQ_8*A#se*&)s%8PzX(*YvwzIAf}Q$!!B@heLeR1CJ8s2BnjR1A6-B`O9zg%TCxRzd|8gT5+>it$H6|Ds}0 zMTu05MnpTR7<7^e2D4oD0EBSUM;NIX6A_J63>J)344!Rlj&G!5%m!RkLzXVXS@uV> z&O+#OW^HN$k&3Yj(T*wxHG<+AxV~`9htT4!dvTJg_kChz$g*EZUb^J?BrIg9T#5`i zQ8B0nC>&G_ssoXVu`QyD+eO6~f@nt-gVscQ4+Nd47)JsfsTjOjmpgSD%C@))FU77& zR1AR%DuzG>6+@tciXl*_@4ACAd-7h2YeyAC*|dRC-K3$ndnaQS!Y3a;;2Nr zlY;~*O<|-vg-Um-2Rc-`Q!hl-xIuRs2!Kjc80k)-(w!zSyV9MwX$sk=0Uzm3a}oWo zbSG;W5`7L~*+18yxCPHZ>L59bI*4c|Icqlzl2*0=hOgXyar%Bq`hHBW_?QN%{og`$ zTG9OU(aJ7lxt?*ko=Lf$Qg4xtbnhnQTnrtleTCAIa*J< z(z$4E9h8#XSwYR8kaQ{Fni34^3er){=bheW@&!T7uE4Hm@?nTPh6t3O%=41%BZOZu z+qpr_BBXx7Y}X_5J(IOMtscsoq3w=wiOm*+hJ&@9m*^?a;0oFJ2MkVwQ9#!l zy8==k0zr}Q->+kkr_SL|vtBJ%_X}98#(;iL1L>uNYWWWBBHzDo3*SHUhC=1oLbn5m z90Bh~l)T&M6*~g{hc6KSy_-MX%Up_))H2&mLN9UWXLY>u3*d~OsqDra{hF0$v5Kz=lz-elX;MEI!mkMQ96GKR*7bT>Y|Rn2m2BP>N7=73gg(u6}m{pD03X zDp7<4Dkwq%6%?VNAU{!r#uDnp)$dKzp1Ar^va74W>>rR|Z9-uG6+vvXT@cT3lWg?M5u4dKq2+wCq5H7TYe`rMMK_7ih%~pyadxh?Jb8 z5MA7k+{5e>5bfaam!$`weI5cTIa~PqtpZy4`(@WK8(+%MiIOAQ2`>f3-%p@|k|R(- z$q}fa)Vxss`ol5-&9ohUiHD@>FeDX%UC8CAp9 zSUjKw7r*Q>WXRrv;`Vw3tH56LDu+LN>!H{zSc9J90MuNiX*4+KC1eo1oMN+hC17)< z_~J_J8h9`U?rZmEvBiWm}O_Q>~J(?(|*#4o1k!} zg56g*Q^D>loarDQ^ynriyr^LJ<)TmA1WA-7cHb-?S(nF^J8=_~#(0q@Ze-FJFY?4E zOB&-vp127L#EU#}6BG!RTID7vgdEMI7v+>dyvP$bK_P?}dEzE05HIq?LrWmJ$jk2O zfXFEbc!Rfvo1hT6xC4;|H$fp}DT#a$ga0%tNZbSk;zgdg2})zU$V-|&mlt{27f`6Y zSpEGPh(!Gz2W2Bte}6(kC+aUZK%)L~sU+$zZwV9imo#+dCb%zhb)xDn06I~1Syd-) zg4uI{w=YM~iJPDd9q;av`Ms>e{1)50u+o zDtC8T-XGe0-k}pWK_R4IzL14hFki?#70ed`70eeL&BRSmX1id%kfsaf3nB9M*nA;G z7R(otRxn>kTEToFwTStm0<)v-f`7gB)jJW6)XARo%4e|2scq^bdH$&aGZlp{|0VF^ zS~rR{R=d#l@{Op@AB(&@^Id)Tt6{(*daLs(!tqjP>@9er4^-qWxC8|vZ$Z`@5Cm0m za*GA@QNWUAXNFd&5F1v`Lb)yT<04*ZRg(a?UZ!vct&4w}pp0?tIM z{|vJ5#}_Iayo`|(f|;=pg}~nxfx6|l{#(9<*S-@u3wG*TSawU48v7RBhv|j>s+o~* zq5tj52;nJ${J()_$q{)!{-?bUt2%feQkOKu@6Z%4!<2X#TH*Xgq|K_)d%< z#AAkd9MY2ZUwIr#8jl&`arh}#aO80~4b?ky5%8F?g~#DCHZAs6`&?$b96@Iuhu;C8 zcpS2+#N$vP9y7$_P#_*N#N&`EY2tCXgit3Qhqb6L@i?TXUgU8|v!vAxfzt;;a?B8q z!<(3o#|-f}WV?ySp+G!lh{xgYn8qtz@i?R&o_HM6?IQ6w+?7zl|d6vfvr{Hn;Dlnz*BEVZE5NZy46L}o+Y!G=IvS8$KNMokM@r^tV=>l0) zgYr0Je>9u^ki|({9FfQ2xGj=Yfi_|p)yrtegtHVvi!B!U#Nlv3&qBpY;Bk00fXL(U zW<(daW91KX?nJbs$Kk`kIL{#9;bIGq!}oxWJPto%wl5LzaIuBQ;n`TFiN~QpJY0x# zoj^QXh{vHoJY0y!p+Jep;nS?-}xvYN!@i@mXE#uJZ2Hf}XTtrG7*QcG{d{^A|DH!7h2 z;ef=VvI&0bvegbz`(7Z*K& zsM-JTa?$f3rJZsF)akR{O(Mt-$MQ=~w9X{dEiHn|$ zBh~z59I56f<5+Of6X8KMUtILaKN1%`Nu!!CE_#wiHNR6Az4F*YuADc}%0;i@S*%Uv zqL)ux^eX?3@rYdXhQy_YB&BvZgcVTDGlxo6@vF;?*5^SrQ+{>1(abJ>b-B@`OZ@6` zW4Kn8UtMl2(b#iJH?9;fzr>3#Y3<+?CNc8zJ1nN=uq6HP@fcx6%`~9~s*zID^wxgR zo6J+-qW9pc$VKlI(pVSX6uIb~!g{*Aff_!AYDllU-bi{EaKoX9{DqNA5#fh}8h=Hg zbxEUwT!_qYkoyKn<$xPrN2Gy~+|BTrMWksUf(^+34F1iDe%GA=*AGPML_``7K+qf~ zH#7r14H*12orK?45us*mo*C4)B5g5n4dW0wkD0n$iLeJLI47vT5?FC0oQp`}NT_K? z+E|#{CG}X@ktX{-PDryZOElRtQN@4yPQI#xi=JqO;+$uSD_%-m@hox0vq9&-=Zg0+ z#=`y@K_{+w6S1xnSG?D;(h^s^eF+szGI>G;lgwKX{fR3cU-=NZ;_ZzJ?Sm0?a!-Cd z8xy_FTEJ|lBk1g&{3GBK^YC?ODlrcWM7>R(1Q&>Uo4Deg12Pix@b!d>&BKu^9$%Q0 z+>^5-(LH$116w{o}T>zp=Pr;k$Lz7M5B9h7L4x6zd_XI z_(u2S1{y7@AlSjs-yqJ)ShO)7ETyam%OlpvmdvedhK$Ih(N@r}1 zZ(u;PGn&Nc$sQQg?8Ft14dTmfFqqM8jui5$xxcv0@v9rWTpl1MXtraBW@j(qj6$75`TVzJDa23UGW@i@8&qgp7%sew8sLrm|wE2Lm`y;}yfoS>j5l(0F za^c!+eK2H52(+X~0Yp|*kH!ohEC2n5ZVEPj`FLIQ`%}de>c2Y?z*h!@p<>s{- zMA~;D=tO)`2aLqmi_Au&NoV3~Fd9z87n@4Nmp}#aB~U?py@$>u;_GjOIuT!deSRXo zdLdUNzNR9TdZh}sEPx?hMwGWeMv~Y4&yvTJGtj#HjOdsH!n6H zxq1Bo32JH+H?IT-9~F9Vb#nK`m#8FnU#vcI^GXWC&5M9F5LxY!2s)9=q&bnx9LYp3 zbLbPfd?6}GEAn3o_j(`8S^T2Hy|zalZXX?=ONi60B;8W! z^s5Sc$LYP3^xl##S5cI6dh0H5XAc+Pu4V`%B_(*cfNzf$ksY4G-1(_Up@a=jWdfgXECj>+4Tmtu@zd<%`d)W8-JS)gqb@DBVbOL zgcWGM3%$)YM}7)cW$p{wT(d7qd1kk6STN>%sB>v^FQjHPGX0QpA?`2wzbBV9sBanI(nDo1BAw#!x&0=pTUY(iN z-w~yFwfjgxidSn=DupJCN@Qv{UZh`3H6ZG?Ah5PWKyhm4<$)`TQ>&M+-T;!K94xM3 zf52LbTJ()QtUhJtMLy6Z=Q(L?pR>!%P8)$6WVC|AOlL3$Uk zmzZW{B1=7wOxBwSly+7cKj-K0H58n8(as7}CE8hGs^oRo&NUcRHXyINb|!4Xo0cF@ zMLTo&8j9TrDebI`y(=FD1jK%YdVow`m7s9dcv%+Gl-Rd;p|Q9fgE!3LJI^Tgtr@<0 zfJ{6?`=A=VbpjT)TL&ZFxHalX;nsZy9#u6LAm6#+cHux&T?TM0*LwZ-F2D@{Z`=s5 z!2*a6>g4alW^o(2?5pXC`+W$oyH%6HKE4`o%?BuPGa|LQ9456d(02jCpFG{NhtTqU z8w&N**-O1@GP3Z9mcap#@#{;HAiMxlv3TsDze0)G6 zl_Dv78Y|H~`GABw#TbX?yTcZ#^~8S<`QXt3#!twAzpY=zb*}r2uBhrM{dz_xMLo8? z7%9){bnofG4}rMP>7*pr<6d^;1xdh4TZLNqdQW3sO5W|jHzr&HMr>SR^Jj!{hSPEq z90t%S19uR(fCYtIX~vo4W*0uBIHCbxBiG>*lx)N}o80WvO?V6r%^T;Cn{AI;1UlDf zE^&VTGJ?)CnoAwNS5?ZLkAs9W5;^I1Y+L|4nDYnpP|_~MqdN{?K+OR*mc#eO*#jdk zX&2!YSq{fnpo{V7j>A>YHE&#kS7bTd65J35?hX1o+ymSJ2JQ_8JA4bP^bhw2!!%z# zideLT;gyg>(XD5oKuf9u(KO5;V4>R})T|{4D4~t6DS6$*Kwzzr2&jS^OKtu1iOOE?6g3hwaDBmz+dcb;mCAW^{`zL})jLp5SSa`=zOC??c2(I{g3k4r$34A`ENe}}8rHPWvH0}XeVF}6wJDmf#!i!c@uQTg&6S`_ zj|0iGs{519sjU4CwqMJgYr)`AiCZpvviEh^3X_olxLeJ%+u=?GMBQzO+|S5DWPbvY z+B1=-?iZk60ffKa{V;xSv*30{mzw@a7zsr0r3k(!_E9~kc>#s_c7yH)D6YqU-8aBo z4GjLa0T%9axZ*xNFeczWnsA?KMcikW0sTko4(_gjK}XzYM$CP-14_nSZ(V^! z?oQOJ4v$-!NG7C7j>(AVtxuhW95eK))8ZU6n4>#cbPxR3-vqo&=&{_xQPDO;^w#IG zJKT%(s>kA@7Zr+Fc5qc)VlL?!Zf{&leS)F0JkkHsr3> zt475|R~L$Mt<_JDi{4pO^l&L^9)qHP)vK1oMgQ8d=$g3bxBpUfA~aX`O}*-gxagZ5 zi+&at-K2{4L4(?f(rUU6t!ld7Y=P6rlGkL(cZZzSM&Q4t7ZRkmPPA#H^mr+K2WPMn zrANo5D^=-ImgN7exO81qdOKjXHvH?YizcD;sd^Q^VJA(WS|D4d==QkmvZ5ZVhL`q6 z(F63VXX2skS0HpLYos zK!5K54AcPc<0J9fa&Hx=800+yO?a?(7MAM}?^obQdJjz0v^~8YFrRb0gW93ncz?nU zKgRoMIaY?(vJ$S~-hrsOUHA3`DT{RPLCEICy7vNp@bX7j4!ZxLZw}$}E*R^h5%3gd z?w^rUm^m}xDU5IGkZ%qJJcYGkuGBY&{L7JGUBi;J)Y8alPRll$Q-c1Rz*d=$r?7yh zuz*87stYOl~84N=UT$HAq z!qV8f;#*}-O!oy=89CECBC3p>(KmFp>rmZLI_ z98GV15}VSSuj{36Bg@;^v)=rntl$@b)b_pkth{u)yRpQfEO_(jQCa9F=`se9gga(x1$;Cg9Wvbc@9zFf@I8u3vJeH`Qi%dL*`WJATqq=$^qPOn7 z3F~F8s_UGnE^{r{L5Ht0&w{vq~5^=SN#@1x}|$-xt8+>qg60g ztxkUxxJQW7@)sg_0{_+Sy`Yf^&q?OBz&(QhI%>_{YaDlI?QFWAwXR;TiLjX?wl%RC^5P%1Ap`XdNt1kj5 zbe}EY!S`v}3uxH8N+>%JO-#ps^+~|9Y44id07mWhM?`O(b_>uSpxsN5hfBr#K!*B3 zfU?Fvly)}(I4}d!e4A`rLDGl&WfUo2- zsS;SL&6nZ?E*M8J`4d3@nfR~26j@~|0+ls?F0d=`-yql$h1K#9^5T|M|4>|@dz55H z?_yNOCZ7w_Clw|;qr`rr=8ph6y*q-D7>4xt%*ZvGHa^`?KCiuyY5Y)Gz)xLsNYVo+ zr}(Msvzay!a!PC5A0%AA4HOJrFRFW_=3m1+s}az?<@aq;_AP(wfc7m)RB?JP2tjdr zE(k%Nw~qnsTWlC#%YoRNun9T}=31Pd1KPLB2r2tkQQL63=?lGDFjJ z<67Jf+v2b^4?yZZEBc(9KLHqvV#;SwRAE0@zmVq7W`<)Cq!%LK<#BLNhChRYRRP~` zyPXddFOP$T({bz}#D{Ex7u%r9KwAk`Q?&CPAp-I8IN;^+r%dDJaljWia(xGU$R>CR zsubrdzz%N=K1CWAYH&LY4FTW9&9MpikWIjyAZffj4i3ghNg6MY10JiS7P&n3`-80X za0I+O4u)p)q@0h#19riy7HplLx;#k3I6w7_+rRi=e>KjfrMAv-@KriJWrLJ1jamZpV( zrUfZ4riG#ffcKmduU3?cZ`Y%yF7m`$Zoh!9p5$j}a`bBr`07am{maQsUV1eWc#{`) z%kXDFSQ}6Tu}fhC^Phv&_$i@A>T>jJ{gx1K@&a-nwi~vHU+ZpKOafj#nE>VZ(is|@ zg6d1M8U73?Ne6QKrNBV*nP@u-`JVRQ}iON^0e%Hz@MGod!$!AhMqmA4xarOs;ha@5U%YxM@o z9*lqwq8R&l^6G12wEs&xHUrSc7>u{iEho@eJkIKqHSoB?R2f z#!yc-wK3S|rlvXDP!5f}v9P~GK%VUOO)H-4ZtasNQ!jISl6)Ra*p%CgB=TS)5P7ms zo-7b~vOi%H95$JATarkgyqS>V$zF72<@2z__xs3|mCwV{SmcU4Lio;~%u)pQ1qhT! z2wwIz#qW>0$VX5E|;`6XX=Lxy8 z@`s@XxwrWjj}YD|@vvm~u=$J(4@*}3DROIjV6yy}vmWxrIe5W2LUmi6E&W5qwI7@l1{U zJv78A3jFz=NCf{lp`;tLP$Kx02vS}oLeWq*7LO}F)tn5nt2xn|1L+{0fKe_4*7!q;`yTNWK*Q{6A z*dGz_u@vKYk3WsZw4^aUmXb7fWQWG4v#~$KTxlj76DG!`mC*Wji^9wpVVwo7{d;G~8ixMIicOY^}2O^h} z$QQ9NK1T({86=Wgl|Z->%K3bAv^32J&XcCk{An~U zNyhQg4&!)PhjHX%DgNtdOGL?)97jHVPDWx}#c^C1r(Mnd@#%9(yM~ip5OVVLxitoQ zl)V=MYQ)Apo+!q~s)P_K#>uLqVw_AN72{+IsTliIj5)Lh72{+xP%-wY7|ZlhG4`n# zO9yU;V(e2f79!U|G4`n#OBxkp|KLqg8WrQD1ELt)Sr3~0#b~g<#e+q;9`YCwcE=QI zjygxlYuT*rfv&K3M0o8au-%+B3eie37QG62e5fSY!_p|z-vpVjsxB;2)xxV~ZWGQ)-z#(WOKN}#qK?wgQfR_LyI|y@0 z1wLxhTX#lhLfFsq4@x?s4R6-%OR|#9$CIZ zmdn^sJ-<<(uiSvgTG{|MaD4N_0Lt2FBpLas0J(U=CP_ULpsb#*36UpC_1Ci}co9{8 z6|!Ul0;8~q^3MU}G>5%7(fO|da-PF&q`v&a5LE0@Z)xoyfSl=YTS*-bP^Nl2X{{O! zMK8hRE5q?<6DKx5AG!Dv%-m>BasFL^d~sHMXgq{}IGUv+c4J<~$Ouv_-78=88wv?O}L5b2se( z6}SiLc>@38IYHMOkb7s~x;~7^L`1aa0})Qy)`<9p1~q+3IDGhD*W07quhDuRozvTdf1CyRqEmJz;3-9u`oKGuI&Q z>o1~6?R5z5!T;9%SgWHSjtu-0Z~yPG8jN1DZxm-X@q7U?tZv7KOM6%1r%y?f&&!xG zK$r0D#^>G5A%u8$bE3PO(=l>* zg;{rKT+!Xl%h+VY?n#baRIZG!uYxmyXx*%fE^l@Pq@Hm!{yQ%yFuJ^t-6}P<{7a1~ z&FG6Yi$O$#GoxhK2BQY?wI$G~IZq*|#3ZKjK7aD5()1IHz!)*usWJ>yn(MbOA-t(4 zmA<(*Y=Eq!0<1pGIp&kJsY;{SOP@Df({?9R1u3IBjfj%7rgC;SL^Hh*=<&xz#-R># z7iLDIkOJ{@zs`QZk$qeJ?Sl{v^z3x}Wal7=A4?2#W6-fhz?juhztBunQwlH2$MTcZ z8kL%R5lV?5qF2Y|URx9)8lxQkv#jZIyvqIp@E#1F=@C@+P;w%@wFzyTcrjaP>hY+)Kkal0FT{UhhHhA&EW}3UfQ=8|K1a-KK{s`} zjVm6Yw|<62VfebPeU@WYGmEPFd=Xd+7SQTHBV_=}^g$_IH`D-`I|54W#+vY^`BC_Z zE~TQ2NaOd{t*^SQAY<95E}9iVErup%_?Is`jkfY#^w zUHd{n8#B`5p9X6I+JK6yrEl3Kf}rB2(nos{1Qpj!|L`U(A0Aw3pkS`?;a&5z4!oI?gtE#qWn6QZVbc_tC3n6VQ%gg zkHl{x%wEW&O1&Oo>cM0b8E-|H-+dpq{F%Z88&QucwWA)P`d}@oVk2VIMc9>!;=N%*rG3pVld{wYC zS}(y+^iZ`}5u-js7gfQ!7Y$V2g1g74#f294icx%Vt!i;$jCuuqRD-i9 zMs31ue{XQMFNsh^tMXeDs`}!%nz!RJ{tIz6e~3|4b@3Q)j#1&+alw&hG&y^WjS1f+ zM!mQ(?(yz1YBQ)*gwKyrpCOkTss%A>Ho7+z>s8km#i;4n$*SP(F>1tJn)Vh1n69sj zP(|C+#ZwD2;J_g155?(oQK{OLqtN}O*mtVVzsGeRQJC<5#HgQdh>7_nM)d?+R|R{f zqVA6`tj*pr>Kia-wKhk@sI^$Gs^G;j>Rt#>)&0w2R5&nh@!A+Q3!|$FJ{zOPV!5gb ze<4Oq#;Q{-z89mK7smzrS`n$QV!5go2gImLF%oLPhsCHKg(;pMqnsb&f=9)up%@8O za9)hMqcE!1#i%)$3Dx4t7Ft!taVv`xM6b-5B)|s8qB1evC5rh+F)7jHvCB1WCrMuur*qttG_2Nw zCkku&j=0MEFp{duyJFNrY%EpFeKE@ZZA{Ckn#i(X1U{&y)7&RALMv?l*81*RDp=$B{7}Xnfse+%xs2j29RKd?; zR2z1rD)?oLdaJOezl~837D)X*Mje55u+rre{2ZZ#QO62Luo7dSnm3}iZv`{JZ&dSE zj5-OmsOJ3`wSR$8 zT#7s4!ZQ9aE^>Zh8Gjt3UM|r6*BG@7W1#5%I!4`ADERjn^)yh5?jK^*$%SS7YmC~p zK(`U8>cKVz4(G(E&kFlCh*9Tb3{;16G3rb(57lBtj5-)&ph&HaQQFmU!TK0g50om{ z9HSb+Q5T@ws^AVWO1~s-ad?cny)Zbt z#;CWUbgP16W7HnlP^!fVF=`m7S1s-xqi!h-&VDg!__lGugJRTFjJ+y&XpB0sFdc`- zs3|C@meGtDbq-jYDmW)by;0cJ^J3Hog#|D_MqOE$j#FdQrG*yTW7Nt5=R7?|{S$Sm z7SD-M*#qLiIX^~y2%e+{=i(UkQ-J|q8KYJeWXv@&>Q>OD3a*S%8<9)3xH?9CfSstO z&fuu3#fM|m!3AaDw=wENhyqpcsTlP%rdAbv zK1NL`aOYQI)bDPI3%(wsuEfGr1>cELHx{(`_hMAmiVJ=aqkdZu`Jcq7b2h|-^F@rx z?-m#QDn{K~Xz|+^^%>|=qx#Pn^-f_reu+^hZ3`P>j-0FT>F&7&9j6gGPGPHf(aSA^ z>+Xu1&%~&?7*EyVk{Hz;y;IFs#i-rDZPXCg#HgPN9Je7xjVY)q-C|VxNpZm*F{(S3 zq-wEuj2g5@++x27rTxjp(O;7qH!+;>u?XYkPdEV8<{sap>*j{%0GU&# zBf$E?&H=dwQm4re~*jc8AT&CKi^s1eKg6NmL9V>xURI zAPRzF07(Y?R1gzlKrtr_C}va)pV?0o6-7i8QBg62>HU7Ux@TwEciuVw|9S76cix^e zz5T1Yb?>cPw?bD{S3_2@_0AKRHMO=vpHk}~a455OKw`P&;)$!JHS0sesIXqX%P=af zsnD>>T7$IJ{>~8d|IEiBP1%ZWO}7ToajYK5dxa%i(Jk4EZpl`3OSYn0vK8Hut>~6) zMYm)tx+PoDE!m20$yRhrwxV0I72T4p=$33nw`422btG~<-IA^7mTX10YEU|JExi@p z(p%9jy%pW^x1xviJFRw06Xke5e)V<&x7-8}8WTPcv(1rGm5&e=;le|tbTsZG{P`t%~eWX*^Qeh6QGSq z5wAg6;eIRcL-0G?Q=9nR@HpImje9r2ExFDGY5+V20`w|Z&arS=?&-6Xa=rjrlo~kv za+uAH*B8RooKeYn@TN9S505e_(CLYpG;b0-ig|H*VJ6L61kw)R?exY>nvu(#rTB`3 zQDNliy$Ck#!Oat~lVab&5_lIWJ1@`byzIJ8V)&7PcnBT}D(WAvd|vLEc|R}D`FU~p z=AV5RE(1_*&d8+fZFIUes>{8N9``niy8BUG?rr3kpzs<~Q*{Rz;Y-j0;aj0%=g0%- z=)zHc9VxO515$mP&wbb7SRFzQrwrF<6)quv3qUvAv&`H!QheM}5?_#}+1WysPIoD?J*p%a9RXyKmi;fT*Pw7=PFjXfVYLuJ&&Ue_5cndENY9(2q<Uct;|KjOy44LXA99=8d0>g&7zCr>3FQ?=f*;0)AmG;(Oe~@Dt;(h>s)> zp=?KntGrw|C4DzsO(O0~r%Q#gnh(adh3SqdtI+;-X{mQnCF(rxqMCy61b0z++(kuS zNN^XG$6Zu{xQoi;E-FDCFpKPs+KSI3K!HR@tbcgiMfD(&-bIy^T~y{t9(Pe)2<|54 zs11+1s91H(Q{cFUb15RCOL4LJ`Eu@}GLNgMFeiE4z&jV*xKl*yM0Yp&%8BSCh`Xpf z?xHFs20kGrU55b>20uQw!IOeDLg>urCETkd@dO%3V2Pr05SPS#K?>_QTA??l`7i@o$#jv~KFp)!L9PY=qufk>e3&{WA zA5dYS{Jz@*7iJSX8zRgR`MFV@rYUYQR6x_?j`k zK^w+PDN7jX&O&75a71!bkQwJ2QcgX%O~fynGX-I3hM^bKU2vS||GSsqf}=oUx(7+< z4m0O!geF(v^3YS@*Ty>w9@E|`&!xxxjbMw-SS~%z0!s^fkwUpEhx&0?!gg|}!{a0l zEt{KrG@KW#nor7^DZvA63{MXR4R4X@fsu7>;h>P|-&-c7sdfw3p z7SGG2=h0im^K$8VONhktviQY}ifk$QNPq>6fYWVA&w zna139jm~=G+3@5i8=dtCG{gVzkH(i{tfI`QHEcK>$U6O2AZx*VuEex(4Am;|5Jq#ESNZUs}(>W{$NHlu_$!gvYD};1D-L$H2Sn6LAU8z@@4NtSTe? z7qUv7Bhff(m&H>Z$Dh(;&s1}Z$L)+r0Fw@Gu>n^c4 zw3e^hW9x4jL`JY(7g=!sjS6IJW&n?Ebe{oaWwV{NfC+PH#YPMX?D$C_2J%?-?1D7n za<+q%RnKlg!A254<4*ik!=6?M?WUAlu)*injodu?T6g@wD8$d&*}a%?n8bgvhCR&+ zJla|hMfh)nb+2>4HjHNw%+vi0=TqqN84>oOwR6_O*546fAKDx_kn<0sHCFY#%J~|m zb|BPx(5i+Ra``%E>LXl?cERW6{Lyk&)R=6#F4+JB?M4n>Ho&n${6K2B3ogGwXt--+ zBN~y4a9fA1$32Y0Xa!$#N9(}?31hSplJ7A|97ZdS!`4IMFj{e)%itgq*9o19Q;5=$ zxO((g&Q%y1^IYg~XLK>nz4Lw4gX1itNc2~f#9FYl9@PQi^#I)B9O@D)N99-_s)(OB0Xy?( zPPFw#{AZNt^+agvL-7`HWI<@_!}0&13RPl~T zC`{|(>W5VP66h_l?diesTLRd@s(w_(EtphdJ6hH2 zR6K!l6?m-cGeHgh6Y<590Q(<6+Pq{DY6B zSUiCzQ9*Of>ciukP=12uTVnIB6u=4MC$$BK+EkusG0 z8f~SWd=N&0cHA#Amyr__<<^M!{?JQIeh}TQ0(`_+Bhm52Z-XpBqtNliw_buC#6rT+ ztfwizj#y(@7nkhux!`3VH@*v$!gCzPWbp-1Q@9+A7B_wtL<>3uhZx0MJnW#9IlaMpj{%Mvk%3$-0wR0)5b+M3bjLr&#hENRJzy zj8nqVq>NLNGEPa#I3+3Ll%$MPk}^(7UW1|wCuN+HjKTy?QpPDs8K)#=oRZYzlpGal zlf>!F(D6DDs^r7SkC_bZq>cwbmr!yDbg`3n!vVv|(Flp)uxXfFIeEz!;YQd@jry*V z4715b#4A#pmH>G;T06$cqe+8s2^ZNf%kFv_0A`>r6-}`&TXQreT+AxfI?slXA+X z;HH_B(NYR|rraB4Emwm4L!9BI$v>2`*5n^b_B8pYa&MF!gDPj$Ww_U6aj)|^K7hv1 z8V*%7$Kh6^0>dSfEjy#Ju*OO?YPml%KSsihvT4-)3vh4wGTI7jhk0uZSq%>f<1_>a zcE*?Wdl=!bQ+}@na(8+JITGqOHFeo|)}MbeD*ltD;y>B|lhN2&5v_~JxAi^GGO)s0 z7b!i?L8*p!`Xl&#WT@gL*#9C{fvr}k@@;^d2_m6T)kgqTU*b~zCd%nY+=%b9_%FiG znrY@&N!@rD(TzUMxGNYx%M9!Iok4u%IOP2m^1suxs`w^)G3RJcz)j5zT&nj6nv0uC zR>Z9&9Agz}CMAdxAx05DA^3L){$hh*xoP3mf&8lxW)$6z>sW-&WXyG@RXho))*+B2 z8%R?54z9nG^9@j8GeGg|R}EtaZmM6w%}=^QBUEk%(~*qnQ$qIVt9Tn ze%5x&(FsGZ_z5fjL2(UZx?ikNRTTNDO5;-969kpGk@QC(EtiC>PnBPiEraw%Wk*m= zCj%3%&>f)oWJC_ejp%d*qq>;;Yq^Vqbi(&f@C=!V-#>_7)g(TQxE#hG5X3*#B;G?@ zA>+FT@tc~&|Bg7mKx|DmeS`hjB)%4Ld=j>X1?dz2$u6+&i0jYz;X!84G3}v2 z`~ywmFGC#P9kvb&;$LkN&oSp}#vg8WD*hsf!i)plUT>^ycn-sAD>sBj`y9AZpLYd~ zU_4qW7zIDoaLmI9t^iSMh7FUjTlXNWV@Umq?phUIjl@@DOoEVDF3RdD;Qk8)lUe>I zU}=%NgxET34N8U4q$wclM-6@i(I+nmnvAHzLX6J_Q=@*NbHLPS^C1GPCzPrKkPmvQ zhPovPdO@}AiYO8A0{OQ?<(7`&^+ib7el#L$P6Xi_RHnmAm=wAZH|z1UzOp)wMvCe9 zbwaAAwjs<@v>X=Lc+q{(hI569sS5jpWDSAVef{JR+ss^*1oL->^u>Y<r2(iqJggG-Ju`)9f=FEsdnHdRlW<;ROjD$HeB2Z>V!kifq zR(fW{;(drGQ0S?q5YM4#GSw6sL5d4up_(2d)=UySL1O=Ww4s9`XF@R=OW0^TZ2gdGY)DbkHCd9TpM-}zSTm3`tOY2B+zo!}fAPJ6pRWVK|Ec{))o7KJ`d@sd zK>eTjN`d;{{gnbW?tk}J3jV)+O}+Nj4YAq6f|M5f{j!Tp*J;E|5jJK-QL&vOwl9zee^$2pj%LVT7b?_`~hu z_7L1h_yr_?Pldl-B+Bg~vk)xXMWWm;G8oT7db@~y4kBC*BqK|3(c4AvY1K*5Zd*}B zNyqIXQEp-3tha0ziE;~zAk3XRQEnIE``WTyB)S&a;h`_GT_nowB6EqRptp~5yT}S6 zj3)}Cy&+)@5ylgxMr0`D>FpvB&cU*+kK#yN+_J5Ag6~Aw{Mt}X4_s7IHmgOL8@+EV z!Xszc!bIvNAzPU67@OZ5%1V(u6F5oz4SNo*u2^{CK15eZyhPo!Pn1r&mZ7{=$>)Uj zC0tz=g8eq`{Iz-yQe=h*-;cpqG@evcSLKG@*2i4Oldl2iwglvxy746CrVa!g*cQ+u zH5Qlfw;hh88g6|ap_OX8OD3~G#uJU>mDeQU2fw4$PrZV$@5Ul*43nmcQQT*c@mPVU z1LE{^BR-BWZ#`1vV{bxh{Eyf32&~jWpjZQO@qw><_?NfUC;0|Fe0**v$T8AAq00IA zrLF-nCk*0O3HPS~MeVBz@rM?hkL*|(&*X^@B8P(m#5j+*=%)#xO#k{=| z-BtW8-s0dLq=qh5M8*R=i+H!C!+)MzCgdlR9BmB9 zxo;{%z5rnUJc#KX;m#>8l7@qCd=!2_t9$@U4BpKf=DFb1DZG^eyo9dw0Smk60~+Nc z=AmdPOZdajKwBiwHr|I;pC4C3VoD?b@GH{qt`-MCa( zOFuBy@&?C9tjB+&>?))_9yjkZ;a_&k8-ZKi#mghORIWnuXL<87ZeHchHr%|28#M5| z)ZnKY?yf~@Ln+ufcsMMelSGuN$=j$;N{Ks))=8Iwq#nOkCLA&zS1cDiSs$_$jpF_4 zgedqG@H}7heztT4Qy{^-pTPx33duCya(%(PpY3D;k5)DBKZ~I}R#k_#F5=c+a}AqJ zG)uP+hJS|S^h%dC%;u%dr>r1(m;tRL58SaCsym2A>%DnP7KT=Zy|)6f)k^hc{{*1(Id)D!6qUT+!P$;reIdm1UCgoxha?o6S66| zZ4KCRw=o{}BSlEU{kn;fj_lV>bZz9s{kl=^*A-6OuN&ol-I0_c`*pLb(g33!H%2G0 zF)beLDRYwt(Uk!Y4h34b31NNPGEa-7RP5b zM{Z9>%(Aj?V=gX*tM49|qB?VKduVJU^%ogW)aGDz#B;mO65G zuT+9MwFymgM{{ZKpZkNjz1mJ_Exl9mz%;aItOqr-k(@hS;%%h>Yc`P`8{rPZuBP96 z*nBk)xScp-s|I#YZ%SO6?c)*n)tnEa&^SbN*3Q`}h8#>p%tHL)I5ePq1gc8`0?Tg% zX%%leA*2IuUP4HB-sB@hK9v0}LO6e)CW~|Nt2_=-6A^-*rlN&ps!iVk8yP5Vz7@a#f4`^TD=@OI@0PM<n^xHAH&Tb5>P;#VF<~vhKKwj0jsxZrM%tvIihMG7=XaMQ9Cl9Pf3cf`ObE1013 za3W#!rO7^$6A7a{k&s@iuv(9E)B_)xNRP?*$dN1#4mHIqCb2kp zXc#+E`9gZ5-(hf%GXz&cPUH?;_{k-8ts`GvQj4Sf@{;I}{T@cfN7O|WcEyvLp~9hi zPL!MF$zEMTVPB!NC8JAN_Wbgapi8l7A<8c=3HmoSEkya{B}sP~{bB$pZ$vw%E~o4A z%S#e>1%^&hetC%%KrO}In&?X*WjW4$i}K4$bPshE z&ee_b%S)W)S6Ac9OHqD#N%D6Mzr2)H9<~vA6ddZNg0jYb61O=r8c)8ATf?TQBF`#J zazaI`T`>nd+GV>Kk?%pmLl~_y9saAZj%zG5%$#Nw8fH$j3Jo)-PLyXcN;StpHExt= zF$y}FcI38RDbQ1CE3T0VnnqjQia6$kyNgPrtNna&cTrhmVPkhuxe?(;IG(>~UFOI! zjMfE>`f(Y*(Ww?R(QhI3dlR)`FBn*hsUMGF6a@e9qCAFCbl@?JjZ#tSIEL{bB+!Y$8V^jbM`45L>fd1a;Z@W5hXEH-H~1&qSVI6q z2jhbD_Cfg9^!Ov^kj;j1GJ=(ApFY#QlKX<1$y#QpeHW{dh$}BCocth@=~BDF9mx4oB&-t zc`4A7mjb;b=fTfBc`4A7mjb;SUkdc}OM#w#DbVv@3XHXa{+!mZ+r(JBoYn{} zu=r&RUF)2C2$MP?myZ@wK-du3-W`L&=H6om?fyu22AuY5qRHI2>AtYXXLB?+ zZW`8)8I58_>@NU4>mvEmvo035TL%w_HFNw%!rE^GIFL{htB2jZ61I@&5B zwL4lO9<><3QPyskwVO*tQPyskwfklw)^3-zn;DHt?and}&TMbA9}Y}!1o=j69n!Oo z$8r)<)njp&Rs9nL$6ShJRi}_xLJmxCOk9b5IvFFFcy9vrzf+u(8+o15gcq9okUJZ7Tgnm5 zeS7!ckS^#n@^V(5gi|=c4-XW6b8s&Zd-3?S3F*w^i(Pi+%uSq~xyu3Ht*EYXcIGZS zbLtjnXYR5y7sSro{c5YO)Nyv^E<1Bp@i;qkmz}vFcIGZSb4ka}++}C(IG|)_?y@tN zICkbPJM$|dh+}8&vNM-BcIGZSb3yFPU3TX3$wPMLE<5unPKCo&g%7#BT+%?pOGE{Cuw3vGbQEszXhT~2xmYR{angwqJ>z?_eQ9bSUY zGK6(GgngGt4`CBB5$m4haw7HsaCgyV8!jhenHLu&8ZuJ75n&I&B{mWlPQ<#$?YfW@CHRMF>93oD{x}1pRbcf4{ zShqJM+(UFMp95l?ap6R)J31+gDQ-7!4tN>f8rVa5FQm}ydKDL=E%uI@j5_XZN7>rm zXyiKVeTO_oycIi8zTU*UP#wKHa3Awr=oa^?hk~tl9KsVusv|_Ed*Y&6aQ~nYqcu2@ zn>Z;o0s%3W1n08d!&4KR(zcim+=BKuQfK1UX5psh?n6W`GEx$?VxK6TbPYp!t6DrI zw9nycQ+8I}##cnPB1AW3MMjJ(_4=_R_A74Z&qIcL#}qtIPo4Q+5y|3U8?g#RbHo_0 zNwvaln&10WEgEn&V!d(YLt(rsDbI%SGB0l!B0Tw;wzp$4?S1rXP|8TL?xs#ag4h|j z@cAXaFd>gI@v~h%#w4N$;$w`<#~49;jBz>hD2R_SE+1nA@iE4I2@(X!V~oqk7`C}_ zd5m%S7$bE@9%EcS#_+`BxID(Ve2kG;d5m%S7$cQlKgPrgLCML_`0RwtfyQTwCTySL zGQ{8=WLhHceI8hIZhA2hf6@< zAjgLL&|Ub>6cKU^d)!ePhENs zg$YsDodIY=4403Td4z+Qm25+lXPYRL4Q@7^O=x$!AemD2zKQw(UHvc^J&Qtp%KiQx zY+xqerzw=h_y^H5loFeYTfS!HJd}{Pt(<$^1GZsoPKx_T&$q2!Cb}PQTe*DOY9rAD zc-u=)xfzoUx?}?<8+b-648wY7fZ-Df{=3w9tkDbC zQMve4m^}oM^SD`kY}F1j^Zqhn&U5 zk3w|5%C%L=kqdAl09fQk6mn2<;%?YK0q6j#lABR%w-LqxLnX(+(Vr&t0G*O86Yz9^ z=j+@&z>1O+z-kv^5n%h0i;P{e@wGgtOjZO)VD}cmQ`iu88JI) z7~K$?+dlCNoVg;mi~IX{JaZ#BR~obO^;jQd38RU{Kx02dTr>^6;h6l=^Z=KyJ^X;6 z^gwF0vQV2hjn+lE38d_Wl>0B$KU#B1e^E=k&cC%K8VAmTOnQ0NDi0!+~o5d#o^K;=lSVI;}sbr_6JnH zyB8AnPL4xnRJxNlI0{A{zv8C6xu7<^e}kXp)gUC~EqNbByQ zBHB&c{0EGu68%WqOxx^J{!H8Kg$lG=?k^}|_iqRl^s994tFv;GY7Y)JtADIF?v_Db z?s=&JxJ@%fP#=##z)@%yayz9O7)OOw3to-bOk5Yx9u29p8P}N3ugq5=bQKwoNfeBO z)8>wH&qNb+FM@MXcCasB?$eA76rtzuoPfx`Q!E+hjNMoX z0FhDy{MOS-=?(e?;}h~CP(hu`7lAHDa6vnomg+@A@{}8F|))t%#}Ft!h(92 zF9Ho^$QV%P7ZwbY8Zm((@Is?V6%6;}MIcYV2!!pSN;8C8hFrb~#NMm`S;LUXh%HA- zz6ey%Dk-lt736vHN|PtAG2gzx3_tJ`kA7%3TI7Lf z#*{ixi%1OxiXDs#Ujr^2oRHUm3;Vl#4R{fP3kOgHUjyb?yb#TW=khh+WsE~}QD|hf zOPHUy0pYXeBd%{!j^8RQ^5pm}@2OWI)|2D6JUM>LljFBMIeyE#{Cn0=IeyEN&w1%iDSuIwwz#-|}`qV!0>BZ+WvmM2qCf@mt>1i%}S! zK7I>b{?*=(qYX&Ea2Yel_nS;3dF8tRshHPg9HVmYWz_Je=>S{cM5fmV;g(m9aLX&g z5Fq4rL3d<(^=Hrq9S|Pz+92G48y2rAv>%oy@6>tnPMs(3)Oq@y zx}?0{R~+?*4X1p0zt3BMA~8LAzt1b)Mw#+{pC|A4dGdar7ljDNllS{PdB4w-_xrpB zx5D~HigQdUHX^BW&`6ZiH&d))E%7r(;-?xo+gd@`M&O~ymO5Oi3LyXcEDgxJ`j=9b z3<57CdIGso$0)K=RRcER)iu~y9V6{dHOWeatQYM#RjH~;AUSk30iR(FAwjPVPG7;i zI3Yw;%?8OsOAvG#pIvKi0Gvy~XRs>NtOMjm8g;tBPXQOBVO28;4bg0v@cWDW7AZFD zs;cAzB%O%6MXX&_0|3{spcgS(r@B^B?T?~UH>%TM7gcoz$T+Q~ZsY@U&3^zdq$W3= z0voovwgq+|T#GPn-B62_D9~yRLR(A76e2c7>yw}0Hr11Yk(FYS947W)i&ntbJcJt&Gc_f zch}wn$)d^SCjGPaZ{X*KBla?ld%|x-^D6{*peyVT9<}okAx?UoN&m=1KyCSIin`ux zRQnavpxPd^)M`HTHUr`w&D@12&lq=)gKpr>y-M5l^wYZ8Q0NVsy9~m-`u${Me7#tz&u=LAxgqvmQUS z!_4bhi-4|eLDm^JMu(qqacRHDq6-bgL@zfcdJ|!sy{O$5B-+*}=~qPVWuk3JGsojt?yfM)_F#3U#Zu_4k z+KPznl*B}@WfB>^U{|9*eyU*>+n=zdTD5_D!5@t)84$6=AKSfw`?ysBO5eTO<3=@{ zRf1yr68sk6#@PSQ2?)%^8;a_HaZH_Saa5t}P;Zt)!|iMv3qeumZoyUs5)}#&BzEWd zF*ui#V~-x>>>@2jCWb1pqCG`|_Y0U(KU!B>uq zQS}zPCj9jo!2ai0=y1TG)pEBVI{imeNxbtdbB^W8GF0EsS(ZmhblAk$|BR zp8qEUrb&QKzjLT~18&{^A^a~%pn^QWu%je#(FWM24Deq9UwIh2*a#;RLh>UZjXjIY zQG3v>l_ccYveKl>V_@2XuoMrwn0B73M{uQh*bTX($NF(;K4bCNva`Xev<06Pcx)M; zx=RZ(MK1cf| z#Gw3!(HrK`H@m<$#W&_z^bPn>y}0TH;+wTcAo^Z7gj$UEX|XIxUp2f7&Tn(M`X`qVPZ7oaz7%cS1nA8Vy6w4sN179SqG** z0;6&YOmVe4wUa{0{6eI#M#cWY?H%(#5>H%*fA!^+E=s58dz= zs9|?}0Veo6u@Dq%;417rRVc2XuJoBjt4NT2W>JsNK@*QWwGyLc6>&CB#?%axIndr& zG7nReL{U^GhnrQ`62;_E3x#5Y0)8t1q6?;>B$WSRnbjEY7~%DZpFfWl4!?$5u9%p? ziA?bW5h7EhMx1=uZ5yb@s2#J?kWr>YYR*US4(bppC)Q-$gsl4jgx0J75+sGBGfBL$ zutZM9r+Q2q>T)?u=chws1@;5Ut*82cAg34T?w*2xUgV?MS1_hw@Lq%t^2v@4$Oa2p zcmt`p&gL?l^}TsCeQgC@X?bPC-85;+;9Ms=r1{=sXCCmhvw@tG~B8)k&*ip8i5a_ zA!xq=q2tig=M-&46GobGq)GJy?7`u}A(8~FFwnDx@|8PM8BYO=1gChG$;|I7Q$Rz_XZEVER19yw&0g z_+)A$qDE8TxgudQdCcK$!8?5Dc=bly79NYsLW(Kb4)q2gd@)JzO;TJ)ks67J*U-4A z~o%04DKcuR5{s^cmi)J!%B0_ihOuhn{Fxe$cioW!j>=Gv30ENk}MkbDE za^hYv*{wE%x5^me)c1x<00C^s_4;KYYb~iH7W%=w95dGq7ax=)r(0hLoP2K_A z^8g`bJmC)HJ*9ZCi^2)8-8R{eSkjNJ^_AmD$$3S zW3?B;hXj3uagF^q8k?Dn+l&d6-e~Z6eL`Rw`3MMa;lh9!Q47>s+e=}1oT~woGRwXsbY?tD(1+k zVvd|D=JcsW0XV0?C^1K$Di-yZ+UA1&dgx|$#u{cDM-v+uOkO%NdFjaHr6ZG< zj!a%Udh*im#A8%A{uVAqC^)Os)m?GyJ_H6)<`x*`7mz9IWL4EHn9UlpsqfG~0yXlSiSL1fB(mFO)W*1|2C}%KWd;S;qsu z3&Tc^3Gv_HNH6L(MNpgSi7jSm!b_3E@SB(i=n4*!O}>Ly#*d8=?*rlTiMS~@hK0%!HIS*+*Q(z z$FSNS3e60 z_prtz^m~{)(jF{ooa^8&SWAKHDQC$7vX~8zv7DJ;7jm9Nqis9?L0cCN&aJhs0)x#6 ziB#qCo!pely9NJ@T)I(ycN7*Ub*ve_3%>}UGi4iT<|O|Tv{9Q$GPfCtWwaO%pV`aU zi~a4*u|^Idqs1*yR}ydXKlj*TZ4mNV5b`CI6Bdr|;SuG$g;Vk%+^ImpE9bb+kx{Im zO#_H_a%9=nk!4p$mR%iLc6DUg)sbaaN0wb3S$1{&W!C~(9gF2TvO4C->X`FDf7(!1 z#~fK5b7XbQk<~Frua1ReoiA2rbDi%HlwORJ6gJoS=ngSVON8tfPsesK^aU}l^A#4x z>TRy`akv@dI$yXjHq7SAcQr$}&KFU!;m%Z)tl{W&K6?=6{DmRvO33Cq-%%v?*ZHjF z;LdfvSgY8{2-l_L1&?6`vh)*=IkNQQ$kLA^OFxb*{W!Ap8U=FWb0qm#>Fr7#oCSdx13z5!_x79TP5%4iF=A+g)@ZX}P_C{G({^l$}6IZo`Xmdx6dE z1%lA}g(P#VcTsLHkjx1}Tjhn2n zh2!BdLCD@fGi=?16X*s7B=}LLXu+*t!B2hVGx${)v<4Igzmh?AibC`;)}Kf*DoF9C zq?i$;_)}7}kJ}J0G&*Rp}eHz!aG{?*Y9~2TDD-q$ZGTPlC z3h%9|Dzv&rZ~UtHWv)Be28Y$f$U*fxziCBgCrVGjzFJ-cubJmXDumAbpn1=fz*K6x3-s zSh9v%3(cD#r_)QotfK+`7Wkbxf|-X-sjsmQln%Gh6nqBoE_&la^LC~`6nGxp+K=xJ z%%%vK{!zu6Fc!ahb7>on|E-Hn)-=F;&JbFcm~04rW!K?GHC)Pq{(;I~4rV{IcKl$D zav*Fi@ZRBqpGGP$@y=(p+buk+HzV5Fgy22zJQ0QLVo5GgT#Hi|VexlBo*8 zoyFy=Wkld>@|0+@9}A~DCXzdiMhdR_0Ck4?)l-3gBkrm3Lg4FYrd}3X&FZzl?1`*C zBB4unIA`^*2ozCcwWunV<}50>IfyyVS3-Q&6(v4p+0C%D&vwfF7NfL_C4`D}Y7e}W z?aT}jq@8_)BsA_r@a!Pr!9l{=qH(9QfXA&A3ToWx%7D>qZKKD5e`oyp8h;J^H=B*~ zB!}9&W{RM9=?_=XO!h8p(s^3YT6#x2;2UU`D}+fE1Q{pdS3Lv~9ERgOUAk5E(ZC#~ zTgwFdrO-y$*TWdrn`D13sD6N314#wzfO!4H-OvyIV0{dttgt)i$6q2$YJz6=48y)9 zvunUi4&nP&ntffPYDD5`%)&1LGaYsaec_)VOxLm#F)*`o&{T$a7Y3xi^fLRjpG1DhE)3` z>Pt61iU6^?b(3TxLkA$D^A?uY=n#nvi+$W<;F+{?*-(pry^Y33HS8j@M?#9hs#8D6 z5{8e2*l~8c8(5e=5+XtMl<)Bz&lHbp-7W%_Hgv7T?^nyl``r)<-`Kx1>Z3KxZnFmk z-5s(n#m~CdP8@JQ61AjST93iFQ4Kf{&am#VeLpvTFpPf0#Sw#t3Z4}K3AQI=_YK!w<3*72HiDe=*EFtz? z)@L>!=e29piyWSF}K6lodqt;gL0 zv}vJ++!t}%ozW_fSGgFun-OZgfsqPNsEv&`;IL@uKkJ1g{(N`jN5i=N&&FvEdbYU$ zeGP1HC^J}`7zA`dCxlE4h13x?w->VmQ+%V@2p@@CJOmtre>lHx8bBz@juxYo(iv4W>w^H{5K+Ro&*$G3H?mI)wd`j zlOGY8{D{cpM?@w+A~N|Ak;#vUOnyXU@*^UX9}$`Sh{)te#Gm}I<0zk4oP(QCk*Wt! zE*&IPGz#}F2RET2)(;%UfvbMPObo%Te!>jt*%SLsSw5F;F34@mTh zLlul~=ms@ftfbf7fe}do!i*0jqB9Ctt-%3&CYVVM)-VT!2LX!84>I#bOg|YOrQWmk z;hf?V4U;z@=wqZlJxKkr4p{ZWaK!N6 zBaP@8Ec0bl20TL=c%|Js9SIzv*@M>C4n<>sqAl`5T!S4zlVAodeg|^FE%2)TY^da7 zg?B8Yx^~m3Vmfo*jpx=R_JH)!)qq{jCtUawdTHig!)`yrn0uL&A`>$J&5fDZhX9{q z+WjPU$S-)g0Zp@?_7}iTXajwC^sg9kqQO*M;q(|X0``GyKlb?F@Q~EV`2oP|o(^Jj zZsP6C!_=1b$ul3pZK?VW_a66*sbVv^3#EePo!6}`>vI>HTh_mdU&{U6Fjk*|h*4@0 za+c!Ttt~#zV8i=~sUA~#GQu^^1&wMr2;G9h{7MI+^gtwGtBw%roc<8lMhgObDG1Wj z_V{M*Zqm*zFeDW__rei}0&B$3y-iv=^**S@(mhSC6{N<)u3{e_-wiD0^YJ^tV%mEH>9TDMr7@ zya=+j)%TaVU~Tn(g|yYLusR|yx${sHe!wra2~5Q5GjQrV@Q=V^b&Y+ie{baln@cR_ zEpYwBaFgCvHOJ@2YfaS3EGYAgWeAg9|0)H;0G?deG z$`oAMP*ws>mn@2u5nFu$Wo4xdnZ+XNxVXY6Cv~FbL2$Or+7S=0LDQh>#WM!pZM7#g^D=Qkd1{6)|g-OU?4#Cm^ z3>BR1$sW-(2KQ?;#UH2`6P-p=d_YsQqgHxVC4^hwEcc=~R9Ibx0EH0-o|AdkU>$>N zoemBUgcgsJu8w4p69Hw-sI9=u0J)t{3B*KJ6^KmZNzvyMXu+nf9KUHOT^7!Xc_5yr zsooN*Zc*A9`s4TL=h;+!_aiTU(mN>T+n&Z$Gw6e2{(*UuLkiUY{U=w39$SFCtGUW5 zzX5r*9vlE@MPO{xx&={|RfzkLl{^@3Z{?t5!)bJp5lERSFs9{c{enet_8a2ie<}|9=Dz1ls z?hb?`zQYB5W?cJaj=$i;D#w}sP<@OnIrDFgiR+_zVob;97Tb#JF;ub+;flq zI)j~O;Qc4E>n!Zr0n!1S&VG8WPM2Sq9uFI+-=fa*13=S5y?|hqHw1}}+{gf{3sgE9 za7qm!SK~5S>M1<3GJW8Wpy{8L=>d}IEGdVQVu&y0T(BM9f&nK}$~A!BpxtnWoC%nb zGIU=}|2q*hqkJ9@1)7eULmqDgnvQCs>F9kmeHVi?2cP!HNIA5zc(grBt_HDE z%ZZ{T<^Z&o6Psvx%)(lB-S%v6ZOGc6~-_$M$SyCm$Av2 zjrwRGdG%?~oa6K0v5~^#9O1$9ZiL4>-_Vex`)YfOn#ab0jt+;oKdF%=W?( zI{rdm0;Z_7goTuVM7pjmlDd}VRI@iA(GovVF8WJRYsudf+#XQWT4Ht0%G#y-X048b zm-#$~20WI1OdeAJB`?b)FXsVDUY7aR(rR5PH8M-BE9uKCe3sV+ELV_aCNJ0To0mm+ zmUUM7i5^BG?&EP*i5_nPawCtkidoAT@s@q_GL#N+r_W<&Aoxz<5kkwr4&Ax4iR<09 zFOMysgXRIBM@u9Un?4{m?HTZRz{$4hntgd}rn@}m^Efo%@tE+K4%m&&+G7du$Xfy^ z#q?Mco37i}rpNt=B+vRRZ$~0A&$GhvIY2RwhL{dC3R;pprM1+>w0>WfSJ2`w`z(J8 zSiUSQQz4(_%d}Qr2S8!@vd>c2$XE8w_(ry+Z}}{TA(2@8En#^KAZNCnx5~4P_x8R# z+Ohq4-{)~Y5^*<{^S%_~b%2ub_k|^?vlN(N`RTqa_s1in^QF(S0*OS+FNI|OQ``WV8!JzroXZd`<@>kLFlYr%~O)A81`|{{a zwf^#X{2uW5OL*jkeYO5-!sBn@!KU2rV_#$eU~*VWAl(tEByS-_F6rUG;wT|$@$rDF z-OE<{@_CDV;sKvy13q!hXKuhJ-jt8qj8A`-UMk?TB1o6geAWWbWmA$;tmheh@|yAa zjQ(B}@Oc~Q#0`oxpKpN04~i5EF&)N(o77W{!B^MJVkNGSWv@di9fK%suS%p7zLlD9 zZ(!kDsreor@YOiOx2hT6QLKM;0pBwMzIB@KzXQH?n(v(fUyU<-+cx9-(iz~3F__l( zg@A8o&38+{x3lKEC*bSjd^|r%`D>i9cNZnSWR_k2Itg-m268$fo!F(PmNNoa?9x-q zISyFt?c;fY9E~$_dNq^Nk3NsVzRu6}ft*2F&ZB{xL0Zl`fgB%y8_3Z(BWG|kIp4Cg z85zil;Q2xFGg8Z`0_JKVD8zsI0E?Y8&XmWfX65lgIZ|P)qxC-m>DFyAa@SRB3ILA>%^N6S4DSme&pa%Tm6HO}xor^V)#V=z!0)n$OgL&$Zfq z3xT;VjuiCEOg^t`md|haaC>vW_a>y1e(Yv#zbAl=pM*mE`#oUM|7LYG?2zHRsu|yn zY(MV|`2G;^xl{9vCww_~YJF>gh3}nB`QFuxZ*M*uWA#DXa{$tbAFa`RCjpBet(^`oGbvd>&x?xiR4TBhra~Z`6DeNwnKD zgo4AojK9Cv%-@e?{llZCwtpL>6F!?ozl`5~tmL69t3O?bSz2dXkZustiT$?ed>s|= z*(UmAodKV-k?s)oCp*>2&^x^xSnB^y#b?nBpRb$o+0Ge`9|ArP1blwb zd|nOs{Lqxo?q+;W`w@KbO$cp|F9JTlX+DOBk7A7zirLh!1o(kfg859A-XHj9miTYt zj~RV`Z{`<$4hEHB`f|o0o#fjvCEuq6atu@CTo}l~S-#orj57Bf|2@dw$_e=167Y32 z-=~3Jqs1M(4Gn!i03O3x3?KglEHht@*`&RVn){BY7ST?aIM8;=$@TTm)pF{94<_GS zb3t~wrObWD<>x*Es=|QJ;2>S0q)Y!R;9DqsGxjWM#>YGod|C#4<^+6N2J&@1sxTY< zSohOurmGFoT@|FO)$-Q>OFLa_%6Q;4;2b>fA_eV}{t}p*!GI-RrIhi^48gwrwA|Ka zc-w~Sc6yQaC;u)dya~^O$%V&hn&$YlZ z9vxvec^*5cnLod_7hDbreZ(g>NR^aasPa z?Rz+%>rM{REeX<{to6Aa_%OD|C+mDa2V7AvxQTzC(oCPj4hGeXfbYiv-x-?kZ@`N= z(wZUuow3)7+cb)O;QZ`1<%QU@1=@e+?}9U#a!) zgY#EJ|0}g$RRT-D>c`u_Z?fmt@tOQBH@Cw*vY$VOar|~upw|SX6TNQIdd&nDKlAbB zz@nFr?*^9q-=y207lGwDP~(i;o13)*r_i773gmtk$hk}V^Phnn9~TrT<7S=0AE)Sc z?e1pfHE0C*J{a)rf^?Ff2Q}YOz^OlkqRDvYp{(-K{{HP5pjsF3IWgd~PV-p+yow{z zb!HPjk2m9UB&pU1d~QU#7f+WEX|Ep#mU3OM%XK5Ll9`#WA-mZx90@G_{<{GmJ)Ygz zEZ^s_wD3V+-M`F2I_{=I2v^S1O9MV1HRZEe^C^Ij`ip)4X21U#_AICG4RrZTx8W}X zb5S3$O~xSGn(;V+KK>PWWZI9NrmW$J99`b+neXo@XB+t5$5Q*=d>3tW`Y+%%+Z%Bq z_GlIG+4Fmo%T(#Ez%usK^cfjH=r&zs=r*7)W$dAh(MTgQ_Ly7`O-}_rMaTX|J1+z- zr=RZ8I@|>O06lw;De*r7AHnw4kAENddgjuPe*$%WfA)Wf~H{%6_uU+fi2vGSJA z!H3s{N2$ftxO5$`g-H?217m%%mb2g_!lq_Hx2L{;3sGkKmIDCJNLF^ z949i{i_Gv0Pz|BX?nommzC$$6Lx4qxAzFuNz@h`Fsl&ym-;%5*E)3q7M&1FokjqQPUCeR zjsq5*#*0oF8HZ}yXZb-L?Qnvn*Z9-(kWSi#6M}TQT|d!k9Di&7Ih7?lEl77g((%Mu zgh>5)G~hEW;G^56)3mQ<$sa=bX9j%U3HY3;`FtDjIkPFBSe=mQVcg2KZh{pV)vj(q>($d3*}og1&#Hma!LD z+6x_@;ki7ECksL~OlKLaB+qoY&ts+LQ4cIUR*H;_AKlQ*{vXhetM_eBZfn-=Ok+*B z+oww(1pc3~UA$Y%J07@_^U!xo`Df(a)2xl##pjC$p>u}jp)6TCUrXqt>-;jv&^_La zF3#Hc%)WHbX0?Ty-!s&71MPGH^sME0dV{w8O5mqA2#$BlYMWndW~WUYC%h5(#bZdf zY@UQXr_*UaeN+2sR=Lk%Z?ciH{~M&)Xf;Xmo}Y$WcgD*0ogetj@(I)ILYgIP@jtQN z$(FOlPeb}+C5=n#f01q1FPquxRC2i&YvtHQn#vs zc_;}e$SA|-r)D<0ftKA9@acGguiD1=?|}cLJ$(9Bm44gbAtYnlD6sgMj?eg6$53nR!Zhd_ z{+P(1)b4>E1CUPSbk}-J3ix){Hkl19cGmG3oAhXAle`w-+n+XBhBT75{=zepW`MSd zl#TY)_{m6v{S=Mu+wf+7`r2yHj1Ba?54`ztCWMHez5*6?Mi zAJ`cG6Y$vWjq#g+`Bi}+{gc2iuqT<`)CQ-Aws%D~vg*?>w86QwL9$vI(WIazc{$Iw z8*O%l*zJHLLA8)++9HjNSr&$5yni6D)VYNrZr9BC?V_yqLHkN;`pTugJu-CvZssp% z@Y!NnNRgdNPY&cQ)BbV}u+)=fA}@V4uN&HuIM#t+|4Eco1pcrma>qO>@1U z@5Z{;mMzpRO!In>=9Z>uZuQHZc3LgA8cbW=9a7xx+E_2{@$*TVr-aU02)Z>sU3v%j z^LytAVZw|*KA7cK+8+yKi?!E~gZ|+;}Z)KIcmbHwvVdK7Z?=_?Q zljDVt_NCk0jP5*+wYTm|_gOQ#m8{=i?n}2Liw?zt@#kICZ7%UtrTr9r#tt%A#4pw&Txin!mDWv_5@VpKz>^O0S0O#Ck!} zc03C#^WUy5_#7L?(&@@2HJ3(%mX+X0IV z9}fW*87;Joqk%<+kG}_A%TcwD-v#E08RXs#{2m47i|axBb-;Xa9a!3#bAfMU%b?R| z>PLayjs2t8u0nMF>uFH6qR#PJJbx}0B>Aod7CW`lc^CjJdGPThV97%(orl@Lk_U}5 zGHdO|=XCA6SJT((Df3FC;bwmzk$FF`)HRJWw(e~2I}Yp4{(#`^ggKGc2f=ZiZG=}?H{#q?BD}{CGUVj}zCjf0=pKqty{o^%h)o9I ztCpcc+11ZiEv)0?Hw@AIWQV6>Fe@_w{XH~EQZU+IRwIKEYR*a z;FgoBDMCg0>L*@zY`OvI8xF_ zGAd};a; z?I3~M;gx)YH^0s+ci8SRsW`2T8(+ly?w(m@alS`Gl?tRcO5lSO$ z$^_&JgkxfD_gc6ffpAQ0)O|9<^r*}t6-J8zAIAhlP_1$D0fjfHo*8TyE8xq*H>iv% zVAMg7uIO~Dw|=u)ztTDmIiS|Bv>t{uM~#_vMf zz`*l@v%Zuw(~~#KJ$a+tlQ+sed86EuH_APEqui4>$~}3b+-nO4QBU3|_vDRoFLDjP9G>UN;d!1Mp6AKod7eHz&&Rg1;eH7szF={p6E%v3}zScq=Huu1g+&Jn7=k27fhB%_Er$ku~0Th)yB~^<$)=(X(_ffL;P*AO5Nm-&T zwuO%d`1G5&anR@&6Mh7oxr(!1h$U@Qn&{n5;j9iMYLRG)M9^PYgF=Klgt!(Sb4neB zQW4=j5n(bw5#c@Qm74*I81GXIqw(7qYt|rm{8FJAM4D3R-$8}`)k)zpxX_Tn!ofcQ z6z=J`@Ki*5Y!m+LZ}-UZa73!s=HZB0HjYiRc{pNr<|Mp`PpA)ES(b+*lC90d5wkoT zk(_NFj+o`)h(d=0!O~eCjwoe395Kto5e4Gmh*=(vNRe$E2-Y;q!x4oi4g{;n@^HkR ztPig)R%LlOqSTHz6|1v698tLNaK!8-kW;uIfT+vza73Zw;fPrtjwqNs95Kto5e4Gm zh}nZ6nb7fY#4Ha-{E7APaK!AZSmW~qDVv8QW_dWG=!J(PW_dWGKs+2V%fk_cj)x;= zc{rk!jln#V<>81@!|`TqAM_cUIt~}SH0$CaE;;bf-plQPBo8jc;V=4qN!Lf!Jc-b* z@l!~atEO4}Gko@0*qOy&$k-+B{lC96F&UDFlNN!_EGrGjVNDRl%N~u@{oeFNx$aiC`<|>w0 z1KR)8!Bo&;O#}KY(r1BwGtmE2=cP|i+Yh)Z*XY+P>*WN$F2%Z7`gtIwkY22ypWXU9F$s}jVBxmVK4s{p? zu~e?{7r?Dj%ISrA*gIxbJqnyNgKEvHB?PYm$RTT1Jp<5iXX6sN4i_CmM{Yw>$Iww7 z4MbKThcl907kL~>&PZ1GsGgA`t&qdxIn`dq4H0lPCKom5*ikq}3mOTVv$_fxf59Gr z%<8qfMFjSLAvn1jyoC);;eZUB?*AKO0ec@$p*c992jQ{uMqn+4p8D?$5qz1<)2Kt` z2Eg(YYWQ%D!DM69E5=l!4e1!>rjEnaJrx)2nM(uDoTg{~D`pt+%xQXN9{eDlIn8eV zjSxL^nw~idRf%U#(=#Us(KDy%nT3v?IZe+jW%SHxdS-#>nbQqCbDEx6c+xYc>6zP+ zCp~kTo>^+AXHL^I3m1CkbOXO&j&>Yk3sEkG+0?nUNH&P$+`j;$p<_P?INGtNc1jscHmiMxS2k$ju|1w+C*U6L!Xn6b`et1JElqMdNS z)?_KU_8=tBW3u85l<;(Q>wJP*uJgdtx;j?AAIh{`SXN;x06&#Ge=G{|4LA0bs(ctI zBHV9E288IOk072#N#>yeAA~sbh*I%mSmO;+qfqQE6rDPQ;to&@?i6snLnuxJC^9Y* z3QVWr@kZZaVnI+SvNTy3QavS#dI6x!hEIw9e+0;l4C^T}sgf_LeYFvsst4jS0l#MV z!UbCIOC8nBSb$$e+dZI!+fnd>6c{x;j>;`pgj5NGUbp-##33aNdfoE#kTg>LadBrb z7v<45E{&AoZiJtj!0CzrRql5z%B)||-2SLSl=zDXJ^`Qz{)-6yB0v%RS611?=^XU` zuk3%_-@ma$i~kQMYo&D`s5)9%UsNb_Z<&gf?+a?_(xz8eVcfh+@OFrClC-C~3-HI_ z*K!03MCHSzz^EIB#w1Z;7C&Iul-~%9V~|v7>O0x$@vo8e5&-+;eu7#`B^LT|29L`*XEZXGe0Z-!iEsFZlh)o5t z6mgEVJw#j)B5v1+a9QC&Yy8rxwS$qt`cQ}+V!)N(0)B{gutTcTN9F06ydA`{@Kn62 zOh8W}dDNunm3sk}kRmFF3{{>ESb8vOQpC#Z0rSZ?P_uhr1`}Zx*g=GzOyisb;gW(# z<9sxA)ZT@uxlJ`Nv=y8VZL{5a zgbn!x>>TwBGL-W?q~iN1rt>mjcMCv%mCtm4L7U{9nBZ8to@lsP8c_WjQk9a*2%K(o z1JbcgxOgAo!b6U&4!#_6Z0T<(+hA((kmGpe8pHS-A^i>I5+r9qA8J^lLg{ZPzlLs{tLkYkVb%|nh=&tSJEqR%=Gwg{qM zLA2QSxCDLg@gsVi!ko??tKbx74>NAUKr)S*0R@Y=;1m$^yf_5n5>ac^2l9~4(Xqfj>hPLBh%GI=w(!*x01baNZ$r5_z-_5(Bj|W5_}WM z{~c-D13tgV6&a#G_Z8`$WYtpdei#tRV=#;K0#byZ`%3cl+>wOjb6@sABxNtYjWmce zPHaZW804nT!NsUD>{IZcOA04zvvMve?DnO4XVGRq{-* z%fpHFR7%;&W0>2FxpJ$&o*F5;_dMoOA!SE$@~h`IP}v<2G|2rK9Tcr^kKD|YaJ11& z*qlrm7L3tLMSu)-7oDY5=QjpoTy#T6apD>1^`SmR_gRNbr_Z8kDz_Z57M_z~u4>$5 zFYVi0dy&*LY!xOH*(zwYsq#2CEcJKr7+pc0a9W& zO~&Q3acPI@y5Z-hoTk+`AfwqGxKvc#&*WpcG!HQ<&j9s{$N}XnRDoe_Od@5*X~qrg z7W=`~FJPht5)`6^g~VDUnyn}FDd^uqqH+ZiUovq7%6~+n`C#xl6~D?qBZr$;_!Dik zK?0Alo`q^U2imw9DD?F1p45g>WDzGA{<+ACPr=2$6c>8#c!z{|?s%6ZkEg$f2=v^^ z$~E}X4?I*{Jh%NY3bg00g6B^1@Ty5D70;cd=l%{&7tftcfbt@i(Q_wx*FqqA?j-NU z)w7JAJIOn70?~6Pc|5&vq32HWczS{8xsyDeULbnzT1^<#2g zn{$TO4@1WAx{tx|_ufK`TJ5F2!ZF=mEv~iRBn-?t?%X<=Ivzs>?4xzjEJMs_k9vO=BAHDtR4C8cf)HH1CcpqTA zoaz0FK{Uy$TZl8jyraQ+8rJI&WxDbng}c63dF%1-Dm@t*ea{%V+@`wT9Z9D&3U@hc%o)SZyvnEs4q zr@*iitD%L5Fsj^BVUULZB?_ExS^66;2R1|E#AKCwOk(fNXcO_Ud^Hm9Lksj$E|#x$ zB2^YZSiVLRFJQX4nPp>OoQYM?3kS4&9E>v&zu7Q$5W+TNCNUinMKFHdu`td=Pt?$y z&e7J(%ZY1|)XRw={PJ&OAsq<5W)2d=Woz^eVVCYCSS*uJFP8n+ zkSwA|eF``wKG&zc`rqtQZqmiby%0Z+WHG6xs$njZD#g<-4Sz3O9qPZdaU2#nM~z2@ zN^`F8=A40an#&q*4r$87>3dhP2~dZgFa5KDjd7Y^Fg(%xWXb-D)Gu9-7P_^FgebKOf zLV*U#F|FA61PUxB(Zel4^5SV2<~`k}Nb>uSYJ6lAtSb_2%%H(X&>$^s!kHV;M4&Zc z(17#>OfzUenw`;vQ!CQ-$S=!s;`65~t%P#yQA)Ic=MDTnqud#d41YFK?sd2@Oz?-q z<*T56_XI0rO+Lef1j7V2+h>@NV3_a%%Op%FYG;*E%85Q+AM_2SiPz`g^U|E?`^zln+p1RND zvvhO)MOgU_3-&3hm~|%BvE`I z@~Wnp!||^=EURgYf@6>anret}84@?*XSH=&j6u;J$gAyvON;)14kE;Rfz=^i%@kyh zK@R9Q;olM@)|0-YQ@aIlivd^w>|mlj5`RYm-*^F30w{q5zPSSEJ20t5qUH%Cx-&5r z<^7SUz6;Er$FJsctD)hukw-Ikm+NkqF4iH- zGHw_R3cC0&z+=c_4Q3Y?k4=OubCBg+gNu6$E(}?c9pVzQB)cRSvOJCKBtw=&3S zh<-{+$l|_&0){O1uw;dOK!PF5ER@<@Y$h18(Dt|$s}c!NUdu9uED44z0x@JsFl4!z zWeiyo3|RzX$dX{lB3u}PykVPPdED44z)SJzaCBcwIAcianhAhI9AxnZG zi_l5P;+_T}8M4?t8?G|_C6LLv8<%j0VXVuL<&;6d4R#n7ucRL+ge+I1SN^@8{O?## znza}q${uG;d>a3)b8t1SQ70S58a(s+89b}9Pqo?sHmsI$Vm!2r7!Q7m3@Z&<+pr(S znB!dScDA2Gl5@2)tawQp#q3fJo6$>BKve)_Ns4p_ra8MHO>$Y1BHau5dPy3cuGRnm z*FRX2?unB4zPN--(!NOBLvZ0-6AhN6QN1K(z0v%VbQ+=jl5`#+y(GOHNk%Px8)*=u z7H>w$9mq}bD0!pGuzAEjm!xjiX60OxI{76j7gda7;(AFMtJkfUC26dloAI(Fjnz{r zvLubwAIn_M0I_;%M3$tndMZSgq%oP*WJwz2a;A#aPXw9FRIy9g9GR(Nmx=%qoy2Bo z)%iyOF)q3(0ncDbO3{7RA&amoB=B`Ac$zMI1qav(R?5n($Fi1A&2)+kcYLtd>1IQM@Q7wi7jccV(ok(vIhpr zngBYw|HwcpOY3wv5-N933*?Rr&}N2cBZ-z>0PuN+(}#_M-_um^s-Rl%jnmX=Xj9nVa@6Of##i;p<+24Rm9Fz`2Vq$iGLN5sP9VTD&BMK}m9q{xJEH|pm_YlKgP3%11 z>jBvdaA|q~a4VfDm&4&$o!lM|7{(T4TX-JPaIcw$qymKQwB0l3!v_)C7t^@g6150~ zrxW9bjfvZ+f*4kZ$TvvFl=l<<;f)bU5V0c;==_LJ>J%;!N@KPw!85IZlvx(sQ||!C z#$YxYcSrVv&dz%&|MEg}S2Squ18lDOE>x*o7qBtQv00{bnrg=8UvI&g_EJ@l6Q?YR z+i)>VBRKQhJRkmObupIp1R(k3(4iI%iJ0%)K8ga}TVu$nNZFdDKJxVl-} zLh(Xj24i$-fy4I?T2_VPg*i*0Wj^$!tRTnY$DQm$aABZf27!jD0}T-+A81JB5@?vG zqNHI}=Y#rsVSK=DnuzLW>$MmA{1g~QM?B_AKWKFno592zy2)n8Ah&B++*OJVZd;qi z6^B65Ad2k`Z+1n$!T|4F1B@@=0ssFpz+c9I(mfD5vw!UXkDL&WpI~HK|I`5grEl1* zfQ|VTmJqt3nPAYhMO7^@c9a$5=t0LFg`z>1cmp?xim|N0fb2iv@?Wv^+UIty{$LC$ zEl@=u&}@tbEl`+Kc4}C8n6n4OX-IWAe9$K%V5{O0Bh7G%N6ZkATA6T2WOf}fzaS*F zD#GFlJz_Y7;XQ588I{AV|5Sw&loWmVSf2 z;rQWqu=V%}yRIi3j z>(SCFn4_M+;MU@WImh&;YH=nMto{D!rN9CVf81`Un3c8MJS&ks^M5Hy)Q)3<55s_{5ThSwps=& zK&xeegDxI^0*X6@#hvtM&SCLr8t)7(%!c=(VQU8zM)Qp|z}OB)p+|H0&FKGgNAn4J z0}k8zuN}>GSOw}q7ff1((abGbGuVGo?8`8K>^l37eChL^&D1Tvpp0sc%jQYH$OdxIrr3um4`V4p _Fy}m2 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 F9-sdDJ4Plt=Gt3rr! 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
*9Kjn|RSBtv_@EhRp^~n^pn2 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 literal 0 HcmV?d00001 diff --git a/tests/functional/elfs/ethereum_nanos.elf b/tests/functional/elfs/ethereum_nanos.elf new file mode 100755 index 0000000000000000000000000000000000000000..14906f50fb2e3aec6f4d0b1bb777780fd559851f GIT binary patch literal 715896 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 z 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

KMR&mBzbOb(?Fn>%wvw#}r5VzXZmV5x%_rg~@0 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�e9TU3UrBi{-!)eu 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

}b9F!FvJ5lC_oB*Vu>90N$s4dOQ8 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%0A*f#Q?8GUP^{{EirZoaqNOV8JRdS3?IWwl} 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

_z=rLRT(e?=pX1L^*aSN>C0G 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%0AmjI9p3# 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 kRaLc}mlVq$8 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 literal 0 HcmV?d00001 diff --git a/tests/globalsetup.js b/tests/functional/globalsetup.js similarity index 100% rename from tests/globalsetup.js rename to tests/functional/globalsetup.js diff --git a/tests/jest.config.js b/tests/functional/jest.config.js similarity index 100% rename from tests/jest.config.js rename to tests/functional/jest.config.js diff --git a/tests/functional/jest.js b/tests/functional/jest.js new file mode 100644 index 0000000..521ecbe --- /dev/null +++ b/tests/functional/jest.js @@ -0,0 +1,22 @@ +export default jest; +export const { expect, test } = global; + +export const sim_options_s = { + model: "nanos", + logging: true, + start_delay: 2000, + X11: true, + custom: "", +}; + +export const sim_options_x = { + model: "nanox", + logging: true, + start_delay: 2000, + X11: true, + custom: "", +}; + +export const Resolve = require("path").resolve; +export const NANOS_ELF_PATH = Resolve("elfs/ethereum_nanos.elf"); +export const NANOX_ELF_PATH = Resolve("elfs/ethereum_nanox.elf"); \ No newline at end of file diff --git a/tests/functional/lib/approve.test.js b/tests/functional/lib/approve.test.js new file mode 100644 index 0000000..50eb7dc --- /dev/null +++ b/tests/functional/lib/approve.test.js @@ -0,0 +1,22 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _test = require("./test.fixture"); + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Approve DAI tokens', (0, _test.zemu)(model, async (sim, eth) => { + const tx = eth.signTransaction("44'/60'/1'/0/0", 'F869468506A8B15E0082EBEB946B175474E89094C44DA98B954EEDEAC495271D0F80B844095EA7B30000000000000000000000007D2768DE32B0B80B7A3454C06BDAC94A69DDC7A9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF018080'); + let clicks; + if (model.letter === 'S') clicks = 8;else clicks = 6; + await (0, _test.waitForAppScreen)(sim); + await sim.navigateAndCompareSnapshots('.', model.name + '_approve_dai_tokens', [clicks, -1, 0]); + await expect(tx).resolves.toEqual({ + "r": "92243511396b65a4faa735a5472ea99b3ce0f7f2338eab426206730bc0ddc57f", + "s": "161bc0f861064d840de4f4304cfd19a571017e62df7d8f70cf605c0f025593b6", + "v": "25" + }); + })); +}); \ No newline at end of file diff --git a/tests/functional/lib/blind_compound_deposit.test.js b/tests/functional/lib/blind_compound_deposit.test.js new file mode 100644 index 0000000..04f3f9a --- /dev/null +++ b/tests/functional/lib/blind_compound_deposit.test.js @@ -0,0 +1,24 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _test = require("./test.fixture"); + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Deposit ETH on compound, blind sign', (0, _test.zemu)(model, async (sim, eth) => { + // Enable blind-signing + await sim.navigateAndCompareSnapshots('.', model.name + '_enable_blind_signing', [-2, 0, 0, 3, 0]); + const tx = eth.signTransaction("44'/60'/1'/0/0", 'f8924685028fa6ae008306599594cc9a0b7c43dc2a5f023bb9b738e45b0ef6b06e0488016345785d8a0000b864474cf53d0000000000000000000000007d2768de32b0b80b7a3454c06bdac94a69ddc7a900000000000000000000000070bc641723fad48be2df6cf63dc6270ee2f897430000000000000000000000000000000000000000000000000000000000000000018080'); + await (0, _test.waitForAppScreen)(sim); + let clicks; + if (model.letter === 'S') clicks = 8;else clicks = 6; + await sim.navigateAndCompareSnapshots('.', model.name + '_deposit_eth_compound_blind', [clicks, -1, 0]); + await expect(tx).resolves.toEqual({ + "r": "b5ae3a011eb50e7d1fe9f5e6f6d91ca9f4dfca5f73805fc4866d49e72ead2f5c", + "s": "3c6e55db5925586bb58e434b58b2c04756f662131597f98c1aa2418b16992b81", + "v": "26" + }); + })); +}); \ No newline at end of file diff --git a/tests/functional/lib/chainid.test.js b/tests/functional/lib/chainid.test.js new file mode 100644 index 0000000..cecd3a4 --- /dev/null +++ b/tests/functional/lib/chainid.test.js @@ -0,0 +1,37 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _test = require("./test.fixture"); + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Transfer on network 112233445566 on Ethereum', (0, _test.zemu)(model, async (sim, eth) => { + const tx = eth.signTransaction("44'/60'/1'/0/0", 'f044850306dc4200825208945a321744667052affa8386ed49e00ef223cbffc3876f9c9e7bf6181880851a21a278be8080'); + await (0, _test.waitForAppScreen)(sim); + let clicks; + if (model.letter === 'S') clicks = 10;else clicks = 6; + await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_112233445566_network', [clicks, -1, 0]); + await expect(tx).resolves.toEqual({ + "r": "509981d8dfb66757e25ff47c009b9b5bc5db0f169473e4735f5212b144f1c069", + "s": "5db989d81025de3c846e41a9ce01a3f9fd0982e2d827f1b88ffc95d73a48d04c", + "v": "344344f19f" + }); + })); +}); + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Transfer on palm network on Ethereum', (0, _test.zemu)(model, async (sim, eth) => { + const tx = eth.signTransaction("44'/60'/1'/0/0", 'f044850306dc4200825208945a321744667052affa8386ed49e00ef223cbffc3876f9c9e7bf61818808502a15c308d8080'); + await (0, _test.waitForAppScreen)(sim); + let clicks; + if (model.letter === 'S') clicks = 10;else clicks = 6; + await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_palm_network', [clicks, -1, 0]); + await expect(tx).resolves.toEqual({ + "r": "946700c4972b3da24ddaa95e590ad25a8f905da62e2bd053285a4cc17f93f490", + "s": "3698e84564e58477a49f7a9cea572ef5d672a5538db08f3ee42df5eb75a1b907", + "v": "0542b8613d" + }); + })); +}); \ No newline at end of file diff --git a/tests/functional/lib/contract_data_warning.test.js b/tests/functional/lib/contract_data_warning.test.js new file mode 100644 index 0000000..edb8972 --- /dev/null +++ b/tests/functional/lib/contract_data_warning.test.js @@ -0,0 +1,30 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _jest = require("../jest"); + +var _errors = require("@ledgerhq/errors"); + +var _test = require("./test.fixture"); + +var _zemu = _interopRequireDefault(require("@zondax/zemu")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Try to blind sign with setting disabled', (0, _test.zemu)(model, async (sim, eth) => { + // we can't use eth.signTransaction because it detects that contract data is disabled and fails early + let transport = await sim.getTransport(); + let buffer = Buffer.from("058000002c8000003c800000010000000000000000f849208506fc23ac008303dc3194f650c3d88d12db855b8bf7d11be6c55a4e07dcc980a4a1712d6800000000000000000000000000000000000000000000000000000000000acbc7018080", "hex"); + let tx = transport.send(0xe0, 0x04, 0x00, 0x00, buffer); + await (0, _jest.expect)(tx).rejects.toEqual(new _errors.TransportStatusError(0x6a80)); + await _zemu.default.sleep(1000); + await (0, _test.waitForAppScreen)(sim); + let clicks; + if (model.letter === 'S') clicks = [1, 0];else clicks = [0]; + await sim.navigateAndCompareSnapshots('.', model.name + '_try_to_blind_sign_with_setting_disabled', clicks); + })); +}); \ No newline at end of file diff --git a/tests/functional/lib/eip1559.test.js b/tests/functional/lib/eip1559.test.js new file mode 100644 index 0000000..3a50bc1 --- /dev/null +++ b/tests/functional/lib/eip1559.test.js @@ -0,0 +1,22 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _test = require("./test.fixture"); + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Transfer eip1559', (0, _test.zemu)(model, async (sim, eth) => { + const tx = eth.signTransaction("44'/60'/0'/0/0", '02f87001018502540be4008502540be40086246139ca800094cccccccccccccccccccccccccccccccccccccccc8000c001a0e07fb8a64ea3786c9a6649e54429e2786af3ea31c6d06165346678cf8ce44f9ba00e4a0526db1e905b7164a858fd5ebd2f1759e22e6955499448bd276a6aa62830'); + await (0, _test.waitForAppScreen)(sim); + let clicks; + if (model.letter === 'S') clicks = 7;else clicks = 5; + await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_eip1559', [clicks, -1, 0]); + await expect(tx).resolves.toEqual({ + "r": "3d6dfabc6c52374bfa34cb2c433856a0bcd9484870dd1b50249f7164a5fce052", + "s": "0548a774dd0b63930d83cb2e1a836fe3ef24444e8b758b00585d9a076c0e98a8", + "v": "01" + }); + })); +}); \ No newline at end of file diff --git a/tests/functional/lib/erc1155.test.js b/tests/functional/lib/erc1155.test.js new file mode 100644 index 0000000..37cfd1f --- /dev/null +++ b/tests/functional/lib/erc1155.test.js @@ -0,0 +1,65 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _zemu = _interopRequireDefault(require("@zondax/zemu")); + +var _errors = require("@ledgerhq/errors"); + +var _test = require("./test.fixture"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// Only LNX +const model = _test.nano_models[1]; +{ + const set_plugin = (0, _test.apdu_as_string)('e01600007401010745524331313535495f947276749ce646f68ac8c248420045cb7b5ef242432a00000000000000010001473045022100ec4377d17e8d98d424bf16b29c691bc1a010825fb5b8a35de0268a9dc22eab2402206701b016fe6718bf519d18cc12e9838e9ef898cc4c143017839023c3260b2d74'); + const provide_nft_info = (0, _test.apdu_as_string)('e01400007b0101124f70656e53656120436f6c6c656374696f6e495f947276749ce646f68ac8c248420045cb7b5e0000000000000001000147304502210083e357a828f13d574b1296214a3749c194ab1df1f8a243655c053b1c72f91e0c02201ed93cfac7e87759445c4da2e4bfd6e1cf0405ea37c7293bc965948f51bef5cc'); + const sign_first = (0, _test.apdu_as_string)('e004000096058000002c8000003c800000000000000000000000f901090b8520b673dd0082bcb394495f947276749ce646f68ac8c248420045cb7b5e80b8e4f242432a0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596cabf06640f8ca8fc5e0ed471b10befcdf65a33e4300000000'); + const sign_more = (0, _test.apdu_as_string)('e00480008b00006a0000000064000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080'); + test('[Nano ' + model.letter + '] Transfer ERC-1155', (0, _test.zemu)(model, async (sim, eth) => { + const current_screen = sim.getMainMenuSnapshot(); + await (0, _test.send_apdu)(eth.transport, set_plugin); + await (0, _test.send_apdu)(eth.transport, provide_nft_info); + await (0, _test.send_apdu)(eth.transport, sign_first); + let sign_promise = (0, _test.send_apdu)(eth.transport, sign_more); + await (0, _test.waitForAppScreen)(sim, current_screen); + await sim.navigateAndCompareSnapshots('.', model.name + '_erc1155_transfer', [10, -1, 0]); + await sign_promise; + })); + test('[Nano ' + model.letter + '] Transfer ERC-1155 w/o PROVIDE_NFT_INFORMATION', (0, _test.zemu)(model, async (sim, eth) => { + const current_screen = sim.getMainMenuSnapshot(); + await (0, _test.send_apdu)(eth.transport, set_plugin); + await (0, _test.send_apdu)(eth.transport, sign_first); + let sign_promise = (0, _test.send_apdu)(eth.transport, sign_more); + await (0, _test.waitForAppScreen)(sim, current_screen); + await sim.navigateAndCompareSnapshots('.', model.name + '_erc1155_transfer_wo_info', [10, -1, 0]); + await sign_promise; + })); + test('[Nano ' + model.letter + '] Transfer ERC-1155 w/o SET_PLUGIN', (0, _test.zemu)(model, async (sim, eth) => { + const current_screen = sim.getMainMenuSnapshot(); + await (0, _test.send_apdu)(eth.transport, provide_nft_info); + let sign_tx = (0, _test.send_apdu)(eth.transport, sign_first); + await expect(sign_tx).rejects.toEqual(new _errors.TransportStatusError(0x6a80)); + })); +} +test('[Nano ' + model.letter + '] Batch transfer ERC-1155', (0, _test.zemu)(model, async (sim, eth) => { + const set_plugin = (0, _test.apdu_as_string)('e01600007401010745524331313535495f947276749ce646f68ac8c248420045cb7b5e2eb2c2d60000000000000001000147304502210087b35cefc53fd94e25404933eb0d5ff08f20ba655d181de3b24ff0099dc3317f02204a216aa9e0b84bef6e20fcb036bd49647bf0cab66732b99b49ec277ffb682aa1'); + const provide_nft_info = (0, _test.apdu_as_string)('e0140000820101194f70656e536561205368617265642053746f726566726f6e74495f947276749ce646f68ac8c248420045cb7b5e00000000000000010001473045022100c74cd613a27a9f4887210f5a3a0e12745e1ba0ab3a0d284cb6485d89c3cce4e602205a13e62a91164985cf58a838f8f531c0b91b980d206a5ba8df28270023ef93a3'); + const sign_first = (0, _test.apdu_as_string)('e004000096058000002c8000003c800000000000000000000000f9020b0e850d8cfd86008301617d94495f947276749ce646f68ac8c248420045cb7b5e80b901e42eb2c2d60000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c00000000000000000000000000000000000000000000'); + const sign_more_1 = (0, _test.apdu_as_string)('e004800096000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000003abf06640f8ca8fc5e0ed471b10befcdf65a33e430000000000006a0000000064def9d99ff495856496c028c0'); + const sign_more_2 = (0, _test.apdu_as_string)('e00480009689732473fcd0bbbe000000000000a30000000001abf06640f8ca8fc5e0ed471b10befcdf65a33e430000000000006a00000000640000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000'); + const sign_more_3 = (0, _test.apdu_as_string)('e00480006100000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080'); + const current_screen = sim.getMainMenuSnapshot(); + await (0, _test.send_apdu)(eth.transport, set_plugin); + await (0, _test.send_apdu)(eth.transport, provide_nft_info); + await (0, _test.send_apdu)(eth.transport, sign_first); + await (0, _test.send_apdu)(eth.transport, sign_more_1); + await (0, _test.send_apdu)(eth.transport, sign_more_2); + let sign_promise = (0, _test.send_apdu)(eth.transport, sign_more_3); + await (0, _test.waitForAppScreen)(sim, current_screen); + await sim.navigateAndCompareSnapshots('.', model.name + '_erc1155_batch_transfer', [8, -1, 0]); + await sign_promise; +})); \ No newline at end of file diff --git a/tests/functional/lib/erc721.test.js b/tests/functional/lib/erc721.test.js new file mode 100644 index 0000000..0ca5ba4 --- /dev/null +++ b/tests/functional/lib/erc721.test.js @@ -0,0 +1,45 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _zemu = _interopRequireDefault(require("@zondax/zemu")); + +var _errors = require("@ledgerhq/errors"); + +var _test = require("./test.fixture"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// Only LNX +const model = _test.nano_models[1]; +const set_plugin = (0, _test.apdu_as_string)('e01600007301010645524337323160f80121c31a0d46b5279700f9df786054aa5ee542842e0e0000000000000001000147304502202e2282d7d3ea714da283010f517af469e1d59654aaee0fc438f017aa557eaea50221008b369679381065bbe01135723a4f9adb229295017d37c4d30138b90a51cf6ab6'); +const provide_nft_info = (0, _test.apdu_as_string)('e01400007001010752617269626c6560f80121c31a0d46b5279700f9df786054aa5ee500000000000000010001473045022025696986ef5f0ee2f72d9c6e41d7e2bf2e4f06373ab26d73ebe326c7fd4c7a6602210084f6b064d8750ae68ed5dd012296f37030390ec06ff534c5da6f0f4a4460af33'); +const sign_first = (0, _test.apdu_as_string)('e004000096058000002c8000003c800000000000000000000000f88a0a852c3ce1ec008301f5679460f80121c31a0d46b5279700f9df786054aa5ee580b86442842e0e0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c000000000000000000000000000000000000000000000000'); +const sign_more = (0, _test.apdu_as_string)('e00480000b0000000000112999018080'); +test('[Nano ' + model.letter + '] Transfer ERC-721', (0, _test.zemu)(model, async (sim, eth) => { + const current_screen = sim.getMainMenuSnapshot(); + await (0, _test.send_apdu)(eth.transport, set_plugin); + await (0, _test.send_apdu)(eth.transport, provide_nft_info); + await (0, _test.send_apdu)(eth.transport, sign_first); + let sign_promise = (0, _test.send_apdu)(eth.transport, sign_more); + await (0, _test.waitForAppScreen)(sim, current_screen); + await sim.navigateAndCompareSnapshots('.', model.name + '_erc721_transfer', [8, -1, 0]); + await sign_promise; +})); +test('[Nano ' + model.letter + '] Transfer ERC-721 w/o NFT_PROVIDE_INFORMATION', (0, _test.zemu)(model, async (sim, eth) => { + const current_screen = sim.getMainMenuSnapshot(); + await (0, _test.send_apdu)(eth.transport, set_plugin); + await (0, _test.send_apdu)(eth.transport, sign_first); + let sign_promise = (0, _test.send_apdu)(eth.transport, sign_more); + await (0, _test.waitForAppScreen)(sim, current_screen); + await sim.navigateAndCompareSnapshots('.', model.name + '_erc721_transfer_wo_info', [8, -1, 0]); + await sign_promise; +})); +test('[Nano ' + model.letter + '] Transfer ERC-721 w/o SET_PLUGIN', (0, _test.zemu)(model, async (sim, eth) => { + const current_screen = sim.getMainMenuSnapshot(); + await (0, _test.send_apdu)(eth.transport, provide_nft_info); + let sign_tx = (0, _test.send_apdu)(eth.transport, sign_first); + await expect(sign_tx).rejects.toEqual(new _errors.TransportStatusError(0x6a80)); +})); \ No newline at end of file diff --git a/tests/functional/lib/send.test.js b/tests/functional/lib/send.test.js new file mode 100644 index 0000000..1f14365 --- /dev/null +++ b/tests/functional/lib/send.test.js @@ -0,0 +1,46 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _test = require("./test.fixture"); + +var _errors = require("@ledgerhq/errors"); + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Transfer Ether on Ethereum app', (0, _test.zemu)(model, async (sim, eth) => { + const tx = eth.signTransaction("44'/60'/1'/0/0", 'EB44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF6181880018080'); + await (0, _test.waitForAppScreen)(sim); + let clicks; + if (model.letter === 'S') clicks = 9;else clicks = 5; + await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_ethereum', [clicks, -1, 0]); + await expect(tx).resolves.toEqual({ + "r": "6f389d15320f0501383526ed03de917c14212716f09a262dbc98431086a5db49", + "s": "0dc994b7b97230bb35fdf6fec2f4d8ff4cfb8bfeb2a652c364c738ff033c05dd", + "v": "26" + }); + })); +}); + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Transfer amount >= 2^87 Eth on Ethereum app should fail', (0, _test.zemu)(model, async (sim, eth) => { + const tx = eth.signTransaction("44'/60'/1'/0/0", 'f83f268e02cc9be5c53ea44bd43c289dcddc82520894dac17f958d2ee523a2206206994597c13d831ec7928db8b0861b8f7fe5df83cd553a829878000080018080'); + await expect(tx).rejects.toEqual(new _errors.TransportStatusError(0x6807)); + })); +}); + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Transfer Ether on network 5234 on Ethereum app', (0, _test.zemu)(model, async (sim, eth) => { + const tx = eth.signTransaction("44'/60'/1'/0/0", 'ED44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF61818808214728080'); + await (0, _test.waitForAppScreen)(sim); + let clicks; + if (model.letter === 'S') clicks = 10;else clicks = 6; + await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_ethereum_5234_network', [clicks, -1, 0]); + await expect(tx).resolves.toEqual({ + "r": "07a7982dfd16360c96a03467877d0cf9c36f799deff4dace250cdb18e28a3b90", + "s": "773318a93da2e32c1cf308ddd6add1e8c0d285973e541520a05fb4dc720e4fb1", + "v": "2908" + }); + })); +}); \ No newline at end of file diff --git a/tests/functional/lib/send_bsc.test.js b/tests/functional/lib/send_bsc.test.js new file mode 100644 index 0000000..19de165 --- /dev/null +++ b/tests/functional/lib/send_bsc.test.js @@ -0,0 +1,22 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _test = require("./test.fixture"); + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Transfer bsc', (0, _test.zemu)(model, async (sim, eth) => { + const tx = eth.signTransaction("44'/60'/1'/0/0", 'EB0185012A05F200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF6181880388080'); + await (0, _test.waitForAppScreen)(sim); + let clicks; + if (model.letter === 'S') clicks = 10;else clicks = 6; + await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_bsc', [clicks, -1, 0]); + await expect(tx).resolves.toEqual({ + "r": "f667cc34e9815df4f052fb3463cdbe355fff5c1acf4e919b3539806521a059ad", + "s": "6b35492b7108d9d9e1cc7aede536ed6b3173197b56dd873cbc3b43e041d6f407", + "v": "93" + }); + })); +}); \ No newline at end of file diff --git a/tests/functional/lib/send_etc.test.js b/tests/functional/lib/send_etc.test.js new file mode 100644 index 0000000..7c20863 --- /dev/null +++ b/tests/functional/lib/send_etc.test.js @@ -0,0 +1,31 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _errors = require("@ledgerhq/errors"); + +var _test = require("./test.fixture"); + +_test.nano_models.forEach(function (model) { + test("[Nano " + model.letter + "] Transfer on Ethereum clone app", (0, _test.zemu)(model, async (sim, eth) => { + const tx = eth.signTransaction("44'/60'/0'/0/0", 'EB44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF61818803D8080'); + await (0, _test.waitForAppScreen)(sim); + let clicks; + if (model.letter === 'S') clicks = 9;else clicks = 5; + await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_ethereum_clone', [clicks, -1, 0]); + await expect(tx).resolves.toEqual({ + "r": "60df850d297e355596f87dc313a742032de4b59c5579186b3d59bdf31402fec0", + "s": "23c3a2beacabc1943d487a2e1d545e4c46c718b1e70e9d1c11a98828c9338927", + "v": "9e" + }); + }, true)); +}); + +_test.nano_models.forEach(function (model) { + test("[Nano " + model.letter + "] Transfer on network 5234 on Ethereum clone", (0, _test.zemu)(model, async (sim, eth) => { + const tx = eth.signTransaction("44'/60'/0'/0/0", 'ED44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF61818808214728080'); + await expect(tx).rejects.toEqual(new _errors.EthAppPleaseEnableContractData("Please enable Contract data on the Ethereum app Settings")); + }, true)); +}); \ No newline at end of file diff --git a/tests/functional/lib/starkware.test.js b/tests/functional/lib/starkware.test.js new file mode 100644 index 0000000..0d5dc76 --- /dev/null +++ b/tests/functional/lib/starkware.test.js @@ -0,0 +1,32 @@ +"use strict"; + +require("core-js/stable"); + +require("regenerator-runtime/runtime"); + +var _test = require("./test.fixture"); + +var _erc = require("@ledgerhq/hw-app-eth/erc20"); + +var _bignumber = require("bignumber.js"); + +_test.nano_models.forEach(function (model) { + test('[Nano ' + model.letter + '] Transfer Ether on Ethereum app', (0, _test.zemu)(model, async (sim, eth) => { + // Provide USDT token info to the app + const usdt_info = (0, _erc.byContractAddressAndChainId)("0xdac17f958d2ee523a2206206994597c13d831ec7", 1); + await eth.provideERC20TokenInformation(usdt_info); // Provide Stark quantum + + const quantization = new _bignumber.BigNumber(1); + await eth.starkProvideQuantum_v2("0xdac17f958d2ee523a2206206994597c13d831ec7", "erc20", quantization, null); + const tx = eth.signTransaction("44'/60'/1'/0/0", 'f8b5018a0472698b413b43200000825208940102030405060708090a0b0c0d0e0f1011121314872bd72a24874000b8842505c3d9010101010101010102020202020202020303030303030303040404040404040402ce625e94458d39dd0bf3b45a843544dd4a14b8169045a3a3d15aa564b936c500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000030d40808080'); + await (0, _test.waitForAppScreen)(sim); + let clicks; + if (model.letter === 'S') clicks = 14;else clicks = 10; + await sim.navigateAndCompareSnapshots('.', model.name + '_starkware_usdt_deposit', [clicks, -1, 0]); + await expect(tx).resolves.toEqual({ + "r": "14c368c0d32e399470d6113cf796c5f4cd70300766337d8b0ba71ecad21b3d52", + "s": "4207c027959e84fc2242a1f4fd955603f137ba28f67268ffc91fef5d65071b0a", + "v": "1c" + }); + })); +}); \ No newline at end of file diff --git a/tests/functional/lib/test.fixture.js b/tests/functional/lib/test.fixture.js new file mode 100644 index 0000000..6bc5e23 --- /dev/null +++ b/tests/functional/lib/test.fixture.js @@ -0,0 +1,138 @@ +"use strict"; + +var _zemu = _interopRequireWildcard(require("@zondax/zemu")); + +var _hwAppEth = _interopRequireDefault(require("@ledgerhq/hw-app-eth")); + +var _utils = require("ethers/lib/utils"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } + +function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +const transactionUploadDelay = 60000; + +async function waitForAppScreen(sim, current_screen = null) { + if (current_screen === null) current_screen = sim.getMainMenuSnapshot(); + await sim.waitUntilScreenIsNot(current_screen, transactionUploadDelay); +} + +const sim_options_nano = { ..._zemu.DEFAULT_START_OPTIONS, + logging: true, + X11: true, + startText: 'is ready' +}; + +const Resolve = require('path').resolve; + +const NANOS_ELF_PATH = Resolve('elfs/ethereum_nanos.elf'); +const NANOX_ELF_PATH = Resolve('elfs/ethereum_nanox.elf'); +const NANOS_CLONE_ELF_PATH = Resolve("elfs/ethereum_classic_nanos.elf"); +const NANOX_CLONE_ELF_PATH = Resolve("elfs/ethereum_classic_nanox.elf"); +const nano_models = [{ + name: 'nanos', + letter: 'S', + path: NANOS_ELF_PATH, + clone_path: NANOS_CLONE_ELF_PATH +}, { + name: 'nanox', + letter: 'X', + path: NANOX_ELF_PATH, + clone_path: NANOX_CLONE_ELF_PATH +}]; +const TIMEOUT = 1000000; // useful to take an apdu as a hex string and convert its JS representation + +function apdu_as_string(str) { + let buffer = []; + + for (let i = 0; i < str.length; i += 2) { + const str_extract = str.substring(i, i + 2); + buffer[i / 2] = parseInt(str_extract, 16); + } + + return { + cla: buffer[0], + ins: buffer[1], + p1: buffer[2], + p2: buffer[3], + data: Buffer.from(buffer.slice(5)) + }; +} + +async function send_apdu(ts, apdu) { + return ts.send(apdu.cla, apdu.ins, apdu.p1, apdu.p2, apdu.data); +} // Generates a serializedTransaction from a rawHexTransaction copy pasted from etherscan. + + +function txFromEtherscan(rawTx) { + // Remove 0x prefix + rawTx = rawTx.slice(2); + let txType = rawTx.slice(0, 2); + + if (txType == "02" || txType == "01") { + // Remove "02" prefix + rawTx = rawTx.slice(2); + } else { + txType = ""; + } + + let decoded = _utils.RLP.decode("0x" + rawTx); + + if (txType != "") { + decoded = decoded.slice(0, decoded.length - 3); // remove v, r, s + } else { + decoded[decoded.length - 1] = "0x"; // empty + + decoded[decoded.length - 2] = "0x"; // empty + + decoded[decoded.length - 3] = "0x01"; // chainID 1 + } // Encode back the data, drop the '0x' prefix + + + let encoded = _utils.RLP.encode(decoded).slice(2); // Don't forget to prepend the txtype + + + return txType + encoded; +} + +function zemu(device, func, start_clone = false) { + return async () => { + jest.setTimeout(TIMEOUT); + let elf_path; + let lib_elf; + + if (start_clone) { + elf_path = device.clone_path; + lib_elf = { + 'Ethereum': device.path + }; + } else { + elf_path = device.path; + } + + const sim = new _zemu.default(elf_path, lib_elf); + + try { + await sim.start({ ...sim_options_nano, + model: device.name + }); + const transport = await sim.getTransport(); + await func(sim, new _hwAppEth.default(transport)); + } finally { + await sim.close(); + } + }; +} + +module.exports = { + zemu, + waitForAppScreen, + sim_options_nano, + nano_models, + TIMEOUT, + txFromEtherscan, + apdu_as_string, + send_apdu +}; \ No newline at end of file diff --git a/tests/package.json b/tests/functional/package.json similarity index 100% rename from tests/package.json rename to tests/functional/package.json diff --git a/tests/setupTests.js b/tests/functional/setupTests.js similarity index 100% rename from tests/setupTests.js rename to tests/functional/setupTests.js diff --git a/tests/snapshots/nanos_approve_dai_tokens/00000.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00000.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00000.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00000.png diff --git a/tests/snapshots/nanos_approve_dai_tokens/00001.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00001.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00001.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00001.png diff --git a/tests/snapshots/nanos_approve_dai_tokens/00002.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00002.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00002.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00002.png diff --git a/tests/snapshots/nanos_approve_dai_tokens/00003.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00003.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00003.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00003.png diff --git a/tests/snapshots/nanos_approve_dai_tokens/00004.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00004.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00004.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00004.png diff --git a/tests/snapshots/nanos_approve_dai_tokens/00005.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00005.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00005.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00005.png diff --git a/tests/snapshots/nanos_approve_dai_tokens/00006.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00006.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00006.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00006.png diff --git a/tests/snapshots/nanos_approve_dai_tokens/00007.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00007.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00007.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00007.png diff --git a/tests/snapshots/nanos_approve_dai_tokens/00008.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00008.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00008.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00008.png diff --git a/tests/snapshots/nanos_approve_dai_tokens/00009.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00009.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00009.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00009.png diff --git a/tests/snapshots/nanos_approve_dai_tokens/00010.png b/tests/functional/snapshots/nanos_approve_dai_tokens/00010.png similarity index 100% rename from tests/snapshots/nanos_approve_dai_tokens/00010.png rename to tests/functional/snapshots/nanos_approve_dai_tokens/00010.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00000.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00000.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00000.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00000.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00001.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00001.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00001.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00001.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00002.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00002.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00002.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00002.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00003.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00003.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00003.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00003.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00004.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00004.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00004.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00004.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00005.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00005.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00005.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00005.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00006.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00006.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00006.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00006.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00007.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00007.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00007.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00007.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00008.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00008.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00008.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00008.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00009.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00009.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00009.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00009.png diff --git a/tests/snapshots/nanos_deposit_eth_compound_blind/00010.png b/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00010.png similarity index 100% rename from tests/snapshots/nanos_deposit_eth_compound_blind/00010.png rename to tests/functional/snapshots/nanos_deposit_eth_compound_blind/00010.png diff --git a/tests/snapshots/nanos_disable_blind_signing/00000.png b/tests/functional/snapshots/nanos_disable_blind_signing/00000.png similarity index 100% rename from tests/snapshots/nanos_disable_blind_signing/00000.png rename to tests/functional/snapshots/nanos_disable_blind_signing/00000.png diff --git a/tests/snapshots/nanos_disable_blind_signing/00001.png b/tests/functional/snapshots/nanos_disable_blind_signing/00001.png similarity index 100% rename from tests/snapshots/nanos_disable_blind_signing/00001.png rename to tests/functional/snapshots/nanos_disable_blind_signing/00001.png diff --git a/tests/snapshots/nanos_disable_blind_signing/00002.png b/tests/functional/snapshots/nanos_disable_blind_signing/00002.png similarity index 100% rename from tests/snapshots/nanos_disable_blind_signing/00002.png rename to tests/functional/snapshots/nanos_disable_blind_signing/00002.png diff --git a/tests/snapshots/nanos_disable_blind_signing/00003.png b/tests/functional/snapshots/nanos_disable_blind_signing/00003.png similarity index 100% rename from tests/snapshots/nanos_disable_blind_signing/00003.png rename to tests/functional/snapshots/nanos_disable_blind_signing/00003.png diff --git a/tests/snapshots/nanos_disable_blind_signing/00004.png b/tests/functional/snapshots/nanos_disable_blind_signing/00004.png similarity index 100% rename from tests/snapshots/nanos_disable_blind_signing/00004.png rename to tests/functional/snapshots/nanos_disable_blind_signing/00004.png diff --git a/tests/snapshots/nanos_disable_blind_signing/00005.png b/tests/functional/snapshots/nanos_disable_blind_signing/00005.png similarity index 100% rename from tests/snapshots/nanos_disable_blind_signing/00005.png rename to tests/functional/snapshots/nanos_disable_blind_signing/00005.png diff --git a/tests/snapshots/nanos_disable_blind_signing/00006.png b/tests/functional/snapshots/nanos_disable_blind_signing/00006.png similarity index 100% rename from tests/snapshots/nanos_disable_blind_signing/00006.png rename to tests/functional/snapshots/nanos_disable_blind_signing/00006.png diff --git a/tests/snapshots/nanos_disable_blind_signing/00007.png b/tests/functional/snapshots/nanos_disable_blind_signing/00007.png similarity index 100% rename from tests/snapshots/nanos_disable_blind_signing/00007.png rename to tests/functional/snapshots/nanos_disable_blind_signing/00007.png diff --git a/tests/snapshots/nanos_disable_blind_signing/00008.png b/tests/functional/snapshots/nanos_disable_blind_signing/00008.png similarity index 100% rename from tests/snapshots/nanos_disable_blind_signing/00008.png rename to tests/functional/snapshots/nanos_disable_blind_signing/00008.png diff --git a/tests/snapshots/nanos_enable_blind_signing/00000.png b/tests/functional/snapshots/nanos_enable_blind_signing/00000.png similarity index 100% rename from tests/snapshots/nanos_enable_blind_signing/00000.png rename to tests/functional/snapshots/nanos_enable_blind_signing/00000.png diff --git a/tests/snapshots/nanos_enable_blind_signing/00001.png b/tests/functional/snapshots/nanos_enable_blind_signing/00001.png similarity index 100% rename from tests/snapshots/nanos_enable_blind_signing/00001.png rename to tests/functional/snapshots/nanos_enable_blind_signing/00001.png diff --git a/tests/snapshots/nanos_enable_blind_signing/00002.png b/tests/functional/snapshots/nanos_enable_blind_signing/00002.png similarity index 100% rename from tests/snapshots/nanos_enable_blind_signing/00002.png rename to tests/functional/snapshots/nanos_enable_blind_signing/00002.png diff --git a/tests/snapshots/nanos_enable_blind_signing/00003.png b/tests/functional/snapshots/nanos_enable_blind_signing/00003.png similarity index 100% rename from tests/snapshots/nanos_enable_blind_signing/00003.png rename to tests/functional/snapshots/nanos_enable_blind_signing/00003.png diff --git a/tests/snapshots/nanos_enable_blind_signing/00004.png b/tests/functional/snapshots/nanos_enable_blind_signing/00004.png similarity index 100% rename from tests/snapshots/nanos_enable_blind_signing/00004.png rename to tests/functional/snapshots/nanos_enable_blind_signing/00004.png diff --git a/tests/snapshots/nanos_enable_blind_signing/00005.png b/tests/functional/snapshots/nanos_enable_blind_signing/00005.png similarity index 100% rename from tests/snapshots/nanos_enable_blind_signing/00005.png rename to tests/functional/snapshots/nanos_enable_blind_signing/00005.png diff --git a/tests/snapshots/nanos_enable_blind_signing/00006.png b/tests/functional/snapshots/nanos_enable_blind_signing/00006.png similarity index 100% rename from tests/snapshots/nanos_enable_blind_signing/00006.png rename to tests/functional/snapshots/nanos_enable_blind_signing/00006.png diff --git a/tests/snapshots/nanos_enable_blind_signing/00007.png b/tests/functional/snapshots/nanos_enable_blind_signing/00007.png similarity index 100% rename from tests/snapshots/nanos_enable_blind_signing/00007.png rename to tests/functional/snapshots/nanos_enable_blind_signing/00007.png diff --git a/tests/snapshots/nanos_enable_blind_signing/00008.png b/tests/functional/snapshots/nanos_enable_blind_signing/00008.png similarity index 100% rename from tests/snapshots/nanos_enable_blind_signing/00008.png rename to tests/functional/snapshots/nanos_enable_blind_signing/00008.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00000.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00000.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00000.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00000.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00001.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00001.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00001.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00001.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00002.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00002.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00002.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00002.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00003.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00003.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00003.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00003.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00004.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00004.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00004.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00004.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00005.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00005.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00005.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00005.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00006.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00006.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00006.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00006.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00007.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00007.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00007.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00007.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00008.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00008.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00008.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00008.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00009.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00009.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00009.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00009.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00010.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00010.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00010.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00010.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00011.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00011.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00011.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00011.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00012.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00012.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00012.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00012.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00013.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00013.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00013.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00013.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00014.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00014.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00014.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00014.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00015.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00015.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00015.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00015.png diff --git a/tests/snapshots/nanos_starkware_usdt_deposit/00016.png b/tests/functional/snapshots/nanos_starkware_usdt_deposit/00016.png similarity index 100% rename from tests/snapshots/nanos_starkware_usdt_deposit/00016.png rename to tests/functional/snapshots/nanos_starkware_usdt_deposit/00016.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00000.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00000.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00000.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00000.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00001.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00001.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00001.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00001.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00002.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00002.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00002.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00002.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00003.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00003.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00003.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00003.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00004.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00004.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00004.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00004.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00005.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00005.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00005.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00005.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00006.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00006.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00006.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00006.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00007.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00007.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00007.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00007.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00008.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00008.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00008.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00008.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00009.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00009.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00009.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00009.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00010.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00010.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00010.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00010.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00011.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00011.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00011.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00011.png diff --git a/tests/snapshots/nanos_transfer_112233445566_network/00012.png b/tests/functional/snapshots/nanos_transfer_112233445566_network/00012.png similarity index 100% rename from tests/snapshots/nanos_transfer_112233445566_network/00012.png rename to tests/functional/snapshots/nanos_transfer_112233445566_network/00012.png diff --git a/tests/snapshots/nanos_transfer_bsc/00000.png b/tests/functional/snapshots/nanos_transfer_bsc/00000.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00000.png rename to tests/functional/snapshots/nanos_transfer_bsc/00000.png diff --git a/tests/snapshots/nanos_transfer_bsc/00001.png b/tests/functional/snapshots/nanos_transfer_bsc/00001.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00001.png rename to tests/functional/snapshots/nanos_transfer_bsc/00001.png diff --git a/tests/snapshots/nanos_transfer_bsc/00002.png b/tests/functional/snapshots/nanos_transfer_bsc/00002.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00002.png rename to tests/functional/snapshots/nanos_transfer_bsc/00002.png diff --git a/tests/snapshots/nanos_transfer_bsc/00003.png b/tests/functional/snapshots/nanos_transfer_bsc/00003.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00003.png rename to tests/functional/snapshots/nanos_transfer_bsc/00003.png diff --git a/tests/snapshots/nanos_transfer_bsc/00004.png b/tests/functional/snapshots/nanos_transfer_bsc/00004.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00004.png rename to tests/functional/snapshots/nanos_transfer_bsc/00004.png diff --git a/tests/snapshots/nanos_transfer_bsc/00005.png b/tests/functional/snapshots/nanos_transfer_bsc/00005.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00005.png rename to tests/functional/snapshots/nanos_transfer_bsc/00005.png diff --git a/tests/snapshots/nanos_transfer_bsc/00006.png b/tests/functional/snapshots/nanos_transfer_bsc/00006.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00006.png rename to tests/functional/snapshots/nanos_transfer_bsc/00006.png diff --git a/tests/snapshots/nanos_transfer_bsc/00007.png b/tests/functional/snapshots/nanos_transfer_bsc/00007.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00007.png rename to tests/functional/snapshots/nanos_transfer_bsc/00007.png diff --git a/tests/snapshots/nanos_transfer_bsc/00008.png b/tests/functional/snapshots/nanos_transfer_bsc/00008.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00008.png rename to tests/functional/snapshots/nanos_transfer_bsc/00008.png diff --git a/tests/snapshots/nanos_transfer_bsc/00009.png b/tests/functional/snapshots/nanos_transfer_bsc/00009.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00009.png rename to tests/functional/snapshots/nanos_transfer_bsc/00009.png diff --git a/tests/snapshots/nanos_transfer_bsc/00010.png b/tests/functional/snapshots/nanos_transfer_bsc/00010.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00010.png rename to tests/functional/snapshots/nanos_transfer_bsc/00010.png diff --git a/tests/snapshots/nanos_transfer_bsc/00011.png b/tests/functional/snapshots/nanos_transfer_bsc/00011.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00011.png rename to tests/functional/snapshots/nanos_transfer_bsc/00011.png diff --git a/tests/snapshots/nanos_transfer_bsc/00012.png b/tests/functional/snapshots/nanos_transfer_bsc/00012.png similarity index 100% rename from tests/snapshots/nanos_transfer_bsc/00012.png rename to tests/functional/snapshots/nanos_transfer_bsc/00012.png diff --git a/tests/snapshots/nanos_transfer_eip1559/00000.png b/tests/functional/snapshots/nanos_transfer_eip1559/00000.png similarity index 100% rename from tests/snapshots/nanos_transfer_eip1559/00000.png rename to tests/functional/snapshots/nanos_transfer_eip1559/00000.png diff --git a/tests/snapshots/nanos_transfer_eip1559/00001.png b/tests/functional/snapshots/nanos_transfer_eip1559/00001.png similarity index 100% rename from tests/snapshots/nanos_transfer_eip1559/00001.png rename to tests/functional/snapshots/nanos_transfer_eip1559/00001.png diff --git a/tests/snapshots/nanos_transfer_eip1559/00002.png b/tests/functional/snapshots/nanos_transfer_eip1559/00002.png similarity index 100% rename from tests/snapshots/nanos_transfer_eip1559/00002.png rename to tests/functional/snapshots/nanos_transfer_eip1559/00002.png diff --git a/tests/snapshots/nanos_transfer_eip1559/00003.png b/tests/functional/snapshots/nanos_transfer_eip1559/00003.png similarity index 100% rename from tests/snapshots/nanos_transfer_eip1559/00003.png rename to tests/functional/snapshots/nanos_transfer_eip1559/00003.png diff --git a/tests/snapshots/nanos_transfer_eip1559/00004.png b/tests/functional/snapshots/nanos_transfer_eip1559/00004.png similarity index 100% rename from tests/snapshots/nanos_transfer_eip1559/00004.png rename to tests/functional/snapshots/nanos_transfer_eip1559/00004.png diff --git a/tests/snapshots/nanos_transfer_eip1559/00005.png b/tests/functional/snapshots/nanos_transfer_eip1559/00005.png similarity index 100% rename from tests/snapshots/nanos_transfer_eip1559/00005.png rename to tests/functional/snapshots/nanos_transfer_eip1559/00005.png diff --git a/tests/snapshots/nanos_transfer_eip1559/00006.png b/tests/functional/snapshots/nanos_transfer_eip1559/00006.png similarity index 100% rename from tests/snapshots/nanos_transfer_eip1559/00006.png rename to tests/functional/snapshots/nanos_transfer_eip1559/00006.png diff --git a/tests/snapshots/nanos_transfer_eip1559/00007.png b/tests/functional/snapshots/nanos_transfer_eip1559/00007.png similarity index 100% rename from tests/snapshots/nanos_transfer_eip1559/00007.png rename to tests/functional/snapshots/nanos_transfer_eip1559/00007.png diff --git a/tests/snapshots/nanos_transfer_eip1559/00008.png b/tests/functional/snapshots/nanos_transfer_eip1559/00008.png similarity index 100% rename from tests/snapshots/nanos_transfer_eip1559/00008.png rename to tests/functional/snapshots/nanos_transfer_eip1559/00008.png diff --git a/tests/snapshots/nanos_transfer_eip1559/00009.png b/tests/functional/snapshots/nanos_transfer_eip1559/00009.png similarity index 100% rename from tests/snapshots/nanos_transfer_eip1559/00009.png rename to tests/functional/snapshots/nanos_transfer_eip1559/00009.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00000.png b/tests/functional/snapshots/nanos_transfer_ethereum/00000.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00000.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00000.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00001.png b/tests/functional/snapshots/nanos_transfer_ethereum/00001.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00001.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00001.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00002.png b/tests/functional/snapshots/nanos_transfer_ethereum/00002.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00002.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00002.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00003.png b/tests/functional/snapshots/nanos_transfer_ethereum/00003.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00003.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00003.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00004.png b/tests/functional/snapshots/nanos_transfer_ethereum/00004.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00004.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00004.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00005.png b/tests/functional/snapshots/nanos_transfer_ethereum/00005.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00005.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00005.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00006.png b/tests/functional/snapshots/nanos_transfer_ethereum/00006.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00006.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00006.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00007.png b/tests/functional/snapshots/nanos_transfer_ethereum/00007.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00007.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00007.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00008.png b/tests/functional/snapshots/nanos_transfer_ethereum/00008.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00008.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00008.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00009.png b/tests/functional/snapshots/nanos_transfer_ethereum/00009.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00009.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00009.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00010.png b/tests/functional/snapshots/nanos_transfer_ethereum/00010.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00010.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00010.png diff --git a/tests/snapshots/nanos_transfer_ethereum/00011.png b/tests/functional/snapshots/nanos_transfer_ethereum/00011.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum/00011.png rename to tests/functional/snapshots/nanos_transfer_ethereum/00011.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00000.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00000.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00000.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00000.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00001.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00001.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00001.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00001.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00002.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00002.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00002.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00002.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00003.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00003.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00003.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00003.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00004.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00004.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00004.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00004.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00005.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00005.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00005.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00005.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00006.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00006.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00006.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00006.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00007.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00007.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00007.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00007.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00008.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00008.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00008.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00008.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00009.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00009.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00009.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00009.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00010.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00010.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00010.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00010.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00011.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00011.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00011.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00011.png diff --git a/tests/snapshots/nanos_transfer_ethereum_5234_network/00012.png b/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00012.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_5234_network/00012.png rename to tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00012.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00000.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00000.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00000.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00000.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00001.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00001.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00001.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00001.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00002.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00002.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00002.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00002.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00003.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00003.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00003.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00003.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00004.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00004.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00004.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00004.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00005.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00005.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00005.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00005.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00006.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00006.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00006.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00006.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00007.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00007.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00007.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00007.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00008.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00008.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00008.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00008.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00009.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00009.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00009.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00009.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00010.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00010.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00010.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00010.png diff --git a/tests/snapshots/nanos_transfer_ethereum_clone/00011.png b/tests/functional/snapshots/nanos_transfer_ethereum_clone/00011.png similarity index 100% rename from tests/snapshots/nanos_transfer_ethereum_clone/00011.png rename to tests/functional/snapshots/nanos_transfer_ethereum_clone/00011.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00000.png b/tests/functional/snapshots/nanos_transfer_palm_network/00000.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00000.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00000.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00001.png b/tests/functional/snapshots/nanos_transfer_palm_network/00001.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00001.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00001.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00002.png b/tests/functional/snapshots/nanos_transfer_palm_network/00002.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00002.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00002.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00003.png b/tests/functional/snapshots/nanos_transfer_palm_network/00003.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00003.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00003.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00004.png b/tests/functional/snapshots/nanos_transfer_palm_network/00004.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00004.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00004.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00005.png b/tests/functional/snapshots/nanos_transfer_palm_network/00005.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00005.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00005.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00006.png b/tests/functional/snapshots/nanos_transfer_palm_network/00006.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00006.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00006.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00007.png b/tests/functional/snapshots/nanos_transfer_palm_network/00007.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00007.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00007.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00008.png b/tests/functional/snapshots/nanos_transfer_palm_network/00008.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00008.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00008.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00009.png b/tests/functional/snapshots/nanos_transfer_palm_network/00009.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00009.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00009.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00010.png b/tests/functional/snapshots/nanos_transfer_palm_network/00010.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00010.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00010.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00011.png b/tests/functional/snapshots/nanos_transfer_palm_network/00011.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00011.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00011.png diff --git a/tests/snapshots/nanos_transfer_palm_network/00012.png b/tests/functional/snapshots/nanos_transfer_palm_network/00012.png similarity index 100% rename from tests/snapshots/nanos_transfer_palm_network/00012.png rename to tests/functional/snapshots/nanos_transfer_palm_network/00012.png diff --git a/tests/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00000.png b/tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00000.png similarity index 100% rename from tests/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00000.png rename to tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00000.png diff --git a/tests/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00001.png b/tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00001.png similarity index 100% rename from tests/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00001.png rename to tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00001.png diff --git a/tests/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00002.png b/tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00002.png similarity index 100% rename from tests/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00002.png rename to tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00002.png diff --git a/tests/snapshots/nanox_approve_dai_tokens/00000.png b/tests/functional/snapshots/nanox_approve_dai_tokens/00000.png similarity index 100% rename from tests/snapshots/nanox_approve_dai_tokens/00000.png rename to tests/functional/snapshots/nanox_approve_dai_tokens/00000.png diff --git a/tests/snapshots/nanox_approve_dai_tokens/00001.png b/tests/functional/snapshots/nanox_approve_dai_tokens/00001.png similarity index 100% rename from tests/snapshots/nanox_approve_dai_tokens/00001.png rename to tests/functional/snapshots/nanox_approve_dai_tokens/00001.png diff --git a/tests/snapshots/nanox_approve_dai_tokens/00002.png b/tests/functional/snapshots/nanox_approve_dai_tokens/00002.png similarity index 100% rename from tests/snapshots/nanox_approve_dai_tokens/00002.png rename to tests/functional/snapshots/nanox_approve_dai_tokens/00002.png diff --git a/tests/snapshots/nanox_approve_dai_tokens/00003.png b/tests/functional/snapshots/nanox_approve_dai_tokens/00003.png similarity index 100% rename from tests/snapshots/nanox_approve_dai_tokens/00003.png rename to tests/functional/snapshots/nanox_approve_dai_tokens/00003.png diff --git a/tests/snapshots/nanox_approve_dai_tokens/00004.png b/tests/functional/snapshots/nanox_approve_dai_tokens/00004.png similarity index 100% rename from tests/snapshots/nanox_approve_dai_tokens/00004.png rename to tests/functional/snapshots/nanox_approve_dai_tokens/00004.png diff --git a/tests/snapshots/nanox_approve_dai_tokens/00005.png b/tests/functional/snapshots/nanox_approve_dai_tokens/00005.png similarity index 100% rename from tests/snapshots/nanox_approve_dai_tokens/00005.png rename to tests/functional/snapshots/nanox_approve_dai_tokens/00005.png diff --git a/tests/snapshots/nanox_approve_dai_tokens/00006.png b/tests/functional/snapshots/nanox_approve_dai_tokens/00006.png similarity index 100% rename from tests/snapshots/nanox_approve_dai_tokens/00006.png rename to tests/functional/snapshots/nanox_approve_dai_tokens/00006.png diff --git a/tests/snapshots/nanox_approve_dai_tokens/00007.png b/tests/functional/snapshots/nanox_approve_dai_tokens/00007.png similarity index 100% rename from tests/snapshots/nanox_approve_dai_tokens/00007.png rename to tests/functional/snapshots/nanox_approve_dai_tokens/00007.png diff --git a/tests/snapshots/nanox_approve_dai_tokens/00008.png b/tests/functional/snapshots/nanox_approve_dai_tokens/00008.png similarity index 100% rename from tests/snapshots/nanox_approve_dai_tokens/00008.png rename to tests/functional/snapshots/nanox_approve_dai_tokens/00008.png diff --git a/tests/snapshots/nanox_deposit_eth_compound_blind/00000.png b/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00000.png similarity index 100% rename from tests/snapshots/nanox_deposit_eth_compound_blind/00000.png rename to tests/functional/snapshots/nanox_deposit_eth_compound_blind/00000.png diff --git a/tests/snapshots/nanox_deposit_eth_compound_blind/00001.png b/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00001.png similarity index 100% rename from tests/snapshots/nanox_deposit_eth_compound_blind/00001.png rename to tests/functional/snapshots/nanox_deposit_eth_compound_blind/00001.png diff --git a/tests/snapshots/nanox_deposit_eth_compound_blind/00002.png b/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00002.png similarity index 100% rename from tests/snapshots/nanox_deposit_eth_compound_blind/00002.png rename to tests/functional/snapshots/nanox_deposit_eth_compound_blind/00002.png diff --git a/tests/snapshots/nanox_deposit_eth_compound_blind/00003.png b/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00003.png similarity index 100% rename from tests/snapshots/nanox_deposit_eth_compound_blind/00003.png rename to tests/functional/snapshots/nanox_deposit_eth_compound_blind/00003.png diff --git a/tests/snapshots/nanox_deposit_eth_compound_blind/00004.png b/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00004.png similarity index 100% rename from tests/snapshots/nanox_deposit_eth_compound_blind/00004.png rename to tests/functional/snapshots/nanox_deposit_eth_compound_blind/00004.png diff --git a/tests/snapshots/nanox_deposit_eth_compound_blind/00005.png b/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00005.png similarity index 100% rename from tests/snapshots/nanox_deposit_eth_compound_blind/00005.png rename to tests/functional/snapshots/nanox_deposit_eth_compound_blind/00005.png diff --git a/tests/snapshots/nanox_deposit_eth_compound_blind/00006.png b/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00006.png similarity index 100% rename from tests/snapshots/nanox_deposit_eth_compound_blind/00006.png rename to tests/functional/snapshots/nanox_deposit_eth_compound_blind/00006.png diff --git a/tests/snapshots/nanox_deposit_eth_compound_blind/00007.png b/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00007.png similarity index 100% rename from tests/snapshots/nanox_deposit_eth_compound_blind/00007.png rename to tests/functional/snapshots/nanox_deposit_eth_compound_blind/00007.png diff --git a/tests/snapshots/nanox_deposit_eth_compound_blind/00008.png b/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00008.png similarity index 100% rename from tests/snapshots/nanox_deposit_eth_compound_blind/00008.png rename to tests/functional/snapshots/nanox_deposit_eth_compound_blind/00008.png diff --git a/tests/snapshots/nanox_disable_blind_signing/00000.png b/tests/functional/snapshots/nanox_disable_blind_signing/00000.png similarity index 100% rename from tests/snapshots/nanox_disable_blind_signing/00000.png rename to tests/functional/snapshots/nanox_disable_blind_signing/00000.png diff --git a/tests/snapshots/nanox_disable_blind_signing/00001.png b/tests/functional/snapshots/nanox_disable_blind_signing/00001.png similarity index 100% rename from tests/snapshots/nanox_disable_blind_signing/00001.png rename to tests/functional/snapshots/nanox_disable_blind_signing/00001.png diff --git a/tests/snapshots/nanox_disable_blind_signing/00002.png b/tests/functional/snapshots/nanox_disable_blind_signing/00002.png similarity index 100% rename from tests/snapshots/nanox_disable_blind_signing/00002.png rename to tests/functional/snapshots/nanox_disable_blind_signing/00002.png diff --git a/tests/snapshots/nanox_disable_blind_signing/00003.png b/tests/functional/snapshots/nanox_disable_blind_signing/00003.png similarity index 100% rename from tests/snapshots/nanox_disable_blind_signing/00003.png rename to tests/functional/snapshots/nanox_disable_blind_signing/00003.png diff --git a/tests/snapshots/nanox_disable_blind_signing/00004.png b/tests/functional/snapshots/nanox_disable_blind_signing/00004.png similarity index 100% rename from tests/snapshots/nanox_disable_blind_signing/00004.png rename to tests/functional/snapshots/nanox_disable_blind_signing/00004.png diff --git a/tests/snapshots/nanox_disable_blind_signing/00005.png b/tests/functional/snapshots/nanox_disable_blind_signing/00005.png similarity index 100% rename from tests/snapshots/nanox_disable_blind_signing/00005.png rename to tests/functional/snapshots/nanox_disable_blind_signing/00005.png diff --git a/tests/snapshots/nanox_disable_blind_signing/00006.png b/tests/functional/snapshots/nanox_disable_blind_signing/00006.png similarity index 100% rename from tests/snapshots/nanox_disable_blind_signing/00006.png rename to tests/functional/snapshots/nanox_disable_blind_signing/00006.png diff --git a/tests/snapshots/nanox_disable_blind_signing/00007.png b/tests/functional/snapshots/nanox_disable_blind_signing/00007.png similarity index 100% rename from tests/snapshots/nanox_disable_blind_signing/00007.png rename to tests/functional/snapshots/nanox_disable_blind_signing/00007.png diff --git a/tests/snapshots/nanox_disable_blind_signing/00008.png b/tests/functional/snapshots/nanox_disable_blind_signing/00008.png similarity index 100% rename from tests/snapshots/nanox_disable_blind_signing/00008.png rename to tests/functional/snapshots/nanox_disable_blind_signing/00008.png diff --git a/tests/snapshots/nanox_enable_blind_signing/00000.png b/tests/functional/snapshots/nanox_enable_blind_signing/00000.png similarity index 100% rename from tests/snapshots/nanox_enable_blind_signing/00000.png rename to tests/functional/snapshots/nanox_enable_blind_signing/00000.png diff --git a/tests/snapshots/nanox_enable_blind_signing/00001.png b/tests/functional/snapshots/nanox_enable_blind_signing/00001.png similarity index 100% rename from tests/snapshots/nanox_enable_blind_signing/00001.png rename to tests/functional/snapshots/nanox_enable_blind_signing/00001.png diff --git a/tests/snapshots/nanox_enable_blind_signing/00002.png b/tests/functional/snapshots/nanox_enable_blind_signing/00002.png similarity index 100% rename from tests/snapshots/nanox_enable_blind_signing/00002.png rename to tests/functional/snapshots/nanox_enable_blind_signing/00002.png diff --git a/tests/snapshots/nanox_enable_blind_signing/00003.png b/tests/functional/snapshots/nanox_enable_blind_signing/00003.png similarity index 100% rename from tests/snapshots/nanox_enable_blind_signing/00003.png rename to tests/functional/snapshots/nanox_enable_blind_signing/00003.png diff --git a/tests/snapshots/nanox_enable_blind_signing/00004.png b/tests/functional/snapshots/nanox_enable_blind_signing/00004.png similarity index 100% rename from tests/snapshots/nanox_enable_blind_signing/00004.png rename to tests/functional/snapshots/nanox_enable_blind_signing/00004.png diff --git a/tests/snapshots/nanox_enable_blind_signing/00005.png b/tests/functional/snapshots/nanox_enable_blind_signing/00005.png similarity index 100% rename from tests/snapshots/nanox_enable_blind_signing/00005.png rename to tests/functional/snapshots/nanox_enable_blind_signing/00005.png diff --git a/tests/snapshots/nanox_enable_blind_signing/00006.png b/tests/functional/snapshots/nanox_enable_blind_signing/00006.png similarity index 100% rename from tests/snapshots/nanox_enable_blind_signing/00006.png rename to tests/functional/snapshots/nanox_enable_blind_signing/00006.png diff --git a/tests/snapshots/nanox_enable_blind_signing/00007.png b/tests/functional/snapshots/nanox_enable_blind_signing/00007.png similarity index 100% rename from tests/snapshots/nanox_enable_blind_signing/00007.png rename to tests/functional/snapshots/nanox_enable_blind_signing/00007.png diff --git a/tests/snapshots/nanox_enable_blind_signing/00008.png b/tests/functional/snapshots/nanox_enable_blind_signing/00008.png similarity index 100% rename from tests/snapshots/nanox_enable_blind_signing/00008.png rename to tests/functional/snapshots/nanox_enable_blind_signing/00008.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00000.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00000.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00000.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00000.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00001.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00001.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00001.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00001.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00002.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00002.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00002.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00002.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00003.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00003.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00003.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00003.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00004.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00004.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00004.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00004.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00005.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00005.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00005.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00005.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00006.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00006.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00006.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00006.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00007.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00007.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00007.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00007.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00008.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00008.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00008.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00008.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00009.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00009.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00009.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00009.png diff --git a/tests/snapshots/nanox_erc1155_batch_transfer/00010.png b/tests/functional/snapshots/nanox_erc1155_batch_transfer/00010.png similarity index 100% rename from tests/snapshots/nanox_erc1155_batch_transfer/00010.png rename to tests/functional/snapshots/nanox_erc1155_batch_transfer/00010.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00000.png b/tests/functional/snapshots/nanox_erc1155_transfer/00000.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00000.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00000.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00001.png b/tests/functional/snapshots/nanox_erc1155_transfer/00001.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00001.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00001.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00002.png b/tests/functional/snapshots/nanox_erc1155_transfer/00002.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00002.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00002.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00003.png b/tests/functional/snapshots/nanox_erc1155_transfer/00003.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00003.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00003.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00004.png b/tests/functional/snapshots/nanox_erc1155_transfer/00004.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00004.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00004.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00005.png b/tests/functional/snapshots/nanox_erc1155_transfer/00005.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00005.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00005.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00006.png b/tests/functional/snapshots/nanox_erc1155_transfer/00006.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00006.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00006.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00007.png b/tests/functional/snapshots/nanox_erc1155_transfer/00007.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00007.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00007.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00008.png b/tests/functional/snapshots/nanox_erc1155_transfer/00008.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00008.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00008.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00009.png b/tests/functional/snapshots/nanox_erc1155_transfer/00009.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00009.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00009.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00010.png b/tests/functional/snapshots/nanox_erc1155_transfer/00010.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00010.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00010.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00011.png b/tests/functional/snapshots/nanox_erc1155_transfer/00011.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00011.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00011.png diff --git a/tests/snapshots/nanox_erc1155_transfer/00012.png b/tests/functional/snapshots/nanox_erc1155_transfer/00012.png similarity index 100% rename from tests/snapshots/nanox_erc1155_transfer/00012.png rename to tests/functional/snapshots/nanox_erc1155_transfer/00012.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00000.png b/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00000.png new file mode 120000 index 0000000..a808e25 --- /dev/null +++ b/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00000.png @@ -0,0 +1 @@ +../nanox_erc1155_transfer/00000.png \ No newline at end of file diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00001.png b/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00001.png new file mode 120000 index 0000000..18b62b5 --- /dev/null +++ b/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00001.png @@ -0,0 +1 @@ +../nanox_erc1155_transfer/00001.png \ No newline at end of file diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00002.png b/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00002.png new file mode 120000 index 0000000..3ba3b50 --- /dev/null +++ b/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00002.png @@ -0,0 +1 @@ +../nanox_erc1155_transfer/00002.png \ No newline at end of file diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00003.png b/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..b34af53fcd4c2abde410f077c7f6ee0d6d53ff3a GIT binary patch literal 457 zcmV;)0XF`LP)aH1MOvfRFde|Kx zk4HM~ZXu0%)_BH!_f^|Abk)(>WUbIS0Ty+MIfG@qEL4#p1T`OdcQM8kRvE?}<{6Ca zwAfu^t+i>+C6R;=YWZ3X1rR}zte)u}G(PPwmT z)k16fil@+F@-3*9OxfU>jA&ZB%HZG9v|CU^c2KQ*06Q+I=XEo$M`IRWWnk!!i> z*{Z z*OM;I{2aH1MOvfRFde|Kx zk4HM~ZXu0%)_BH!_f^|Abk)(>WUbIS0Ty+MIfG@qEL4#p1T`OdcQM8kRvE?}<{6Ca zwAfu^t+i>+C6R;=YWZ3X1rR}zte)u}G(PPwmT z)k16fil@+F@-3*9OxfU>jA&ZB%HZG9v|CU^c2KQ*06Q+I=XEo$M`IRWWnk!!i> z*{Z z*OM;I{2 Date: Fri, 4 Mar 2022 12:00:43 +0100 Subject: [PATCH 02/69] fix: rm node modules --- .../elfs/ethereum_classic_nanos.elf | Bin 175288 -> 0 bytes .../elfs/ethereum_classic_nanox.elf | Bin 550472 -> 0 bytes tests/functional/elfs/ethereum_nanos.elf | Bin 715896 -> 0 bytes tests/functional/elfs/ethereum_nanox.elf | Bin 753252 -> 0 bytes tests/functional/lib/approve.test.js | 22 --- .../lib/blind_compound_deposit.test.js | 24 --- tests/functional/lib/chainid.test.js | 37 ----- .../lib/contract_data_warning.test.js | 30 ---- tests/functional/lib/eip1559.test.js | 22 --- tests/functional/lib/erc1155.test.js | 65 --------- tests/functional/lib/erc721.test.js | 45 ------ tests/functional/lib/send.test.js | 46 ------ tests/functional/lib/send_bsc.test.js | 22 --- tests/functional/lib/send_etc.test.js | 31 ---- tests/functional/lib/starkware.test.js | 32 ---- tests/functional/lib/test.fixture.js | 138 ------------------ 16 files changed, 514 deletions(-) delete mode 100755 tests/functional/elfs/ethereum_classic_nanos.elf delete mode 100755 tests/functional/elfs/ethereum_classic_nanox.elf delete mode 100755 tests/functional/elfs/ethereum_nanos.elf delete mode 100755 tests/functional/elfs/ethereum_nanox.elf delete mode 100644 tests/functional/lib/approve.test.js delete mode 100644 tests/functional/lib/blind_compound_deposit.test.js delete mode 100644 tests/functional/lib/chainid.test.js delete mode 100644 tests/functional/lib/contract_data_warning.test.js delete mode 100644 tests/functional/lib/eip1559.test.js delete mode 100644 tests/functional/lib/erc1155.test.js delete mode 100644 tests/functional/lib/erc721.test.js delete mode 100644 tests/functional/lib/send.test.js delete mode 100644 tests/functional/lib/send_bsc.test.js delete mode 100644 tests/functional/lib/send_etc.test.js delete mode 100644 tests/functional/lib/starkware.test.js delete mode 100644 tests/functional/lib/test.fixture.js diff --git a/tests/functional/elfs/ethereum_classic_nanos.elf b/tests/functional/elfs/ethereum_classic_nanos.elf deleted file mode 100755 index 866388cf865ed7ce41c586a7af044bbb657aa0ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175288 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 F{{w`Sj<)~+ diff --git a/tests/functional/elfs/ethereum_classic_nanox.elf b/tests/functional/elfs/ethereum_classic_nanox.elf deleted file mode 100755 index 3940b3c54f108d66dfbc792bda78b6b519d8398d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 550472 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�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 _Fy}m2 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 F9-sdDJ4Plt=Gt3rr! z%=Xt-1(1Z<&U-*(m~HOmp3(z$Wkx?a9vOT}lH{SqOD**?SUO@t)Ob{NGo%vK*n z&P6ghi$yUSYHSXYMud%xuvLP}Fk5{nNru_#BS|vMR+}ZsFk5YrB*SdARgw&|)yI-# zn60)Y??q?pPPB{&U#N4qfyppit@k9%R;zr5*)PGlsE4TyhS`ie6~k+*0uwW;5tk46}WP*$ldsgxL;1J-{$qEr`5>WU+^#ZVf?T zgsm1jTq!ViR*NDIl0~>EK?Y-IwOA+^JF7b#t{50QtEG{y4Jl&e9%FxMTE@<5nb0zJ zR(DB~v9r3{;R1rOv${7jm29*bhy_R)V`p`rBpExa`z6WPSuKyyQ}8CDzPp*@23c8Z zoHEX0VqYYtBBA5BLy^Ek@^B}JY;S{)SB;JVg3QfRE(2PlX8~5BSDY#Izm1LauSa?+ zQ4JUozG^KTcyrA;0*@bLJDe1dAE8K}JruCeABkomEItqL%dY|ZXhkb7e+w`-^AUx! zkxlDZ*W>C+@|Fq)NCmUuQ=GS1LD|Vc1#jyLx&xL9-q96|2F$w-&U=a)*Gw2JsoX1^ z=uFH;*$YA@rYTY`2$@(WrEGTUc3`?@fk7u>Fc)U#3?PH&Lk0shgB>A*gM@*ub)XOp zJR3x(k*GPQOHu7m1-`iXHvfA5>cGVd?RudGAiMF zqC`uKJydQM<|*fTRy97X>Uv$(Rbf^0q^cG)iVSF~@N?#y(Xx#|5Cd6-gcyi!gSL>X zrU308GX5fDe2->aIw5Goy#>ZKU`mBK51C%sp+FGEU6Ckaj1Gmw_rZFdtz>)}ilxO{ zHRD+!?u$?h+**A=waDz=&NbOnCS!?7~<8kt zK%*s-N=(KOxg()cXH!r~OQ4Eyo1~J10ZPYhDyrmdR#N?170BMA;YfWLS+ZVrK5bWa zW?0`9NJxD(&!hN5{K`K-7AH%mx8lrXNCz!J;vQzY$}77wq<%W27M!n9{v&bfRI)6C z2Q)<2KZQ8D6Dftt^{EEhI_SDq4HxOxiDt8VfJ(ytb*8u{F(_(6YkAFwcrTQWwSULfQOTfJvo?lQO>d}JY1-HG-eb!H({ zUHV@SRgVIH2Q6zDuEL;#Gm>+IcVKgJh$5bfj)r(tmNldsY$-YuAQf&6eI3pvc6T7W zHT(*+C1y<29?%+b7>Hx70A7Syz#2(jhE$=w&s#H*dw)>HkwB9w?w2a20;JQjmKUgO z%98sYQd^q>s+&S8e)hod)Ci$@Lul+?$npo_!fkIjmUs|mCm3c+!x&~K8D{fq7COvM zGRziG!t5l&YylO>**#a@lPB6?Ch+%euVYWaLW|!&R zY=`Fu=rB7TgxLv(*`h0k*$IZ(0x`@^Yz7mWu7ueMhS>r!%ucMW3LqV3-vG1*VYYn- za-92c(P4HPVRnLHHtz50Fgw98dk`Up*$IZ(hY@0!onV+fnh?Y61jFnJgcxQg7-pYM zh+%euVfHja46_pqvo9y4!|YB->M+~pDFPXeJk^MX+NeKZ!)AjVVg(U4lR<>dWDsF9 z8ARAj1`#%sL4?huj<8ca9!~ckP6}CyeCI)2bc7ubBJ2bs>}d{UVT7GvguR3iBkTkt z>=lFgAgO^#7pRr7%h?!cEW%k+Jg`y>;xn1{RlC_ zPB6kgkPsv61S9O>gcxBb7-64Eh!J*z5%#%+7-1(EVP8y0N7$F6Y8_$Q{JLaD45tyI zX`>O7hD{&i5Gx3?A4gIz`t7y55YS;7HV37%6-gb8+n+YX(q%y~PQF1fo`Fm{7`Mxj z+*Oc9>~&2W1mmO)f^jB;V4U~bbuey^AscNhVkZvEf?%AJe;S z&yGZ)GA|6tW9M$iP?Wq=LXI~9)Eq6u>i}Z?FfdjK(v01ay5nsI*wSlK{$x<@zzz*} z3oabN);C_2r5DP0QrEEZ3*}XW@(blPgz^jJb%gQ@b{2YfR zBiKC-NseIagE&?wM&evtRB{Tg$y;$T;-arhk>oaowFx^X8&a}0m6ENgRB)5<4q)J` za8S#oV6a#4C2L{Np>KUCNe+GMBS~`TTbm`xp>J)GB!|AWRgxU~*2j|M(6_dg-Ue5c z!SFZRtKE9G#z-H5IZ}$h)TO0Ip^E;*UuN!xpElC_za+`@XcSccwZ-=E*MxFqqKYp z`T?eF9<+P$HAd-XxG+v=X8v6L0`&t%sh7ijdKP~W8s0EK?$Nl=Yg+5e#A{l5U!paf zsg>WCn1=yq<@Y5P63XvOyg(?wFYz&<{Jz9aLiv4(p9tmmC0Za9v-0~A?Fi-fCH5hd z-l^lpz1j#Z9$t=C| z$!v=uS%x9m0}deB`OGjR6Hr333_~&jB_zu*B;z=-BqYl)B-=n*3CS`H$pn;;EW?mY zXmv=IVMr#h4#_eM$wUqvl4Tf@39Li13_~)3bx4+BNG7lj$ubPd1lA#0h9Q~o*CAPE z=VILIU^nQU&kRGdsf6{;XNDo!48nTnvr*J4RT+k4S2I&WvJ6AA>j~4#tcM8NfOtw1( zVjL#hodQW5=5j`60A|fElK{-p`<$W~24J$!DG&oN+2^F=vhw?!0x#l%Px`mJ#PDYAoi)>DOB5-h;|H{aSa#S0Gtzc~1j2;_LwTbzC_8T8rXuHN?_o zoPMpv!k5#pb*F2?xHt-B=2>DRj3Js7l{eyw}s z!^uW_dU5hn#_89(Pm-K|t@|a(>DOA`WIA|U4Jvbh3O(3Cs8x617^6uUoQ$}?o5N|d z^l&&A@jEXE6s0fW(M`#@EbwD6#buFY z>KhW>jI^1WjcCG34eUyySMDIuR$SfGo=Fg;+JZEi>IG)8)Tx88%u9Xo7p&}z_z~cP zu@K(;ZoLG&hFVG#TD}rXLoTV2Bf1sDlYy*q*TO}ZV?)FZA>!B~M7=`&6&~GOU@3O5 zDvzJ8m#D~@o50rIsoPPy&|;w$qe8fEhf$di2SiP|rUgWT@-AS&n_K4UBBIVh^fQT` z4{I6{*7Uq4JUJwMK?uud0OrHx<_ne>owSV?l^Z}MywRZcH#C!FA(JLz`g1QC-b()|Gyv>%j4D%wTjKknDJ2W8ZAOz(DAfj|h$D&%a zQifq1n%%>;92d5wyC$3x67DC2+wPx+M00gzn4T=)Pus5pCY(ZGk8CMJ%bWe@GY6 z)?QTKD4NdCL4Bh`x}SA@7ld>_?^fUW)NUrI@A{A~qw8B9(q(q5ZwNwlvpS$#7t&R0 zx=%v7>fPwBp9iYN2lz(wUR&$4Ye;vmEqXaLq`TLae&AR( z>ZSji;WciXuSBm1a{OJO>v*gYJ%4vIYAh291V9GyrXmA ziH7mY`GqCg)fleW;QXVz*vS5)d)^$X2B2m{3V7cNoX;`2mw#LMG=6lhq-U3xvt%A(IOWOtiBb%OQGMz{H*$ zNOGAlX#r3qxm=j+2T&xrqQC^R3naM-@s4>%z~oOMlRJdT86lHJ!sPOh$>IVNEy6K{C;;ZY*`(N7H>SKwBH4Jtt^xE1>8--^lZzi@uIauyq*=wk|zxU3Rq~ zHsfUf9LySn2uYmmGfoyz;$)w3vVamN`;3#v5n1A7pK@!XlSjWje<7AOT$H_k9WPx>@>@!XlSjWje<79z#oa{4B7Ffs0KI3HJuj6E&aq=sa zPRGeUtCwAS#kP}4Cqmk5+b3#9{>-Iu_1V;+07)z@K`FNhti2Ma^gyI#MtXzLx+T7#%aRVW)%{}gDzDtN}bB{Zk+X-=P?r}%+YeHO` zd)(2C)7-f>_qe0kgb>%}9(Ocr2K#pYCD4M$3m$1mA%c{#>ou+3(G*&} zqbW%)snp%>FQC;snh`8ALW>b&kutrbDM`JfDM`JfnK9O)64Q8kRAIWj5^Spw7TmcV z)#LBQ4#2nv^F&twD*Wa{e*pST*%Tg11Q0y*ReV6HtIsTro{ZvHa2F&BM{Ic0a1m#d z^+>BvF7=TLo(Fyy)!~dB6@MSoMCuX(N1!nNcYxQONN_B{=4b19O;wI3tuTPJnAf6+ zJ{681jrRk}(~lB3gA|hiGR{z~x1rPGHv`|FN;MzmI zBs^~enjD1F<5F};{5^p4$fU zhy1FO1w0Gj< zmpmTeSp;==_CZ4Bp4|`Ei-YcLbb&H{sbGefNDqKlu(FFql;Z%3C>KlJmjV<)1-axA zfb#DB3?iqbHc1-Z!_eo&(=ccC^qxjC`zS_cc&2Y~EN<{RyG7dYO?K}qAaf?SI(zI` z&gAB>C{DRIJP!?g6Z&^*%lNO#sm|~K-D+ezHSqHIW)PB^lWBMiLwL}x)1pky+jW`? z`f#FG3OcPmM7MZ9FZ2=~Z|BL3Tjxzf^0#r2qI>YbUi1obpwQlYr1X(XBCI}gDN0U_ zir&vZ!H7OZl4C$(%*D?%UPn5N`S-_i=lwqyoLG%u;KGE;^{3%l>H-4RM^N~4FfCiF_)+-l zkgYmH=do+1;Q>WL{5EZjABBH}(7u?6WBe$*K;1AA8kz;Dyy00La`(13pr{uyyC zv$GoMg!3e>F1>|#z$1}Rx$+cbZKH^-N)CY%hGKk}?SvXd*w_`cXW_Wb=7Lr#7?pxi z#OQ5e^b8oC6f){vK-*gwEr2bUhbnpQQga$vKsiKEnn3C17)3!<$;Bb3;{;87ktb-a zpE>w>ry!nYA`QVnOi{gF~+TVDTzwn4SCGkmB*Vz!gn+pkq1l#3fZ4*S148T zLrC?2P)RlC3CdIGLvy0aG{bBvAGe+;7{X+|VB7$wU~U4F1Arp>dP7jSU=r7>a$OPU zm{~k5*W|L0O;)tmWI5m&pGzrwxXBj4@`3EEVh?6vnFa+ZPhSMLz5|GDr2x?ka*Y%4 zQ@Mc%+f1y~Rg;du;wfl=C`0)`z#>vqU`xeKk^3l$LMUD$qxkIQ~d{duU0HSi>PjHDp+nTMCD5 z9upvz{{lpjH&=wHt#UmpIzA9Z&Sim8jq=7*1Bw$hg%N3m?2R0N2N))%BGZ_6Y+?9r z!$4emNn!Xd;P4$+9qhnb&4asU2ZD#aTH%VvN(bYg`zKuXUIgS0ksr2V{Fz;%KOUw} zS2i(ZjcDZ>Jd_U#b00*#hC37ZvnE1{VX+EzK(yo&!{~!j)t9*QA^PQn`eDHnO@Q(m zLjCcObd*Q?33MPFLG+Lp5RtNM0Ny)~-UV|I=peX-Xb)ftmw{%j7d`8T02*Z0`qB4c zDpEEWE+e`EbPLGkV8rgxJ5akohah&3_QE(4o5*#KJ*lv9@isuj?ti7(f<4+g3-TMdSijMyGP^!CQZ-yav+yVW5s_HK1a z(B4l#wnckS(B4OY$P#<^v85i^dlL4ZpuM+4sn~mh_P!4x+Ixcb-jfjRJwbaHi1wbK zz4v1o?L9$z7l`(rpuGzh+IxcbE)eZKL3I4u_7+-ldBteGqnW zEf}!{^wo%@A%_?L>G6&($B)-imCqy zySSb1;?3MvGd!#u!rjIx@D;UJ7P`1|Ct%zMSI`xM-fA1n4Os0M_QP}-=;1;5=VI{x z(Qd{0$S&+wETOB?yA|~)*k!k3f0Pz>D-Z(}?N-bsl;5ooD8E~ABg^u;6$0gVD}+ma zw?d%&ZiPVk-HO}DCBIuCP=2>Uc;zS7q>Sq{G7QxHgd(mSmfJdqWp#<`_?`#+?NvQc&x9D#L1*Qjg;r%av{8heM;mq zELx)W$S`cq_t*XXErk}*qE8Y-YVM< zVC5Q?k)-StfU}<QqsD&ci(;>y}V|S752~yzoRm%1Ou(*+G zZ4&TDfFhfKTDB^wW-0cTtqZkmWfupsT`02k2Pm>#BsDdewFIbpVm}urdE#%8&>uio zgTqwHMgv>Kd`D`$1fcZJJJLH31H5WGQ9X7?cQ_R510rU7+J;dDR-N&)wnhZr7wNu) z|EA$tNY5kuyJM8&zdTE-awL_lp||FZTksIezj2waOjq;C<{dC?C(ng-D!@gwbN#X<&wrh$~ek zoSF%zs*V>(Hk+&Eg`kl4H)2<@>Um++RYFir{;V>EpH;1_$`wIfHM*i=E?cn6Zq<>? z`jAWAA8=_2E}w>6N<`dZE>-N1HsoT~2Wn{Z2VB~MOLHKw-8EmU-Pn9W6YM}X-9k1U z{(wzKuo)S$`8{CM7>zZCLq{ri_?uwURU73*;K_jLD&uDrK)N5Ro7mMi0L9F@6RhPs z=#9F~#8)`jp3$Olqi(c~Tc-~w)lw|*0a~EpHo~uRYi*=*4T}B&*l5eA zO$H!wJbu=*k;+d{!simPB?}o0_hF=GpwP@E9!IhrE74MFQQfzZdu$^h?2-6@2vm@2 z&8v~viL3h)E;p0I^ho1M+6{QqL_JK(DZ#gq_=Ja!BUi;m5DZC4gxgZvMh>w5Be87n(qBxC@ZeTtDr!vJTl@lA8 z510h;XP*3&`GBu61kNn+8L}D$-=kC0LM2$Yn8mTZ*cCMlfesTh zOV;404>hsa?g?C%IyAeq^A8!MlK$e^I1kgt`R4`G^C-IX`CL*7=H_F_*zSe7#SeJ; zZj5C)zI1>_Vevd9mDlsa>3E=U7c{?uicH+W+l6D$e4mfsxtz@t(41F@=3U!k#>u5< zUil)Lf8)bRjpResBs8Be&0nB79c++TMaap8XzqUi?mlUnOVPY$1Da2Y!HF0 z!S%C&yu@nr*biv7`3}uz4a}Vod^Yu>&#+lE1#g{!|BLw%gTy;k7!>|1;Xj}~O!Z-2 zzsXFs@DjXhp1a9BXP5ot-2*^vR^p!(zXwlLmUd93WhXuzi?IV$28u1a7&K^F<)FGU zN>&0;Z4tgN>x?0EW~&0>`?8}Bv|H^!f==O4c|Y85+kk(tKf|snu(w3F0iDHufB=i% z9D588U~|WKkep3JM*(?t3q2Zog*5bVU&j@yi3Cx8PV4;>4CNeYy-*NkKZR0>3-T}i z18vZA3qHOu7W)bWm4|}QSi!_^B&(W-f=^hl-{Xc>SbnPw{`tkJAcsTqdo)7x$0wLv z>0&$(hrJpzxl+?Q7;hFF0#-DwLzp@J3L5MH0EkbbG`w~uPD)~HGD)$7J2^F6kU)k+Ypgntb#x3HlEvc=G%lxPC95?a_aS zI-u-7GC_acix_zaJMVI*jnYJie&GK6wP>2WOEsJRyvu4TW0byHpV;_H^hsk8eooNS z3J^~JaS3`c8E!wwBe6RmVxNIM?c`nRNn#&@PPa!FaaH}Z$?$Jf2^2CJrbB<{y`BF) zmargiy(?n#;2HT$hPVEeBDNG%6#Fwt>41(@{*AWDPz|TaNYzGTGVF$?k*b3{sVafB zJ)!N@eh``e504m=VZVsTyy9Swo_~$!yPoIK^U(iTky-T_II)v0GH2WPN_6T+k$FCv zMr4}IwO?fZzXR}Ae~8S#+W1QJ|5;>iNvfLXBPC+fU>P`G)-MtGs5;*xu|NM5BnA?W z=|l04brk-|l2N7CDjC&6ly1S5#y=>5%Ui-fSK^-{@!N}~XwbN{18_Nhz)mp16si~6 zykL`r+G=kQQJXK&Y<`^g*!0&BCLY4onz(tYEiC_T=uy>}rx@+C8TuPU2vlu+1YVA} zsl{W4q4^=}So!{F8iuaR@P#6&7|Z(=?(xH)F>5sb$x=v)_<%1p!-?9d8D>``HPhB9 zBppHf%q=ASEn99O>7UqgQ!}RJre>OW&rQvkmYbR}P~6mvX}PHx({fWY#D?e8S|c`W_n{nqPL5ru&zi7>x!hXF1Cu(kBvjj)giY1;FTSDfk$kN$|f!cQg^_Q zxH`i*xo1~2^M>IcL8`W^b1haYV*LfF7Nd}$TpOu*N8pAaH6KW|SgkmS(;`wWRx2LE z7LjU|;7u-$L8`@SMbjcutq~v>Bwz)p7ONFai%7Ltt!SVSsTQjhO^ZmiSgmMUM5@JV z#WM+o`7Vpqil#-RTC7$yFo{%))r#glgVem;@RA_4z_yJGP4Q}>DPAo!#jAy;c(u?J zuNIyNy{QXL@oJ$dUM;kXSCg_RNm-PnEJ{*nw}@&-U5bB_!f1*6VbjVgoMW#-G4N@J z{g3XBr}K0syP%af6#vxhfy-UA zy<@`Sj)@caBzH_$+))5*Oi-qn$@CGLM*f>}($C z!AI_k6CZKwVmwC0mblO0=Or}1VDo-9Wq3E6w=VCFtFHj?S9pY}+{7#66)@Trg$sFy zq4^s7$)A9xLGT-DDb&;-U$2( z3VgGPom#Yl0^hVK@GB_r_vMq+q7@YQrbU5YL4j|eP~cZk;F}f&egy@-X;I);P~daY zM&MUa;F}f&egy@-fk}a1L4j}HGXlT7H(nBfpCc+bU3v(9 zm(RdI%rmKD+nPL+daWYw^;nF10u}R273=SpUKI0870fen1d4g43g(%(VUTA9=CvzO zZKxE|(Y!3yS?I6`x>V61|9CZ6QM0|SdIm}i>67V}IM%rnhpi+QFB=9$cs%rjLm z&qO3B=9wy(XEH65XDTOr=9%&eDsRKjs=)vf!|re~_{x8WCeux7W+`{icHo=wYW^E5 zpN0!e!l}B_BY2Mkk5?OVDnAVu<`6Fjlr9XuCoe;c$G2)zp;enQt7Dt;_-`ywYhGNn zDJt5rXeThS+8P<{PNf)FUfj8+OJlAArLlP%@ zp}A{O5nvVpT&y^SuG_|UPs*!(ig$y8Ezz-rB^TI3n?bRJeV@(Jz$;o_!S|)?S2Uj~ z$14KCG}{hBuNZ=9R1}%{wJS0`BTpNESJbC?SOo`B<$@?8#P-?;q63x)ADWEwMoo82 zyhqV?m{CVguBd2N{OnZW!(L|>H;_PG+&gG=b+My~o!~lP4LEKNhv-Y-0q7t0nP>M2 z2wKo@d3eqDMp58cN}Jwie+g_yr~68W>bhfrCgX8PM!^uBXePz zxmoUG=-P}?$e=)`ROt0(XhhH`G(v2bc!O=@0ycvU(u2ExWkIU(D8ejfTbEu;v%+3o z(`aW?i)jR@1Jq_yhx@*vsrGJXrrE)z9n-A#lV6RWkUF}=K$?-I{0E}CeNMKNMJVzX zq1dCM5;CgEN|t(yP?nu*h-M$Jg7N&E3^e?T)W7@nTDQZO-S7*Hp5qf+%_ zzd)vfm8HRuw4XHy; zEak@o%`Bh7aJaPTqTgcF)qJ;sMwgE9Pe;dw>qOzjD_POXnTZLS z#fAb{$A)qzO=NnAF7Rel=wG3vV-&+mA(D$LVVw05`<3lBe!P_i@mA*c1q7FeR|nRK zCo5pDB2waC9oQtnm4~R23+%RiHmr9DVjUKVAL~$<{x#|7=gm&xMd<7-LKj(tuFfKK za~7dHU-^yYtXghZ1wnMT&At$&Rwf@=i%V_tS8BxH|V;Ov8zroBd< zo#`x!pHCb^-rNf_O?Zv4G_pou7_LzlXN|f#Yt${cM%~2%?vbfL88f$b(JOS<}6uvXUTd5m#n7`f~JP*C2P2qI|wt+-u9AeE@__n_ecDTK9$snR(ir2x(_7A}dW;yRD^8=kj&&;ah@}T; z!$())C9>@|CphK>%=`$|-rD>~>n$22g9Ya&?BXDumxN~z#-$J{btpW?_`UV^X5f(y zLVgJNiAV?s{Jb~AAwMxei#&ocu?30#LBKZikMI#gQWa4s-LlCNyf-bH=xHWFODQ_cW)o2Ji;BM#dNLuN@YR*Lym2la;CbXv-mpIP+jk zxiyyZqcZuU1d=$oWuAju&V`rN_GvoeIjHCSc#e8(*-#v2t)NJ+4q_ZGun<4RQ<5l+ zdTQZLh%>B|U#)c|@r2i)m0*NNx=#Mbui*0k1#94!Sw63f3lj9n{0kBhZnPw~6#v;! z`Ono6e!j^nZbXnlHz0lL=ZV(Diyy%e$2Ob}F)Fsb!`xn+(_F6>rBIWK`IWYSfY5Pd zmV~qZS(+k{`TSWg$U=n|<7d6#C|$<`{=4-;SSVBSWC@D;!avcVsHb>6b2SVXdOVvz z`tOwO;mH%J(RiC@zJvu+F5Q|9gGQwLC9P+nhrS(Etm@Q3wazbVC+TDmZ|h?na$FOusM7_a88Rv#Jn4n?;Kto zk@zN7=?y+&`g5$^V6BvR&xC#Q0AM%!)6@0;O!URL1qOy`wi=sp6xY_av0&clYa`vw zp7gVkZtnK??$YKM5FHb~UE$%H85jG>xFkr%aAF+aq|_l=`0ZRjq&EDj-YK7mmS6bkDtq3D zX0AsG5prd3FyQ>QZ3kyH!@g;dsE|b>CWE0tztQ6ns#$P^jXY}V<{}ARW_Lfgg^lV~ z#KtC!YH#U~)kC({zZA*fQXtBL1+`;o#Uft(r8Ca*Kx`0UWg-#EJ&DlPlL!@l9JH&9 zlLRZ7DXyx-%WQ2{swqkV$lnEB8!wONi8t~RLU!JYck%9tf#|G*u~@PsIH&`%xu15- zz-37j9du&{o_H{Ddkb;&ajDOcz}EhNZeKq=WL5JoxgaE8I3Iz--C|^Mz~MJi!)5 zk09A3yzNyn#c{#0QEcU`g7i2tsO!Td`tO&Lw`tYT_GUVBF6o<>vRO{HDl?4a#U&)r z)5#IS2=)o*b@9uUu6}{l%~K@Z9Z7|F5hc}+Se&T9AyI4BC@|Bog0spG(s+S0=t4if z{KlCG&SFn+mUx1*jS!fZQU(=^w{4fxmIsA)cy6s|3W2PpKxOm8Umm?ex1;(aJBnav z`s3zc5WmJ{8LrPMiIiOu$uK~LZ(6Mj$vWT7myxc<1zK~IX#|BF3SBoT3_Qy7$Iu;% zsLXHfmwP$8NTnT-;1n3U_%bRZ8Upkyx1c69)}B|gVcs{!w#{h9X7m^>AZX3Iol>@m zA^~6+;9{{z6Cps)fN`{_>7-j{1ZRzNX}a(VIZV?D-Ev|KI6`OgkI|U?(K|d4Vxv!h z){F_w%Ujzcgsn?W4-=bn^XkBHm{O1$`v<9UfQwzj&b1u4Uks%jO009=GcydD)h0z5 zi!}u8#>SjpUy!bpaO2-qCnoYEN7b{}4XTQ4BhIrC+c;F2odttvb83rhJUf*|25G)% zsaRC)f;N$fN^oJTeEy0N@-Vb{J){f5d~FnHaAC#sQ^CaxBG8jnVR)^`MGrepSXxBn z=4UCrZk?iYs-4zs=itm7*9J*&znBbHK#Mu)Rgjv6sC0-m;?;qX+D;p=>~You7c-{NTS+ag)%&8L@)l^EKBfi-B|!}h&z zws1HskLe}dxdKX&r&WrB=0UIw!+i$;O8si7%n=LFPoBDKD>ACWKk0U!va58=ECkDp z2Tjq33U9AMrP^aHsZ6GGiM~6!gEZSaI*F^%nf_rH;k~X7`H-l(ISnCY@dmmFsL2Rp zE~v@tdL$pDIXo4lI>SL*319Vg1&bjCcx@gng6e!K28xJaKzlZ~niu*7X$SNde1#|) z;6@M3E42>qraX zN!vRR1qF_L+9AvjJBlpdDfl>%v$Hb+oZIhpMX|H1Yf*s`cC*RF(82CD8RPmMt~N0f z-ZRhvmJ!FA1@-Qx_%GWQC?Eg1oPletCL%pi@2{^AM#0u6Nd53oMQw#GV4J!O0mAa7 zdir~&095%4gFKO)FGF&o#KKi#!29P~oQ<_2Q{aLk5a8EMEC%w0)WQY(VI=HUJUBlZ0#`u-n`k~uS7a{TBw?w5K7gG(2UfF z$dZREM8Ye_<@7?ShA5?MPSEYNEMY-o=bNol-unV4aR+dJAlOzg%o_mPlDR+soNUuPpHeuhb1C@o(o ztw8JsKY=?_c2<__9v*-(aWGKiiww1KP(`vVb;y#9GN*yW zki*8FIx$R9!BZZB2_QFS;AP3pqu$mb(`@fw+txOKWyN23)g?q z&P|6XiN&z|^DE|H33ibCfo=y3^=4&QSR%yX+!saK>gHk*dDyZp-f&+A=(xVX%dRf8EShLaBTYcjeQFo0j5!m_LdZ zd?#)=lweHaHsMtX)|JRqTHOyPE9DfDXQL?AQ3XhC} zE^BxZ1?AD2GCxU2tT?aCN9;I;j>vbg3qsxFHZA+kiHWYM1IjEm>j)1pq7m$2T#mOy(!oJI451sRWPg~Bub=@q3NWXW0y5dF+Z(aq3)-QdrC{(~9G zSEM7tCYYS^b3xb~79s0X@r9xjaq!z>xzp`a3OhcsLAoB$ECsRs3C#)4& z@h_cXwrK_S`29R^=dcQ%2 z7EDftKM;rXOeJxR1A?(t?~B%o=RCm+BgD<{y|I?Y|MOBXK?*R1x`dT0<{#8LuwzY( z-?O7|It)GAV0o_Xn4_BC?>F^uVHuOooUP#1BC*UsNYmWi%5x_KSBUhRUd`P;KI_f6 zXu*1Z&f0r866yCZtFb+~u#wV(R>L_y9qZAP|L{yFK7(@rfK2Am_mHpfAZe!e6N z`q(r`i0+6zQZzW>2?4%Y2See)n_k5ttmxJ%7QMr8Og0MD1%`j|R=X&Zdd%J4ys z5*8Vn(GkP?h=M546LUOlz3$GGECd$koo4vUHjZDEL zkS!0x6`w9W7`)Xu5h!L-oN$=A(xnr{CU?@(*iC#rdSFjh=5T%!H4X$F) z$8}}Sk62uyJm>N{r0C}WoK;TZ^*8|WB7c)7?D?dkw|xn-Zgu-okT9G>PVrWj?J*wj z`wzNv$PgUOX;p2GFw@7!OSkwuI-hVf$^1>9>FW&D*%ab&o>xF7P+=+=m?qlqou4PA zWOl@`T@ZJbo{Tj(FgsVJ)WDuC>KA?b&ZQgg5GSE^zcLS+9_AH<&cbl0qXP#mZ#F3g zAi2Uh99(sIh@nf{)pxIfR$ASa6~q#V(a}U^*MOM2n=OT$6@&yLv6q7o=9D0U;;hWJ{ra@kgBUW&(Xb->B+83@66tt%6< zBHAbLHbK=cbCO~G^b$U9$rI_p6VY4?(Blv6!RCVa)74=t6B(i0Y1WBs(nSvg7M|He zNkI4|js|5N9JF)njUO+qsznbk#>~y0wls|O->@kEH4|yIvcn0p{Cx!{|8(l|CB=OX zpqT5#)a72|;0eOj6 zaaUc=Fip35gYSFA+Tr+~QyFaD@o(!l@jb*PB$JMF<+x^WPaW5hwFamL_NLuijH^Ck zTx}f;o%Rh!PWn0Kc9>ahIqOJNf82tIb7YcdJiu#!3mZkU(a}K@3&#lhg-4MSSwRfX zn}-`lc4lf!6F(6;t}HO{W6o{QI@5o99siR_VIR-`Ur;(W9ecirN6DU~`Pp8u10Fwx zi}2G@>VJtN(Fz%g|KbQ#zkqAi$P+U$=|y#mJX!4jyir&pQyzzRN`;@HsBPsFNPff5 zbECp?HEboBXq)=6WhWkdY>4o<*gNLio3&F$=V)xBIBZ`%Jh<#q@W&2LmaafFt`ns9 z4T#~4EEyI)Au)G3sxpdxE>dfm|40~vFNA7jDqT`S{H|&fdfvmVCm+3u{C)D#ugwbs zi{b`#lHtpoNAUa(djY)=oH3Ci)`1~wv5uS?ds)qL7Y(ozTK%4aM{1SATvZ-(wUXP5 ztwA^}5gU)Sj>o@2!6v=}iX27^|HtblA3CjW(&$N(XVgw@8Z&)LQ|;8T2iHxQG-l%T zu}!h;cPCCbaMXdL$4#u8I%P~O#$T!N1ZIAXK~D(2C1RR?W9s=BzTBH!tdk3L@i1M| zPv?)&$-!Ew!nBSrO5|ZM-oxLjxbBfu1D5IDRz~Mr6Lic{&m5J~+gs||yn=4JtCiA) z)^Oc(gziwQD;ji>l~#W{Dy_G()XjNmJskJjrS!fT{@c^KMEAAQda$(^zf-!ORnT46 z)#WsSls0=Qo(BtK} zTVtu0^U{{O=qNn?Cf`5rsEv43y_=W89MkHoqtf`D(py>k>H%ncb|_M`A+eXD#5T)CahS z;hw8gy5Vz6y?$f{*isjuxgF-)*Qy0_iTUA{dIR^0EOow4tEXe>7c6xW-tA+lukmpI zes#J}gYGn3m(^No-jN%DIrW~^%(YMpj{w@yGGpxrkOLa@u7ExQm`dp*(pZx^OPztI z@-cBd)@Atc{?E?Qy9uF3Fhd zbWyGDJ5m1xSv_A-d0}x_l_!EWy1x-B_;&U7!cLH;?1ZxOyoDN;nBf!L%>aE$*}pmUR7aOgoJc z4|S&90Ax5510MhdnB6el_h9`iGivXyOnbjNy(ez;OY1$&%=NA(ppT4&Y3yYq6l<9p zu8W51T@R95dU&1gJ3MfIoZhY0^Z?}PzWZPZ8ND;Q-jg^^`Ii7=*$32+4&Ii*0B%3r zan|4g5LAh!o&-U4oWS)}*BqJFyQpV0*ez`uAmMd7eeAGCT{KwNjl*1r>eQ0qV;lAU zLkve0Sxvfbe68LcaEHhYQzsl-+o*p%)V@Df*UhQZd*J?1-pBhB>+t?gL+bSYAa^Xt zak!h}-8xLp0|e$ga&@9CAgsQJWGhOJ&~0nAGJ@*6SsTGvYHmCQHg491YGav(n^;zr-=+5Aa)A>cV(hw^PMw-9~|p zyACok2|ZL|YQa9nfGR$`eYlNj%&dTVdrS8JDhC1CA z@7z19SvRP=<7xZ?kAfF)uLKO#@@;7B)l85j8C*^4YD|nXT#jxF z@IoAH|5pHsTk7$6IwaVi#MDZX^J;bHMx77vm&r)xCx9{V%-1u`Bu`5~99!z+nJuJ+ zvl4*#?o0^61ZHfhb`a`Vo2@Jx107U{wC<|LHv<=DELGM>OFcca8Q4(Q@#UvxrYNg# z!26UaPt07+>90hy9i-090R0$#gCB+gbTbe#9Kxank{Khs5$^)da>7|LGo#yE>W&1~ z;{jYR0}c}{mbwqahU9%FvD#AC%uL}2$AO<2OFhd@sh^0WD*ynL@h)FF3j>@537JS6 zCYlet=0o!=!@p|bOhEdO<68%urq!wFURxI5G|J~ebU}>moYn(~H=LY-NdQcxg|8nMT*Kyxm=0F#b6~!+y7L%J z_Hn%2(NfQGvX{+l4lU$2iMZY>sVbIPYQxb6D<>;F_{q_fzUowknQu6HnXZN)Q;9}E z{uFmWzo)A-yZZ?5C^VJ|1@W{fOyxEF#u_f-2wy!K<^!I*h>e$zF8H0L zmH<_R-o4G~gYrNPU%;+I@aJ!9zN7%U4;NUTUpbi0w@3b+v^k^)D zTBXuzsm$R?GX$(i%36f^<40Ou$Nry{{;!t)*D6fT%>Ngd|0VM7D-Qf-wOA(qJg)34 zlfP6Z|00KTiJAPH{COVmX-Foe!CbM`oa6Z*BT&=FDlAz(x8k}IQaB$BJ|DUhj6FX; z-2@#wTn`+fsfp|K-oWR^8Af(20JEhV4f@dsuEkYhLAMZ<|0O@J+a$+>4^ryg85uo9 zorTx-OX&kL`k<7a2HP}c&9~J08K6l}A8rn$kWK3zDVTlrx)R1|Ei8l56veFWn1Ly& zo&}^m)YW)+8(N}b%Z}jep2D3!Kv3o50l?`F3)U+5qaK4-tE?e zxVsg`a~sA}ZmAdZ@t$hJ5bnZ#=!{o!p?ow9_PUX}(+Iu2nu@k6Nf}^&0)?k^WlCeY zVF|V$25JBtv|h@Gl&Ts4Rza(T1gNjnleTcRRjT!@|L@?!)o#3A+0TNG%HJ1sEp!`vSm9=UD1^8TGgM zE#~$177S|eb@w^C!+2vuVO^`OUs~$R!!vpxOPx}{5v1V>z#;;`I!MNpHIeU>F4o=W z>)P?g?CohCtV>36#h*W%Cbqg5FV^A3_8i1ZxCZM z`xKsWUB2;j`RM$~vy%^Pnlx(a=t)yYHO-hdW%PlQCypJ}&~WGs|2yF)Cr%hQe%h#p zZCih8O4GRM6GuV-#6q z7URZ@sU1D#klIO;CpFbJjXrQfZ9{!(U~OZ4V?(N;zV5&Ylj>5by1)}oSflQc(PPF> zm}G}Hwgk}BBc`?%BbnHA_<=KK)Qy=urKxW8^l6hf^VwKz)YzuX=;;%ujhc4Ep-odI zx-x3&w6PN=O+$m+1}1dwDQS)yedwssVZUmS-T9$`f4N?hx8k-jXhGEfJ&1_}36EOnq(_vxY&ID&F@XnI>+ zv<-hFM8pAYg8^N9j2Y3ZF~DDROn6Km!1>BPsEjkHZ{gcuP&BX);-JpppiVxIz4U=>v$Q~|8iJ^93&0GnBIV|11v3yV@$8k3XkbBI60k?Dw)we1^`L$ zMc@v#vDDS@sXA{9%Nk7uk1T~>8R#T+Ydkd@W*-_bMQ+DaMN8Nl{7`#g*ylac=l$&S z&Pbmt&}UV0BD@*t%XPy5@oyeP*dnsjgm|?;TuX>oL?FHfh;5Vfwz?Gb&{czVx1mFI z?*Y1EfNncLS7KUcOIL5v<2#pgLa>Ct=K|rdZjYts6Q0HQ@G5}0xe4_7&CD?7j)zy# zIXOw!0Qv@aBtY89bi6*nZ$SSG9GPsWc~gL1NT9DrfG!5m^5lNH1~^_PKrbcG=LP81 zIe`96fZjr&DsR0A1Bb8B0!%3P?ap$Lw8=HJ0PGm z6b6sLdyViwj);B*h~jL(gN6SdP+b7CYayD5Cw>6uumX-sH#msZ_}c>^hmQCgQ>OzQ z(7%EG!>J50_^0T<8k6b@^v{(^eZ@)5mqGlHV^UwkQ2@{r==6PYba+iqK`gfhVj}}q z(A@_B^n0-3v9fUUFjR31FXZpnk2Z932^@n6-Mk=uT+Tk=oP`E{rRig$rB(^(>j>^C z0evIA$xA(mKGE`^0KJny??2jhab0nD4}exAkEgq2#=8Q(CBha8c)pch&q@L|j9Lmi zR2L2O^VW3&`dNa$Ix^lh09{IMy;wlM!0|4T@xJ1MMd;GUt>+5FcM0*V2*eKo5u~$~ zu32oU1p?_yLNYR}sL2oMSU>{N9E+GTiRK3cp1>Spwm>|e5Z50SM)-w*m{lh|C$C+}*VaS^ zat&T9wOR3T8OseE%M&t|TRE2O>wmAny^nD3ioks!*Klr<*H-bhrIFX3!fQ3e%jGhb zH5|*8GM49a;H5<%t|!FvBY1h&K(sliy{ME^1^7nd;-@YT`6&Je z5Gt1RIE{|JJueNu(X{fFos%xNssv#2ZlTkc|h;Y%pS!c`+v+bIY>OGflIM%1LLpt!*jV7q4!H%M8_v0n65rMB8=WM5Ta-gy8!HFOsK9jp>!pTC`-KshZkr*8yODu z4t@j8m-6@X$UXqg*P!=o>-n^FxRf2Pigb9pzr*fKPt*+6{$B5qUhhIIr%9DLlTSOY^$O|wd3Jqir0ciPHKe|`!p!Ypg72d%dxcLzo&+o0oF7@?1%iO%;DzT{ z;ZNc71JS4Eqw@_j!iYW{VVm}3!MEYRqtmnUfysCA8(2M$K*hWYh}V||;u1o9Ap-Fl zK*V&~HVZKhfQ3R$_PD^mf$*OY`1kVn-80OpF&dI>)ozu(9%ElONBVjKeO21>>?-Nt z83MgVI(Uu~$S%)X1nzpmJwF2XZNOE@FOX)NftcmT1bNyF1fn+*U>4hAKA=HOe1l0) zP0U4e5HeqAfHTZ$O9XlgzOB|2*M2Dm*1y>EQ_5R0*YhX1PB*_ee$54t9 zym5FlBl(L8QhMA-vCq4z$`nFAho|t!#kj7lb+#HSSBIzTL#FsM0E$suUw~0Od3ac* z{1v01sKE%{03<}!r!-IKw!94=s4TbT`%1|!|tv@P{!n~ zU6Wyr3CgTnql@P8ZO5ltgqMKH*8!85ybw*~gx8~43BGPZP-+0B3w7>!2qa-TZxjAG z5%})`zR@kG$ml-?DmynK#?A?-PYaMyIvjKO9GA1H-#Ie)*@XZ;JA$h@h2$DBzCS-%Z&Iiy68|X^{bTNUxB0w+80rY7Bx|Bdy zMS%VlK#j3e1!LzvfpiZcWifVc2PEMB5#*?d`&-fM0NV{uBa4rq?QlcQ9k2#$r|fo2 z-FR3t7h)AhurxA)H5fr<@-p2HLf~SV)(ZgH84S|G@u=4jeGnf9mb^rT3qU!v3A$rG@4(&P7q8GTxOn4XA%Yik?beXdsX>@_O)^b@I& z?%s#f%|b0q0{DB=!<=$XGOl}4X1+SzEd7O0QzWgI(NyZ9WD379@=I_z8x^b;;MWrP z(>Cx*6lW!3d;c7|+5FJWv}ymK*v;04V|weF?XGAJa(A9%2 zwMT}m{!mPK2_*~434TaGhIDiz0y5yJRS4*iqn4rxHU1Rdq0bpp*CC1m&Uq#V-EvJN zU?X)v1xM%_1@i3(zJN#`iYy6o+kn&=CITZpX99@A&lG-Pgdd_alHD+!#n(Df2K0qJ zpc7<3U%3OCF9Z69aOWNqR#fv4=YTNjt=rEVpnnP6e1;CR6bbdj+V4Ci7 z5o%Hp45=QhYx?Q#gLNmM>qQCK+{yq8WKR?D)s$8!Iih9gVeCExT7a>85NsmG7|B5z z`98c=W-xXaf+xV(194#Njz}QpDH&iN-RXG98|tqE&V^koqg>BXp3hOf7f)c3dtR!0 z_0wH{W%3mebQRFQ81Z1;bub2vjE0Q(Bs-qK5&t2rz}=BSe;}cSg?4D+Jv5=T&c=(C zX3+0QDB)b@vfqk?G8Q3}K(8N_0s~~!mU>P?3QG{3=!`BYcxg}Pa-knVkHE?@#ws3+ zbZ{p+XqTJ>`Fn?ey^oQKyChQaaE?gD4Fd8hg1jyQlHr$j6oHot#C3#txj=j|2gC~m z;#-7xu9GEq?SXdzkt&sH;#2|p5rHxc13vpK2higL=nn*XY-E_n!qsn+oTsah()&_8 z{RLjk0O28z@II25!I_L1ydMd0oCQF}ns{BJ5a%-rv0fl9BE;-g<~jj-6@eoC9WsHg z1JDX%_`}v>9B-unzlp#f7vRft1HV&%KSjKownpf^N7QRf00w!4}yU44$ODuDmv0RSTFSd{9~ zY5n0S0Gi_l9I|)%nK=8W(AnP@2_KvZXFuHO8{+Jri(c62dH_JDOYBZxV5gUDqSL3O z(;L|76Om4DMW?{4%dK3u`=rx5(2Jj2Tfyd1>Emhkac!iJ)##(lwgfK`*a(M!*(7@L zsyhLRaQeLJvjy(^gnMQL?uRBi0jFX72L@ef^_L?t%8%U1WJlKtGNZ3Kqj?c@eecc)`j89sjRY6wFkfNp85$2;A!l_sK{^*~cxBKAz0d#}(4Y>do)tEa~F|_VJfUAD?9DW1jT!<>vSCsRRj5WdveFBm(gl zL?8kL^`=B3&SC82ZHc2SX80kyFj*_WuO{$kBN2$D03KNGM+EpS1@3a+e>mQ}+wCCx za^Eh!Jj!1F8kxf5=*401YovpxIQr{k^lM$<5q4NCa9=0f3nOsf4v+qH0setE`V%?& zFWl%%7GI`Wx;T~*fFB|efO&`j1Q7IzL;_BPqO$qngTwIVLN~sUrHeNt$gqfAyc+4^ zB6MMl!nFb#5gJ(TjA>ZvDi^Gv#)&LEArNmS#K#T`3)JN@Xc%o`M%k=hh zt#0Pv|K|3RW$;%^S8LhT6_Kug2TEcyLn()R!`9Ie* z{ivFz@uMehW?W1q?+i!Z|7^$^1-Yc=Kbi1vFBG_%AjTifqW2CjcRyy77l1&2Y3K)K zoG@!>Z48G=vz=b}THPU~Z!+4H6I z_t<$BUN{B4A@cGWfu0xv`h}TB1kFE4kZX<|Fykp;yBcVB6L!u`UA8tQ7^TWh~cnEKf(qveZP}B59ll zWrlayGkgF|R6^f{CaiVTvX3)=V`eiA(04C^-yH#dKY({)l!=>Uupkd}mbb|)AImYz zYh}2r3Gu2~VFkM``*1Im;UYq4DF1vkQReX$nr*ot)u18sBc{#~@b41*S=f#gOlrMv zkT}nHC@0G}KMRc0i#Hu7fPNsLV<a>sKfI=Ow%?I9zy<*riiDvdx6cV|cLVHxYNPfSc>=9>B7iTd|*0_$lnvB)35AK z=cBnj!k1`@{GE&R9DsgDpmQQXf5;B>3lZuk+Cu#^G?BPJ*%j)ah)_S3LVZI-sGpu) zQ>+)D7urByN3#}nIxf&x1?WWt`f>#55(D%LQ;qtJC&$p<&SM4q_MpqQI^<47Nppzd_&^L&0QJf^G z{+vJ;L{R;ugMm4MXH;o3YX}S+8^{WJmcy5#Bu}K0{4A1VI}^GUnOj6A+`=v91i_i- z0v_WM;D6@v)TP)O`aEFuKsFl1OWhD!SjQWvc+S!D-=ybT*z?Lr&$puIEdJZwcnOSp zKf0g?#|$B4;tDiHCN3AC4-x3?M~7wNqX62CHp}%gi6=M-u*bD#3Qt4CTzfPS_H2$3 zFA?A`6Zl1u5x)lDJqY}40sfW^e4zpU9)K?-@DFkTKS_XpLEtAufPV$x9SMB40RNsD z)Mi4)A11cMa|>8oUr1K#B&Nzfjik!XK&s3wK<#?GuliI{XJ<2Y_Ku{^F5&MNrJDH4 zJYO-K6ZBgxU0utro{n_2)MVu*p;`g8R|5SOLR=}(mwV$6Fy~zYbOnJfj{ud@Y8FCw zbL;rLDr*y{hlpYi3h6}rGL$dNBtiLKOMaVXBC++2Gb6Lnca1osN?`w0B5 zNXl`A1N>$I{-_Q7Mg#nB0DdEZugU@ZN&)^HfnOE@{u+R1sl`28x_XOQ&2!lgBJKQr zf)uKMpQBLySm_Igz92*x$)6pE6qiviUr4SDSw+Z9CbmvyVk-+`-j|fw*@X8_BxQCU z;GqWB=*5==q)8}daVnn$AW+4%AOTVZE4@)&cs-h;6_8=1Uc7-FJrNoBO(r)7;qjoP z=5FJ_AC?~PaC35z496WZ`iBVg_Q>d0n$Z`aUiW&U;Az0=yqLpLSF^o_aI?(hVwuS+ z_DmMbOkQ(m(jqf?gPmRwnaP``(}*Q?ngHEs13d-JfslDFP*#@%J)aZkf+NCA^Nm5z z5-hpo$7UmeNb3IAQ=6Vh@i^e)rhWQa8 zo*qFSQ<~IR8Qn?t9J={TK<4gzAYitePYWh?zLHeh0%q$zkK`IpLbfiOEXGTe#Rax3 zMiWuY^U$m^R{xs<^a28XBa#AKY=FYsD_x??QJMgYh#5}|@;VMO%W|(2c*_Xy!N?%* zH1HzUDD#^bY#ab+pkX3~1Ya;6TK*Pmwo2IO+d; zj-~l<$d%d5uw{=Yd@0F0%C$3be@=S2lD(`!#CeM8W z{9XdTJ2Hj)0o=i7V4wEQ^4b%8?S@De_es2#g}N`rOCX#V?PB;#(8PgCFQeH3f-{Cx zsae}s33Sn6VS-t2fP%VvE_OuO=|tNG&P-@KFtg*Ox3BHq=ApR@L@b)3!Hz?HJSYie z>{#eXZ_UW#nIeC$w@;ZGJjG61hIbafCuz&G?X=}PXzmJ2Kq*njbw?Jp{Hu2t%^lk-7US`P0063FAwFI!;J#@NkYCpGKbZGTx>Q` zqx{=eg_j8M=L!5$0luEU&zC8@=bwV(w4Euve8gT(kBomKddU(gI}R^FYJ3lXv_zZH zL}mGG6xwpjj1wt~sUL8d5BPabF@S$JHOyi2iz$qcM>XYC6HPb?5k-p0kI_`>G(fAg zMj-XTCMvveH=B9AUixTZAFoXn^Jp1Pwn)SV{~X}o+yMW?#xa|BNJx#TdO#=$`6$*o7cW=j`UPre}x_Sk} z_RA%NzmC5z#}OmgpZ78%?k zMChkWPv7zP9O;P(?MP4GB5(^*&ymaK0gk5Trc@=D=?(+X8z%@m1h0X(FJe49i!r!X zqQh6&(P1X3v9snHgrvD4pT~Nl1_7$1SZ&=xGxsPm0B+jvqax zX)I3&n}%b*>?4cDHU*C{!pTM6F-AD1Xv`sFM`eMA6lCzwB3KBWk{xt!csZSD-i)|s z_;6i_Gu?(;YE0VL<+lKKBKA-=bhduV*}pfU_nm&=#0g`DHyzQ+*->L=Od98$ZMDU8 z6N^orF{)|Ik6S=@l(KS@r;eIFZ2}JWGRJ~X97BMaL(#%H@BU+}rcRqOVbVB0hEK-u zsVP$?PqE+f9a#kfBAL8YcO9z>aj0XD5xUbn3;XTh@Tx9IN*u^D|5W$Yd0H0_h6#)^ zDV%9(4(~34=%k0UE6(NXR)-f-d3kW?8+im^{Xr>k=vcN^ z$LBH+jRQk1)uClM_AvIKMaA|UOYN0Tbb~{AF!&%5`!FZr{(H)RL#IqWY{J;4eFpz} z*rd$lDTjy@*bGjKoHfq_34dA&HpkL$@(4A`p5QE`^1&g0NFY+~_|a3x3+3jZW5}HV z9m`{5r;e7l{A3M~lQNWzr~{4VDd$MGo#I+257E8m>K$>gcs&jc*8_Fo#lv|{`a#jmNekXEY>1WWe9rzP(-l>y|konH&u4%m$VXk3M zAL9v}5xOvr*Kx!uuDppW=;v}M?T+g(#!FB+P|#iXI1aC*P$E~N#$>pU7LPuHM^T{l z0L&81rSBqLi2iTK;n_PPqK!_?3&sQy_QN5~tcv1k&FQ>CFe%Q?Zq8G{LQRTom1#k% zP*w6gP#jRIaWL|)S=H2n1IfU8FVd*E1oqOQV7EgJyA@#7{>{%7bd7)r$2jM6X6LpD zKLvERP4RnA8Piz*>&XW-=*|cDurH`%}Vn+>u%DxQ#c&F)5hf;jgzhmag+qYm*ATojC&S4Sn9}-M1@hb zRjuk;jH=cgQajA>TEk9$`U#A*O{%xeVzj1d<3}B8 zhBOLCi#AQkj2_b@ycsd)v4mvH$XtFxzHFK?rs+_66O<2zGYcG=g9)fnLELRFHO3HV zj1j-2cqNRdSu#=6rR>VrvFk`9ReDMNyp?We{|!I zZD~u=uF4<;3mpamd>={(>~#T5yaxE)up8@fUc9b{QMWDF5Jue^oR~Ii8NV-dIaCv_ zsCBcN`I~xaE$%>fU5z^(KZ|eQLsa2LzFRVhuk#}+ID7x>#A;nR=MyZ!n}{@>6NkuHVe~Jg zM%3mF7>83QjGHvFY3kI`u47E5W!}J|&%Yk#i@{F3`vl*kBSpvE>LeaH| zh~St^G^m;wkN%zc*h61@LFFKPM1)kixA~w%2MaRcS5%p*A+5JP$Wp^oY8yndQ+iu^ zaM0A)(Z)Sq_{0s&&p2Rhfd2`q-Vv7vr|<`t2IGq@J)ouG&i=u|hl0}hoY%oPWdL93 zflPy3VLHE7w}W1;9f_fnS?ZwKmFk4g=v;72GXMkRANKM3=48@%d!3lkq%YJ{c>RhI}2j z72p6YlzG4)z-)V>eL!r6UfoKAkCai}&oXYCKNO2p327Atc3 zbqjdtr#%=ymuT60*uL8}H0FqB27KEsm`WCw1lA(F27G$F=9su1b7P#~Z}6axjarLg z`hu1SS+`3f&H2BEUfQNnk2V~iquB>qG=*{qa8@QmP1U_cmx8nYOg*8xBkqET4#Jd( zWrCR)%xvAqLIiSKYg?`R>UO`f;N4jYG$!2nKZdeXsetfLF9MbPl-c@AAIXf+`LAaf%kMW3^G%}G`Z znfM4FEl4Po{ki{H)ggYlTo)dvYvh|epy@O}yrZ^fY+tD_Y1plr)dH&t;Sy^(?7trB zgkxHCNBC!Z;iCrFpb4L>@DAhI!Q4bcw8Je%JFJ9us4&`r2HdZ(-6NxGx%+yIuBq2$ z1GEMTu7ptyHhPmv>^!_yj1({62#cNNsFaQJAoRkE)DgC)*VY(ulZ>{5@p%xrl8OnB zy&7Alc85+?oiodECSy7=6wG-o7C8~yHWzb>`#u#P89C(8$ikWFn#7ITng2S3Dy+oW>v8FW~a9NgQQddO|b0Un{t_`u`>-;*HVO*f!}9wO!@ zu1RJAKQOT0*x5I{=9+vvvU+|EvC+>T_D5Ro4pczE>*Ark^!$4C)qS_om4kKl z7dBwQajan+5e?5Nc>7gNw!+_zYA2+E4!RATo#4)q+ykC>nbeqF6=3g21d7l?nI|dd{w6sb_;=P9Ff>zec30zJwG94QO&vx9e6e194iz?PEfBrg zz$%AR(IuqJY{(zhNo|LMa&A~cziXVJ$GX+x>@023$i$}}x z#or-DV5*CbSw?g`8eayR)pS@5_j8Ck2NI(PE>uBWq^$igtTV7uJTA2dqECoO>tFB# zW3{x$5ojt0Dt`$<_%Uqh9dQ%b?16#r;Qp-Fb+!CzU9|}qKqP$)FB9~!F4h8hRD`*~ zp5{k#o`b_)iOT=Wa3AK))mW$9fUf>&_3W%v;&(Jsp*mD-Cs1A@>zA7%t`$vJdO1_4 zO+RpIYJaLrmulO_(c9&4Q zYpC5V)b1W?_XxFnhT6SC?X5!X-l2A%P|`aJuuWB6l!l1YHu5AZx?EBA8PLqYVR0o?-Xk99BS_pYVR6q?-pvK7A{EO_l7Ur z7rt3)ll61o~k3!b9N;kmtcy9tmG~G<;!Y_`+l13y+5{{4IRpiSUJ0;R{cO zFFX~#@O1dXGvN!*hA*rRUsw~qur_>QUHAeH1_)vdA=luA7s3}_3}1LDeBtHrg;&BC zUJYM(Eqvki@P#+R7uJU_ycxdmR`|l(;S2ACFCcjuoc?>^3-5<7;3ICqS3V41_$Ykg zqCI@iO+cU|2BhCQu&4I3KY91RJS9k`4Y z%BQdvgMbj>-Ua4yUt>ihuF;WkG=wAIFrkm08PpwN*M&xS!cu=kg$4Hc!~LLD4R@dh zae_heGo}~`Fp%Mkr~~=V&BrXmOU_l(UtYQR0SF+&4^X!rlR>TumN&n%5Ldf;vwH>? zfMZ6iWw#&)f(<^v2#f7=3X6yho{beFT>Mk8rx6i94Ucb$ zpxV4-k6&2$_#R>+BpFOtE(hO3X8dFUI}XB5{$LP+kO2n;&)*F?LKXxBgF9lW+#Gf2 z=qaNQX+qHlzqkuR@rAfe?61Uexu8(>F8COF`9K7}kP5w9SM5te{NB_pHNzXOVwvGG z!)Xl`&pd)dh-=TncVt%hLU@kdc>*E6AYSL(#K}$O<^hS`ams{~0jIb6V+K#+V?4De zkzhz{A9nN?P&~ZnDmbABk&_S+-&4G9NP{O4TTD@ql&H2w2&7t&(%L<(2P2~lzHAR> z?1LNpX8MS{HoB9-XWY3htsR&(l~=-Z&=B9-3EymI#|&sRBLsreqEIO{RQGFO4JO`4 z(1OBeKD*N;893ox7GZ$wauGVb5@W=pTQ4*7Lu$-?MF?M%h4i`r_ZSJ_SIGYd-yW~k zgIT{B9T`LfMy4_x)>f9<0kIekxt$tC!NRLsn@DTNy={2I_3vwSuUec}nU>Flw{aHD zSERK$NvA)X48SjbmKU4#$>@mm%w}Bt2g(aK#0YALgcxy6LX7y4Rj^Fwx2HitvAi;e z3Xeqwvpjh*m2#EIz~cN*XhBvH)85wQ%vy*L;%Bwc%mn3F;4<7 zm#9zCM@MT83b7h=Nk0@x{&uy|_IPR_B+D*%p(o7@KKnTM9)01|tUN|_Sz>qSFI) zQG95$#(Kx{Hf0zQgC5BC40;f*k0~X@ZoeKVfBd%%;Uid-#QDM?Y~-+v`UKhE1u8_L z)%_s!E~r?t(x@du(IQC~WsBw)tVv@cLZ!y7`BZT@jr;tai zV^JD;|9!{;nEU54PTvjMzm^eqgv9Xx3p1Gr=Ld@UcL=uFFkU~`ytoz;1;)jdh(lM` zAwg&&_dF+=1t~oR1Y_!m>qAX*2W4NBYtYtz3ib;ao8MixWBE1UeP5KlL~)nvd90#F zq68fbsip9_2k*gPxfk#CSnT8`5KTuy5jE8&s!!X!WVr6c1O_7e4T>KntF71gB-hp> zb@dR;{w9bFFJ(bPVmIqJ+8}yZ3Z@mp`q(rHF*Sgn^3LcqoTzGgQswZZkUd2LfQJ*R zmUzoB4(fFb3bis%p;`~g228*A96c1k`eWu4YA9J{+@5msYXApDEI=S1FMbYD3ajU1 z3=p^B6}3RlDV`8ru5e-lo;V4YU=Xdqe0K!^fa?uB?co4NH9@m(oR8sWFt8zYsL$n7 zR)0uTWMz=+fc#5C{=EkNOT_lhCjYk7ANXmdT}T>l*VvFFrjX5P+G5F_qpxfxMnv3Y ziClA!r~) zLE8tJfJL<%u-MHXu)xPz)i}fJhz$e+7Oajnfr4EjU~2VF19S?^4YF^aR=;4_fq7KA zK6_w~AWA|XhO{4}T`b5FvrrUxCPwV1|9+EnEQLY{864c8CGx;wG3e zSe*iCAi<13nP3JW!_N9G1l&kF@Bzj@!|4@L&F%!AkuRF@yJodD_f7rI86CW(Ju$?q z03AbQyro2SGPSA;AQWTXDg(6F!g11Wvd( z)W<@iYwTwLjpM)&LnIMNYAlrFTJNW;_q{1(z(zCg7J8L`_|!rK0Qfp|NX z=k5#aO3QD#t{Q>u3A)`#8e<(%+xGvsFI=G%%k27#!`f@%1qGYRNLCL(Uw)ji-q=o6 zh&JQ99co|HjjDPc0bj2>03JSU)Kq&h1q(t>{{XgZIGpJh_^8GStxJ+>A!c`5^PR3WaWLvpl$D+#Eefm9n_lt*YZI z8&Gv8LhJRT6We0Fal)c%(c4XcHpPyQjK;>2?Re6`4W^?fu;H1n;kY#df}{JtXq!FM zgn~QUGfF2APnntMg%v=#AqUPl#Pyg*65B=Ge! zEo_>ec&`T@2HyDX8Bo+K%DCx^<;d_y^ROAEL=8@>$p*Q{;xeZAK%RN%j-yOz_67KK zZ{-P?^!SYK100nQJ2(}b;NIq8;^$zJcyDJ!TIvrLtc8M`I@1Yxd?!e zTHYbGoK0$Z6K_?4> zBihwAFvZgmp0?S~h3xA=_g-Y8P++&fG7Se4$}%}UOqL$rh5`!qa8D~e^af8epi+V= z&B8_A6fl(G$Vz4H;r2)mm$lLZ$qsX1Ct*^{*2Bfv#*E$mWdR)Vgsx5CXs4|3YqQVb zRLp>TPCP<;_V4W>$0{s|^uX_DXo%UikZKrfh%q}ZHtX5N*dJ8}_Zjt>a34RW;nEgv zA>ik&IjHtqY_Tj3%w{2u3Ulxk>x$;9YL2^aa8yHp;P&Guhrs4?W>FXe|d>ztPYOU!4d!Mbwo zGMHkXT}B)1$LuYYNP=t~FxeEJRfbO3vXAkyTkdWJv~$EDu>3w-Z#+x8U5^I$A|4H{ zNsj?fv`kP+*PBb)*faNnnno!+)^H3Eg z(&P0er{RIznIMPb-972Pz+lp)^}1>pJQUayP`@X_Lqg;Zdxh|!15i1hVJ%Vzs8S|Z zN)Zr86R8S3%M0kAil_|xUYQv*C$_M-A2s!`D_}2B@^rI4#g=#61Y}0j%7+7>E=4-A zR+sJ*c~*Dl_CY#cn86Tio@KzI&Rp0BN@Ke^oX}#T6xbAnQFjMU0uSRWmNCQ{?ZF{W zq7G-SXp6v|?Scy-6g86&vWxYu*xEP`4{5V2qYDZpxaA~n%@OsUbk_7_2xXPT!y9mD z01S1x?H*v@TFp2Dz%iR$dYEkly7cue+)9nJc+xnXpbplK=5!YcH1`E+Nm%vC)w=Kn zuGk}ZsZiY-Pw^Md$wzVrrgZ-~`qvmM1ZZ0xVXy+J5!ixvBJrUCm^(vuA7Qe#$(KWODOTq;pe z+W1A!#C!}3>x~y1U?0M)CS$v>fFrzsg*%A@X)^+kW$+f1s*x4^C>Q!a9mj=sLk*GL zKf3t{H$Xj?<6Kcw2)K6UGB^onn?bCTsn{oonv=e7z@46~rvf#?A4TNQaO7}!$cfm< zEsGj%aTY5WoZFI0y`L_AlGDQQnIeA8$`E1p1CkgE39DA>VK?N#m`JWox}jKzPs^f1 zwp_g`1Mo`vpcGy0i6KO^C$5S1#Efj)7^1& zCk{Q#0y8Dg@SLWR1;0}R)7U5s$5;){z-3eSK*h2QS!ZDWF4iR@v~JSfmgt&cx<{?< z1TnFXDTWYP)_gc3-=TcNTc0Z|jkM0$!pLX)6I>W|R>)^~u3*(;99 zp={#rWNWoGa!oa;P;8ANC?1Au*R_Li|iJ%KP4Bst_mZEJT-h z`$N=FcDVxq4ip4r68+j@TEkJ=NGFD$wN2A^90Cgh5(PRJ;_n@9HKvk=l*UOiP-E`_ zFvQV$h{Zz8@SMgPG$@52G}oiL0ighvNp;4KOjAp6vWfbt%i_&*bem6fA);F&b$@g2 zBWosr2=1*egl&SFhnHrxB=({xcd6h8Bg&809p>mBjFw@SxbDj|%XQR83q{P`&ne%D z^FQ#z{+kK4o$L7Y8^(<3tU#~n%kw^Mn z@GFKG`N;`{d7!7vx*iB2gyY8WZ}wpNmWcL15%!h#P)Fw z7~4VvHlmYKG>n|$s6QIW8A z_Ay7-(u3L=Gmbr?X817oe8`N+IOrZeEXDr<;pHY1Sjbdz+=4Ljq8)sPQw({)Ef8Ij zPpgPL327Dh1RfzU>5yqt4mo_%6YI^ebYdCiOKHy?-8|$4=KB-Y;8qoo?Kx@o^i%$*h@bbK zATQ#i>kt0tm# zJjJq-FQ|A?8~(Pu#5QGT{ZUs(6lHzHBL)DzxY>6nA3S5qq{&C%$Yhqcn-s!`2s(o~ z8FU8wii)$hJex#Q^aYKt2%i6SR$QG#T&2v6dfn$bGhK(L(H)g#iEe8>U|Nt2jyMV1 zpb0fD!g;0X!TDH^zce`m25ow9w1bJ}znwD2P>2T(*#x>B?s7hnX2pw6-r&@1cw394 zYH8pl;h2LrdHeWr?`P48W#7Q%=Pcj7zm|4^_z-l&MU2oM!nFCw;HF%M+N4=WPd@UP z$%n`#><_?({LQVX*!l;ct}gf30noE`LW&6x=zSqhrFx*>vY~bqPC=OLX%YeBUaqX( zpvcc;_lDrE(`4&yg0*|zXDiu=xC9||wtHU5+MH2Z1&u2sr3pTBCaBholmbSrwNqjI z=x-U~YFw@mA#P7+Xf4=kqbly)%|z8vClf{kfTH|fwioe=|{0_ z_&R6qGvA7O`=a^;RUHQ5+forekd>4bnGVSF88v#!bM7T}nkOFz2JTfLy$SME~n6C#20XB9yzYRl(Ok0sDIbnE#3JCQ7;o{R8uY?Q{6l z8ry#yL=o*$FsoWyj%5JMiyOJ9GVRZap~-CZQX*dJr_zO#x$eZ~_#pPG3|_4Ouebsc za0N~|ICM`*gDf)}ZSO{B^C=}8Jm`zdfX!w%G+Jy)BcoSto}HuXRRiXcymSi;IPvR? zO>{}x7CQs8JF(N+3Qi4}+GUBFKtU61@emsu57?ZP$2JeqZa%H)uGVm)hdgMk(|BQB zI^7zwfadEXS=Nvxf#gVNGZk>0Cnw?qI@@BNh9?>uYsQTs(97@Oz^Kr!z;uNB-oWyC zPs$``9WQ(Zr+RC=z_biDV`Kh&v9gJSbvl|AaojK!GsFvyZ{{JzZ~6!P)(7x3a=I;V zvZl_Kk98d^PL%d_W4f4H@>&5>!e&7QhP7LoNSjONh$u2|Gothb5lL4m>G0urdUNFo zE%pXYo7Lc40ukHd6H?|4FinV2Y%VHZ|$4&`S|#H-bb5r7_F@t!_i(T*s z^iV-25EJezaPw{y`g~VQmH8l=bb+7rel+Pq>eywJ&}J7&P6*jH)DFI4O3f;0&Xs`E z$B!9NNcXepHw)&JlJ$B!WiARa2rt0kzTgyC5vMmKC_;4tejo`$*fP(@I?^!extYaU(RxEsj8QLk&UVYqJy9HD%&+!`Y8|P0({YWTv^F}5*ZN5>M3b(gF*^~&cZdXL z-T=F%KOe20rr+u{T@dUB$4Ay0MBX2YQ)5Z5GEd}HM%wMg4x7y5(WE>4q{pI3lqeiv zxAAeHc&KLb8medN{)$=_Zx`~$=60sS9DfSOs2TtpKLw^~!YsoXvbMT4bA{jo2=eYB z{GaAFGd)atX0u>P{(&!Ds}b4ZhHY-zJkLtY{Y~p#9KCgk)YLjVNTH8Ym}P0((q77X z&^aT)rfgfW>_Y9aE9Vb_t${VR%P>1|jP1gf0cRAPMR{vENYf0WF185y;X%agf-?eyPiJ2B?k5Pgd-`m3(6yC(8=s)MuWBR zS26X!oV(ndo={W=X7)l#&c<8zEwoY`gU~L(mZBi*~#ffJJ8HXs{r%; zae^Oc=GoL#_u-$%>DrfR1gYDyNMYs;1nb!R6dFF2IMQz4s17F%GiV_0N~o2z-M7Z> zT06E*zZzZ)?T*(OZccNkSWiP(ZcG85+z+vX%r6+{6>fP&#-C=^q^HBDfbB4dwZ@gKCp zju1squc5p7OIfj^P-u8hYp`$zCxxPy)qfpR~rmx9LYXN@hR;(Bc(p=luW=MAbFX&n>pW^6s zh}R4Kwlj5&a*v56C}c+3bq^K9seq+p5O&e_ma|5%5DT8DHWrvBRux6O; zcB;jT4Z|VNi=ND*JN+6c9T2`=k0^wJxg2WKk&lx3P|smDF6kA5rjwxj;3vHut3Q-) z{{=#q?u;#avpx>RBX124k_HTO+qI(>=i9PFb#V5Pt*$}-@E2%3z`uyqLrS=npx3hH zbv1Q$$kaIgpgR}X)PkW}0~)gXtYJ7lKCyIGyhqMF-)m(n!+6kwtx;SV*l0VRY}<2g z!k1=r?l{hmw;n2t^ihV6U{l)mgILEpE+zBUfOoeWqOd9#Ub!hm*OG#fugd;tTy>xWjMwVjf=TH-YKc`ulX& z{kg!UI^T0UAmJ5R9I4QP0VZ{p=XNPF4Z$X@gVWbI70>=d*mDsj$GEc0_f6(AVaD;% zW-BHAIfXNjzsM6g-nU`NIVB@6Oc>-W5@EEX;;agjDBY#e_PfHGy-atuOrEO7j2Y@y z%t&nKwX?)<>Tb-hQlz@@dWs-Sv1lyu`B3OEcl=m(SHp^pnXW8Qa|9$>BW+L|Kr;>> z@;&5-M%0(*?50>7?*K&Rp{=Pu=XwDNd%b^p53E zzuwHMj#vy%`d-7{hH8xnPYxO`lZ)vV0#dwg+wL_~?)F{n?b|oei4;BcNW0!*QRTfVIqmlS!BG7|fuXkV1l+6-RZL~a!&dlZz7CmS zx0y!+Q|$L?>0ZHEtaV6-0-p4)(oVg5D4S2b=<^n&eHn2heEBf6>*mICo^jOF>4zwK zaM(hRN4#+r_p=X&;3a>b;gl0TaO5QgG&fQ%HaK>lg;B;ElzL>I<=5 zC7#VT6)VUs%wZ~qTVw<@XKUSr4fMxl?r-X$J$BV-fol4SI+^^WQC9BSCB6~H+R=@6RGn>)bws1WeA3ISw^E`cpcm@?|{PX4$P{@7`+kG?AC_@#~ra7 zjoC{D{}rVoPO(ean#YLMiMUa0LLys_OTJ?D5sR0at$JactS(JY<#HZrfyO zZ|Eo;Pfx{CsG>B{Jh{i0qPQ%6bAA(xuSzI(udL(Osn)B(1W24$IPcoXxo6rt=}_(} z-QBkFl+F8tYMr6T&ZF_b{tc{g%FVjCvAsjFa1hdAG`&RYw4qq6;Jh1Q*cs1g2%W>y z1D$S`$2ks@7a*|Ml6xwFQ<s(A7Sh$`EgJE4V3N_*O5za9! zucT%c)JnfkPAcL zZ>05w3vv$P9D4T&nsMeVl91qE%yqSz%_)VmHz!wp_XLLHcjA+v#921O_L0pS%6!yR1@_ioJNlm&7g!7Wipi)i){s z*S733^!v&POtzQZ?^Q;xA@Nz`7h_jJCEjDpSUcCL5ibB+!KLwPy}W2JosuMCDGfnY zj6T4|CRD}X70w#I$TTtz+nImx9j*}Ohg0o@i9_AKv`qr(PUl*?<7akAEvYH<6&#=4 zX%sc|aijkwrJ|sChDk5BT^&>ClM~YM{ke0#RxSdj1LsaeZrn<8Btond*3;S)s^!Pi z^xl+K1R5``BJ5_*2^G4Ejvz{tM}h`4icbq$gQ z!LvtK@E|pAiuM9e`3hH=D1_NWPA=U7YKV#n=@$PTswRvr=tRv>!pN3qO+MyukJy<# zXVQ$xbB~&h0?%YZ8&6dUGiT45;t7;VP0u*$*OR6kNt*vHqaYaORlr}bU{?n%izv4_ z;kZ{Nk699NfU|_%ycJRzQtm^&+&P-d*>W+r+`$*?G2cGP|~rFxZlD z$~IxacDRjw4PPH>gKZfPe%w*>vR_8_illiT#cE5Go^kBH3M1i+hZqkvHu+vfY>Btac&P9MZ4n3QXPFU{jSA#|_H5!k@OOIV)JBg@Bvxk=v z@reFB%|7T1rc3~QFTh4#&hJIw{YR5KIk%Bmmb{!3^#qjl&8J9iDwxAFki)L$8PVoi zq&Py9+5l1Z0Z}@eWyQ4XG$ccum3PzH4$~X$&d{D_G?w{?$w@#QlLhwZuh_H)tr!lU zlyg$^z=1rUd=#x{Nd=0&K}DYeW1oQ_(i+Deybb-J`N#|o)QJo^GEK_kU&DlCFi&?Z z>=@%*BkUOO)y6SwIxG)fhI6?HUJ@onGajOs%aK{sCTjimiBt-K_@0%Wo54Pr?DvVT zzzYEm31p!Vub@$|@p@mu2<(j&D9=xgZ!3{On+an0s0kVrJXEzwK) zawcCs)faVgHXbmxN3Pag_;J^9^|*g%ZyvEg|IQn*kI)Jr)49hrn2*R*UplLyzVxkB zX;tYX>CywzsWkmK7rr@&_Z-7iVTftIJf7;1F5R(kqM(r}P;5hKRlH9J74=qFRC9Jw zmG!3W@(DlmA^%uxwDdG%@U|-ki zQJ1sVo<&wp1_B(;mKu$?&hO97-HtB|N`D984`rPztX*rnp`kd>Rw6rbiUxObN3C?r zq6isKh_3CZ@rV_R?J)DCWm%5573&lUcb!+%ngntpoi^9<&N8{0qPZ&%T)-wEq@K@} z6_cTq`7`N*QAAGEkL2@m^Dys>#>zyhaoYICrCbt`?QNZfs^8P-w)6`I0m=>8?e1Yd zX3y*9LNeHSZ0rmyRsW_0smT{}mh+(N1R`AYx#4Df)gn;1{PNpT4TQ4d!^YzHQ<7rk@S@iB@OEWPtfm=5y+8cFA))y8k;B!6|axd^47 zvgCYr9-4D0&0*00&aE^Y^a>or$GV$F~yxCtYqD+L>tL92DY?U`rJOV?0+f*Zia zWW3h?<1~Qc?s5%yWDY3226eiF`Q^pCl=fs@UsFUoI6OK)ACx5O-1H0!e7OTmB?*gx&HoaF87!H4d~Q9G-Y(zjDY>13C@Sp0U4T9uQGL z@k+hPD-Jg0T1j^st>uD^MV#)Rn)n(NhSOqhAr`5rMq*2lUY}zS=G-o3`+K~Gt;Rd) z=)D*r;w;MJ=!9UBaQbkBG{v`0JFmRJ&ogW#P~^EnC{kDnH@q8eUKrELyJ!R~4$F!Do+?U=Y167!@qy3Z;7 zD%%YtGcwQNhN6s@`osjdpehhwZSEJ!;3-NPZf*rqpUYo%%({oDsvOEwM!t0TUJk0Z zNHk%Y?g|qOFXiz>*17yFm$S0u2=7$w45t{6r3}z8TS-rN#3-g6I(%+U%IG?W4^$DN zM@cH_(X06Gh*Mrhh+06?BAhtjEZd-Y;-r`apq6`3J2>cFoj8<>ult4eq~P2Af`hzo zxxDR?L>dK^$lDdvQ5k+Neu>cRe9V&@AMdVNLGJhHW)kK!sF_1)2=-T9hLcU$$ zCXYymJhH+A5?VFY?)S6tBS%d7`F^`i+GEPG(+`<4Y25UKkDh$=+}hn`<571c#v(s# z>n_-$AIE~KpuGl1t5{7(dGv^T%r@w7&MqB`i`_eNBCzjgs1>&T*(1_qK3W4od2j@s zy_9EiDcg<7&d}DY(iQ4G`n);+yYJG0x6la0eoJ7D3kh|aFI2zuYCT3?KF*@E6wwG zc?^IvULv1GF$I1uFwH?NV`0bLHAHyAn(4>@jgDM{Qzz1`Qal^@17Jq|&im>5#F>9CxS#DL@OB=HAI zDnqynX=fg3V{narPd{_j3typvlH_Ra((Kp0xzNSZ%j)DCNIbdzY-6~%z?e{PCb9Qe z+rJ6+372?TNi3qYT;A0elx9#S3S4G{z5cePghoV8?c8uUQZrd!+=edv28|U1KjV{F zeU1BYHV01+ws$srr!i#G0zgpl8$?Onm=~-5FM%zCP%F2GXT@VGB56)@g(l5+(nz5{ zMdp1>Y>c@e&heV~!j^EVzlD^818RvxIP!nT5&LwUbMY2Qv98nCHGD<2Q1Yg-7wwR- z9AIg5A-UNhQ*!bp-KaPnmjTG(hF1hiN#hX#c?<_H`L-~l#Qcz;k8Br`?XP@otCtJB zIv!**??EsF4aI`uiQntRQ=@4d=~ZJe?tDS-UBBx zmh9pkuwms7^0iB{lXSzx9=L;SPQ(}juy{DrC(!=m>dmRRH{w@x)Nd?;y_Xaxy$p0~ zGX?%Y5-&yNI4Z&`2JC~0w4}4|)+sFQV@lf{4Fwh_W3h;$`kT*TPC=v%PCzl84g=1b zFZq(hu^|G!4lG6gL)-+SHK{(XMwQIi#=N3r}Wc_t;)9 zh?BejFgsT$CAGe>?#hv5G4+x)9BhMLhu2lxZX>N>M(>Uk_6IzCB$K9Uy>?!61AH&` z?zNmxQZ>Bh*yUoAzevd<;khrYW%~pM)rvQO>B{w@8s@JQ3P#xWrH}JefpSfQ?X-@E zX0}dvXXweS1Ode|KFn^ZeHlJR!W@*gTPo&(RCNO+_t;Md=QSwz&A=>b1%hT|uSzrz@vY+{=Tg zTD-Ks5-rVMXf`dI?Kp?8<29jdg6()Xkm!ZZt~Y;8>Q^h(e2`2nwB_S%_lb>K2@Ckj zYHuoUucWF65cb_tmqqEHYUZ$^e?BW^7LmyP?Ll{pX!pPfoQ6~q z9&(rlAZ4z`W&x?f%h)M&)>R3!1;+j@UOfP9oOsbX5_2%Mt(oSo;DS+d44U(o!1 zl*4``2NN&NQWfTJW$Y>E9P1f^XV%$O{w&oVfDVN4fFSDwsb8}vg&9v4q$D#tiwfqxo1LE#*3!$_eZ-(Wr?ai zN*DWTM;`lu3PU#$RT{%l)22@ykA4Pi8t3g$4?w2Ji;gC5E1T5v?JeilxB0NsT78}J z?lqIRANV>B&RAWqPUkUl)d{}N_Aek}#pdf~>JpTrI3FdV-xsV_&?P9vkCBga#n3*%MglP^ zcV~5;$8bsiIMaG3mRh^d=M&dDJ-iQ3@+;_;OB_=Hl>GLbh~vmMko~MbHmI&Cau}<) zFVvD{svOg9Ot?tf7msZVIexM5EZ>*BK}&uISv+Fe>kCvjVNcbw+xH~=0bo5Lo3_(8J=VHUP(0c^oqC|T7xoid7zfM#Kxutf znMs%mHgUJWPN%n2Ok)yNv|&Wpkf>~bxKs6zh*-B#!B#1|BW3eI@%m80FU7Coj>i~3 zrI;ahI%SkWpI=3XvQ;r&qC+Jj^B@piuc;RvyZU|!H$C|oxSPv!yr{u%%FT1BA_5(!#y-)UP%PEm@lT+X^Z zb>l^*FY5s-Wld z%B2ugA-t-q5VaQpmp;Nrvy{7L=fj0TFQOpW*<6M5))%>j!q&Z(3*GKi+f`(=*$U!C z*L7enHq`bv)H=2zzoI0(#?7rKk16-W*Q=VHiFzKhnyv`4?*M{* z;Bj$~Z`W$jBTvrY@@|8VhHVq_N;t)GU827aq5?>R?l-hz)d~2HJy4c}@JP%UhTZ~25>9!|3 z#icCo$Hg3f>iFiIE$uEg+D=LAAu$&{K5g#95rRz4LClAXY0urqlkk)@OW+SN$SBcp z7(B}dA?%Gng0O3O4H5QgK#)|wPP57yZHFb8=JBOn!hBeau_}^cb0)dC-+Za^PbUo| z{;e%Nz_t7{xKK!Yx$J_k-{xZRS92W}|Be$UW!~{@uYYU7tIxPIgTXmSHsly+$j-+Zh zKc#W(J3aJy_SZt68%rT&fn^|;E8jzu%Gy{#zFt^k*2okaB)*S|`TQ>G8RlX}oJM>u z`TnB0%{*YbNxNi6wTMeK%k%GoJB??^_ivddGoPX5`@#}Mg6V3G;5uOrT*L4VfC%W$ zmFE))SrdqbJD&i;Aqa%Ze{5j!&uo%!2JB2@fz9Q(-2 zlII+0))ag#O`bJHM+9z#ob)@SuMig&5{nGf=ZusipdQ$#l3Y>)p~%UuZKGS?HWA20 zGp8St+lVcpzB|>{)()@DkxUH|RXzfBNHnFecbwp!2G5rc;V782!`<1wAC;S;9n_H6 zx0MwP60#b`ivJfDH@GGob1Y_CI2lYGBS;NKyW&?@ckSJ~ci-Ob{vuzTrf6sW{@`NK zqRlB;<#+8JkI}TgJv5gC{zYNY=5uXmS#g2wmcK!n2cp}})l6ZK|@EvQj|4n7is z%&T$o%$ecy5mSyh>gc)Ns~7343d}Tk$!?z6z5)0~y5cKyRs6uuM^yUcYvkuf7397|V zE3evhVOdvD7TtW6vUKUk(k&14^$=8nZfKzb-Kg42BGta@SKHY+S3z|l3y_B|Iu$E69UUJ^K=jK!pIGd7#AQaG;+?N>%JEhf!RQRsV%P*8hqJdZiDlYi@2+uMR2K8YN za-|RXK%~rj0?2zk$OnALl@Z8?0?0c(NR&ZbJ8z3XKII@a`qB@fOV9eCH%34eGs}(s zHC~}F`H)veASHQpkV`zsH+{&mXu zK+g_AKlDH^@Il{?fL`Q4!IQVS(ow%6dO3`aKrRU&U-2Nhi8@H`rFjT_O#u142YHhZ z`Ah`zmH_fe4^qKOR6CY}d1c-mKtA9>uJ$2UM;KIFVeE9N18bxY+tF2l_KLaxec@7I`__ zdWH|WJ_3qF*~jXSJW#o8RH+|CKramHf5)r;G9U8I2;|}b@>LJ=N+0s22;|iPY~2@>yTU8?Q6KWoNV$&( zkhgk}fA%4X-kCT4&pJqrKh~J4eytCR!@)ez7age1$z>ksYd$E(nt7magr#2UfxhE| z{w`ALdm-rg9_U9t=(!Qlk3-NiJkZa5&_xl@FC8cw&_Ztj{^3J5Mj*crApZ$ZgZ|Hl z>!IQQ_W1n%FNDwHkorpx@(dqxeFX9>2dP2*2!0ub;xf_0)ClN>A?Q0E=%qgBTM^J^ z2deRZ%>!NLgT4|8IeVo8_3=ukShV3rANtt{^vw>M!FtN;*zG>#*74|1Ikd36Nxr2z7B5AqEk z5|^HN*!re})WH7E>(YBZ=tYq(y&n{Mu2<+MKIB=ELf1P;;lOXaLjUfAo)!W9Iw-Ws zEA)FGa$W>-9*QR3!Tuc#GbVKb95N05H<&%;Zmj1x&?D>WyrbX)4<73<2mco4IJxk+ z8KP((WnS~3v8Zy;FGirRanPX5^B88)j+=bQXCm#mC2aDOUZJ=9ppQpD?+ig7@<3Pm zpbtbqi3Mr+Rp1FZiI>MnKnvpmJbF z|6lb%FOPt}9)ey5D7UG%0o82^tFgQ(c-Mi3chqwu0Dp4;jQW}Mg`&PtQCvVzi`4p+ zgA8YXzE^bvY&*e!=bKAqV$5FRbZdmIe}VT$(Mx>LSJBbQMU-Wp8cuMNejx&IoezM8 zy-@QR%$#ydxWxg`jVIv?QrDe+T@Obfmpe!wDdiXu==*%=m61+7=%A5-;cU;t`n$X= zPy1PJiez~fia1LO*h#8qBji(Dgp(8Ie*y z4?)FqrPQx|(1j7uZ^H&Oc%Y}i7F7dIi8P=AJsr0?zV(=?r}~gz;Z{6%Dozg|Kl32Z z@*zKoK%NsoegGuX0E5=y(mN5zOB|%bC0OOcB_H(FK%pq4XqGup{C9h(vMy5AwP9J$ zQ5NGPkLeDpBA~bUW%(SQ$0C*8nOoU|5r9>>0QW`!?hjkD-0RsRe$VcRfIi_sg)YDM z8vbX$;WwiQmOBT}hM?DZrLOf$y($}YTQRv_4ndcCpl|q~mt})a6zE$HG~7%sh_vtn zAHW~`vm*eXIsnb%BCiWy`dv6ZGWK7Epz}S@fB2w{5m4!ni4o^l`;S0@EX0ZVD13R_ z@K;DTnDWz+lW5An{B=I|E($^AC>YSQebA31pyxVJ_MG<-lK^?K5BY8c@{$1ZFF=C5 zOM%p;`AP)x3J0k(cC6 z4;3E19)e!xfxhj7UYrdo5rBCw1U=syppX0pocn9flq7Rree6KP^X&`|{%aq8VWjA9 z!=f9!R-A%DpJw%+=!=ER@dP!v5gkFFd2+0q)l+@YFOSVX3V-83LtOqe0&uni0P8+P zjSz|2g%l-J{_C;%sC==56fV8x)!OXW`g(Q)-7qZ;L0|Sjuku0HW`mxkzFg}!5D#6d z_Sx(PULk;+!?K>DEYxpq^IP~tc3H04J3`Qh0j)yP=z~6ZZ2s)53PD$UExgZf;mSy< z4?0k7GIx2PkNKdtWw+He;7JD>j`qzFfM;_7u8jb!%LP~#0eCGJ;Iat7+qnQ2MgTr^ z0P4@#^oOPUsXt0*MyC98zbya2S`aDg+gyO}XGica>7VoKXS=QH9P}cE)E~~yN3Zi8 zq)Cc2@;9OP&<@r1=I423cGg00<9&t8;}c)&Jm?#I=w~9(H#=x`{3#FgHXrn{NVD&B zpu+Ws0A-9;0xJA`AX4f*4m6zed;GGVLfRBBdKTeOVUh1QQ7k7L(i9Vp#rxFetRTkRYoAspv17t7O3XlAPpTc``~1Z|DhkxTq5pq0E8f zTMmAGy8y8f3Itcj_=-PTsi=I4zGHtJ!=U)EkL`9iS|;f=&ixMxG>fEf^EqZwi!c@4 z6J@;NXk>5g{Ot}*%yUUNWK-MVIob_-cP;GxpznW*7-Ze%QYo5|c`%ZCFR60RgU)%PiGY4x zajKZEsl)Qd;#ZL_-Q~6AQMKjHlS*e1M7`d{P^Zu6PvKhQ-LZt|z?MH%x|2+E*Pv)` zo+PDgYlVSzHvDU2Qc024K0XJ%Lo{r?bPjEjU`C$Xm5es_8zk(N9EG0=T*4D?R<0O_ z*p4+grr4UprUo2`s6N>6w*_~Ci z6!OZdLg;**Hym_gbEI>J&3sZSkV&7I(CQhMF7S9t!O=o6Y8!w};Sox5XUA1|yw>jcG$? zMKRn;_&&8UVScqn?yv^Pvpxf!!Zs*|Iv10Oo>A;H`FV{kB@m^j@P817p7El`S{(Du zW}ph|=>!Kv%R2P|M9v`*!K9qjP3UuhDPw3OM~DkrIP<8Z6~OWbog+W+@TiX2zNm5c z8fpiQLT3&A!NH?Z)^pltQX|86dY&Q14$5JU!Dkqb!c7Mhzfte5!^=7n6qxp4t zJLczI%VCtnXDLc*SD-InW?shWg7hak$RRts3ihirco9~z&+W~=RBz7ExpXGVtUcxa z4(AM50pdM4?KgVxFxOu83^XvH>e$23#KZHvYB>k6O8jy1HfT6ZW~v&B5BfBU=rw>z zTk;6Fj7=xw%F28X)Y!dY{82=O&Yd*JR$B302YAt;}B8(nmh3To*yUV6H6K;|SpK2+y6%bD%lFs$X)D&qdBi zDJXP6fluC+R!cSXerN*RVbNQKQ)k*9(y>7I`?`=W8i?VE3ASgQtyzhYQa!OwYVCgH zUg`}hhbiNIhv&DK@@^$~`%|$s`sE-p&oj+f`qiLvxf|vJ%;0t8+YVZV$#8gqqY5Yt z>M_k^fjWMN2H>cFi{bi6(lBgqz*@)>Z#q69-44q;d1d0WA zhq&lvJxMICeGcxb!hf`ug~*Z1~=o{6Z{*0xbCE?)?NB@cM*XR^(-%)nlzZLL=fu?fF}n zuMipa9NH<8syR7i4zcZXz&3%z`f+C^2gMZ0VLV~&Cr_QS$>vrY;%H=0Gz%#LhtMn& zx%tY(xrktbup?Af1}!q^l+^(!OOQk*<%Xb`a>${_Oa{ety9iXADI-VmI8TY$p`^Tr z6(@WZ|IT3C-gYM}noqGi5g%pfO9Vry=ay~QoMjgkMz(LCnnu9;B#yN>CFLm#2x!=Kho+-CTQ7H}zNMg991UJI?r+jOHFSL6Z| z?tWS5N-w>;kngcb%rv1cn95_;g4ht-EE{kATzI0&b>k0Bb1$WYvH#+EG69Krb-8t-ul%FyQ@}3DTLwy^~L4hf`DArf^cxvEQmHN zh!^u0MCnc5dT>yqy!B8=P1~~`_H^rEC$}DUck5wwQ95fuU~(C+5@#k@pm;WuUCd&e zEZxbP%W$0&xh8mw#q33MlTVJE?p95o7FSIK)qWr%YR~lsdy{wBfAeARvpJjG!d9-D zEJs~F+DFcT9IyR41M-(YK&pr`Kv`};+ltoVjIGQIBCH_=yf?X0#-coSz91R_D zc9m#0hd2v5hC6BjUrA9czx(V(X2T#4-sZp=Hw%LwY zJ>weZ$yB^-EF|tvC}cI1x*a#pMZ;Kucd}kuNi)P$F3HdKBLHM-_|&UGZU$)0=S3+UVW;_(e9JnF7ahQ$ zw~`*q+mKskjpZ!c&E_ZsxBO@kfxEfsELxTq6j9MkT~#OE-+VM3+w^t@hEEZU}Wf&Y;YQ&u_o z#Ha9H`U$JTGJ6-UN{AForXo!^izaLViBkpY<7^YJz+1}i+ehNwJO6fYpc+xgVw-mk zuEKg=X`#Ri3Khs@kMio_2&k~PX>@L3?@<`ez#^@?bmN7+7AfqD7FwpGD>DS2u*t-W zR`R!%=%0htk)tZQI5IcPDMueNV%Q|??2bO_*vT_OymH%J7D@^WJ(Qf3o5LeuA{YvM zmOKv+x>+a|P#0!&_U8{>pYQrl^f@~=VrzPw4d1H%cFgWrhLzDh`}6y*zjyp6`kO^^ zwx+vT;G5E0T!d#PeLoN?UUct&xVQdIBG@c9fYe!i4yp1DBekxB@R3T-h69o3oUm&q z3B8wGcaWXjsN{Y0hAQu4zwGhLAW=>B=gy95J%*0`+cyf05Ts#vvTiKn%l9?(=$ulQwxb5BV&Vca54ZlC$!gm?JQcfOv zeAfc>B6pHROJCN)cLhi+)XGQr-Wz?*nkDe6o9#{wb}xAPu*Bi9LEYU-SalfOe}*9F zPw0wid`~CF*5Qx|f>aU?DAaY(wY{P0{2 zQUih(;-OsLDVoW;J@0t>=79D=Eq<}(@Vhq@EO`^PV2opF$x@L z<-&-t?1bpLwB-kA-DC!9=oNYsR?sHj&~opP5sD$8Co};5tu>n;!G6<1AX*08AFxUO zqH~O0Xos0IW)tenTZ4s}a9Uvbi;i`cS#+$*>?;{JG~MfbZU=4BTgcGx+L#IX#>Fj+ z3r8y>OP+6DtT-OB0$rerC)WbW(hI;qFdWCS@azurDb6s$L>D=Ne zV0O1h61&qlOFXmodl5ion%%C}{#4(Qcc9U$hMxH5FH3!RX$GO`h0hfm;lrnej(PjynoA;_h>fB*_r(52RW zLgMD+Tmdu()%MBG4o$k^N)sC`Aw$?r^x<7(@_dZR0u3#L-%1atNSl zwb9~rbx<|_ybv(+SXu3t5#&uAmXmp;Mx-O%m%c^eVZcvEmt0Dzb%-9(p(RWzGbrw8tsH1sMD$wx zy|k-zA1h-EVmNEMT*Anl&b;W_$DLQ|Dzxd# zY|e})k8V7xQHGFW<{)O@W#+HkXlKX#I29tXEC~vI3E{>#Eh3O*7XsXQ@FRAdh)WW2HbTIp5S0IXQ_U z6u~7#s=fIGR#5!563(vV6Y+{ zbyonV_F#L#e{&Q!4@7+i$+yA1Iy}Ka8A>obXkYMmqr1^vF>`ihwQ97;B*QxOuz_UBt^aSpSz=!h z*SiW(DLz{ipWWg)SiZpB(BVq98!Z%B84MupRnWg)=1^eeN!R?Ayb@H$Qd4xZ8>yJF zTKkK0CPfNoVi1euV0Y<~zrhT3#}m6tgVqwN?u?#plC9re=Amh=E>#;0U$d&Iw;TjR z*-*8Q`I}gpYTPEKYPy+U@N5RB^@J-yGhBh5G&5#zHat^JPw%702vW+>hC)b>*G+nS zTHNdLsKPxygZ6X*4Yhqhw|Jcn_eK#Lg;Vl(&2wEj)h$4`Tuv9x$HFzVoF|spItQKP zp{EPM_O>J{JNx@k+id{`YI??UA^Eiqcrp6RL4%h(9k#3DsAb_pcrd;0gJv4;_Jvfa zfy(781INyBCAw|BkXF6KD@WAzyy6$rJkKkq?T2nk2+QZn&?#R#(zcstw;5tPOc28W zSpo<-9>jHzm>kH`xz?se*$&kmKdEg zxKC3~2f~ji_Erbb;RpNzEsKSGRFMN9n_TIleC);IVgF?J8woF@47rR=9Ln(3nMmkAENPKg!fe)LG$fr&apJ>~`I z#|pEQzg^7&S|mCPP*G5WML|IaWS+HGfV(aoa?BB7Iz)GNhp7L#+GW#c?NVM*?wg1) z0G&d0CTT)gO9M4N;@8Nf#VnDT$@R2}Lj0a{aGxC~rVQ=>1dULrrSIa>l1-Z?x&zLO zKUPL?BaRAeMFyGf+RqxG9J$_&wL5b^nW~uCJ4~TaZKI}<@#^gMRdlpF)z`sl`}o9^ zYDv_o637+}QnSt(*0atT8u5LEdZ>o_p?j`#$d5y^f&~pNVg89myJ!k^rMdAkg6v^v z1BJ(&K$x4CV|1#Y!R2Arml{q;h~}IF<5V;`yCh5dL4Oi>#zU>EK&`r3h&ntqgC8jk zR_zqw*~_TTI)Ye%jJh-eAmq^{O}}6xcwY||A;(UbT{V#A0@M70t!QLK-;;agi%mUu zg?Dh^%vfJ4m(UvQx6lf1&(#Ett$OpO;F?houEwz+W6s2LHbC)KQrN}u9w~{O5`2f zuEuU%Fe6Gs_{E zy{^5S-?gW6x<}Z*g6II@9IX{4OuS1vl-*hc^@NJB8ZCF^eY_Vtlo1 zfs++1FTy?*GufrLCUBoz#%=;DIG2;VDFr!S`I$I(j+fsA5T8Eq^VLVUd^N8<$~0UIv^#5>)O)q&Vh`cnwK>Zgkc8xsRR#I~vY$QLzm$0YkThw)EYc2Y?441R%PJT-9cz z?ZjLTx3T%oKtnMr92RG?zQn@nlx$*E*?wbfDTfR(E{H}&cuMIvkJ)E>Q(lfw$dO2z zN_JZ@vM_~egkCh}DAv~*kQG?4<>in_Gm+#TCV0-bc@RWH*b5YRc!ZZ5s*#oX8TVuY zU*u(%b`NouIr6oHFO8&MNqQ+l8Uo|cfw45*>jDupT^GdLQ4CD2&0Aur{Qj(P#ShD? z^f6cH^sGYLF)k$#Xa?e3CEn_l2z8g2_0>pLwI@5PC^j1NZY1lc;tZX^u=F;cF-Y>E zfR9<7^#c}!vKV@(!9u<7m$HX=q<(pg;_itZXA>t8RXT;2RmUp5luJjF+7%Q{SG%MdLd2X2 zw(L;$)Dt=56>6lCfY6i)xw(JJ9wy>)tgWoEJ;$^CNJP9Rv@f$knIOU~x<@=sqZo{P zBTar(O}+y%Ocq$sxwrDj^Ka?5-}3r;yRWnK(uIPS6T8f7`N2pPQsy%#97sf&oE2#K zAYyaS4{naML{@l9PHdKG-MfIx-f}dwf1=5@!T$JSYAy#oN$Iu1wwuU{h|jUmS`BvZ zdc||3tD;`pVXHZwF-ilnC-OZ7L~-#s=F#f5hf!4u8!s1);Z#v)U(rN5kBL_v63LHg z$KL{<6m9ChMoPc==kCI@Lp5P#ZCF|T* z@1)Col}k^tsuGNfb{2p15moHtOy$~x2i~~vp*oA-4YUpva}`*@cy16gsr=)8a7cxo*L*D?+GBg^VHmBQNyMZ1yyW{xM1C}c#l z4=YJJ^QE8pM4<;iYsS%2{x@C706@NNtn8b;F2${CKG(OXL=MmypY6W$MuE4@XQ z&a9U6M818fr_1#8rk*a=)4O^?T~&(LJT21G=X%1E2RCLtE!7i5pq3k6*7NXcEyPb7 zObpr`#xka1x^|V$(RIz1stNEXon)nBNa!yyIS+&o0rMt9pEm zJ4dxYXxrHaxm~46$!Iaf5;9vNg)$vbyD{vLI&gQSkZr_6;mRbYN=d@}(X3&AVTWb& z)AlhQpE_Ko$}oCWYqqwr!?6zE6U#?46T!)0cJN_#*kLY~NM_k;F;{RdiuKZ$Fl8{g zou}Wn3G)WGCbl9zEM_y}B>&p5!7gOo!gPC=J6cI?qb;At#uOxbOzBMFjV#3O$-`_3 zWXG47PI5$@RjjsY=bP_2%B8Fe_*O0(-roB-W?vcG2i<%g<8f+TRjiP1_a6__327yu zUF)z%bx|r`#C58J@a;xJTIXRZZiB3raBk)fuVQ(ZWt_|{lv;%sd0r)-D00D&DC8}I zAq_#^%EVKZ`;cGi-zc>`=KeZy&!B27LBA?iS9IVx%WLsSs}j>}pD|*iGHBB|l##|# zq5QjAVyqIfDG#kKz-?z6wktLEU3_*@>?Klds)enzhPJRCKml_dahTeRM381ZM&Z-* zin-Bw|0E&|;FU;Mbc)FPDu&XxQyk&)2Ah?BaY-zrDGoD(GKwovaYtI@{;~Oag}zCl zE>L;?(V&2N?UVD};_HKj{9v;JE|HqbLHQt-08o}{YCFnS?7AfQ%bdzp3v27KSaV)Q z&rx0_s6w<+#o#M4SFj2Piu{3UxfrYZcj5GL%1S<4g3AMV`ZDxX1*fVJ=4^D*z^~6C zGd0bNU>WkNkk{Vo0Noygh~V3K-Z%3h%ok4nf5u=AF^9+y>Ul{qbbVPX&hvu$gC7}s z)|)t6T(DrBFE{sjgbBn5Qr<}o4gtg-DIaGCP9x`2P;TBP<`C&m@P5P|$*haV8PzS> z=|rfZ)t>dMz-fBV{KgXb$J@(pPNt%=J~gl0^`w-D2tJ*8=UV#}^S%{b=*##^#^HQ2 zEF|hx8}>@HG&C|LG+gcIz_wob<-X&bg(Wp0y@L$6N| zow56!m+%kc;2>r9&g};n=$#AV`|6L?NO^^Zu3%f@{ZY-4qbPqPMdzH zuU?mb1WTPYG@f-=!cgh-DNbAtG-zxv9NJaU3fmzJ0%bTtIwYq17-D*@w;fiymv#gf z^#cvJOKU}c0?*kXj|p90GffMP@qh4f=j|Dzj!~DxVNJbJDt#sqQQo5lVdV^WPm%UI-frKv9ja$); zqg?#eB1DLELmt@6p#T*U{?g-o&n024A7!PU8A)9T&IEbCn46#Xo2=9_2Ln?DmsecHOun@R^R(B;GqwK3$y7ZB<^ z*HrKkHxL9=q^q|_24Y24>V1Cd-j3!t_g^>=Hb4;^b@Y_lx+8sJ;9sICR6%yInk~g$WlcUWu-?EglPRO z83u}#L)wbGG#R^e077HE*pJ6m_3AMM!8*7XW(sxfy_~74<&;{S(Vy2 z`bBc23X`>?+;>W7%tg(6gjd>jXu?d^hGhup8)HlO?_AY_0V-v!G%9tEfnVEb(b1NF z??CiX1CMxLju)B9w`;N$HTY!1t^*82m61bd+xnactJ_Pjb!x)wp^G$uzME~gX)wW6 zHV4!EL>kpecfWdA>IY)%P{z|mh|6x_8TV0&!&oVJ6bYzAUupewpt*&#Ca^sx7T>rj zJEs`fH!byUGC+@mj4t53ZD=zUkQ2&j0r{}i0!t=h1%kne$wxx5ECl;0T z$E33rON?`ER`}a^QD6Q>EWosOJq(xs6;^kEjh$dsO-&q3Lvd3#mcn{Tk;c0PxA9o! z|Ld+D^9mKa0SY_g{AhzfUc=@%)Bj0Rj>KMSice_gesgWFh@#pKKg13gj!Xwmqz3Jv{A|b`OOU>sMmumX)_Q~4jci(4 zkZ@8562rC8{qEmD5ku_H<;cy{;-pW^%>;}eMMI@kPYXR+P(A6SSir zX8Q4l)Tj*;?)?Da&=NaloUN_1W3>9<5(;UgURrO9*-PrNFl3GfXwQDu zlfd2z(^E!}RFKzzCK@o1rK9Ej71gt7kT3^}CRpEz#3>Vl;VW|bb5&A})PTEj)VPwgjVXd@M^LKz1z(DVDgFLYwR&6TyW%T*DT5iN2k|cS#p6=JvDnv0{ zAPMTp;YXdh_h3czOhBB(45kl#5DYA^iE7(!U#$LTb0z~{DxPk*s9yqJ%VjtNRt9p% zxoIzr^yCd!svOB`_(uS161v0F6sGnAHRXJ?IC

*9Kjn|RSBtv_@EhRp^~n^pn2 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 diff --git a/tests/functional/elfs/ethereum_nanos.elf b/tests/functional/elfs/ethereum_nanos.elf deleted file mode 100755 index 14906f50fb2e3aec6f4d0b1bb777780fd559851f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 715896 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 z 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

KMR&mBzbOb(?Fn>%wvw#}r5VzXZmV5x%_rg~@0 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�e9TU3UrBi{-!)eu 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

}b9F!FvJ5lC_oB*Vu>90N$s4dOQ8 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%0A*f#Q?8GUP^{{EirZoaqNOV8JRdS3?IWwl} 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

_z=rLRT(e?=pX1L^*aSN>C0G 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%0AmjI9p3# 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 kRaLc}mlVq$8 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 diff --git a/tests/functional/lib/approve.test.js b/tests/functional/lib/approve.test.js deleted file mode 100644 index 50eb7dc..0000000 --- a/tests/functional/lib/approve.test.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _test = require("./test.fixture"); - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Approve DAI tokens', (0, _test.zemu)(model, async (sim, eth) => { - const tx = eth.signTransaction("44'/60'/1'/0/0", 'F869468506A8B15E0082EBEB946B175474E89094C44DA98B954EEDEAC495271D0F80B844095EA7B30000000000000000000000007D2768DE32B0B80B7A3454C06BDAC94A69DDC7A9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF018080'); - let clicks; - if (model.letter === 'S') clicks = 8;else clicks = 6; - await (0, _test.waitForAppScreen)(sim); - await sim.navigateAndCompareSnapshots('.', model.name + '_approve_dai_tokens', [clicks, -1, 0]); - await expect(tx).resolves.toEqual({ - "r": "92243511396b65a4faa735a5472ea99b3ce0f7f2338eab426206730bc0ddc57f", - "s": "161bc0f861064d840de4f4304cfd19a571017e62df7d8f70cf605c0f025593b6", - "v": "25" - }); - })); -}); \ No newline at end of file diff --git a/tests/functional/lib/blind_compound_deposit.test.js b/tests/functional/lib/blind_compound_deposit.test.js deleted file mode 100644 index 04f3f9a..0000000 --- a/tests/functional/lib/blind_compound_deposit.test.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _test = require("./test.fixture"); - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Deposit ETH on compound, blind sign', (0, _test.zemu)(model, async (sim, eth) => { - // Enable blind-signing - await sim.navigateAndCompareSnapshots('.', model.name + '_enable_blind_signing', [-2, 0, 0, 3, 0]); - const tx = eth.signTransaction("44'/60'/1'/0/0", 'f8924685028fa6ae008306599594cc9a0b7c43dc2a5f023bb9b738e45b0ef6b06e0488016345785d8a0000b864474cf53d0000000000000000000000007d2768de32b0b80b7a3454c06bdac94a69ddc7a900000000000000000000000070bc641723fad48be2df6cf63dc6270ee2f897430000000000000000000000000000000000000000000000000000000000000000018080'); - await (0, _test.waitForAppScreen)(sim); - let clicks; - if (model.letter === 'S') clicks = 8;else clicks = 6; - await sim.navigateAndCompareSnapshots('.', model.name + '_deposit_eth_compound_blind', [clicks, -1, 0]); - await expect(tx).resolves.toEqual({ - "r": "b5ae3a011eb50e7d1fe9f5e6f6d91ca9f4dfca5f73805fc4866d49e72ead2f5c", - "s": "3c6e55db5925586bb58e434b58b2c04756f662131597f98c1aa2418b16992b81", - "v": "26" - }); - })); -}); \ No newline at end of file diff --git a/tests/functional/lib/chainid.test.js b/tests/functional/lib/chainid.test.js deleted file mode 100644 index cecd3a4..0000000 --- a/tests/functional/lib/chainid.test.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _test = require("./test.fixture"); - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Transfer on network 112233445566 on Ethereum', (0, _test.zemu)(model, async (sim, eth) => { - const tx = eth.signTransaction("44'/60'/1'/0/0", 'f044850306dc4200825208945a321744667052affa8386ed49e00ef223cbffc3876f9c9e7bf6181880851a21a278be8080'); - await (0, _test.waitForAppScreen)(sim); - let clicks; - if (model.letter === 'S') clicks = 10;else clicks = 6; - await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_112233445566_network', [clicks, -1, 0]); - await expect(tx).resolves.toEqual({ - "r": "509981d8dfb66757e25ff47c009b9b5bc5db0f169473e4735f5212b144f1c069", - "s": "5db989d81025de3c846e41a9ce01a3f9fd0982e2d827f1b88ffc95d73a48d04c", - "v": "344344f19f" - }); - })); -}); - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Transfer on palm network on Ethereum', (0, _test.zemu)(model, async (sim, eth) => { - const tx = eth.signTransaction("44'/60'/1'/0/0", 'f044850306dc4200825208945a321744667052affa8386ed49e00ef223cbffc3876f9c9e7bf61818808502a15c308d8080'); - await (0, _test.waitForAppScreen)(sim); - let clicks; - if (model.letter === 'S') clicks = 10;else clicks = 6; - await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_palm_network', [clicks, -1, 0]); - await expect(tx).resolves.toEqual({ - "r": "946700c4972b3da24ddaa95e590ad25a8f905da62e2bd053285a4cc17f93f490", - "s": "3698e84564e58477a49f7a9cea572ef5d672a5538db08f3ee42df5eb75a1b907", - "v": "0542b8613d" - }); - })); -}); \ No newline at end of file diff --git a/tests/functional/lib/contract_data_warning.test.js b/tests/functional/lib/contract_data_warning.test.js deleted file mode 100644 index edb8972..0000000 --- a/tests/functional/lib/contract_data_warning.test.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _jest = require("../jest"); - -var _errors = require("@ledgerhq/errors"); - -var _test = require("./test.fixture"); - -var _zemu = _interopRequireDefault(require("@zondax/zemu")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Try to blind sign with setting disabled', (0, _test.zemu)(model, async (sim, eth) => { - // we can't use eth.signTransaction because it detects that contract data is disabled and fails early - let transport = await sim.getTransport(); - let buffer = Buffer.from("058000002c8000003c800000010000000000000000f849208506fc23ac008303dc3194f650c3d88d12db855b8bf7d11be6c55a4e07dcc980a4a1712d6800000000000000000000000000000000000000000000000000000000000acbc7018080", "hex"); - let tx = transport.send(0xe0, 0x04, 0x00, 0x00, buffer); - await (0, _jest.expect)(tx).rejects.toEqual(new _errors.TransportStatusError(0x6a80)); - await _zemu.default.sleep(1000); - await (0, _test.waitForAppScreen)(sim); - let clicks; - if (model.letter === 'S') clicks = [1, 0];else clicks = [0]; - await sim.navigateAndCompareSnapshots('.', model.name + '_try_to_blind_sign_with_setting_disabled', clicks); - })); -}); \ No newline at end of file diff --git a/tests/functional/lib/eip1559.test.js b/tests/functional/lib/eip1559.test.js deleted file mode 100644 index 3a50bc1..0000000 --- a/tests/functional/lib/eip1559.test.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _test = require("./test.fixture"); - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Transfer eip1559', (0, _test.zemu)(model, async (sim, eth) => { - const tx = eth.signTransaction("44'/60'/0'/0/0", '02f87001018502540be4008502540be40086246139ca800094cccccccccccccccccccccccccccccccccccccccc8000c001a0e07fb8a64ea3786c9a6649e54429e2786af3ea31c6d06165346678cf8ce44f9ba00e4a0526db1e905b7164a858fd5ebd2f1759e22e6955499448bd276a6aa62830'); - await (0, _test.waitForAppScreen)(sim); - let clicks; - if (model.letter === 'S') clicks = 7;else clicks = 5; - await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_eip1559', [clicks, -1, 0]); - await expect(tx).resolves.toEqual({ - "r": "3d6dfabc6c52374bfa34cb2c433856a0bcd9484870dd1b50249f7164a5fce052", - "s": "0548a774dd0b63930d83cb2e1a836fe3ef24444e8b758b00585d9a076c0e98a8", - "v": "01" - }); - })); -}); \ No newline at end of file diff --git a/tests/functional/lib/erc1155.test.js b/tests/functional/lib/erc1155.test.js deleted file mode 100644 index 37cfd1f..0000000 --- a/tests/functional/lib/erc1155.test.js +++ /dev/null @@ -1,65 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _zemu = _interopRequireDefault(require("@zondax/zemu")); - -var _errors = require("@ledgerhq/errors"); - -var _test = require("./test.fixture"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// Only LNX -const model = _test.nano_models[1]; -{ - const set_plugin = (0, _test.apdu_as_string)('e01600007401010745524331313535495f947276749ce646f68ac8c248420045cb7b5ef242432a00000000000000010001473045022100ec4377d17e8d98d424bf16b29c691bc1a010825fb5b8a35de0268a9dc22eab2402206701b016fe6718bf519d18cc12e9838e9ef898cc4c143017839023c3260b2d74'); - const provide_nft_info = (0, _test.apdu_as_string)('e01400007b0101124f70656e53656120436f6c6c656374696f6e495f947276749ce646f68ac8c248420045cb7b5e0000000000000001000147304502210083e357a828f13d574b1296214a3749c194ab1df1f8a243655c053b1c72f91e0c02201ed93cfac7e87759445c4da2e4bfd6e1cf0405ea37c7293bc965948f51bef5cc'); - const sign_first = (0, _test.apdu_as_string)('e004000096058000002c8000003c800000000000000000000000f901090b8520b673dd0082bcb394495f947276749ce646f68ac8c248420045cb7b5e80b8e4f242432a0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596cabf06640f8ca8fc5e0ed471b10befcdf65a33e4300000000'); - const sign_more = (0, _test.apdu_as_string)('e00480008b00006a0000000064000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080'); - test('[Nano ' + model.letter + '] Transfer ERC-1155', (0, _test.zemu)(model, async (sim, eth) => { - const current_screen = sim.getMainMenuSnapshot(); - await (0, _test.send_apdu)(eth.transport, set_plugin); - await (0, _test.send_apdu)(eth.transport, provide_nft_info); - await (0, _test.send_apdu)(eth.transport, sign_first); - let sign_promise = (0, _test.send_apdu)(eth.transport, sign_more); - await (0, _test.waitForAppScreen)(sim, current_screen); - await sim.navigateAndCompareSnapshots('.', model.name + '_erc1155_transfer', [10, -1, 0]); - await sign_promise; - })); - test('[Nano ' + model.letter + '] Transfer ERC-1155 w/o PROVIDE_NFT_INFORMATION', (0, _test.zemu)(model, async (sim, eth) => { - const current_screen = sim.getMainMenuSnapshot(); - await (0, _test.send_apdu)(eth.transport, set_plugin); - await (0, _test.send_apdu)(eth.transport, sign_first); - let sign_promise = (0, _test.send_apdu)(eth.transport, sign_more); - await (0, _test.waitForAppScreen)(sim, current_screen); - await sim.navigateAndCompareSnapshots('.', model.name + '_erc1155_transfer_wo_info', [10, -1, 0]); - await sign_promise; - })); - test('[Nano ' + model.letter + '] Transfer ERC-1155 w/o SET_PLUGIN', (0, _test.zemu)(model, async (sim, eth) => { - const current_screen = sim.getMainMenuSnapshot(); - await (0, _test.send_apdu)(eth.transport, provide_nft_info); - let sign_tx = (0, _test.send_apdu)(eth.transport, sign_first); - await expect(sign_tx).rejects.toEqual(new _errors.TransportStatusError(0x6a80)); - })); -} -test('[Nano ' + model.letter + '] Batch transfer ERC-1155', (0, _test.zemu)(model, async (sim, eth) => { - const set_plugin = (0, _test.apdu_as_string)('e01600007401010745524331313535495f947276749ce646f68ac8c248420045cb7b5e2eb2c2d60000000000000001000147304502210087b35cefc53fd94e25404933eb0d5ff08f20ba655d181de3b24ff0099dc3317f02204a216aa9e0b84bef6e20fcb036bd49647bf0cab66732b99b49ec277ffb682aa1'); - const provide_nft_info = (0, _test.apdu_as_string)('e0140000820101194f70656e536561205368617265642053746f726566726f6e74495f947276749ce646f68ac8c248420045cb7b5e00000000000000010001473045022100c74cd613a27a9f4887210f5a3a0e12745e1ba0ab3a0d284cb6485d89c3cce4e602205a13e62a91164985cf58a838f8f531c0b91b980d206a5ba8df28270023ef93a3'); - const sign_first = (0, _test.apdu_as_string)('e004000096058000002c8000003c800000000000000000000000f9020b0e850d8cfd86008301617d94495f947276749ce646f68ac8c248420045cb7b5e80b901e42eb2c2d60000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c00000000000000000000000000000000000000000000'); - const sign_more_1 = (0, _test.apdu_as_string)('e004800096000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000003abf06640f8ca8fc5e0ed471b10befcdf65a33e430000000000006a0000000064def9d99ff495856496c028c0'); - const sign_more_2 = (0, _test.apdu_as_string)('e00480009689732473fcd0bbbe000000000000a30000000001abf06640f8ca8fc5e0ed471b10befcdf65a33e430000000000006a00000000640000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000'); - const sign_more_3 = (0, _test.apdu_as_string)('e00480006100000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080'); - const current_screen = sim.getMainMenuSnapshot(); - await (0, _test.send_apdu)(eth.transport, set_plugin); - await (0, _test.send_apdu)(eth.transport, provide_nft_info); - await (0, _test.send_apdu)(eth.transport, sign_first); - await (0, _test.send_apdu)(eth.transport, sign_more_1); - await (0, _test.send_apdu)(eth.transport, sign_more_2); - let sign_promise = (0, _test.send_apdu)(eth.transport, sign_more_3); - await (0, _test.waitForAppScreen)(sim, current_screen); - await sim.navigateAndCompareSnapshots('.', model.name + '_erc1155_batch_transfer', [8, -1, 0]); - await sign_promise; -})); \ No newline at end of file diff --git a/tests/functional/lib/erc721.test.js b/tests/functional/lib/erc721.test.js deleted file mode 100644 index 0ca5ba4..0000000 --- a/tests/functional/lib/erc721.test.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _zemu = _interopRequireDefault(require("@zondax/zemu")); - -var _errors = require("@ledgerhq/errors"); - -var _test = require("./test.fixture"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// Only LNX -const model = _test.nano_models[1]; -const set_plugin = (0, _test.apdu_as_string)('e01600007301010645524337323160f80121c31a0d46b5279700f9df786054aa5ee542842e0e0000000000000001000147304502202e2282d7d3ea714da283010f517af469e1d59654aaee0fc438f017aa557eaea50221008b369679381065bbe01135723a4f9adb229295017d37c4d30138b90a51cf6ab6'); -const provide_nft_info = (0, _test.apdu_as_string)('e01400007001010752617269626c6560f80121c31a0d46b5279700f9df786054aa5ee500000000000000010001473045022025696986ef5f0ee2f72d9c6e41d7e2bf2e4f06373ab26d73ebe326c7fd4c7a6602210084f6b064d8750ae68ed5dd012296f37030390ec06ff534c5da6f0f4a4460af33'); -const sign_first = (0, _test.apdu_as_string)('e004000096058000002c8000003c800000000000000000000000f88a0a852c3ce1ec008301f5679460f80121c31a0d46b5279700f9df786054aa5ee580b86442842e0e0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c000000000000000000000000000000000000000000000000'); -const sign_more = (0, _test.apdu_as_string)('e00480000b0000000000112999018080'); -test('[Nano ' + model.letter + '] Transfer ERC-721', (0, _test.zemu)(model, async (sim, eth) => { - const current_screen = sim.getMainMenuSnapshot(); - await (0, _test.send_apdu)(eth.transport, set_plugin); - await (0, _test.send_apdu)(eth.transport, provide_nft_info); - await (0, _test.send_apdu)(eth.transport, sign_first); - let sign_promise = (0, _test.send_apdu)(eth.transport, sign_more); - await (0, _test.waitForAppScreen)(sim, current_screen); - await sim.navigateAndCompareSnapshots('.', model.name + '_erc721_transfer', [8, -1, 0]); - await sign_promise; -})); -test('[Nano ' + model.letter + '] Transfer ERC-721 w/o NFT_PROVIDE_INFORMATION', (0, _test.zemu)(model, async (sim, eth) => { - const current_screen = sim.getMainMenuSnapshot(); - await (0, _test.send_apdu)(eth.transport, set_plugin); - await (0, _test.send_apdu)(eth.transport, sign_first); - let sign_promise = (0, _test.send_apdu)(eth.transport, sign_more); - await (0, _test.waitForAppScreen)(sim, current_screen); - await sim.navigateAndCompareSnapshots('.', model.name + '_erc721_transfer_wo_info', [8, -1, 0]); - await sign_promise; -})); -test('[Nano ' + model.letter + '] Transfer ERC-721 w/o SET_PLUGIN', (0, _test.zemu)(model, async (sim, eth) => { - const current_screen = sim.getMainMenuSnapshot(); - await (0, _test.send_apdu)(eth.transport, provide_nft_info); - let sign_tx = (0, _test.send_apdu)(eth.transport, sign_first); - await expect(sign_tx).rejects.toEqual(new _errors.TransportStatusError(0x6a80)); -})); \ No newline at end of file diff --git a/tests/functional/lib/send.test.js b/tests/functional/lib/send.test.js deleted file mode 100644 index 1f14365..0000000 --- a/tests/functional/lib/send.test.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _test = require("./test.fixture"); - -var _errors = require("@ledgerhq/errors"); - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Transfer Ether on Ethereum app', (0, _test.zemu)(model, async (sim, eth) => { - const tx = eth.signTransaction("44'/60'/1'/0/0", 'EB44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF6181880018080'); - await (0, _test.waitForAppScreen)(sim); - let clicks; - if (model.letter === 'S') clicks = 9;else clicks = 5; - await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_ethereum', [clicks, -1, 0]); - await expect(tx).resolves.toEqual({ - "r": "6f389d15320f0501383526ed03de917c14212716f09a262dbc98431086a5db49", - "s": "0dc994b7b97230bb35fdf6fec2f4d8ff4cfb8bfeb2a652c364c738ff033c05dd", - "v": "26" - }); - })); -}); - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Transfer amount >= 2^87 Eth on Ethereum app should fail', (0, _test.zemu)(model, async (sim, eth) => { - const tx = eth.signTransaction("44'/60'/1'/0/0", 'f83f268e02cc9be5c53ea44bd43c289dcddc82520894dac17f958d2ee523a2206206994597c13d831ec7928db8b0861b8f7fe5df83cd553a829878000080018080'); - await expect(tx).rejects.toEqual(new _errors.TransportStatusError(0x6807)); - })); -}); - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Transfer Ether on network 5234 on Ethereum app', (0, _test.zemu)(model, async (sim, eth) => { - const tx = eth.signTransaction("44'/60'/1'/0/0", 'ED44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF61818808214728080'); - await (0, _test.waitForAppScreen)(sim); - let clicks; - if (model.letter === 'S') clicks = 10;else clicks = 6; - await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_ethereum_5234_network', [clicks, -1, 0]); - await expect(tx).resolves.toEqual({ - "r": "07a7982dfd16360c96a03467877d0cf9c36f799deff4dace250cdb18e28a3b90", - "s": "773318a93da2e32c1cf308ddd6add1e8c0d285973e541520a05fb4dc720e4fb1", - "v": "2908" - }); - })); -}); \ No newline at end of file diff --git a/tests/functional/lib/send_bsc.test.js b/tests/functional/lib/send_bsc.test.js deleted file mode 100644 index 19de165..0000000 --- a/tests/functional/lib/send_bsc.test.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _test = require("./test.fixture"); - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Transfer bsc', (0, _test.zemu)(model, async (sim, eth) => { - const tx = eth.signTransaction("44'/60'/1'/0/0", 'EB0185012A05F200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF6181880388080'); - await (0, _test.waitForAppScreen)(sim); - let clicks; - if (model.letter === 'S') clicks = 10;else clicks = 6; - await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_bsc', [clicks, -1, 0]); - await expect(tx).resolves.toEqual({ - "r": "f667cc34e9815df4f052fb3463cdbe355fff5c1acf4e919b3539806521a059ad", - "s": "6b35492b7108d9d9e1cc7aede536ed6b3173197b56dd873cbc3b43e041d6f407", - "v": "93" - }); - })); -}); \ No newline at end of file diff --git a/tests/functional/lib/send_etc.test.js b/tests/functional/lib/send_etc.test.js deleted file mode 100644 index 7c20863..0000000 --- a/tests/functional/lib/send_etc.test.js +++ /dev/null @@ -1,31 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _errors = require("@ledgerhq/errors"); - -var _test = require("./test.fixture"); - -_test.nano_models.forEach(function (model) { - test("[Nano " + model.letter + "] Transfer on Ethereum clone app", (0, _test.zemu)(model, async (sim, eth) => { - const tx = eth.signTransaction("44'/60'/0'/0/0", 'EB44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF61818803D8080'); - await (0, _test.waitForAppScreen)(sim); - let clicks; - if (model.letter === 'S') clicks = 9;else clicks = 5; - await sim.navigateAndCompareSnapshots('.', model.name + '_transfer_ethereum_clone', [clicks, -1, 0]); - await expect(tx).resolves.toEqual({ - "r": "60df850d297e355596f87dc313a742032de4b59c5579186b3d59bdf31402fec0", - "s": "23c3a2beacabc1943d487a2e1d545e4c46c718b1e70e9d1c11a98828c9338927", - "v": "9e" - }); - }, true)); -}); - -_test.nano_models.forEach(function (model) { - test("[Nano " + model.letter + "] Transfer on network 5234 on Ethereum clone", (0, _test.zemu)(model, async (sim, eth) => { - const tx = eth.signTransaction("44'/60'/0'/0/0", 'ED44850306DC4200825208945A321744667052AFFA8386ED49E00EF223CBFFC3876F9C9E7BF61818808214728080'); - await expect(tx).rejects.toEqual(new _errors.EthAppPleaseEnableContractData("Please enable Contract data on the Ethereum app Settings")); - }, true)); -}); \ No newline at end of file diff --git a/tests/functional/lib/starkware.test.js b/tests/functional/lib/starkware.test.js deleted file mode 100644 index 0d5dc76..0000000 --- a/tests/functional/lib/starkware.test.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -require("core-js/stable"); - -require("regenerator-runtime/runtime"); - -var _test = require("./test.fixture"); - -var _erc = require("@ledgerhq/hw-app-eth/erc20"); - -var _bignumber = require("bignumber.js"); - -_test.nano_models.forEach(function (model) { - test('[Nano ' + model.letter + '] Transfer Ether on Ethereum app', (0, _test.zemu)(model, async (sim, eth) => { - // Provide USDT token info to the app - const usdt_info = (0, _erc.byContractAddressAndChainId)("0xdac17f958d2ee523a2206206994597c13d831ec7", 1); - await eth.provideERC20TokenInformation(usdt_info); // Provide Stark quantum - - const quantization = new _bignumber.BigNumber(1); - await eth.starkProvideQuantum_v2("0xdac17f958d2ee523a2206206994597c13d831ec7", "erc20", quantization, null); - const tx = eth.signTransaction("44'/60'/1'/0/0", 'f8b5018a0472698b413b43200000825208940102030405060708090a0b0c0d0e0f1011121314872bd72a24874000b8842505c3d9010101010101010102020202020202020303030303030303040404040404040402ce625e94458d39dd0bf3b45a843544dd4a14b8169045a3a3d15aa564b936c500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000030d40808080'); - await (0, _test.waitForAppScreen)(sim); - let clicks; - if (model.letter === 'S') clicks = 14;else clicks = 10; - await sim.navigateAndCompareSnapshots('.', model.name + '_starkware_usdt_deposit', [clicks, -1, 0]); - await expect(tx).resolves.toEqual({ - "r": "14c368c0d32e399470d6113cf796c5f4cd70300766337d8b0ba71ecad21b3d52", - "s": "4207c027959e84fc2242a1f4fd955603f137ba28f67268ffc91fef5d65071b0a", - "v": "1c" - }); - })); -}); \ No newline at end of file diff --git a/tests/functional/lib/test.fixture.js b/tests/functional/lib/test.fixture.js deleted file mode 100644 index 6bc5e23..0000000 --- a/tests/functional/lib/test.fixture.js +++ /dev/null @@ -1,138 +0,0 @@ -"use strict"; - -var _zemu = _interopRequireWildcard(require("@zondax/zemu")); - -var _hwAppEth = _interopRequireDefault(require("@ledgerhq/hw-app-eth")); - -var _utils = require("ethers/lib/utils"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } - -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -const transactionUploadDelay = 60000; - -async function waitForAppScreen(sim, current_screen = null) { - if (current_screen === null) current_screen = sim.getMainMenuSnapshot(); - await sim.waitUntilScreenIsNot(current_screen, transactionUploadDelay); -} - -const sim_options_nano = { ..._zemu.DEFAULT_START_OPTIONS, - logging: true, - X11: true, - startText: 'is ready' -}; - -const Resolve = require('path').resolve; - -const NANOS_ELF_PATH = Resolve('elfs/ethereum_nanos.elf'); -const NANOX_ELF_PATH = Resolve('elfs/ethereum_nanox.elf'); -const NANOS_CLONE_ELF_PATH = Resolve("elfs/ethereum_classic_nanos.elf"); -const NANOX_CLONE_ELF_PATH = Resolve("elfs/ethereum_classic_nanox.elf"); -const nano_models = [{ - name: 'nanos', - letter: 'S', - path: NANOS_ELF_PATH, - clone_path: NANOS_CLONE_ELF_PATH -}, { - name: 'nanox', - letter: 'X', - path: NANOX_ELF_PATH, - clone_path: NANOX_CLONE_ELF_PATH -}]; -const TIMEOUT = 1000000; // useful to take an apdu as a hex string and convert its JS representation - -function apdu_as_string(str) { - let buffer = []; - - for (let i = 0; i < str.length; i += 2) { - const str_extract = str.substring(i, i + 2); - buffer[i / 2] = parseInt(str_extract, 16); - } - - return { - cla: buffer[0], - ins: buffer[1], - p1: buffer[2], - p2: buffer[3], - data: Buffer.from(buffer.slice(5)) - }; -} - -async function send_apdu(ts, apdu) { - return ts.send(apdu.cla, apdu.ins, apdu.p1, apdu.p2, apdu.data); -} // Generates a serializedTransaction from a rawHexTransaction copy pasted from etherscan. - - -function txFromEtherscan(rawTx) { - // Remove 0x prefix - rawTx = rawTx.slice(2); - let txType = rawTx.slice(0, 2); - - if (txType == "02" || txType == "01") { - // Remove "02" prefix - rawTx = rawTx.slice(2); - } else { - txType = ""; - } - - let decoded = _utils.RLP.decode("0x" + rawTx); - - if (txType != "") { - decoded = decoded.slice(0, decoded.length - 3); // remove v, r, s - } else { - decoded[decoded.length - 1] = "0x"; // empty - - decoded[decoded.length - 2] = "0x"; // empty - - decoded[decoded.length - 3] = "0x01"; // chainID 1 - } // Encode back the data, drop the '0x' prefix - - - let encoded = _utils.RLP.encode(decoded).slice(2); // Don't forget to prepend the txtype - - - return txType + encoded; -} - -function zemu(device, func, start_clone = false) { - return async () => { - jest.setTimeout(TIMEOUT); - let elf_path; - let lib_elf; - - if (start_clone) { - elf_path = device.clone_path; - lib_elf = { - 'Ethereum': device.path - }; - } else { - elf_path = device.path; - } - - const sim = new _zemu.default(elf_path, lib_elf); - - try { - await sim.start({ ...sim_options_nano, - model: device.name - }); - const transport = await sim.getTransport(); - await func(sim, new _hwAppEth.default(transport)); - } finally { - await sim.close(); - } - }; -} - -module.exports = { - zemu, - waitForAppScreen, - sim_options_nano, - nano_models, - TIMEOUT, - txFromEtherscan, - apdu_as_string, - send_apdu -}; \ No newline at end of file From 019f053634e3b9f81adf9660af9a6e7dfaf186c5 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 4 Mar 2022 12:04:38 +0100 Subject: [PATCH 03/69] feat: add tests folder --- tests/unit/.gitignore | 21 + tests/unit/CMakeLists.txt | 63 + tests/unit/Makefile | 42 + tests/unit/README.md | 32 + tests/unit/build/CMakeCache.txt | 873 ++++++++++ tests/unit/build/CMakeDoxyfile.in | 280 +++ tests/unit/build/CMakeDoxygenDefaults.cmake | 672 +++++++ .../CMakeFiles/3.16.3/CMakeCCompiler.cmake | 76 + .../3.16.3/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 16552 bytes .../build/CMakeFiles/3.16.3/CMakeSystem.cmake | 15 + .../3.16.3/CompilerIdC/CMakeCCompilerId.c | 671 +++++++ .../build/CMakeFiles/3.16.3/CompilerIdC/a.out | Bin 0 -> 16712 bytes .../CMakeDirectoryInformation.cmake | 16 + tests/unit/build/CMakeFiles/CMakeError.log | 19 + tests/unit/build/CMakeFiles/CMakeOutput.log | 1543 +++++++++++++++++ .../unit/build/CMakeFiles/CMakeRuleHashes.txt | 31 + .../CMAKE_SIZEOF_UNSIGNED_SHORT.bin | Bin 0 -> 16552 bytes .../CMAKE_SIZEOF_UNSIGNED_SHORT.c | 46 + .../Continuous.dir/DependInfo.cmake | 11 + .../CMakeFiles/Continuous.dir/build.make | 76 + .../Continuous.dir/cmake_clean.cmake | 8 + .../CMakeFiles/Continuous.dir/progress.make | 1 + .../ContinuousBuild.dir/DependInfo.cmake | 11 + .../CMakeFiles/ContinuousBuild.dir/build.make | 76 + .../ContinuousBuild.dir/cmake_clean.cmake | 8 + .../ContinuousBuild.dir/progress.make | 1 + .../ContinuousConfigure.dir/DependInfo.cmake | 11 + .../ContinuousConfigure.dir/build.make | 76 + .../ContinuousConfigure.dir/cmake_clean.cmake | 8 + .../ContinuousConfigure.dir/progress.make | 1 + .../ContinuousCoverage.dir/DependInfo.cmake | 11 + .../ContinuousCoverage.dir/build.make | 76 + .../ContinuousCoverage.dir/cmake_clean.cmake | 8 + .../ContinuousCoverage.dir/progress.make | 1 + .../ContinuousMemCheck.dir/DependInfo.cmake | 11 + .../ContinuousMemCheck.dir/build.make | 76 + .../ContinuousMemCheck.dir/cmake_clean.cmake | 8 + .../ContinuousMemCheck.dir/progress.make | 1 + .../ContinuousStart.dir/DependInfo.cmake | 11 + .../CMakeFiles/ContinuousStart.dir/build.make | 76 + .../ContinuousStart.dir/cmake_clean.cmake | 8 + .../ContinuousStart.dir/progress.make | 1 + .../ContinuousSubmit.dir/DependInfo.cmake | 11 + .../ContinuousSubmit.dir/build.make | 76 + .../ContinuousSubmit.dir/cmake_clean.cmake | 8 + .../ContinuousSubmit.dir/progress.make | 1 + .../ContinuousTest.dir/DependInfo.cmake | 11 + .../CMakeFiles/ContinuousTest.dir/build.make | 76 + .../ContinuousTest.dir/cmake_clean.cmake | 8 + .../ContinuousTest.dir/progress.make | 1 + .../ContinuousUpdate.dir/DependInfo.cmake | 11 + .../ContinuousUpdate.dir/build.make | 76 + .../ContinuousUpdate.dir/cmake_clean.cmake | 8 + .../ContinuousUpdate.dir/progress.make | 1 + .../Experimental.dir/DependInfo.cmake | 11 + .../CMakeFiles/Experimental.dir/build.make | 76 + .../Experimental.dir/cmake_clean.cmake | 8 + .../CMakeFiles/Experimental.dir/progress.make | 1 + .../ExperimentalBuild.dir/DependInfo.cmake | 11 + .../ExperimentalBuild.dir/build.make | 76 + .../ExperimentalBuild.dir/cmake_clean.cmake | 8 + .../ExperimentalBuild.dir/progress.make | 1 + .../DependInfo.cmake | 11 + .../ExperimentalConfigure.dir/build.make | 76 + .../cmake_clean.cmake | 8 + .../ExperimentalConfigure.dir/progress.make | 1 + .../ExperimentalCoverage.dir/DependInfo.cmake | 11 + .../ExperimentalCoverage.dir/build.make | 76 + .../cmake_clean.cmake | 8 + .../ExperimentalCoverage.dir/progress.make | 1 + .../ExperimentalMemCheck.dir/DependInfo.cmake | 11 + .../ExperimentalMemCheck.dir/build.make | 76 + .../cmake_clean.cmake | 8 + .../ExperimentalMemCheck.dir/progress.make | 1 + .../ExperimentalStart.dir/DependInfo.cmake | 11 + .../ExperimentalStart.dir/build.make | 76 + .../ExperimentalStart.dir/cmake_clean.cmake | 8 + .../ExperimentalStart.dir/progress.make | 1 + .../ExperimentalSubmit.dir/DependInfo.cmake | 11 + .../ExperimentalSubmit.dir/build.make | 76 + .../ExperimentalSubmit.dir/cmake_clean.cmake | 8 + .../ExperimentalSubmit.dir/progress.make | 1 + .../ExperimentalTest.dir/DependInfo.cmake | 11 + .../ExperimentalTest.dir/build.make | 76 + .../ExperimentalTest.dir/cmake_clean.cmake | 8 + .../ExperimentalTest.dir/progress.make | 1 + .../ExperimentalUpdate.dir/DependInfo.cmake | 11 + .../ExperimentalUpdate.dir/build.make | 76 + .../ExperimentalUpdate.dir/cmake_clean.cmake | 8 + .../ExperimentalUpdate.dir/progress.make | 1 + tests/unit/build/CMakeFiles/Makefile.cmake | 134 ++ tests/unit/build/CMakeFiles/Makefile2 | 1111 ++++++++++++ .../CMakeFiles/Nightly.dir/DependInfo.cmake | 11 + .../build/CMakeFiles/Nightly.dir/build.make | 76 + .../CMakeFiles/Nightly.dir/cmake_clean.cmake | 8 + .../CMakeFiles/Nightly.dir/progress.make | 1 + .../NightlyBuild.dir/DependInfo.cmake | 11 + .../CMakeFiles/NightlyBuild.dir/build.make | 76 + .../NightlyBuild.dir/cmake_clean.cmake | 8 + .../CMakeFiles/NightlyBuild.dir/progress.make | 1 + .../NightlyConfigure.dir/DependInfo.cmake | 11 + .../NightlyConfigure.dir/build.make | 76 + .../NightlyConfigure.dir/cmake_clean.cmake | 8 + .../NightlyConfigure.dir/progress.make | 1 + .../NightlyCoverage.dir/DependInfo.cmake | 11 + .../CMakeFiles/NightlyCoverage.dir/build.make | 76 + .../NightlyCoverage.dir/cmake_clean.cmake | 8 + .../NightlyCoverage.dir/progress.make | 1 + .../NightlyMemCheck.dir/DependInfo.cmake | 11 + .../CMakeFiles/NightlyMemCheck.dir/build.make | 76 + .../NightlyMemCheck.dir/cmake_clean.cmake | 8 + .../NightlyMemCheck.dir/progress.make | 1 + .../NightlyMemoryCheck.dir/DependInfo.cmake | 11 + .../NightlyMemoryCheck.dir/build.make | 76 + .../NightlyMemoryCheck.dir/cmake_clean.cmake | 8 + .../NightlyMemoryCheck.dir/progress.make | 1 + .../NightlyStart.dir/DependInfo.cmake | 11 + .../CMakeFiles/NightlyStart.dir/build.make | 76 + .../NightlyStart.dir/cmake_clean.cmake | 8 + .../CMakeFiles/NightlyStart.dir/progress.make | 1 + .../NightlySubmit.dir/DependInfo.cmake | 11 + .../CMakeFiles/NightlySubmit.dir/build.make | 76 + .../NightlySubmit.dir/cmake_clean.cmake | 8 + .../NightlySubmit.dir/progress.make | 1 + .../NightlyTest.dir/DependInfo.cmake | 11 + .../CMakeFiles/NightlyTest.dir/build.make | 76 + .../NightlyTest.dir/cmake_clean.cmake | 8 + .../CMakeFiles/NightlyTest.dir/progress.make | 1 + .../NightlyUpdate.dir/DependInfo.cmake | 11 + .../CMakeFiles/NightlyUpdate.dir/build.make | 76 + .../NightlyUpdate.dir/cmake_clean.cmake | 8 + .../NightlyUpdate.dir/progress.make | 1 + .../build/CMakeFiles/TargetDirectories.txt | 79 + tests/unit/build/CMakeFiles/TestEndianess.bin | Bin 0 -> 16544 bytes tests/unit/build/CMakeFiles/cmake.check_cache | 1 + tests/unit/build/CMakeFiles/progress.marks | 1 + .../CMakeFiles/test_main.dir/C.includecache | 20 + .../CMakeFiles/test_main.dir/DependInfo.cmake | 31 + .../build/CMakeFiles/test_main.dir/build.make | 99 ++ .../test_main.dir/cmake_clean.cmake | 10 + .../CMakeFiles/test_main.dir/depend.internal | 6 + .../CMakeFiles/test_main.dir/depend.make | 6 + .../build/CMakeFiles/test_main.dir/flags.make | 10 + .../build/CMakeFiles/test_main.dir/link.txt | 1 + .../CMakeFiles/test_main.dir/progress.make | 3 + .../test_main.dir/tests/main.c.gcda | Bin 0 -> 120 bytes .../test_main.dir/tests/main.c.gcno | Bin 0 -> 808 bytes .../CMakeFiles/test_main.dir/tests/main.c.o | Bin 0 -> 8016 bytes .../CMakeFiles/test_utils.dir/C.includecache | 20 + .../test_utils.dir/DependInfo.cmake | 32 + .../CMakeFiles/test_utils.dir/build.make | 100 ++ .../test_utils.dir/cmake_clean.cmake | 10 + .../CMakeFiles/test_utils.dir/depend.internal | 6 + .../CMakeFiles/test_utils.dir/depend.make | 6 + .../CMakeFiles/test_utils.dir/flags.make | 10 + .../build/CMakeFiles/test_utils.dir/link.txt | 1 + .../CMakeFiles/test_utils.dir/progress.make | 3 + .../test_utils.dir/tests/utils.c.gcda | Bin 0 -> 144 bytes .../test_utils.dir/tests/utils.c.gcno | Bin 0 -> 1180 bytes .../CMakeFiles/test_utils.dir/tests/utils.c.o | Bin 0 -> 8512 bytes .../build/CMakeFiles/utils.dir/C.includecache | 12 + .../CMakeFiles/utils.dir/DependInfo.cmake | 30 + .../build/CMakeFiles/utils.dir/build.make | 98 ++ .../CMakeFiles/utils.dir/cmake_clean.cmake | 10 + .../CMakeFiles/utils.dir/depend.internal | 5 + .../build/CMakeFiles/utils.dir/depend.make | 5 + .../build/CMakeFiles/utils.dir/flags.make | 10 + .../Projects/app-ethereum/src/utils2.c.gcda | Bin 0 -> 84 bytes .../Projects/app-ethereum/src/utils2.c.gcno | Bin 0 -> 892 bytes .../Projects/app-ethereum/src/utils2.c.o | Bin 0 -> 5648 bytes .../unit/build/CMakeFiles/utils.dir/link.txt | 1 + .../build/CMakeFiles/utils.dir/progress.make | 3 + tests/unit/build/CPackConfig.cmake | 94 + tests/unit/build/CPackSourceConfig.cmake | 100 ++ tests/unit/build/CTestTestfile.cmake | 9 + tests/unit/build/DartConfiguration.tcl | 105 ++ tests/unit/build/Makefile | 756 ++++++++ .../build/Testing/Temporary/CTestCostData.txt | 3 + .../unit/build/Testing/Temporary/LastTest.log | 23 + .../CMakeDirectoryInformation.cmake | 16 + .../CMakeFiles/dist.dir/DependInfo.cmake | 11 + .../CMakeFiles/dist.dir/build.make | 76 + .../CMakeFiles/dist.dir/cmake_clean.cmake | 8 + .../CMakeFiles/dist.dir/progress.make | 1 + .../cmocka-build/CMakeFiles/progress.marks | 1 + .../_deps/cmocka-build/CTestTestfile.cmake | 9 + .../_deps/cmocka-build/DartConfiguration.tcl | 105 ++ tests/unit/build/_deps/cmocka-build/Makefile | 236 +++ .../_deps/cmocka-build/cmake_install.cmake | 58 + .../cmocka-build/cmocka-config-version.cmake | 37 + .../_deps/cmocka-build/cmocka-config.cmake | 39 + tests/unit/build/_deps/cmocka-build/cmocka.pc | 5 + tests/unit/build/_deps/cmocka-build/config.h | 169 ++ .../CMakeDirectoryInformation.cmake | 16 + .../CMakeFiles/cmake_directory_clean.cmake | 3 + .../doc/CMakeFiles/docs.dir/DependInfo.cmake | 11 + .../doc/CMakeFiles/docs.dir/build.make | 78 + .../doc/CMakeFiles/docs.dir/cmake_clean.cmake | 8 + .../doc/CMakeFiles/docs.dir/progress.make | 2 + .../doc/CMakeFiles/progress.marks | 1 + .../cmocka-build/doc/CTestTestfile.cmake | 6 + .../_deps/cmocka-build/doc/Doxyfile.docs | 280 +++ .../build/_deps/cmocka-build/doc/Makefile | 236 +++ .../cmocka-build/doc/cmake_install.cmake | 39 + .../CMakeDirectoryInformation.cmake | 16 + .../include/CMakeFiles/progress.marks | 1 + .../cmocka-build/include/CTestTestfile.cmake | 6 + .../build/_deps/cmocka-build/include/Makefile | 220 +++ .../cmocka-build/include/cmake_install.cmake | 46 + .../CMakeDirectoryInformation.cmake | 16 + .../cmocka-static.dir/C.includecache | 58 + .../cmocka-static.dir/DependInfo.cmake | 24 + .../CMakeFiles/cmocka-static.dir/build.make | 99 ++ .../cmocka-static.dir/cmake_clean.cmake | 10 + .../cmake_clean_target.cmake | 3 + .../cmocka-static.dir/cmocka.c.gcno | Bin 0 -> 183608 bytes .../CMakeFiles/cmocka-static.dir/cmocka.c.o | Bin 0 -> 217456 bytes .../cmocka-static.dir/depend.internal | 8 + .../CMakeFiles/cmocka-static.dir/depend.make | 8 + .../CMakeFiles/cmocka-static.dir/flags.make | 10 + .../src/CMakeFiles/cmocka-static.dir/link.txt | 2 + .../cmocka-static.dir/progress.make | 3 + .../src/CMakeFiles/cmocka.dir/C.includecache | 58 + .../CMakeFiles/cmocka.dir/DependInfo.cmake | 36 + .../src/CMakeFiles/cmocka.dir/build.make | 105 ++ .../CMakeFiles/cmocka.dir/cmake_clean.cmake | 12 + .../src/CMakeFiles/cmocka.dir/cmocka.c.gcda | Bin 0 -> 10500 bytes .../src/CMakeFiles/cmocka.dir/cmocka.c.gcno | Bin 0 -> 183608 bytes .../src/CMakeFiles/cmocka.dir/cmocka.c.o | Bin 0 -> 217456 bytes .../src/CMakeFiles/cmocka.dir/depend.internal | 8 + .../src/CMakeFiles/cmocka.dir/depend.make | 8 + .../src/CMakeFiles/cmocka.dir/flags.make | 10 + .../src/CMakeFiles/cmocka.dir/link.txt | 1 + .../src/CMakeFiles/cmocka.dir/progress.make | 3 + .../src/CMakeFiles/progress.marks | 1 + .../cmocka-build/src/CTestTestfile.cmake | 6 + .../build/_deps/cmocka-build/src/Makefile | 285 +++ .../cmocka-build/src/cmake_install.cmake | 88 + .../_deps/cmocka-build/src/libcmocka-static.a | Bin 0 -> 218706 bytes .../build/_deps/cmocka-build/src/libcmocka.so | 1 + .../_deps/cmocka-build/src/libcmocka.so.0 | 1 + .../_deps/cmocka-build/src/libcmocka.so.0.7.0 | Bin 0 -> 161280 bytes tests/unit/build/_deps/cmocka-src | 1 + .../_deps/cmocka-subbuild/CMakeCache.txt | 114 ++ .../CMakeFiles/3.16.3/CMakeSystem.cmake | 15 + .../CMakeDirectoryInformation.cmake | 16 + .../CMakeFiles/CMakeOutput.log | 1 + .../CMakeFiles/CMakeRuleHashes.txt | 11 + .../cmocka-subbuild/CMakeFiles/Makefile.cmake | 42 + .../cmocka-subbuild/CMakeFiles/Makefile2 | 106 ++ .../CMakeFiles/TargetDirectories.txt | 3 + .../CMakeFiles/cmake.check_cache | 1 + .../CMakeFiles/cmocka-populate-complete | 0 .../cmocka-populate.dir/DependInfo.cmake | 11 + .../cmocka-populate.dir/Labels.json | 46 + .../CMakeFiles/cmocka-populate.dir/Labels.txt | 14 + .../CMakeFiles/cmocka-populate.dir/build.make | 147 ++ .../cmocka-populate.dir/cmake_clean.cmake | 17 + .../cmocka-populate.dir/depend.internal | 3 + .../cmocka-populate.dir/depend.make | 3 + .../cmocka-populate.dir/progress.make | 10 + .../cmocka-subbuild/CMakeFiles/progress.marks | 1 + .../_deps/cmocka-subbuild/CMakeLists.txt | 23 + .../unit/build/_deps/cmocka-subbuild/Makefile | 148 ++ .../_deps/cmocka-subbuild/cmake_install.cmake | 49 + .../cmocka-populate-build | 0 .../cmocka-populate-configure | 0 .../cmocka-populate-done | 0 .../cmocka-populate-download | 0 .../cmocka-populate-gitclone-lastrun.txt | 3 + .../cmocka-populate-gitinfo.txt | 3 + .../cmocka-populate-install | 0 .../cmocka-populate-mkdir | 0 .../cmocka-populate-patch | 0 .../cmocka-populate-test | 0 .../tmp/cmocka-populate-cfgcmd.txt | 1 + .../tmp/cmocka-populate-cfgcmd.txt.in | 1 + .../tmp/cmocka-populate-gitclone.cmake | 66 + .../tmp/cmocka-populate-gitupdate.cmake | 160 ++ tests/unit/build/cmake_install.cmake | 55 + tests/unit/build/compile_commands.json | 12 + tests/unit/build/libutils.so | Bin 0 -> 24792 bytes tests/unit/build/test_main | Bin 0 -> 26448 bytes tests/unit/build/test_utils | Bin 0 -> 34680 bytes tests/unit/tests/utils.c | 18 + 285 files changed, 13757 insertions(+) create mode 100644 tests/unit/.gitignore create mode 100644 tests/unit/CMakeLists.txt create mode 100644 tests/unit/Makefile create mode 100644 tests/unit/README.md create mode 100644 tests/unit/build/CMakeCache.txt create mode 100644 tests/unit/build/CMakeDoxyfile.in create mode 100644 tests/unit/build/CMakeDoxygenDefaults.cmake create mode 100644 tests/unit/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake create mode 100755 tests/unit/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin create mode 100644 tests/unit/build/CMakeFiles/3.16.3/CMakeSystem.cmake create mode 100644 tests/unit/build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c create mode 100755 tests/unit/build/CMakeFiles/3.16.3/CompilerIdC/a.out create mode 100644 tests/unit/build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 tests/unit/build/CMakeFiles/CMakeError.log create mode 100644 tests/unit/build/CMakeFiles/CMakeOutput.log create mode 100644 tests/unit/build/CMakeFiles/CMakeRuleHashes.txt create mode 100755 tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.bin create mode 100644 tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.c create mode 100644 tests/unit/build/CMakeFiles/Continuous.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/Continuous.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/Continuous.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/Continuous.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousBuild.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousBuild.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousConfigure.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousConfigure.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousCoverage.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousCoverage.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousStart.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousStart.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousSubmit.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousSubmit.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousTest.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousTest.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousUpdate.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ContinuousUpdate.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/Experimental.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/Experimental.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/Experimental.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/Experimental.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalBuild.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalBuild.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalStart.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalStart.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalTest.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalTest.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/Makefile.cmake create mode 100644 tests/unit/build/CMakeFiles/Makefile2 create mode 100644 tests/unit/build/CMakeFiles/Nightly.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/Nightly.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/Nightly.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/Nightly.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyBuild.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyBuild.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyConfigure.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyConfigure.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyCoverage.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyCoverage.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyMemCheck.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyMemCheck.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyStart.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyStart.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlySubmit.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlySubmit.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyTest.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyTest.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyUpdate.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/NightlyUpdate.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/TargetDirectories.txt create mode 100755 tests/unit/build/CMakeFiles/TestEndianess.bin create mode 100644 tests/unit/build/CMakeFiles/cmake.check_cache create mode 100644 tests/unit/build/CMakeFiles/progress.marks create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/C.includecache create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/depend.internal create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/depend.make create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/flags.make create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/link.txt create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcda create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcno create mode 100644 tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.o create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/C.includecache create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/depend.internal create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/depend.make create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/flags.make create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/link.txt create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/progress.make create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.gcda create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.gcno create mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.o create mode 100644 tests/unit/build/CMakeFiles/utils.dir/C.includecache create mode 100644 tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake create mode 100644 tests/unit/build/CMakeFiles/utils.dir/build.make create mode 100644 tests/unit/build/CMakeFiles/utils.dir/cmake_clean.cmake create mode 100644 tests/unit/build/CMakeFiles/utils.dir/depend.internal create mode 100644 tests/unit/build/CMakeFiles/utils.dir/depend.make create mode 100644 tests/unit/build/CMakeFiles/utils.dir/flags.make create mode 100644 tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcda create mode 100644 tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcno create mode 100644 tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o create mode 100644 tests/unit/build/CMakeFiles/utils.dir/link.txt create mode 100644 tests/unit/build/CMakeFiles/utils.dir/progress.make create mode 100644 tests/unit/build/CPackConfig.cmake create mode 100644 tests/unit/build/CPackSourceConfig.cmake create mode 100644 tests/unit/build/CTestTestfile.cmake create mode 100644 tests/unit/build/DartConfiguration.tcl create mode 100644 tests/unit/build/Makefile create mode 100644 tests/unit/build/Testing/Temporary/CTestCostData.txt create mode 100644 tests/unit/build/Testing/Temporary/LastTest.log create mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/build.make create mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/cmake_clean.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/progress.make create mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/progress.marks create mode 100644 tests/unit/build/_deps/cmocka-build/CTestTestfile.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/DartConfiguration.tcl create mode 100644 tests/unit/build/_deps/cmocka-build/Makefile create mode 100644 tests/unit/build/_deps/cmocka-build/cmake_install.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/cmocka-config-version.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/cmocka-config.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/cmocka.pc create mode 100644 tests/unit/build/_deps/cmocka-build/config.h create mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/cmake_directory_clean.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make create mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/cmake_clean.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/progress.make create mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/progress.marks create mode 100644 tests/unit/build/_deps/cmocka-build/doc/CTestTestfile.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/doc/Doxyfile.docs create mode 100644 tests/unit/build/_deps/cmocka-build/doc/Makefile create mode 100644 tests/unit/build/_deps/cmocka-build/doc/cmake_install.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/include/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/include/CMakeFiles/progress.marks create mode 100644 tests/unit/build/_deps/cmocka-build/include/CTestTestfile.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/include/Makefile create mode 100644 tests/unit/build/_deps/cmocka-build/include/cmake_install.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/C.includecache create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean_target.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.gcno create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend.internal create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend.make create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/flags.make create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/link.txt create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/progress.make create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/C.includecache create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmake_clean.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcda create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcno create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend.internal create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend.make create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/flags.make create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/link.txt create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/progress.make create mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/progress.marks create mode 100644 tests/unit/build/_deps/cmocka-build/src/CTestTestfile.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/src/Makefile create mode 100644 tests/unit/build/_deps/cmocka-build/src/cmake_install.cmake create mode 100644 tests/unit/build/_deps/cmocka-build/src/libcmocka-static.a create mode 120000 tests/unit/build/_deps/cmocka-build/src/libcmocka.so create mode 120000 tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0 create mode 100755 tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0.7.0 create mode 160000 tests/unit/build/_deps/cmocka-src create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeCache.txt create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/3.16.3/CMakeSystem.cmake create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/CMakeOutput.log create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/CMakeRuleHashes.txt create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/Makefile.cmake create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/Makefile2 create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/TargetDirectories.txt create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmake.check_cache create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate-complete create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/DependInfo.cmake create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/Labels.json create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/Labels.txt create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/build.make create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/cmake_clean.cmake create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/depend.internal create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/depend.make create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/progress.make create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/progress.marks create mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeLists.txt create mode 100644 tests/unit/build/_deps/cmocka-subbuild/Makefile create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmake_install.cmake create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-build create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-configure create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-done create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-download create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-gitclone-lastrun.txt create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-gitinfo.txt create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-install create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-mkdir create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-patch create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-test create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/tmp/cmocka-populate-cfgcmd.txt create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/tmp/cmocka-populate-cfgcmd.txt.in create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/tmp/cmocka-populate-gitclone.cmake create mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/tmp/cmocka-populate-gitupdate.cmake create mode 100644 tests/unit/build/cmake_install.cmake create mode 100644 tests/unit/build/compile_commands.json create mode 100755 tests/unit/build/libutils.so create mode 100755 tests/unit/build/test_main create mode 100755 tests/unit/build/test_utils create mode 100644 tests/unit/tests/utils.c diff --git a/tests/unit/.gitignore b/tests/unit/.gitignore new file mode 100644 index 0000000..b6fc032 --- /dev/null +++ b/tests/unit/.gitignore @@ -0,0 +1,21 @@ +# Editor Files and Folders + +.idea/ +.vscode/ +.DS_Store +*~ +\#*# + +# Build Files and Binaries + +*.log +*.o +*.so +*.dll +*.dylib +cmake-build-*/ +*build/ + +# Coverage file +coverage.info +coverage \ No newline at end of file diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt new file mode 100644 index 0000000..cf5b0d5 --- /dev/null +++ b/tests/unit/CMakeLists.txt @@ -0,0 +1,63 @@ +cmake_minimum_required(VERSION 3.10) + +if(${CMAKE_VERSION} VERSION_LESS 3.10) + cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) +endif() + +# project information +project(unit_tests + VERSION 0.1 + DESCRIPTION "Unit tests for C project" + LANGUAGES C) + + +# guard against bad build-type strings +if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Debug") +endif() + +include(CTest) +ENABLE_TESTING() + +# specify C standard +set(CMAKE_C_STANDARD 11) +set(CMAKE_C_STANDARD_REQUIRED True) +set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall -pedantic -g -O0 --coverage") + +set(GCC_COVERAGE_LINK_FLAGS "--coverage -lgcov") +set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}") + +# guard against in-source builds +if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) + message(FATAL_ERROR "In-source builds not allowed. Please make a new directory (called a build directory) and run CMake from there. You may need to remove CMakeCache.txt. ") +endif() + +# Fetch cmocka +find_package(cmocka QUIET) +include(FetchContent) +FetchContent_Declare( + cmocka + GIT_REPOSITORY https://git.cryptomilk.org/projects/cmocka.git + GIT_TAG cmocka-1.1.5 + GIT_SHALLOW 1 +) +set(WITH_STATIC_LIB ON CACHE BOOL "CMocka: Build with a static library" FORCE) +set(WITH_CMOCKERY_SUPPORT OFF CACHE BOOL "CMocka: Install a cmockery header" FORCE) +set(WITH_EXAMPLES OFF CACHE BOOL "CMocka: Build examples" FORCE) +set(UNIT_TESTING OFF CACHE BOOL "CMocka: Build with unit testing" FORCE) +set(PICKY_DEVELOPER OFF CACHE BOOL "CMocka: Build with picky developer flags" FORCE) +FetchContent_MakeAvailable(cmocka) + +add_compile_definitions(TEST DEBUG=0 SKIP_FOR_CMOCKA) + +include_directories(../../src/) +include_directories(../../src_common) + +add_executable(test_utils tests/utils.c) + +add_library(utils SHARED ../../src/utils2.c) + +target_link_libraries(test_utils PUBLIC cmocka gcov utils) + +add_test(test_utils test_utils) \ No newline at end of file diff --git a/tests/unit/Makefile b/tests/unit/Makefile new file mode 100644 index 0000000..c7762cb --- /dev/null +++ b/tests/unit/Makefile @@ -0,0 +1,42 @@ +MAKEFLAGS += --no-print-directory + +RM ?= rm -f +ECHO = `which echo` + +ifneq (,$(findstring xterm,${TERM})) +GREEN := $(shell tput -Txterm setaf 2) +RED := $(shell tput -Txterm setaf 1) +CYAN := $(shell tput -Txterm setaf 6) +RESET := $(shell tput -Txterm sgr0) +else +GREEN := "" +RED := "" +RESET := "" +endif + +BUILD_DIRECTORY = $(realpath build/) + +DIRECTORY_BUILD = build + +all: + @cmake -B ${DIRECTORY_BUILD} -H. + @make -C ${DIRECTORY_BUILD} + @CTEST_OUTPUT_ON_FAILURE=1 make -C ${DIRECTORY_BUILD} test + +coverage: all + @lcov --directory . -b "${BUILD_DIRECTORY}" --capture --initial -o coverage.base + @lcov --rc lcov_branch_coverage=1 --directory . -b "${BUILD_DIRECTORY}" --capture -o coverage.capture + @lcov --directory . -b "${BUILD_DIRECTORY}" --add-tracefile coverage.base --add-tracefile coverage.capture -o coverage.info + @lcov --directory . -b "${BUILD_DIRECTORY}" --remove coverage.info '*/unit-tests/*' -o coverage.info --remove coverage.info '*/build/_deps/cmocka-src/src/*' + @$(ECHO) -e "${GREEN}[ OK ]${RESET} Generated 'coverage.info'." + @genhtml coverage.info -o coverage + @if [ -f coverage.base ]; then $(ECHO) -e "${RED}[ RM ]${RESET}" coverage.base && $(RM) -r coverage.base ; fi; + @if [ -f coverage.capture ]; then $(ECHO) -e "${RED}[ RM ]${RESET}" coverage.capture && $(RM) -r coverage.capture ; fi; + @$(ECHO) -e "${CYAN}[ REDIRECT ]${RESET}" `realpath coverage/index.html` && xdg-open `realpath coverage/index.html` + +clean: + @if [ -d ${DIRECTORY_BUILD} ]; then $(ECHO) -e "${RED}[ RM ]${RESET}" ${DIRECTORY_BUILD} && $(RM) -r ${DIRECTORY_BUILD} ; fi; + @if [ -d coverage ]; then $(ECHO) -e "${RED}[ RM ]${RESET}" coverage && $(RM) -r coverage ; fi; + @if [ -f coverage.info ]; then $(ECHO) -e "${RED}[ RM ]${RESET}" coverage.info && $(RM) -r coverage.info ; fi; + +.PHONY: all tests clean \ No newline at end of file diff --git a/tests/unit/README.md b/tests/unit/README.md new file mode 100644 index 0000000..eb89951 --- /dev/null +++ b/tests/unit/README.md @@ -0,0 +1,32 @@ +# Unit tests + +It is important to unit test your functions. +This also allows you to document how your functions work. +We use the library [**cmocka**](https://cmocka.org/#features) + +## Requirement + +- [CMake >= 3.10](https://cmake.org/download/) +- [lcov >= 1.14](http://ltp.sourceforge.net/coverage/lcov.php) + +Don't worry, you don't necessarily need to install the `cmocka library` because the **cmakelist automatically fetches** the library + +## Usage + +### Build + +The `default rules` of makefile will compile the tests and run them. + +```sh +make +``` + +The `coverage rule` will launch the default rules and generate the coverage and you will be **automatically redirected** to the generated .html +```sh +make coverage +``` + +The `clean rule` will delete the folders and files generated +```sh +make clean +``` \ No newline at end of file diff --git a/tests/unit/build/CMakeCache.txt b/tests/unit/build/CMakeCache.txt new file mode 100644 index 0000000..afd28da --- /dev/null +++ b/tests/unit/build/CMakeCache.txt @@ -0,0 +1,873 @@ +# This is the CMakeCache file. +# For build in directory: /home/cseguret/Projects/app-ethereum/tests/unit/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Build the testing tree. +BUILD_TESTING:BOOL=ON + +//Path to a program. +BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//Flags used by the CXX compiler during ADDRESSSANITIZER builds. +CMAKE_CXX_FLAGS_ADDRESSSANITIZER:STRING=-g -O1 -fsanitize=address -fno-omit-frame-pointer + +//Flags used by the CXX compiler during MEMORYSANITIZER builds. +CMAKE_CXX_FLAGS_MEMORYSANITIZER:STRING=-g -O2 -fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer + +//Flags used by the CXX compiler during PROFILING builds. +CMAKE_CXX_FLAGS_PROFILING:STRING=-O0 -g -fprofile-arcs -ftest-coverage + +//Flags used by the CXX compiler during UNDEFINEDSANITIZER builds. +CMAKE_CXX_FLAGS_UNDEFINEDSANITIZER:STRING=-g -O1 -fsanitize=undefined -fsanitize=null -fsanitize=alignment -fno-sanitize-recover + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during ADDRESSSANITIZER builds. +CMAKE_C_FLAGS_ADDRESSSANITIZER:STRING=-g -O1 -fsanitize=address -fno-omit-frame-pointer + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MEMORYSANITIZER builds. +CMAKE_C_FLAGS_MEMORYSANITIZER:STRING=-g -O2 -fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during PROFILING builds. +CMAKE_C_FLAGS_PROFILING:STRING=-O0 -g -fprofile-arcs -ftest-coverage + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Flags used by the C compiler during UNDEFINEDSANITIZER builds. +CMAKE_C_FLAGS_UNDEFINEDSANITIZER:STRING=-g -O1 -fsanitize=undefined -fsanitize=null -fsanitize=alignment -fno-sanitize-recover + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during ADDRESSSANITIZER builds. +CMAKE_EXEC_LINKER_FLAGS_ADDRESSSANITIZER:STRING=-fsanitize=address + +//Flags used by the linker during MEMORYSANITIZER builds. +CMAKE_EXEC_LINKER_FLAGS_MEMORYSANITIZER:STRING=-fsanitize=memory + +//Flags used by the linker during PROFILING builds. +CMAKE_EXEC_LINKER_FLAGS_PROFILING:STRING=-fprofile-arcs -ftest-coverage + +//Flags used by the linker during UNDEFINEDSANITIZER builds. +CMAKE_EXEC_LINKER_FLAGS_UNDEFINEDSANITIZER:STRING=-fsanitize=undefined + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF + +//User executables (bin) +CMAKE_INSTALL_BINDIR:PATH=bin + +//Read-only architecture-independent data (DATAROOTDIR) +CMAKE_INSTALL_DATADIR:PATH= + +//Read-only architecture-independent data root (share) +CMAKE_INSTALL_DATAROOTDIR:PATH=share + +//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) +CMAKE_INSTALL_DOCDIR:PATH= + +//C header files (include) +CMAKE_INSTALL_INCLUDEDIR:PATH=include + +//Info documentation (DATAROOTDIR/info) +CMAKE_INSTALL_INFODIR:PATH= + +//Object code libraries (lib) +CMAKE_INSTALL_LIBDIR:PATH=lib + +//Program executables (libexec) +CMAKE_INSTALL_LIBEXECDIR:PATH=libexec + +//Locale-dependent data (DATAROOTDIR/locale) +CMAKE_INSTALL_LOCALEDIR:PATH= + +//Modifiable single-machine data (var) +CMAKE_INSTALL_LOCALSTATEDIR:PATH=var + +//Man documentation (DATAROOTDIR/man) +CMAKE_INSTALL_MANDIR:PATH= + +//C header files for non-gcc (/usr/include) +CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Run-time variable data (LOCALSTATEDIR/run) +CMAKE_INSTALL_RUNSTATEDIR:PATH= + +//System admin executables (sbin) +CMAKE_INSTALL_SBINDIR:PATH=sbin + +//Modifiable architecture-independent data (com) +CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com + +//Read-only single-machine data (etc) +CMAKE_INSTALL_SYSCONFDIR:PATH=etc + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during ADDRESSSANITIZER builds. +CMAKE_MODULE_LINKER_FLAGS_ADDRESSSANITIZER:STRING=-fsanitize=address + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MEMORYSANITIZER builds. +CMAKE_MODULE_LINKER_FLAGS_MEMORYSANITIZER:STRING=-fsanitize=memory + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during PROFILING builds. +CMAKE_MODULE_LINKER_FLAGS_PROFILING:STRING=-fprofile-arcs -ftest-coverage + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Flags used by the linker during the creation of shared libraries +// during UNDEFINEDSANITIZER builds. +CMAKE_MODULE_LINKER_FLAGS_UNDEFINEDSANITIZER:STRING=-fsanitize=undefined + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC=Unit tests for C project + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=unit_tests + +//Value Computed by CMake +CMAKE_PROJECT_VERSION:STATIC=0.1 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MAJOR:STATIC=0 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_MINOR:STATIC=1 + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_PATCH:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_VERSION_TWEAK:STATIC= + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during ADDRESSSANITIZER builds. +CMAKE_SHARED_LINKER_FLAGS_ADDRESSSANITIZER:STRING=-fsanitize=address + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MEMORYSANITIZER builds. +CMAKE_SHARED_LINKER_FLAGS_MEMORYSANITIZER:STRING=-fsanitize=memory + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during PROFILING builds. +CMAKE_SHARED_LINKER_FLAGS_PROFILING:STRING=-fprofile-arcs -ftest-coverage + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Flags used by the linker during the creation of shared libraries +// during UNDEFINEDSANITIZER builds. +CMAKE_SHARED_LINKER_FLAGS_UNDEFINEDSANITIZER:STRING=-fsanitize=undefined + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Path to include directory for cmocka_platform.h +CMOCKA_PLATFORM_INCLUDE:PATH= + +//Path to the coverage program that CTest uses for performing coverage +// inspection +COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov + +//Extra command line flags to pass to the coverage tool +COVERAGE_EXTRA_FLAGS:STRING=-l + +//Enable to build Debian packages +CPACK_BINARY_DEB:BOOL=OFF + +//Enable to build FreeBSD packages +CPACK_BINARY_FREEBSD:BOOL=OFF + +//Enable to build IFW packages +CPACK_BINARY_IFW:BOOL=OFF + +//Enable to build NSIS packages +CPACK_BINARY_NSIS:BOOL=OFF + +//Enable to build RPM packages +CPACK_BINARY_RPM:BOOL=OFF + +//Enable to build STGZ packages +CPACK_BINARY_STGZ:BOOL=ON + +//Enable to build TBZ2 packages +CPACK_BINARY_TBZ2:BOOL=OFF + +//Enable to build TGZ packages +CPACK_BINARY_TGZ:BOOL=ON + +//Enable to build TXZ packages +CPACK_BINARY_TXZ:BOOL=OFF + +//Enable to build TZ packages +CPACK_BINARY_TZ:BOOL=ON + +//How many times to retry timed-out CTest submissions. +CTEST_SUBMIT_RETRY_COUNT:STRING=3 + +//How long to wait between timed-out CTest submissions. +CTEST_SUBMIT_RETRY_DELAY:STRING=5 + +//Path to a program. +CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND + +//Options passed to the cvs update command. +CVS_UPDATE_OPTIONS:STRING=-d -A -P + +//Maximum time allowed before CTest will kill the test. +DART_TESTING_TIMEOUT:STRING=1500 + +//Dot tool for use with Doxygen +DOXYGEN_DOT_EXECUTABLE:FILEPATH=DOXYGEN_DOT_EXECUTABLE-NOTFOUND + +//Doxygen documentation generation tool (http://www.doxygen.org) +DOXYGEN_EXECUTABLE:FILEPATH=/usr/bin/doxygen + +//Directory under which to collect all populated content +FETCHCONTENT_BASE_DIR:PATH=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps + +//Disables all attempts to download or update content and assumes +// source dirs already exist +FETCHCONTENT_FULLY_DISCONNECTED:BOOL=OFF + +//Enables QUIET option for all content population +FETCHCONTENT_QUIET:BOOL=ON + +//When not empty, overrides where to find pre-populated content +// for cmocka +FETCHCONTENT_SOURCE_DIR_CMOCKA:PATH= + +//Enables UPDATE_DISCONNECTED behavior for all content population +FETCHCONTENT_UPDATES_DISCONNECTED:BOOL=OFF + +//Enables UPDATE_DISCONNECTED behavior just for population of cmocka +FETCHCONTENT_UPDATES_DISCONNECTED_CMOCKA:BOOL=OFF + +//Path to a program. +GITCOMMAND:FILEPATH=/usr/bin/git + +//Path to a program. +HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND + +//Command to build the project +MAKECOMMAND:STRING=/usr/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}" + +//Path to the memory checking command, used for memory error detection. +MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND + +//File that contains suppressions for the memory checker +MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= + +//Path to a program. +P4COMMAND:FILEPATH=P4COMMAND-NOTFOUND + +//Build with picky developer flags +PICKY_DEVELOPER:BOOL=OFF + +//Path to a library. +RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so + +//Name of the computer/site where compile is being run +SITE:STRING=LPPS0065 + +//Path to the SLURM sbatch executable +SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND + +//Path to the SLURM srun executable +SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND + +//Path to a program. +SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND + +//Build with unit testing +UNIT_TESTING:BOOL=OFF + +//Install a cmockery header +WITH_CMOCKERY_SUPPORT:BOOL=OFF + +//Build examples +WITH_EXAMPLES:BOOL=OFF + +//Build with a static library +WITH_STATIC_LIB:BOOL=ON + +//Value Computed by CMake +cmocka-header_BINARY_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include + +//Value Computed by CMake +cmocka-header_SOURCE_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include + +//Value Computed by CMake +cmocka-library_BINARY_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src + +//Value Computed by CMake +cmocka-library_SOURCE_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src + +//Value Computed by CMake +cmocka_BINARY_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build + +//The directory containing a CMake configuration file for cmocka. +cmocka_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/cmocka + +//Value Computed by CMake +cmocka_SOURCE_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src + +//Value Computed by CMake +unit_tests_BINARY_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build + +//Value Computed by CMake +unit_tests_SOURCE_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: BZRCOMMAND +BZRCOMMAND-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/cseguret/Projects/app-ethereum/tests/unit/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=16 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//ADVANCED property for variable: CMAKE_CTEST_COMMAND +CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/cseguret/Projects/app-ethereum/tests/unit +//ADVANCED property for variable: CMAKE_INSTALL_BINDIR +CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATADIR +CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR +CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR +CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR +CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_INFODIR +CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR +CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR +CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR +CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR +CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_MANDIR +CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR +CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR +CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR +CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR +CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR +CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=5 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.16 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//CHECK_TYPE_SIZE: sizeof(unsigned short) +CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//cmocka link libraries +CMOCKA_LINK_LIBRARIES:INTERNAL= +//ADVANCED property for variable: CMOCKA_PLATFORM_INCLUDE +CMOCKA_PLATFORM_INCLUDE-ADVANCED:INTERNAL=1 +//cmocka shared library +CMOCKA_SHARED_LIBRARY:INTERNAL=cmocka +//cmocka static library +CMOCKA_STATIC_LIBRARY:INTERNAL=cmocka-static +//ADVANCED property for variable: COVERAGE_COMMAND +COVERAGE_COMMAND-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: COVERAGE_EXTRA_FLAGS +COVERAGE_EXTRA_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_DEB +CPACK_BINARY_DEB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_FREEBSD +CPACK_BINARY_FREEBSD-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_IFW +CPACK_BINARY_IFW-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_NSIS +CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_RPM +CPACK_BINARY_RPM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_STGZ +CPACK_BINARY_STGZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_TBZ2 +CPACK_BINARY_TBZ2-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_TGZ +CPACK_BINARY_TGZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_TXZ +CPACK_BINARY_TXZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_TZ +CPACK_BINARY_TZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CTEST_SUBMIT_RETRY_COUNT +CTEST_SUBMIT_RETRY_COUNT-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CTEST_SUBMIT_RETRY_DELAY +CTEST_SUBMIT_RETRY_DELAY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CVSCOMMAND +CVSCOMMAND-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CVS_UPDATE_OPTIONS +CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: DART_TESTING_TIMEOUT +DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 +//Default C Compiler Flags +DEFAULT_C_COMPILE_FLAGS:INTERNAL=-std=gnu99;-Wpedantic;-Wall;-Wshadow;-Wmissing-prototypes;-Wcast-align;-Werror=address;-Wstrict-prototypes;-Werror=strict-prototypes;-Wwrite-strings;-Werror=write-strings;-Werror-implicit-function-declaration;-Wpointer-arith;-Werror=pointer-arith;-Wdeclaration-after-statement;-Werror=declaration-after-statement;-Wreturn-type;-Werror=return-type;-Wuninitialized;-Werror=uninitialized;-Wimplicit-fallthrough;-Werror=strict-overflow;-Wstrict-overflow=2;-Wno-format-zero-length;-Wmissing-field-initializers;-Wformat;-Wformat-security;-Werror=format-security;-fno-common;-fstack-protector-strong;-fstack-clash-protection +//Default C Linker Flags +DEFAULT_LINK_FLAGS:INTERNAL= +//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE +DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: DOXYGEN_EXECUTABLE +DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1 +//Details about finding Doxygen +FIND_PACKAGE_MESSAGE_DETAILS_Doxygen:INTERNAL=[/usr/bin/doxygen][cfound components: doxygen missing components: dot][v1.8.17()] +//ADVANCED property for variable: GITCOMMAND +GITCOMMAND-ADVANCED:INTERNAL=1 +//Have include assert.h +HAVE_ASSERT_H:INTERNAL=1 +//Have function calloc +HAVE_CALLOC:INTERNAL=1 +//Have function clock_gettime +HAVE_CLOCK_GETTIME:INTERNAL=1 +//Test HAVE_CLOCK_REALTIME +HAVE_CLOCK_REALTIME:INTERNAL=1 +//Result of TRY_COMPILE +HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE +//Have function exit +HAVE_EXIT:INTERNAL=1 +//Have function fprintf +HAVE_FPRINTF:INTERNAL=1 +//Have function free +HAVE_FREE:INTERNAL=1 +//Test HAVE_GCC_THREAD_LOCAL_STORAGE +HAVE_GCC_THREAD_LOCAL_STORAGE:INTERNAL=1 +//Have include inttypes.h +HAVE_INTTYPES_H:INTERNAL=1 +//Have include io.h +HAVE_IO_H:INTERNAL= +//Have function longjmp +HAVE_LONGJMP:INTERNAL=1 +//Have function malloc +HAVE_MALLOC:INTERNAL=1 +//Have include malloc.h +HAVE_MALLOC_H:INTERNAL=1 +//Have function memcpy +HAVE_MEMCPY:INTERNAL=1 +//Have include memory.h +HAVE_MEMORY_H:INTERNAL=1 +//Have function memset +HAVE_MEMSET:INTERNAL=1 +//Have function printf +HAVE_PRINTF:INTERNAL=1 +//Have function setjmp +HAVE_SETJMP:INTERNAL=1 +//Have include setjmp.h +HAVE_SETJMP_H:INTERNAL=1 +//Have function siglongjmp +HAVE_SIGLONGJMP:INTERNAL=1 +//Have function signal +HAVE_SIGNAL:INTERNAL=1 +//Have include signal.h +HAVE_SIGNAL_H:INTERNAL=1 +//Have function sprintf +HAVE_SNPRINTF:INTERNAL=1 +//Have include stdarg.h +HAVE_STDARG_H:INTERNAL=1 +//Have include stddef.h +HAVE_STDDEF_H:INTERNAL=1 +//Have include stdint.h +HAVE_STDINT_H:INTERNAL=1 +//Have include stdio.h +HAVE_STDIO_H:INTERNAL=1 +//Have include stdlib.h +HAVE_STDLIB_H:INTERNAL=1 +//Have function strcmp +HAVE_STRCMP:INTERNAL=1 +//Have include strings.h +HAVE_STRINGS_H:INTERNAL=1 +//Have include string.h +HAVE_STRING_H:INTERNAL=1 +//Have function strsignal +HAVE_STRSIGNAL:INTERNAL=1 +//Test HAVE_STRUCT_TIMESPEC +HAVE_STRUCT_TIMESPEC:INTERNAL=1 +//Have include sys/stat.h +HAVE_SYS_STAT_H:INTERNAL=1 +//Have include sys/types.h +HAVE_SYS_TYPES_H:INTERNAL=1 +//Have include time.h +HAVE_TIME_H:INTERNAL=1 +//Have include unistd.h +HAVE_UNISTD_H:INTERNAL=1 +//Have function vsnprintf +HAVE_VSNPRINTF:INTERNAL=1 +//Result of TRY_COMPILE +HAVE_WORDS_BIGENDIAN:INTERNAL=TRUE +//ADVANCED property for variable: HGCOMMAND +HGCOMMAND-ADVANCED:INTERNAL=1 +INCLUDE_INSTALL_DIR:INTERNAL=include +LIB_INSTALL_DIR:INTERNAL=lib +//ADVANCED property for variable: MAKECOMMAND +MAKECOMMAND-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: MEMORYCHECK_COMMAND +MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE +MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: P4COMMAND +P4COMMAND-ADVANCED:INTERNAL=1 +//Test REQUIRED_FLAGS_WERROR +REQUIRED_FLAGS_WERROR:INTERNAL=1 +//Test REQUIRED_FLAGS_WFORMAT +REQUIRED_FLAGS_WFORMAT:INTERNAL=1 +//ADVANCED property for variable: SITE +SITE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: SLURM_SBATCH_COMMAND +SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: SLURM_SRUN_COMMAND +SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: SVNCOMMAND +SVNCOMMAND-ADVANCED:INTERNAL=1 +//Test WITH_FNO_COMMON_FLAG +WITH_FNO_COMMON_FLAG:INTERNAL=1 +//Test WITH_STACK_CLASH_PROTECTION +WITH_STACK_CLASH_PROTECTION:INTERNAL=1 +//Test WITH_STACK_PROTECTOR_STRONG +WITH_STACK_PROTECTOR_STRONG:INTERNAL=1 +//Test WITH_STD_GNU99_FLAG +WITH_STD_GNU99_FLAG:INTERNAL=1 +//Test WITH_VISIBILITY_HIDDEN +WITH_VISIBILITY_HIDDEN:INTERNAL=1 +//Test WITH_WALL_FLAG +WITH_WALL_FLAG:INTERNAL=1 +//Test WITH_WCAST_ALIGN_FLAG +WITH_WCAST_ALIGN_FLAG:INTERNAL=1 +//Test WITH_WDECLARATION_AFTER_STATEMENT_FLAG +WITH_WDECLARATION_AFTER_STATEMENT_FLAG:INTERNAL=1 +//Test WITH_WERROR_ADDRESS_FLAG +WITH_WERROR_ADDRESS_FLAG:INTERNAL=1 +//Test WITH_WERROR_DECLARATION_AFTER_STATEMENT_FLAG +WITH_WERROR_DECLARATION_AFTER_STATEMENT_FLAG:INTERNAL=1 +//Test WITH_WERROR_FORMAT_SECURITY_FLAG +WITH_WERROR_FORMAT_SECURITY_FLAG:INTERNAL=1 +//Test WITH_WERROR_IMPLICIT_FUNCTION_DECLARATION_FLAG +WITH_WERROR_IMPLICIT_FUNCTION_DECLARATION_FLAG:INTERNAL=1 +//Test WITH_WERROR_POINTER_ARITH_FLAG +WITH_WERROR_POINTER_ARITH_FLAG:INTERNAL=1 +//Test WITH_WERROR_RETURN_TYPE_FLAG +WITH_WERROR_RETURN_TYPE_FLAG:INTERNAL=1 +//Test WITH_WERROR_STRICT_OVERFLOW_FLAG +WITH_WERROR_STRICT_OVERFLOW_FLAG:INTERNAL=1 +//Test WITH_WERROR_STRICT_PROTOTYPES_FLAG +WITH_WERROR_STRICT_PROTOTYPES_FLAG:INTERNAL=1 +//Test WITH_WERROR_UNINITIALIZED_FLAG +WITH_WERROR_UNINITIALIZED_FLAG:INTERNAL=1 +//Test WITH_WERROR_WRITE_STRINGS_FLAG +WITH_WERROR_WRITE_STRINGS_FLAG:INTERNAL=1 +//Test WITH_WFORMAT_SECURITY_FLAG +WITH_WFORMAT_SECURITY_FLAG:INTERNAL=1 +//Test WITH_WIMPLICIT_FALLTHROUGH_FLAG +WITH_WIMPLICIT_FALLTHROUGH_FLAG:INTERNAL=1 +//Test WITH_WMISSING_FIELD_INITIALIZERS_FLAG +WITH_WMISSING_FIELD_INITIALIZERS_FLAG:INTERNAL=1 +//Test WITH_WMISSING_PROTOTYPES_FLAG +WITH_WMISSING_PROTOTYPES_FLAG:INTERNAL=1 +//Test WITH_WNO_FORMAT_ZERO_LENGTH_FLAG +WITH_WNO_FORMAT_ZERO_LENGTH_FLAG:INTERNAL=1 +//Test WITH_WPEDANTIC_FLAG +WITH_WPEDANTIC_FLAG:INTERNAL=1 +//Test WITH_WPOINTER_ARITH_FLAG +WITH_WPOINTER_ARITH_FLAG:INTERNAL=1 +//Test WITH_WRETURN_TYPE_FLAG +WITH_WRETURN_TYPE_FLAG:INTERNAL=1 +//Test WITH_WSHADOW_FLAG +WITH_WSHADOW_FLAG:INTERNAL=1 +//Test WITH_WSTRICT_OVERFLOW_2_FLAG +WITH_WSTRICT_OVERFLOW_2_FLAG:INTERNAL=1 +//Test WITH_WSTRICT_PROTOTYPES_FLAG +WITH_WSTRICT_PROTOTYPES_FLAG:INTERNAL=1 +//Test WITH_WUNINITIALIZED_FLAG +WITH_WUNINITIALIZED_FLAG:INTERNAL=1 +//Test WITH_WWRITE_STRINGS_FLAG +WITH_WWRITE_STRINGS_FLAG:INTERNAL=1 +//Result of TEST_BIG_ENDIAN +WORDS_BIGENDIAN:INTERNAL=0 +//CMAKE_INSTALL_PREFIX during last run +_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local + diff --git a/tests/unit/build/CMakeDoxyfile.in b/tests/unit/build/CMakeDoxyfile.in new file mode 100644 index 0000000..848a3c8 --- /dev/null +++ b/tests/unit/build/CMakeDoxyfile.in @@ -0,0 +1,280 @@ +# +# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE! +# + +DOXYFILE_ENCODING = @DOXYGEN_DOXYFILE_ENCODING@ +PROJECT_NAME = @DOXYGEN_PROJECT_NAME@ +PROJECT_NUMBER = @DOXYGEN_PROJECT_NUMBER@ +PROJECT_BRIEF = @DOXYGEN_PROJECT_BRIEF@ +PROJECT_LOGO = @DOXYGEN_PROJECT_LOGO@ +OUTPUT_DIRECTORY = @DOXYGEN_OUTPUT_DIRECTORY@ +CREATE_SUBDIRS = @DOXYGEN_CREATE_SUBDIRS@ +ALLOW_UNICODE_NAMES = @DOXYGEN_ALLOW_UNICODE_NAMES@ +OUTPUT_LANGUAGE = @DOXYGEN_OUTPUT_LANGUAGE@ +OUTPUT_TEXT_DIRECTION = @DOXYGEN_OUTPUT_TEXT_DIRECTION@ +BRIEF_MEMBER_DESC = @DOXYGEN_BRIEF_MEMBER_DESC@ +REPEAT_BRIEF = @DOXYGEN_REPEAT_BRIEF@ +ABBREVIATE_BRIEF = @DOXYGEN_ABBREVIATE_BRIEF@ +ALWAYS_DETAILED_SEC = @DOXYGEN_ALWAYS_DETAILED_SEC@ +INLINE_INHERITED_MEMB = @DOXYGEN_INLINE_INHERITED_MEMB@ +FULL_PATH_NAMES = @DOXYGEN_FULL_PATH_NAMES@ +STRIP_FROM_PATH = @DOXYGEN_STRIP_FROM_PATH@ +STRIP_FROM_INC_PATH = @DOXYGEN_STRIP_FROM_INC_PATH@ +SHORT_NAMES = @DOXYGEN_SHORT_NAMES@ +JAVADOC_AUTOBRIEF = @DOXYGEN_JAVADOC_AUTOBRIEF@ +JAVADOC_BANNER = @DOXYGEN_JAVADOC_BANNER@ +QT_AUTOBRIEF = @DOXYGEN_QT_AUTOBRIEF@ +MULTILINE_CPP_IS_BRIEF = @DOXYGEN_MULTILINE_CPP_IS_BRIEF@ +INHERIT_DOCS = @DOXYGEN_INHERIT_DOCS@ +SEPARATE_MEMBER_PAGES = @DOXYGEN_SEPARATE_MEMBER_PAGES@ +TAB_SIZE = @DOXYGEN_TAB_SIZE@ +ALIASES = @DOXYGEN_ALIASES@ +TCL_SUBST = @DOXYGEN_TCL_SUBST@ +OPTIMIZE_OUTPUT_FOR_C = @DOXYGEN_OPTIMIZE_OUTPUT_FOR_C@ +OPTIMIZE_OUTPUT_JAVA = @DOXYGEN_OPTIMIZE_OUTPUT_JAVA@ +OPTIMIZE_FOR_FORTRAN = @DOXYGEN_OPTIMIZE_FOR_FORTRAN@ +OPTIMIZE_OUTPUT_VHDL = @DOXYGEN_OPTIMIZE_OUTPUT_VHDL@ +OPTIMIZE_OUTPUT_SLICE = @DOXYGEN_OPTIMIZE_OUTPUT_SLICE@ +EXTENSION_MAPPING = @DOXYGEN_EXTENSION_MAPPING@ +MARKDOWN_SUPPORT = @DOXYGEN_MARKDOWN_SUPPORT@ +TOC_INCLUDE_HEADINGS = @DOXYGEN_TOC_INCLUDE_HEADINGS@ +AUTOLINK_SUPPORT = @DOXYGEN_AUTOLINK_SUPPORT@ +BUILTIN_STL_SUPPORT = @DOXYGEN_BUILTIN_STL_SUPPORT@ +CPP_CLI_SUPPORT = @DOXYGEN_CPP_CLI_SUPPORT@ +SIP_SUPPORT = @DOXYGEN_SIP_SUPPORT@ +IDL_PROPERTY_SUPPORT = @DOXYGEN_IDL_PROPERTY_SUPPORT@ +DISTRIBUTE_GROUP_DOC = @DOXYGEN_DISTRIBUTE_GROUP_DOC@ +GROUP_NESTED_COMPOUNDS = @DOXYGEN_GROUP_NESTED_COMPOUNDS@ +SUBGROUPING = @DOXYGEN_SUBGROUPING@ +INLINE_GROUPED_CLASSES = @DOXYGEN_INLINE_GROUPED_CLASSES@ +INLINE_SIMPLE_STRUCTS = @DOXYGEN_INLINE_SIMPLE_STRUCTS@ +TYPEDEF_HIDES_STRUCT = @DOXYGEN_TYPEDEF_HIDES_STRUCT@ +LOOKUP_CACHE_SIZE = @DOXYGEN_LOOKUP_CACHE_SIZE@ +EXTRACT_ALL = @DOXYGEN_EXTRACT_ALL@ +EXTRACT_PRIVATE = @DOXYGEN_EXTRACT_PRIVATE@ +EXTRACT_PRIV_VIRTUAL = @DOXYGEN_EXTRACT_PRIV_VIRTUAL@ +EXTRACT_PACKAGE = @DOXYGEN_EXTRACT_PACKAGE@ +EXTRACT_STATIC = @DOXYGEN_EXTRACT_STATIC@ +EXTRACT_LOCAL_CLASSES = @DOXYGEN_EXTRACT_LOCAL_CLASSES@ +EXTRACT_LOCAL_METHODS = @DOXYGEN_EXTRACT_LOCAL_METHODS@ +EXTRACT_ANON_NSPACES = @DOXYGEN_EXTRACT_ANON_NSPACES@ +HIDE_UNDOC_MEMBERS = @DOXYGEN_HIDE_UNDOC_MEMBERS@ +HIDE_UNDOC_CLASSES = @DOXYGEN_HIDE_UNDOC_CLASSES@ +HIDE_FRIEND_COMPOUNDS = @DOXYGEN_HIDE_FRIEND_COMPOUNDS@ +HIDE_IN_BODY_DOCS = @DOXYGEN_HIDE_IN_BODY_DOCS@ +INTERNAL_DOCS = @DOXYGEN_INTERNAL_DOCS@ +CASE_SENSE_NAMES = @DOXYGEN_CASE_SENSE_NAMES@ +HIDE_SCOPE_NAMES = @DOXYGEN_HIDE_SCOPE_NAMES@ +HIDE_COMPOUND_REFERENCE= @DOXYGEN_HIDE_COMPOUND_REFERENCE@ +SHOW_INCLUDE_FILES = @DOXYGEN_SHOW_INCLUDE_FILES@ +SHOW_GROUPED_MEMB_INC = @DOXYGEN_SHOW_GROUPED_MEMB_INC@ +FORCE_LOCAL_INCLUDES = @DOXYGEN_FORCE_LOCAL_INCLUDES@ +INLINE_INFO = @DOXYGEN_INLINE_INFO@ +SORT_MEMBER_DOCS = @DOXYGEN_SORT_MEMBER_DOCS@ +SORT_BRIEF_DOCS = @DOXYGEN_SORT_BRIEF_DOCS@ +SORT_MEMBERS_CTORS_1ST = @DOXYGEN_SORT_MEMBERS_CTORS_1ST@ +SORT_GROUP_NAMES = @DOXYGEN_SORT_GROUP_NAMES@ +SORT_BY_SCOPE_NAME = @DOXYGEN_SORT_BY_SCOPE_NAME@ +STRICT_PROTO_MATCHING = @DOXYGEN_STRICT_PROTO_MATCHING@ +GENERATE_TODOLIST = @DOXYGEN_GENERATE_TODOLIST@ +GENERATE_TESTLIST = @DOXYGEN_GENERATE_TESTLIST@ +GENERATE_BUGLIST = @DOXYGEN_GENERATE_BUGLIST@ +GENERATE_DEPRECATEDLIST= @DOXYGEN_GENERATE_DEPRECATEDLIST@ +ENABLED_SECTIONS = @DOXYGEN_ENABLED_SECTIONS@ +MAX_INITIALIZER_LINES = @DOXYGEN_MAX_INITIALIZER_LINES@ +SHOW_USED_FILES = @DOXYGEN_SHOW_USED_FILES@ +SHOW_FILES = @DOXYGEN_SHOW_FILES@ +SHOW_NAMESPACES = @DOXYGEN_SHOW_NAMESPACES@ +FILE_VERSION_FILTER = @DOXYGEN_FILE_VERSION_FILTER@ +LAYOUT_FILE = @DOXYGEN_LAYOUT_FILE@ +CITE_BIB_FILES = @DOXYGEN_CITE_BIB_FILES@ +QUIET = @DOXYGEN_QUIET@ +WARNINGS = @DOXYGEN_WARNINGS@ +WARN_IF_UNDOCUMENTED = @DOXYGEN_WARN_IF_UNDOCUMENTED@ +WARN_IF_DOC_ERROR = @DOXYGEN_WARN_IF_DOC_ERROR@ +WARN_NO_PARAMDOC = @DOXYGEN_WARN_NO_PARAMDOC@ +WARN_AS_ERROR = @DOXYGEN_WARN_AS_ERROR@ +WARN_FORMAT = @DOXYGEN_WARN_FORMAT@ +WARN_LOGFILE = @DOXYGEN_WARN_LOGFILE@ +INPUT = @DOXYGEN_INPUT@ +INPUT_ENCODING = @DOXYGEN_INPUT_ENCODING@ +FILE_PATTERNS = @DOXYGEN_FILE_PATTERNS@ +RECURSIVE = @DOXYGEN_RECURSIVE@ +EXCLUDE = @DOXYGEN_EXCLUDE@ +EXCLUDE_SYMLINKS = @DOXYGEN_EXCLUDE_SYMLINKS@ +EXCLUDE_PATTERNS = @DOXYGEN_EXCLUDE_PATTERNS@ +EXCLUDE_SYMBOLS = @DOXYGEN_EXCLUDE_SYMBOLS@ +EXAMPLE_PATH = @DOXYGEN_EXAMPLE_PATH@ +EXAMPLE_PATTERNS = @DOXYGEN_EXAMPLE_PATTERNS@ +EXAMPLE_RECURSIVE = @DOXYGEN_EXAMPLE_RECURSIVE@ +IMAGE_PATH = @DOXYGEN_IMAGE_PATH@ +INPUT_FILTER = @DOXYGEN_INPUT_FILTER@ +FILTER_PATTERNS = @DOXYGEN_FILTER_PATTERNS@ +FILTER_SOURCE_FILES = @DOXYGEN_FILTER_SOURCE_FILES@ +FILTER_SOURCE_PATTERNS = @DOXYGEN_FILTER_SOURCE_PATTERNS@ +USE_MDFILE_AS_MAINPAGE = @DOXYGEN_USE_MDFILE_AS_MAINPAGE@ +SOURCE_BROWSER = @DOXYGEN_SOURCE_BROWSER@ +INLINE_SOURCES = @DOXYGEN_INLINE_SOURCES@ +STRIP_CODE_COMMENTS = @DOXYGEN_STRIP_CODE_COMMENTS@ +REFERENCED_BY_RELATION = @DOXYGEN_REFERENCED_BY_RELATION@ +REFERENCES_RELATION = @DOXYGEN_REFERENCES_RELATION@ +REFERENCES_LINK_SOURCE = @DOXYGEN_REFERENCES_LINK_SOURCE@ +SOURCE_TOOLTIPS = @DOXYGEN_SOURCE_TOOLTIPS@ +USE_HTAGS = @DOXYGEN_USE_HTAGS@ +VERBATIM_HEADERS = @DOXYGEN_VERBATIM_HEADERS@ +CLANG_ASSISTED_PARSING = @DOXYGEN_CLANG_ASSISTED_PARSING@ +CLANG_OPTIONS = @DOXYGEN_CLANG_OPTIONS@ +CLANG_DATABASE_PATH = @DOXYGEN_CLANG_DATABASE_PATH@ +ALPHABETICAL_INDEX = @DOXYGEN_ALPHABETICAL_INDEX@ +COLS_IN_ALPHA_INDEX = @DOXYGEN_COLS_IN_ALPHA_INDEX@ +IGNORE_PREFIX = @DOXYGEN_IGNORE_PREFIX@ +GENERATE_HTML = @DOXYGEN_GENERATE_HTML@ +HTML_OUTPUT = @DOXYGEN_HTML_OUTPUT@ +HTML_FILE_EXTENSION = @DOXYGEN_HTML_FILE_EXTENSION@ +HTML_HEADER = @DOXYGEN_HTML_HEADER@ +HTML_FOOTER = @DOXYGEN_HTML_FOOTER@ +HTML_STYLESHEET = @DOXYGEN_HTML_STYLESHEET@ +HTML_EXTRA_STYLESHEET = @DOXYGEN_HTML_EXTRA_STYLESHEET@ +HTML_EXTRA_FILES = @DOXYGEN_HTML_EXTRA_FILES@ +HTML_COLORSTYLE_HUE = @DOXYGEN_HTML_COLORSTYLE_HUE@ +HTML_COLORSTYLE_SAT = @DOXYGEN_HTML_COLORSTYLE_SAT@ +HTML_COLORSTYLE_GAMMA = @DOXYGEN_HTML_COLORSTYLE_GAMMA@ +HTML_TIMESTAMP = @DOXYGEN_HTML_TIMESTAMP@ +HTML_DYNAMIC_MENUS = @DOXYGEN_HTML_DYNAMIC_MENUS@ +HTML_DYNAMIC_SECTIONS = @DOXYGEN_HTML_DYNAMIC_SECTIONS@ +HTML_INDEX_NUM_ENTRIES = @DOXYGEN_HTML_INDEX_NUM_ENTRIES@ +GENERATE_DOCSET = @DOXYGEN_GENERATE_DOCSET@ +DOCSET_FEEDNAME = @DOXYGEN_DOCSET_FEEDNAME@ +DOCSET_BUNDLE_ID = @DOXYGEN_DOCSET_BUNDLE_ID@ +DOCSET_PUBLISHER_ID = @DOXYGEN_DOCSET_PUBLISHER_ID@ +DOCSET_PUBLISHER_NAME = @DOXYGEN_DOCSET_PUBLISHER_NAME@ +GENERATE_HTMLHELP = @DOXYGEN_GENERATE_HTMLHELP@ +CHM_FILE = @DOXYGEN_CHM_FILE@ +HHC_LOCATION = @DOXYGEN_HHC_LOCATION@ +GENERATE_CHI = @DOXYGEN_GENERATE_CHI@ +CHM_INDEX_ENCODING = @DOXYGEN_CHM_INDEX_ENCODING@ +BINARY_TOC = @DOXYGEN_BINARY_TOC@ +TOC_EXPAND = @DOXYGEN_TOC_EXPAND@ +GENERATE_QHP = @DOXYGEN_GENERATE_QHP@ +QCH_FILE = @DOXYGEN_QCH_FILE@ +QHP_NAMESPACE = @DOXYGEN_QHP_NAMESPACE@ +QHP_VIRTUAL_FOLDER = @DOXYGEN_QHP_VIRTUAL_FOLDER@ +QHP_CUST_FILTER_NAME = @DOXYGEN_QHP_CUST_FILTER_NAME@ +QHP_CUST_FILTER_ATTRS = @DOXYGEN_QHP_CUST_FILTER_ATTRS@ +QHP_SECT_FILTER_ATTRS = @DOXYGEN_QHP_SECT_FILTER_ATTRS@ +QHG_LOCATION = @DOXYGEN_QHG_LOCATION@ +GENERATE_ECLIPSEHELP = @DOXYGEN_GENERATE_ECLIPSEHELP@ +ECLIPSE_DOC_ID = @DOXYGEN_ECLIPSE_DOC_ID@ +DISABLE_INDEX = @DOXYGEN_DISABLE_INDEX@ +GENERATE_TREEVIEW = @DOXYGEN_GENERATE_TREEVIEW@ +ENUM_VALUES_PER_LINE = @DOXYGEN_ENUM_VALUES_PER_LINE@ +TREEVIEW_WIDTH = @DOXYGEN_TREEVIEW_WIDTH@ +EXT_LINKS_IN_WINDOW = @DOXYGEN_EXT_LINKS_IN_WINDOW@ +FORMULA_FONTSIZE = @DOXYGEN_FORMULA_FONTSIZE@ +FORMULA_TRANSPARENT = @DOXYGEN_FORMULA_TRANSPARENT@ +FORMULA_MACROFILE = @DOXYGEN_FORMULA_MACROFILE@ +USE_MATHJAX = @DOXYGEN_USE_MATHJAX@ +MATHJAX_FORMAT = @DOXYGEN_MATHJAX_FORMAT@ +MATHJAX_RELPATH = @DOXYGEN_MATHJAX_RELPATH@ +MATHJAX_EXTENSIONS = @DOXYGEN_MATHJAX_EXTENSIONS@ +MATHJAX_CODEFILE = @DOXYGEN_MATHJAX_CODEFILE@ +SEARCHENGINE = @DOXYGEN_SEARCHENGINE@ +SERVER_BASED_SEARCH = @DOXYGEN_SERVER_BASED_SEARCH@ +EXTERNAL_SEARCH = @DOXYGEN_EXTERNAL_SEARCH@ +SEARCHENGINE_URL = @DOXYGEN_SEARCHENGINE_URL@ +SEARCHDATA_FILE = @DOXYGEN_SEARCHDATA_FILE@ +EXTERNAL_SEARCH_ID = @DOXYGEN_EXTERNAL_SEARCH_ID@ +EXTRA_SEARCH_MAPPINGS = @DOXYGEN_EXTRA_SEARCH_MAPPINGS@ +GENERATE_LATEX = @DOXYGEN_GENERATE_LATEX@ +LATEX_OUTPUT = @DOXYGEN_LATEX_OUTPUT@ +LATEX_CMD_NAME = @DOXYGEN_LATEX_CMD_NAME@ +MAKEINDEX_CMD_NAME = @DOXYGEN_MAKEINDEX_CMD_NAME@ +LATEX_MAKEINDEX_CMD = @DOXYGEN_LATEX_MAKEINDEX_CMD@ +COMPACT_LATEX = @DOXYGEN_COMPACT_LATEX@ +PAPER_TYPE = @DOXYGEN_PAPER_TYPE@ +EXTRA_PACKAGES = @DOXYGEN_EXTRA_PACKAGES@ +LATEX_HEADER = @DOXYGEN_LATEX_HEADER@ +LATEX_FOOTER = @DOXYGEN_LATEX_FOOTER@ +LATEX_EXTRA_STYLESHEET = @DOXYGEN_LATEX_EXTRA_STYLESHEET@ +LATEX_EXTRA_FILES = @DOXYGEN_LATEX_EXTRA_FILES@ +PDF_HYPERLINKS = @DOXYGEN_PDF_HYPERLINKS@ +USE_PDFLATEX = @DOXYGEN_USE_PDFLATEX@ +LATEX_BATCHMODE = @DOXYGEN_LATEX_BATCHMODE@ +LATEX_HIDE_INDICES = @DOXYGEN_LATEX_HIDE_INDICES@ +LATEX_SOURCE_CODE = @DOXYGEN_LATEX_SOURCE_CODE@ +LATEX_BIB_STYLE = @DOXYGEN_LATEX_BIB_STYLE@ +LATEX_TIMESTAMP = @DOXYGEN_LATEX_TIMESTAMP@ +LATEX_EMOJI_DIRECTORY = @DOXYGEN_LATEX_EMOJI_DIRECTORY@ +GENERATE_RTF = @DOXYGEN_GENERATE_RTF@ +RTF_OUTPUT = @DOXYGEN_RTF_OUTPUT@ +COMPACT_RTF = @DOXYGEN_COMPACT_RTF@ +RTF_HYPERLINKS = @DOXYGEN_RTF_HYPERLINKS@ +RTF_STYLESHEET_FILE = @DOXYGEN_RTF_STYLESHEET_FILE@ +RTF_EXTENSIONS_FILE = @DOXYGEN_RTF_EXTENSIONS_FILE@ +RTF_SOURCE_CODE = @DOXYGEN_RTF_SOURCE_CODE@ +GENERATE_MAN = @DOXYGEN_GENERATE_MAN@ +MAN_OUTPUT = @DOXYGEN_MAN_OUTPUT@ +MAN_EXTENSION = @DOXYGEN_MAN_EXTENSION@ +MAN_SUBDIR = @DOXYGEN_MAN_SUBDIR@ +MAN_LINKS = @DOXYGEN_MAN_LINKS@ +GENERATE_XML = @DOXYGEN_GENERATE_XML@ +XML_OUTPUT = @DOXYGEN_XML_OUTPUT@ +XML_PROGRAMLISTING = @DOXYGEN_XML_PROGRAMLISTING@ +XML_NS_MEMB_FILE_SCOPE = @DOXYGEN_XML_NS_MEMB_FILE_SCOPE@ +GENERATE_DOCBOOK = @DOXYGEN_GENERATE_DOCBOOK@ +DOCBOOK_OUTPUT = @DOXYGEN_DOCBOOK_OUTPUT@ +DOCBOOK_PROGRAMLISTING = @DOXYGEN_DOCBOOK_PROGRAMLISTING@ +GENERATE_AUTOGEN_DEF = @DOXYGEN_GENERATE_AUTOGEN_DEF@ +GENERATE_PERLMOD = @DOXYGEN_GENERATE_PERLMOD@ +PERLMOD_LATEX = @DOXYGEN_PERLMOD_LATEX@ +PERLMOD_PRETTY = @DOXYGEN_PERLMOD_PRETTY@ +PERLMOD_MAKEVAR_PREFIX = @DOXYGEN_PERLMOD_MAKEVAR_PREFIX@ +ENABLE_PREPROCESSING = @DOXYGEN_ENABLE_PREPROCESSING@ +MACRO_EXPANSION = @DOXYGEN_MACRO_EXPANSION@ +EXPAND_ONLY_PREDEF = @DOXYGEN_EXPAND_ONLY_PREDEF@ +SEARCH_INCLUDES = @DOXYGEN_SEARCH_INCLUDES@ +INCLUDE_PATH = @DOXYGEN_INCLUDE_PATH@ +INCLUDE_FILE_PATTERNS = @DOXYGEN_INCLUDE_FILE_PATTERNS@ +PREDEFINED = @DOXYGEN_PREDEFINED@ +EXPAND_AS_DEFINED = @DOXYGEN_EXPAND_AS_DEFINED@ +SKIP_FUNCTION_MACROS = @DOXYGEN_SKIP_FUNCTION_MACROS@ +TAGFILES = @DOXYGEN_TAGFILES@ +GENERATE_TAGFILE = @DOXYGEN_GENERATE_TAGFILE@ +ALLEXTERNALS = @DOXYGEN_ALLEXTERNALS@ +EXTERNAL_GROUPS = @DOXYGEN_EXTERNAL_GROUPS@ +EXTERNAL_PAGES = @DOXYGEN_EXTERNAL_PAGES@ +CLASS_DIAGRAMS = @DOXYGEN_CLASS_DIAGRAMS@ +DIA_PATH = @DOXYGEN_DIA_PATH@ +HIDE_UNDOC_RELATIONS = @DOXYGEN_HIDE_UNDOC_RELATIONS@ +HAVE_DOT = @DOXYGEN_HAVE_DOT@ +DOT_NUM_THREADS = @DOXYGEN_DOT_NUM_THREADS@ +DOT_FONTNAME = @DOXYGEN_DOT_FONTNAME@ +DOT_FONTSIZE = @DOXYGEN_DOT_FONTSIZE@ +DOT_FONTPATH = @DOXYGEN_DOT_FONTPATH@ +CLASS_GRAPH = @DOXYGEN_CLASS_GRAPH@ +COLLABORATION_GRAPH = @DOXYGEN_COLLABORATION_GRAPH@ +GROUP_GRAPHS = @DOXYGEN_GROUP_GRAPHS@ +UML_LOOK = @DOXYGEN_UML_LOOK@ +UML_LIMIT_NUM_FIELDS = @DOXYGEN_UML_LIMIT_NUM_FIELDS@ +TEMPLATE_RELATIONS = @DOXYGEN_TEMPLATE_RELATIONS@ +INCLUDE_GRAPH = @DOXYGEN_INCLUDE_GRAPH@ +INCLUDED_BY_GRAPH = @DOXYGEN_INCLUDED_BY_GRAPH@ +CALL_GRAPH = @DOXYGEN_CALL_GRAPH@ +CALLER_GRAPH = @DOXYGEN_CALLER_GRAPH@ +GRAPHICAL_HIERARCHY = @DOXYGEN_GRAPHICAL_HIERARCHY@ +DIRECTORY_GRAPH = @DOXYGEN_DIRECTORY_GRAPH@ +DOT_IMAGE_FORMAT = @DOXYGEN_DOT_IMAGE_FORMAT@ +INTERACTIVE_SVG = @DOXYGEN_INTERACTIVE_SVG@ +DOT_PATH = @DOXYGEN_DOT_PATH@ +DOTFILE_DIRS = @DOXYGEN_DOTFILE_DIRS@ +MSCFILE_DIRS = @DOXYGEN_MSCFILE_DIRS@ +DIAFILE_DIRS = @DOXYGEN_DIAFILE_DIRS@ +PLANTUML_JAR_PATH = @DOXYGEN_PLANTUML_JAR_PATH@ +PLANTUML_CFG_FILE = @DOXYGEN_PLANTUML_CFG_FILE@ +PLANTUML_INCLUDE_PATH = @DOXYGEN_PLANTUML_INCLUDE_PATH@ +DOT_GRAPH_MAX_NODES = @DOXYGEN_DOT_GRAPH_MAX_NODES@ +MAX_DOT_GRAPH_DEPTH = @DOXYGEN_MAX_DOT_GRAPH_DEPTH@ +DOT_TRANSPARENT = @DOXYGEN_DOT_TRANSPARENT@ +DOT_MULTI_TARGETS = @DOXYGEN_DOT_MULTI_TARGETS@ +GENERATE_LEGEND = @DOXYGEN_GENERATE_LEGEND@ +DOT_CLEANUP = @DOXYGEN_DOT_CLEANUP@ diff --git a/tests/unit/build/CMakeDoxygenDefaults.cmake b/tests/unit/build/CMakeDoxygenDefaults.cmake new file mode 100644 index 0000000..db28798 --- /dev/null +++ b/tests/unit/build/CMakeDoxygenDefaults.cmake @@ -0,0 +1,672 @@ +# +# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE! +# + +if(NOT DEFINED DOXYGEN_DOXYFILE_ENCODING) + set(DOXYGEN_DOXYFILE_ENCODING UTF-8) +endif() +if(NOT DEFINED DOXYGEN_PROJECT_NAME) + set(DOXYGEN_PROJECT_NAME "My Project") +endif() +if(NOT DEFINED DOXYGEN_CREATE_SUBDIRS) + set(DOXYGEN_CREATE_SUBDIRS NO) +endif() +if(NOT DEFINED DOXYGEN_ALLOW_UNICODE_NAMES) + set(DOXYGEN_ALLOW_UNICODE_NAMES NO) +endif() +if(NOT DEFINED DOXYGEN_OUTPUT_LANGUAGE) + set(DOXYGEN_OUTPUT_LANGUAGE English) +endif() +if(NOT DEFINED DOXYGEN_OUTPUT_TEXT_DIRECTION) + set(DOXYGEN_OUTPUT_TEXT_DIRECTION None) +endif() +if(NOT DEFINED DOXYGEN_BRIEF_MEMBER_DESC) + set(DOXYGEN_BRIEF_MEMBER_DESC YES) +endif() +if(NOT DEFINED DOXYGEN_REPEAT_BRIEF) + set(DOXYGEN_REPEAT_BRIEF YES) +endif() +if(NOT DEFINED DOXYGEN_ABBREVIATE_BRIEF) + set(DOXYGEN_ABBREVIATE_BRIEF "The $name class" + "The $name widget" + "The $name file" + is + provides + specifies + contains + represents + a + an + the) +endif() +if(NOT DEFINED DOXYGEN_ALWAYS_DETAILED_SEC) + set(DOXYGEN_ALWAYS_DETAILED_SEC NO) +endif() +if(NOT DEFINED DOXYGEN_INLINE_INHERITED_MEMB) + set(DOXYGEN_INLINE_INHERITED_MEMB NO) +endif() +if(NOT DEFINED DOXYGEN_FULL_PATH_NAMES) + set(DOXYGEN_FULL_PATH_NAMES YES) +endif() +if(NOT DEFINED DOXYGEN_SHORT_NAMES) + set(DOXYGEN_SHORT_NAMES NO) +endif() +if(NOT DEFINED DOXYGEN_JAVADOC_AUTOBRIEF) + set(DOXYGEN_JAVADOC_AUTOBRIEF NO) +endif() +if(NOT DEFINED DOXYGEN_JAVADOC_BANNER) + set(DOXYGEN_JAVADOC_BANNER NO) +endif() +if(NOT DEFINED DOXYGEN_QT_AUTOBRIEF) + set(DOXYGEN_QT_AUTOBRIEF NO) +endif() +if(NOT DEFINED DOXYGEN_MULTILINE_CPP_IS_BRIEF) + set(DOXYGEN_MULTILINE_CPP_IS_BRIEF NO) +endif() +if(NOT DEFINED DOXYGEN_INHERIT_DOCS) + set(DOXYGEN_INHERIT_DOCS YES) +endif() +if(NOT DEFINED DOXYGEN_SEPARATE_MEMBER_PAGES) + set(DOXYGEN_SEPARATE_MEMBER_PAGES NO) +endif() +if(NOT DEFINED DOXYGEN_TAB_SIZE) + set(DOXYGEN_TAB_SIZE 4) +endif() +if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_FOR_C) + set(DOXYGEN_OPTIMIZE_OUTPUT_FOR_C NO) +endif() +if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_JAVA) + set(DOXYGEN_OPTIMIZE_OUTPUT_JAVA NO) +endif() +if(NOT DEFINED DOXYGEN_OPTIMIZE_FOR_FORTRAN) + set(DOXYGEN_OPTIMIZE_FOR_FORTRAN NO) +endif() +if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_VHDL) + set(DOXYGEN_OPTIMIZE_OUTPUT_VHDL NO) +endif() +if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_SLICE) + set(DOXYGEN_OPTIMIZE_OUTPUT_SLICE NO) +endif() +if(NOT DEFINED DOXYGEN_MARKDOWN_SUPPORT) + set(DOXYGEN_MARKDOWN_SUPPORT YES) +endif() +if(NOT DEFINED DOXYGEN_TOC_INCLUDE_HEADINGS) + set(DOXYGEN_TOC_INCLUDE_HEADINGS 5) +endif() +if(NOT DEFINED DOXYGEN_AUTOLINK_SUPPORT) + set(DOXYGEN_AUTOLINK_SUPPORT YES) +endif() +if(NOT DEFINED DOXYGEN_BUILTIN_STL_SUPPORT) + set(DOXYGEN_BUILTIN_STL_SUPPORT NO) +endif() +if(NOT DEFINED DOXYGEN_CPP_CLI_SUPPORT) + set(DOXYGEN_CPP_CLI_SUPPORT NO) +endif() +if(NOT DEFINED DOXYGEN_SIP_SUPPORT) + set(DOXYGEN_SIP_SUPPORT NO) +endif() +if(NOT DEFINED DOXYGEN_IDL_PROPERTY_SUPPORT) + set(DOXYGEN_IDL_PROPERTY_SUPPORT YES) +endif() +if(NOT DEFINED DOXYGEN_DISTRIBUTE_GROUP_DOC) + set(DOXYGEN_DISTRIBUTE_GROUP_DOC NO) +endif() +if(NOT DEFINED DOXYGEN_GROUP_NESTED_COMPOUNDS) + set(DOXYGEN_GROUP_NESTED_COMPOUNDS NO) +endif() +if(NOT DEFINED DOXYGEN_SUBGROUPING) + set(DOXYGEN_SUBGROUPING YES) +endif() +if(NOT DEFINED DOXYGEN_INLINE_GROUPED_CLASSES) + set(DOXYGEN_INLINE_GROUPED_CLASSES NO) +endif() +if(NOT DEFINED DOXYGEN_INLINE_SIMPLE_STRUCTS) + set(DOXYGEN_INLINE_SIMPLE_STRUCTS NO) +endif() +if(NOT DEFINED DOXYGEN_TYPEDEF_HIDES_STRUCT) + set(DOXYGEN_TYPEDEF_HIDES_STRUCT NO) +endif() +if(NOT DEFINED DOXYGEN_LOOKUP_CACHE_SIZE) + set(DOXYGEN_LOOKUP_CACHE_SIZE 0) +endif() +if(NOT DEFINED DOXYGEN_EXTRACT_ALL) + set(DOXYGEN_EXTRACT_ALL NO) +endif() +if(NOT DEFINED DOXYGEN_EXTRACT_PRIVATE) + set(DOXYGEN_EXTRACT_PRIVATE NO) +endif() +if(NOT DEFINED DOXYGEN_EXTRACT_PRIV_VIRTUAL) + set(DOXYGEN_EXTRACT_PRIV_VIRTUAL NO) +endif() +if(NOT DEFINED DOXYGEN_EXTRACT_PACKAGE) + set(DOXYGEN_EXTRACT_PACKAGE NO) +endif() +if(NOT DEFINED DOXYGEN_EXTRACT_STATIC) + set(DOXYGEN_EXTRACT_STATIC NO) +endif() +if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_CLASSES) + set(DOXYGEN_EXTRACT_LOCAL_CLASSES YES) +endif() +if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_METHODS) + set(DOXYGEN_EXTRACT_LOCAL_METHODS NO) +endif() +if(NOT DEFINED DOXYGEN_EXTRACT_ANON_NSPACES) + set(DOXYGEN_EXTRACT_ANON_NSPACES NO) +endif() +if(NOT DEFINED DOXYGEN_HIDE_UNDOC_MEMBERS) + set(DOXYGEN_HIDE_UNDOC_MEMBERS NO) +endif() +if(NOT DEFINED DOXYGEN_HIDE_UNDOC_CLASSES) + set(DOXYGEN_HIDE_UNDOC_CLASSES NO) +endif() +if(NOT DEFINED DOXYGEN_HIDE_FRIEND_COMPOUNDS) + set(DOXYGEN_HIDE_FRIEND_COMPOUNDS NO) +endif() +if(NOT DEFINED DOXYGEN_HIDE_IN_BODY_DOCS) + set(DOXYGEN_HIDE_IN_BODY_DOCS NO) +endif() +if(NOT DEFINED DOXYGEN_INTERNAL_DOCS) + set(DOXYGEN_INTERNAL_DOCS NO) +endif() +if(NOT DEFINED DOXYGEN_CASE_SENSE_NAMES) + set(DOXYGEN_CASE_SENSE_NAMES YES) +endif() +if(NOT DEFINED DOXYGEN_HIDE_SCOPE_NAMES) + set(DOXYGEN_HIDE_SCOPE_NAMES NO) +endif() +if(NOT DEFINED DOXYGEN_HIDE_COMPOUND_REFERENCE) + set(DOXYGEN_HIDE_COMPOUND_REFERENCE NO) +endif() +if(NOT DEFINED DOXYGEN_SHOW_INCLUDE_FILES) + set(DOXYGEN_SHOW_INCLUDE_FILES YES) +endif() +if(NOT DEFINED DOXYGEN_SHOW_GROUPED_MEMB_INC) + set(DOXYGEN_SHOW_GROUPED_MEMB_INC NO) +endif() +if(NOT DEFINED DOXYGEN_FORCE_LOCAL_INCLUDES) + set(DOXYGEN_FORCE_LOCAL_INCLUDES NO) +endif() +if(NOT DEFINED DOXYGEN_INLINE_INFO) + set(DOXYGEN_INLINE_INFO YES) +endif() +if(NOT DEFINED DOXYGEN_SORT_MEMBER_DOCS) + set(DOXYGEN_SORT_MEMBER_DOCS YES) +endif() +if(NOT DEFINED DOXYGEN_SORT_BRIEF_DOCS) + set(DOXYGEN_SORT_BRIEF_DOCS NO) +endif() +if(NOT DEFINED DOXYGEN_SORT_MEMBERS_CTORS_1ST) + set(DOXYGEN_SORT_MEMBERS_CTORS_1ST NO) +endif() +if(NOT DEFINED DOXYGEN_SORT_GROUP_NAMES) + set(DOXYGEN_SORT_GROUP_NAMES NO) +endif() +if(NOT DEFINED DOXYGEN_SORT_BY_SCOPE_NAME) + set(DOXYGEN_SORT_BY_SCOPE_NAME NO) +endif() +if(NOT DEFINED DOXYGEN_STRICT_PROTO_MATCHING) + set(DOXYGEN_STRICT_PROTO_MATCHING NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_TODOLIST) + set(DOXYGEN_GENERATE_TODOLIST YES) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_TESTLIST) + set(DOXYGEN_GENERATE_TESTLIST YES) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_BUGLIST) + set(DOXYGEN_GENERATE_BUGLIST YES) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_DEPRECATEDLIST) + set(DOXYGEN_GENERATE_DEPRECATEDLIST YES) +endif() +if(NOT DEFINED DOXYGEN_MAX_INITIALIZER_LINES) + set(DOXYGEN_MAX_INITIALIZER_LINES 30) +endif() +if(NOT DEFINED DOXYGEN_SHOW_USED_FILES) + set(DOXYGEN_SHOW_USED_FILES YES) +endif() +if(NOT DEFINED DOXYGEN_SHOW_FILES) + set(DOXYGEN_SHOW_FILES YES) +endif() +if(NOT DEFINED DOXYGEN_SHOW_NAMESPACES) + set(DOXYGEN_SHOW_NAMESPACES YES) +endif() +if(NOT DEFINED DOXYGEN_QUIET) + set(DOXYGEN_QUIET NO) +endif() +if(NOT DEFINED DOXYGEN_WARNINGS) + set(DOXYGEN_WARNINGS YES) +endif() +if(NOT DEFINED DOXYGEN_WARN_IF_UNDOCUMENTED) + set(DOXYGEN_WARN_IF_UNDOCUMENTED YES) +endif() +if(NOT DEFINED DOXYGEN_WARN_IF_DOC_ERROR) + set(DOXYGEN_WARN_IF_DOC_ERROR YES) +endif() +if(NOT DEFINED DOXYGEN_WARN_NO_PARAMDOC) + set(DOXYGEN_WARN_NO_PARAMDOC NO) +endif() +if(NOT DEFINED DOXYGEN_WARN_AS_ERROR) + set(DOXYGEN_WARN_AS_ERROR NO) +endif() +if(NOT DEFINED DOXYGEN_WARN_FORMAT) + set(DOXYGEN_WARN_FORMAT "$file:$line: $text") +endif() +if(NOT DEFINED DOXYGEN_INPUT_ENCODING) + set(DOXYGEN_INPUT_ENCODING UTF-8) +endif() +if(NOT DEFINED DOXYGEN_FILE_PATTERNS) + set(DOXYGEN_FILE_PATTERNS *.c + *.cc + *.cxx + *.cpp + *.c++ + *.java + *.ii + *.ixx + *.ipp + *.i++ + *.inl + *.idl + *.ddl + *.odl + *.h + *.hh + *.hxx + *.hpp + *.h++ + *.cs + *.d + *.php + *.php4 + *.php5 + *.phtml + *.inc + *.m + *.markdown + *.md + *.mm + *.dox + *.doc + *.txt + *.py + *.pyw + *.f90 + *.f95 + *.f03 + *.f08 + *.f + *.for + *.tcl + *.vhd + *.vhdl + *.ucf + *.qsf + *.ice) +endif() +if(NOT DEFINED DOXYGEN_RECURSIVE) + set(DOXYGEN_RECURSIVE NO) +endif() +if(NOT DEFINED DOXYGEN_EXCLUDE_SYMLINKS) + set(DOXYGEN_EXCLUDE_SYMLINKS NO) +endif() +if(NOT DEFINED DOXYGEN_EXAMPLE_PATTERNS) + set(DOXYGEN_EXAMPLE_PATTERNS *) +endif() +if(NOT DEFINED DOXYGEN_EXAMPLE_RECURSIVE) + set(DOXYGEN_EXAMPLE_RECURSIVE NO) +endif() +if(NOT DEFINED DOXYGEN_FILTER_SOURCE_FILES) + set(DOXYGEN_FILTER_SOURCE_FILES NO) +endif() +if(NOT DEFINED DOXYGEN_SOURCE_BROWSER) + set(DOXYGEN_SOURCE_BROWSER NO) +endif() +if(NOT DEFINED DOXYGEN_INLINE_SOURCES) + set(DOXYGEN_INLINE_SOURCES NO) +endif() +if(NOT DEFINED DOXYGEN_STRIP_CODE_COMMENTS) + set(DOXYGEN_STRIP_CODE_COMMENTS YES) +endif() +if(NOT DEFINED DOXYGEN_REFERENCED_BY_RELATION) + set(DOXYGEN_REFERENCED_BY_RELATION NO) +endif() +if(NOT DEFINED DOXYGEN_REFERENCES_RELATION) + set(DOXYGEN_REFERENCES_RELATION NO) +endif() +if(NOT DEFINED DOXYGEN_REFERENCES_LINK_SOURCE) + set(DOXYGEN_REFERENCES_LINK_SOURCE YES) +endif() +if(NOT DEFINED DOXYGEN_SOURCE_TOOLTIPS) + set(DOXYGEN_SOURCE_TOOLTIPS YES) +endif() +if(NOT DEFINED DOXYGEN_USE_HTAGS) + set(DOXYGEN_USE_HTAGS NO) +endif() +if(NOT DEFINED DOXYGEN_VERBATIM_HEADERS) + set(DOXYGEN_VERBATIM_HEADERS YES) +endif() +if(NOT DEFINED DOXYGEN_CLANG_ASSISTED_PARSING) + set(DOXYGEN_CLANG_ASSISTED_PARSING NO) +endif() +if(NOT DEFINED DOXYGEN_ALPHABETICAL_INDEX) + set(DOXYGEN_ALPHABETICAL_INDEX YES) +endif() +if(NOT DEFINED DOXYGEN_COLS_IN_ALPHA_INDEX) + set(DOXYGEN_COLS_IN_ALPHA_INDEX 5) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_HTML) + set(DOXYGEN_GENERATE_HTML YES) +endif() +if(NOT DEFINED DOXYGEN_HTML_OUTPUT) + set(DOXYGEN_HTML_OUTPUT html) +endif() +if(NOT DEFINED DOXYGEN_HTML_FILE_EXTENSION) + set(DOXYGEN_HTML_FILE_EXTENSION .html) +endif() +if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_HUE) + set(DOXYGEN_HTML_COLORSTYLE_HUE 220) +endif() +if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_SAT) + set(DOXYGEN_HTML_COLORSTYLE_SAT 100) +endif() +if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_GAMMA) + set(DOXYGEN_HTML_COLORSTYLE_GAMMA 80) +endif() +if(NOT DEFINED DOXYGEN_HTML_TIMESTAMP) + set(DOXYGEN_HTML_TIMESTAMP NO) +endif() +if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_MENUS) + set(DOXYGEN_HTML_DYNAMIC_MENUS YES) +endif() +if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_SECTIONS) + set(DOXYGEN_HTML_DYNAMIC_SECTIONS NO) +endif() +if(NOT DEFINED DOXYGEN_HTML_INDEX_NUM_ENTRIES) + set(DOXYGEN_HTML_INDEX_NUM_ENTRIES 100) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_DOCSET) + set(DOXYGEN_GENERATE_DOCSET NO) +endif() +if(NOT DEFINED DOXYGEN_DOCSET_FEEDNAME) + set(DOXYGEN_DOCSET_FEEDNAME "Doxygen generated docs") +endif() +if(NOT DEFINED DOXYGEN_DOCSET_BUNDLE_ID) + set(DOXYGEN_DOCSET_BUNDLE_ID org.doxygen.Project) +endif() +if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_ID) + set(DOXYGEN_DOCSET_PUBLISHER_ID org.doxygen.Publisher) +endif() +if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_NAME) + set(DOXYGEN_DOCSET_PUBLISHER_NAME Publisher) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_HTMLHELP) + set(DOXYGEN_GENERATE_HTMLHELP NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_CHI) + set(DOXYGEN_GENERATE_CHI NO) +endif() +if(NOT DEFINED DOXYGEN_BINARY_TOC) + set(DOXYGEN_BINARY_TOC NO) +endif() +if(NOT DEFINED DOXYGEN_TOC_EXPAND) + set(DOXYGEN_TOC_EXPAND NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_QHP) + set(DOXYGEN_GENERATE_QHP NO) +endif() +if(NOT DEFINED DOXYGEN_QHP_NAMESPACE) + set(DOXYGEN_QHP_NAMESPACE org.doxygen.Project) +endif() +if(NOT DEFINED DOXYGEN_QHP_VIRTUAL_FOLDER) + set(DOXYGEN_QHP_VIRTUAL_FOLDER doc) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_ECLIPSEHELP) + set(DOXYGEN_GENERATE_ECLIPSEHELP NO) +endif() +if(NOT DEFINED DOXYGEN_ECLIPSE_DOC_ID) + set(DOXYGEN_ECLIPSE_DOC_ID org.doxygen.Project) +endif() +if(NOT DEFINED DOXYGEN_DISABLE_INDEX) + set(DOXYGEN_DISABLE_INDEX NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_TREEVIEW) + set(DOXYGEN_GENERATE_TREEVIEW NO) +endif() +if(NOT DEFINED DOXYGEN_ENUM_VALUES_PER_LINE) + set(DOXYGEN_ENUM_VALUES_PER_LINE 4) +endif() +if(NOT DEFINED DOXYGEN_TREEVIEW_WIDTH) + set(DOXYGEN_TREEVIEW_WIDTH 250) +endif() +if(NOT DEFINED DOXYGEN_EXT_LINKS_IN_WINDOW) + set(DOXYGEN_EXT_LINKS_IN_WINDOW NO) +endif() +if(NOT DEFINED DOXYGEN_FORMULA_FONTSIZE) + set(DOXYGEN_FORMULA_FONTSIZE 10) +endif() +if(NOT DEFINED DOXYGEN_FORMULA_TRANSPARENT) + set(DOXYGEN_FORMULA_TRANSPARENT YES) +endif() +if(NOT DEFINED DOXYGEN_USE_MATHJAX) + set(DOXYGEN_USE_MATHJAX NO) +endif() +if(NOT DEFINED DOXYGEN_MATHJAX_FORMAT) + set(DOXYGEN_MATHJAX_FORMAT HTML-CSS) +endif() +if(NOT DEFINED DOXYGEN_MATHJAX_RELPATH) + set(DOXYGEN_MATHJAX_RELPATH https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/) +endif() +if(NOT DEFINED DOXYGEN_SEARCHENGINE) + set(DOXYGEN_SEARCHENGINE YES) +endif() +if(NOT DEFINED DOXYGEN_SERVER_BASED_SEARCH) + set(DOXYGEN_SERVER_BASED_SEARCH NO) +endif() +if(NOT DEFINED DOXYGEN_EXTERNAL_SEARCH) + set(DOXYGEN_EXTERNAL_SEARCH NO) +endif() +if(NOT DEFINED DOXYGEN_SEARCHDATA_FILE) + set(DOXYGEN_SEARCHDATA_FILE searchdata.xml) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_LATEX) + set(DOXYGEN_GENERATE_LATEX YES) +endif() +if(NOT DEFINED DOXYGEN_LATEX_OUTPUT) + set(DOXYGEN_LATEX_OUTPUT latex) +endif() +if(NOT DEFINED DOXYGEN_MAKEINDEX_CMD_NAME) + set(DOXYGEN_MAKEINDEX_CMD_NAME makeindex) +endif() +if(NOT DEFINED DOXYGEN_LATEX_MAKEINDEX_CMD) + set(DOXYGEN_LATEX_MAKEINDEX_CMD makeindex) +endif() +if(NOT DEFINED DOXYGEN_COMPACT_LATEX) + set(DOXYGEN_COMPACT_LATEX NO) +endif() +if(NOT DEFINED DOXYGEN_PAPER_TYPE) + set(DOXYGEN_PAPER_TYPE a4) +endif() +if(NOT DEFINED DOXYGEN_PDF_HYPERLINKS) + set(DOXYGEN_PDF_HYPERLINKS YES) +endif() +if(NOT DEFINED DOXYGEN_USE_PDFLATEX) + set(DOXYGEN_USE_PDFLATEX YES) +endif() +if(NOT DEFINED DOXYGEN_LATEX_BATCHMODE) + set(DOXYGEN_LATEX_BATCHMODE NO) +endif() +if(NOT DEFINED DOXYGEN_LATEX_HIDE_INDICES) + set(DOXYGEN_LATEX_HIDE_INDICES NO) +endif() +if(NOT DEFINED DOXYGEN_LATEX_SOURCE_CODE) + set(DOXYGEN_LATEX_SOURCE_CODE NO) +endif() +if(NOT DEFINED DOXYGEN_LATEX_BIB_STYLE) + set(DOXYGEN_LATEX_BIB_STYLE plain) +endif() +if(NOT DEFINED DOXYGEN_LATEX_TIMESTAMP) + set(DOXYGEN_LATEX_TIMESTAMP NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_RTF) + set(DOXYGEN_GENERATE_RTF NO) +endif() +if(NOT DEFINED DOXYGEN_RTF_OUTPUT) + set(DOXYGEN_RTF_OUTPUT rtf) +endif() +if(NOT DEFINED DOXYGEN_COMPACT_RTF) + set(DOXYGEN_COMPACT_RTF NO) +endif() +if(NOT DEFINED DOXYGEN_RTF_HYPERLINKS) + set(DOXYGEN_RTF_HYPERLINKS NO) +endif() +if(NOT DEFINED DOXYGEN_RTF_SOURCE_CODE) + set(DOXYGEN_RTF_SOURCE_CODE NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_MAN) + set(DOXYGEN_GENERATE_MAN NO) +endif() +if(NOT DEFINED DOXYGEN_MAN_OUTPUT) + set(DOXYGEN_MAN_OUTPUT man) +endif() +if(NOT DEFINED DOXYGEN_MAN_EXTENSION) + set(DOXYGEN_MAN_EXTENSION .3) +endif() +if(NOT DEFINED DOXYGEN_MAN_LINKS) + set(DOXYGEN_MAN_LINKS NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_XML) + set(DOXYGEN_GENERATE_XML NO) +endif() +if(NOT DEFINED DOXYGEN_XML_OUTPUT) + set(DOXYGEN_XML_OUTPUT xml) +endif() +if(NOT DEFINED DOXYGEN_XML_PROGRAMLISTING) + set(DOXYGEN_XML_PROGRAMLISTING YES) +endif() +if(NOT DEFINED DOXYGEN_XML_NS_MEMB_FILE_SCOPE) + set(DOXYGEN_XML_NS_MEMB_FILE_SCOPE NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_DOCBOOK) + set(DOXYGEN_GENERATE_DOCBOOK NO) +endif() +if(NOT DEFINED DOXYGEN_DOCBOOK_OUTPUT) + set(DOXYGEN_DOCBOOK_OUTPUT docbook) +endif() +if(NOT DEFINED DOXYGEN_DOCBOOK_PROGRAMLISTING) + set(DOXYGEN_DOCBOOK_PROGRAMLISTING NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_AUTOGEN_DEF) + set(DOXYGEN_GENERATE_AUTOGEN_DEF NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_PERLMOD) + set(DOXYGEN_GENERATE_PERLMOD NO) +endif() +if(NOT DEFINED DOXYGEN_PERLMOD_LATEX) + set(DOXYGEN_PERLMOD_LATEX NO) +endif() +if(NOT DEFINED DOXYGEN_PERLMOD_PRETTY) + set(DOXYGEN_PERLMOD_PRETTY YES) +endif() +if(NOT DEFINED DOXYGEN_ENABLE_PREPROCESSING) + set(DOXYGEN_ENABLE_PREPROCESSING YES) +endif() +if(NOT DEFINED DOXYGEN_MACRO_EXPANSION) + set(DOXYGEN_MACRO_EXPANSION NO) +endif() +if(NOT DEFINED DOXYGEN_EXPAND_ONLY_PREDEF) + set(DOXYGEN_EXPAND_ONLY_PREDEF NO) +endif() +if(NOT DEFINED DOXYGEN_SEARCH_INCLUDES) + set(DOXYGEN_SEARCH_INCLUDES YES) +endif() +if(NOT DEFINED DOXYGEN_SKIP_FUNCTION_MACROS) + set(DOXYGEN_SKIP_FUNCTION_MACROS YES) +endif() +if(NOT DEFINED DOXYGEN_ALLEXTERNALS) + set(DOXYGEN_ALLEXTERNALS NO) +endif() +if(NOT DEFINED DOXYGEN_EXTERNAL_GROUPS) + set(DOXYGEN_EXTERNAL_GROUPS YES) +endif() +if(NOT DEFINED DOXYGEN_EXTERNAL_PAGES) + set(DOXYGEN_EXTERNAL_PAGES YES) +endif() +if(NOT DEFINED DOXYGEN_CLASS_DIAGRAMS) + set(DOXYGEN_CLASS_DIAGRAMS YES) +endif() +if(NOT DEFINED DOXYGEN_HIDE_UNDOC_RELATIONS) + set(DOXYGEN_HIDE_UNDOC_RELATIONS YES) +endif() +if(NOT DEFINED DOXYGEN_HAVE_DOT) + set(DOXYGEN_HAVE_DOT YES) +endif() +if(NOT DEFINED DOXYGEN_DOT_NUM_THREADS) + set(DOXYGEN_DOT_NUM_THREADS 0) +endif() +if(NOT DEFINED DOXYGEN_DOT_FONTNAME) + set(DOXYGEN_DOT_FONTNAME Helvetica) +endif() +if(NOT DEFINED DOXYGEN_DOT_FONTSIZE) + set(DOXYGEN_DOT_FONTSIZE 10) +endif() +if(NOT DEFINED DOXYGEN_CLASS_GRAPH) + set(DOXYGEN_CLASS_GRAPH YES) +endif() +if(NOT DEFINED DOXYGEN_COLLABORATION_GRAPH) + set(DOXYGEN_COLLABORATION_GRAPH YES) +endif() +if(NOT DEFINED DOXYGEN_GROUP_GRAPHS) + set(DOXYGEN_GROUP_GRAPHS YES) +endif() +if(NOT DEFINED DOXYGEN_UML_LOOK) + set(DOXYGEN_UML_LOOK NO) +endif() +if(NOT DEFINED DOXYGEN_UML_LIMIT_NUM_FIELDS) + set(DOXYGEN_UML_LIMIT_NUM_FIELDS 10) +endif() +if(NOT DEFINED DOXYGEN_TEMPLATE_RELATIONS) + set(DOXYGEN_TEMPLATE_RELATIONS NO) +endif() +if(NOT DEFINED DOXYGEN_INCLUDE_GRAPH) + set(DOXYGEN_INCLUDE_GRAPH YES) +endif() +if(NOT DEFINED DOXYGEN_INCLUDED_BY_GRAPH) + set(DOXYGEN_INCLUDED_BY_GRAPH YES) +endif() +if(NOT DEFINED DOXYGEN_CALL_GRAPH) + set(DOXYGEN_CALL_GRAPH NO) +endif() +if(NOT DEFINED DOXYGEN_CALLER_GRAPH) + set(DOXYGEN_CALLER_GRAPH NO) +endif() +if(NOT DEFINED DOXYGEN_GRAPHICAL_HIERARCHY) + set(DOXYGEN_GRAPHICAL_HIERARCHY YES) +endif() +if(NOT DEFINED DOXYGEN_DIRECTORY_GRAPH) + set(DOXYGEN_DIRECTORY_GRAPH YES) +endif() +if(NOT DEFINED DOXYGEN_DOT_IMAGE_FORMAT) + set(DOXYGEN_DOT_IMAGE_FORMAT png) +endif() +if(NOT DEFINED DOXYGEN_INTERACTIVE_SVG) + set(DOXYGEN_INTERACTIVE_SVG NO) +endif() +if(NOT DEFINED DOXYGEN_DOT_GRAPH_MAX_NODES) + set(DOXYGEN_DOT_GRAPH_MAX_NODES 50) +endif() +if(NOT DEFINED DOXYGEN_MAX_DOT_GRAPH_DEPTH) + set(DOXYGEN_MAX_DOT_GRAPH_DEPTH 0) +endif() +if(NOT DEFINED DOXYGEN_DOT_TRANSPARENT) + set(DOXYGEN_DOT_TRANSPARENT NO) +endif() +if(NOT DEFINED DOXYGEN_DOT_MULTI_TARGETS) + set(DOXYGEN_DOT_MULTI_TARGETS NO) +endif() +if(NOT DEFINED DOXYGEN_GENERATE_LEGEND) + set(DOXYGEN_GENERATE_LEGEND YES) +endif() +if(NOT DEFINED DOXYGEN_DOT_CLEANUP) + set(DOXYGEN_DOT_CLEANUP YES) +endif() diff --git a/tests/unit/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake b/tests/unit/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake new file mode 100644 index 0000000..2692f73 --- /dev/null +++ b/tests/unit/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake @@ -0,0 +1,76 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "9.3.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) +set(CMAKE_COMPILER_IS_MINGW ) +set(CMAKE_COMPILER_IS_CYGWIN ) +if(CMAKE_COMPILER_IS_CYGWIN) + set(CYGWIN 1) + set(UNIX 1) +endif() + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +if(CMAKE_COMPILER_IS_MINGW) + set(MINGW 1) +endif() +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/tests/unit/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin b/tests/unit/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..a3225b1f9d09c95af35231bd3b222dd69d2ccead GIT binary patch literal 16552 zcmeHOZ)_Y#6`%9j@uf}9moy=65}JjkQrzH;lP1nN)Xkmkv-c_|DT&<#Qg?gyo$V9n zJ9D>3?Wzr-E`d`pLc){oB7RqZ)V@j?9J@Xd?MD{UE}i!4t{Z;z*Hopm;=PQ2@Cryi()D0P%i6)N8~@72K|9C_x3TAtLIn7GA1TIgEnt1NCGU zrI}~EP6aSBUnx(c5?we-dW?2G^vy!E(pzYEqDFq%MaX)XL_MJ^d1ww52xq7~M)oKA z1g|jp(~X+4A{gCzr%2C@U8Ki|Wneh*nw5Mvz2Q2xII zZsy}u-fHa-BL6dzd&Qnida!l>o=mbilg<_=nkT}o&8_?OLQdZ&i^h6k8Q70Y<=5RWj z$fO@jK@zjff|bZy=2#+~6+ON2j!tu*zE3|O%y{1sGnvY#M$!cX7z==K;?Ho(DV+cpmUP;CaCF zfaigCbv0m|ulwa5A&gJWST*I##?@C?vzmhbv1K*J7!@{sz0 zOmzvF-ust$>B_@K>37D|9~K_y>z%GU2UA~TdVPb0_Df)?yg3glf4yK#w|^NT#&q2m z5ZV^4%~14Fj6>0D%X1Ao&SJr{gdm@m@&^VHnwE^xf^q5f!^WjWzu|kqxUytz0t0uE zfk1g~xM2s>i}kU-XWKDb6nFOx}d5YalV-R4$k2lkoFG-A!0^`vySQ zq5r2xArlStgI?*0t466f_hRe@R`Y!9s&Ubn-u$B=c;|byp@!#Xe6btMzUX3a49udL z=*iyc_5!Rtq7TMPFGu_1rR&kYXz513G2NU5`b2NjO>C2SbE#Z5F5UE7JNEvH{Lx!_ zv$ynmSLu(@@}}PyQ?ov!?bYI+vAs?YL?4O{L?4ctv%|xB!;Yu0ezJYAC9z!D&Xtyx z+1`)m0nY=T2RsjW9`HQidBF34=K;?Ho(DV+{GWKh=lI$vMEq#?u|oy;PL~@tljBzY zbW3;uT_O3zVEQ!d7eKml*8sl-7`|36Uj}>@ zu#rBB;kQu?zQ>LW-$cl_ZC!of0^}jT9j<4=7OvDqSH1k=wiBZJ;Ti{C62VY+u<`ze zTOSRa6^FMTy8E7;@-rmrKLpn)mV-D3v}wWB26gH|A{GpttLa?7<_r`JNqA)-z6jSN zke>n+-NDf3YvRGi&-r6PZMrrV-1XVIu3*c#HAXNzRo@egWP{;ouq7JY)e+P>f{h)) zP)9Hzzc2n8)IS4uyzg`9NH2IE@I2so!1I9T0nY=T2RsjW9`HQyzw!X@Yvg^5v>dDK zRb0mvlZz|?`@B_{r~Qz(Q=0cnZlg5sgT#HM7Ig?l;BIs6cEcWFR#$L;ED_DI-7yaXn^;hfSa|u)RAd&2n#-Reixv zl7cU?vi|c_U-&XC)9goB_Q~|il>c{1bG^v?e-C(n_}o%^dBc*FSwsM`GDZ|a`I~hx3iPKMR0#|^3XeJ+&KAlLaWNJ7cEu!VCDRU(@uln zap>g1h-PP0+%Gm%_Sf5U{jl?UqN@CDg2%N}ep6*UJ9!v=Rr;S_yr(k$obp?Qh}anw z_rquoRpt3W;{L20l1AYSxx)3Sx|G|U6hs2gjJF>Mqf!|oOavTjH&q6kQob0&!Z3%cP(k3m$ zMc_BoY!UoC<;<@k4>e*X`g;)H0UrG@PJT#{!cPH1&<`6UY(e3ZBp;#vyoa)%2Oj0! z0SnVXnhw@gzD#DJVA+daH!?ecCAw0NI zfI}O}oH>%o4JI;X(#quvW}-MDhH_)$nUs}E>fx5wmg+)yWF&1S^7+K1naW!ENim#H zjHS$Eacpc7RBR~|BrS(%=aIxmQ=OeqOgfXwM?2zBzjSsuXTm#d(Ct1RJrXlxN4rco zN8;2@3bX6ON25pLoz5J2UBXX3{| zDw)oj#X<`1Z@FsdH%Jc_3S>qe$T3Ygcf;Pn136Vs**MSjIIAY~!sM8h7zDKP3P(AX z&ceZ-aiM2(R!Seq7WMIbZakH@CT-MUF%3tr(n+GA{hF=Bh>+r=iNdJRlapB}LZOvc zIUi5u3+Y_ekuV`IpUNaqLFn>+_3?})@JAoXLBvW;z%O<-kjzQP>#0%dUZY9S=akY{ z{Y+_a9E>N%(nC-kY&RYJDRk)LW6*Ei1LobOah?rB5T2zf@VttV=h>7kWjT&`CtNre zW__N2F=~)!4?O>6t`#D7{Zlj_W8BGtg#3JCI_}cv`5dFhf`o4UlfeHC=F(h$UOzB$ z`Ra_^@_K{KCLn@q2iE8H1>*%0#Ct?P^ZoO>APpSeGVAj^l9AUZAR+_Wu!oO90@n(x z&+|=2UUzZ*S&s1x=;PXh(>yO_)Tl6b{fQRS5J8`^KF?nnXGoCCci;b)ARq6E^YO1t z20~s35-ZE%IO12}vg>Q4$H?YbhtrJDxb%76%*b-9>3_qeA0Y)s{C~Cwx4mz>^m!i6 z$m?Xb;qJfRCw=z6&`6RH$Co|0%l{!{Vij3GtSM>6dsVXX>n{JtkYm@M(3B|SLPb+W zxc!;_1w?R8O2fXgPT+I3Zh1~K{vLE2Z2J6uV6hoU2rQ>k%W3A{fDG(=Tz+M~sw<5d zYCr7%7+8<}_;uh=g!TFTzzj{GB9Lbftk1XznRa~>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) +# define COMPILER_ID "Fujitsu" + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXE) || defined(__CRAYXC) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number components. */ +#ifdef COMPILER_VERSION_MAJOR +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + + +#if !defined(__STDC__) +# if (defined(_MSC_VER) && !defined(__clang__)) \ + || (defined(__ibmxl__) || defined(__IBMC__)) +# define C_DIALECT "90" +# else +# define C_DIALECT +# endif +#elif __STDC_VERSION__ >= 201000L +# define C_DIALECT "11" +#elif __STDC_VERSION__ >= 199901L +# define C_DIALECT "99" +#else +# define C_DIALECT "90" +#endif +const char* info_language_dialect_default = + "INFO" ":" "dialect_default[" C_DIALECT "]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXE) || defined(__CRAYXC) + require += info_cray[argc]; +#endif + require += info_language_dialect_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/tests/unit/build/CMakeFiles/3.16.3/CompilerIdC/a.out b/tests/unit/build/CMakeFiles/3.16.3/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..46f1233d9a6b2e660d5d0c5fc3dbde0dfb7e863d GIT binary patch literal 16712 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 Ri&oaZ+NLB{yA)ha@h^*jkRt#9 literal 0 HcmV?d00001 diff --git a/tests/unit/build/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/unit/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f5ce8d9 --- /dev/null +++ b/tests/unit/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cseguret/Projects/app-ethereum/tests/unit") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cseguret/Projects/app-ethereum/tests/unit/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/unit/build/CMakeFiles/CMakeError.log b/tests/unit/build/CMakeFiles/CMakeError.log new file mode 100644 index 0000000..1fabe28 --- /dev/null +++ b/tests/unit/build/CMakeFiles/CMakeError.log @@ -0,0 +1,19 @@ +Determining if the include file io.h exists failed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_0b6ae/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_0b6ae.dir/build.make CMakeFiles/cmTC_0b6ae.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_0b6ae.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_0b6ae.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:10: fatal error: io.h: No such file or directory + 1 | #include + | ^~~~~~ +compilation terminated. +make[2]: *** [CMakeFiles/cmTC_0b6ae.dir/build.make:66: CMakeFiles/cmTC_0b6ae.dir/CheckIncludeFile.c.o] Error 1 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: *** [Makefile:121: cmTC_0b6ae/fast] Error 2 +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + diff --git a/tests/unit/build/CMakeFiles/CMakeOutput.log b/tests/unit/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..9c67af9 --- /dev/null +++ b/tests/unit/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,1543 @@ +The system is: Linux - 5.13.0-30-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/3.16.3/CompilerIdC/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_6bfc2/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_6bfc2.dir/build.make CMakeFiles/cmTC_6bfc2.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_6bfc2.dir/testCCompiler.c.o +/usr/bin/cc -o CMakeFiles/cmTC_6bfc2.dir/testCCompiler.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTC_6bfc2 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6bfc2.dir/link.txt --verbose=1 +/usr/bin/cc CMakeFiles/cmTC_6bfc2.dir/testCCompiler.c.o -o cmTC_6bfc2 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_aa8d6/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_aa8d6.dir/build.make CMakeFiles/cmTC_aa8d6.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccV9ecHq.s +GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) + compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/9/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) + compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: bbf13931d8de1abe14040c9909cb6969 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' + as -v --64 -o CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o /tmp/ccV9ecHq.s +GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' +Linking C executable cmTC_aa8d6 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_aa8d6.dir/link.txt --verbose=1 +/usr/bin/cc -v CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -o cmTC_aa8d6 +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:hsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu +Thread model: posix +gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_aa8d6' '-mtune=generic' '-march=x86-64' + /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctdlJPU.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_aa8d6 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_aa8d6' '-mtune=generic' '-march=x86-64' +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/9/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/make cmTC_aa8d6/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp'] + ignore line: [/usr/bin/make -f CMakeFiles/cmTC_aa8d6.dir/build.make CMakeFiles/cmTC_aa8d6.dir/build] + ignore line: [make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccV9ecHq.s] + ignore line: [GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: bbf13931d8de1abe14040c9909cb6969] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o /tmp/ccV9ecHq.s] + ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] + ignore line: [Linking C executable cmTC_aa8d6] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_aa8d6.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -o cmTC_aa8d6 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_aa8d6' '-mtune=generic' '-march=x86-64'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctdlJPU.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_aa8d6 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cctdlJPU.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_aa8d6] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] + arg [CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Performing C SOURCE FILE Test REQUIRED_FLAGS_WERROR succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_614fc/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_614fc.dir/build.make CMakeFiles/cmTC_614fc.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_614fc.dir/src.c.o +/usr/bin/cc -DREQUIRED_FLAGS_WERROR -fPIE -Werror -o CMakeFiles/cmTC_614fc.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_614fc +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_614fc.dir/link.txt --verbose=1 +/usr/bin/cc -DREQUIRED_FLAGS_WERROR --coverage -lgcov CMakeFiles/cmTC_614fc.dir/src.c.o -o cmTC_614fc +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_STD_GNU99_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_4c077/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_4c077.dir/build.make CMakeFiles/cmTC_4c077.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_4c077.dir/src.c.o +/usr/bin/cc -DWITH_STD_GNU99_FLAG -Werror -fPIE -std=gnu99 -o CMakeFiles/cmTC_4c077.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_4c077 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4c077.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_STD_GNU99_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_4c077.dir/src.c.o -o cmTC_4c077 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WPEDANTIC_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_24634/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_24634.dir/build.make CMakeFiles/cmTC_24634.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_24634.dir/src.c.o +/usr/bin/cc -DWITH_WPEDANTIC_FLAG -Werror -fPIE -Wpedantic -o CMakeFiles/cmTC_24634.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_24634 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_24634.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WPEDANTIC_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_24634.dir/src.c.o -o cmTC_24634 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WALL_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_5a86d/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_5a86d.dir/build.make CMakeFiles/cmTC_5a86d.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_5a86d.dir/src.c.o +/usr/bin/cc -DWITH_WALL_FLAG -Werror -fPIE -Wall -o CMakeFiles/cmTC_5a86d.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_5a86d +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5a86d.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WALL_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_5a86d.dir/src.c.o -o cmTC_5a86d +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WSHADOW_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_4eabd/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_4eabd.dir/build.make CMakeFiles/cmTC_4eabd.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_4eabd.dir/src.c.o +/usr/bin/cc -DWITH_WSHADOW_FLAG -Werror -fPIE -Wshadow -o CMakeFiles/cmTC_4eabd.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_4eabd +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4eabd.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WSHADOW_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_4eabd.dir/src.c.o -o cmTC_4eabd +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WMISSING_PROTOTYPES_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_ba167/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_ba167.dir/build.make CMakeFiles/cmTC_ba167.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_ba167.dir/src.c.o +/usr/bin/cc -DWITH_WMISSING_PROTOTYPES_FLAG -Werror -fPIE -Wmissing-prototypes -o CMakeFiles/cmTC_ba167.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_ba167 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ba167.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WMISSING_PROTOTYPES_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_ba167.dir/src.c.o -o cmTC_ba167 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WCAST_ALIGN_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_291ef/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_291ef.dir/build.make CMakeFiles/cmTC_291ef.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_291ef.dir/src.c.o +/usr/bin/cc -DWITH_WCAST_ALIGN_FLAG -Werror -fPIE -Wcast-align -o CMakeFiles/cmTC_291ef.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_291ef +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_291ef.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WCAST_ALIGN_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_291ef.dir/src.c.o -o cmTC_291ef +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WERROR_ADDRESS_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_7971e/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_7971e.dir/build.make CMakeFiles/cmTC_7971e.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_7971e.dir/src.c.o +/usr/bin/cc -DWITH_WERROR_ADDRESS_FLAG -Werror -fPIE -Werror=address -o CMakeFiles/cmTC_7971e.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_7971e +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7971e.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WERROR_ADDRESS_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_7971e.dir/src.c.o -o cmTC_7971e +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WSTRICT_PROTOTYPES_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_529b0/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_529b0.dir/build.make CMakeFiles/cmTC_529b0.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_529b0.dir/src.c.o +/usr/bin/cc -DWITH_WSTRICT_PROTOTYPES_FLAG -Werror -fPIE -Wstrict-prototypes -o CMakeFiles/cmTC_529b0.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_529b0 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_529b0.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WSTRICT_PROTOTYPES_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_529b0.dir/src.c.o -o cmTC_529b0 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WERROR_STRICT_PROTOTYPES_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_52be7/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_52be7.dir/build.make CMakeFiles/cmTC_52be7.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_52be7.dir/src.c.o +/usr/bin/cc -DWITH_WERROR_STRICT_PROTOTYPES_FLAG -Werror -fPIE -Werror=strict-prototypes -o CMakeFiles/cmTC_52be7.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_52be7 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_52be7.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WERROR_STRICT_PROTOTYPES_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_52be7.dir/src.c.o -o cmTC_52be7 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WWRITE_STRINGS_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_e4117/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_e4117.dir/build.make CMakeFiles/cmTC_e4117.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_e4117.dir/src.c.o +/usr/bin/cc -DWITH_WWRITE_STRINGS_FLAG -Werror -fPIE -Wwrite-strings -o CMakeFiles/cmTC_e4117.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_e4117 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e4117.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WWRITE_STRINGS_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_e4117.dir/src.c.o -o cmTC_e4117 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WERROR_WRITE_STRINGS_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_f6acb/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_f6acb.dir/build.make CMakeFiles/cmTC_f6acb.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_f6acb.dir/src.c.o +/usr/bin/cc -DWITH_WERROR_WRITE_STRINGS_FLAG -Werror -fPIE -Werror=write-strings -o CMakeFiles/cmTC_f6acb.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_f6acb +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f6acb.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WERROR_WRITE_STRINGS_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_f6acb.dir/src.c.o -o cmTC_f6acb +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WERROR_IMPLICIT_FUNCTION_DECLARATION_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_9878d/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_9878d.dir/build.make CMakeFiles/cmTC_9878d.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_9878d.dir/src.c.o +/usr/bin/cc -DWITH_WERROR_IMPLICIT_FUNCTION_DECLARATION_FLAG -Werror -fPIE -Werror-implicit-function-declaration -o CMakeFiles/cmTC_9878d.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_9878d +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9878d.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WERROR_IMPLICIT_FUNCTION_DECLARATION_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_9878d.dir/src.c.o -o cmTC_9878d +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WPOINTER_ARITH_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_6bebb/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_6bebb.dir/build.make CMakeFiles/cmTC_6bebb.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_6bebb.dir/src.c.o +/usr/bin/cc -DWITH_WPOINTER_ARITH_FLAG -Werror -fPIE -Wpointer-arith -o CMakeFiles/cmTC_6bebb.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_6bebb +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6bebb.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WPOINTER_ARITH_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_6bebb.dir/src.c.o -o cmTC_6bebb +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WERROR_POINTER_ARITH_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_365f8/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_365f8.dir/build.make CMakeFiles/cmTC_365f8.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_365f8.dir/src.c.o +/usr/bin/cc -DWITH_WERROR_POINTER_ARITH_FLAG -Werror -fPIE -Werror=pointer-arith -o CMakeFiles/cmTC_365f8.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_365f8 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_365f8.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WERROR_POINTER_ARITH_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_365f8.dir/src.c.o -o cmTC_365f8 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WDECLARATION_AFTER_STATEMENT_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_d8b75/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_d8b75.dir/build.make CMakeFiles/cmTC_d8b75.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_d8b75.dir/src.c.o +/usr/bin/cc -DWITH_WDECLARATION_AFTER_STATEMENT_FLAG -Werror -fPIE -Wdeclaration-after-statement -o CMakeFiles/cmTC_d8b75.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_d8b75 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d8b75.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WDECLARATION_AFTER_STATEMENT_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_d8b75.dir/src.c.o -o cmTC_d8b75 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WERROR_DECLARATION_AFTER_STATEMENT_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_7eac4/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_7eac4.dir/build.make CMakeFiles/cmTC_7eac4.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_7eac4.dir/src.c.o +/usr/bin/cc -DWITH_WERROR_DECLARATION_AFTER_STATEMENT_FLAG -Werror -fPIE -Werror=declaration-after-statement -o CMakeFiles/cmTC_7eac4.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_7eac4 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7eac4.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WERROR_DECLARATION_AFTER_STATEMENT_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_7eac4.dir/src.c.o -o cmTC_7eac4 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WRETURN_TYPE_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_d10de/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_d10de.dir/build.make CMakeFiles/cmTC_d10de.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_d10de.dir/src.c.o +/usr/bin/cc -DWITH_WRETURN_TYPE_FLAG -Werror -fPIE -Wreturn-type -o CMakeFiles/cmTC_d10de.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_d10de +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d10de.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WRETURN_TYPE_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_d10de.dir/src.c.o -o cmTC_d10de +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WERROR_RETURN_TYPE_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_8b9f7/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_8b9f7.dir/build.make CMakeFiles/cmTC_8b9f7.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_8b9f7.dir/src.c.o +/usr/bin/cc -DWITH_WERROR_RETURN_TYPE_FLAG -Werror -fPIE -Werror=return-type -o CMakeFiles/cmTC_8b9f7.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_8b9f7 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8b9f7.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WERROR_RETURN_TYPE_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_8b9f7.dir/src.c.o -o cmTC_8b9f7 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WUNINITIALIZED_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_7e8f0/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_7e8f0.dir/build.make CMakeFiles/cmTC_7e8f0.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_7e8f0.dir/src.c.o +/usr/bin/cc -DWITH_WUNINITIALIZED_FLAG -Werror -fPIE -Wuninitialized -o CMakeFiles/cmTC_7e8f0.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_7e8f0 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7e8f0.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WUNINITIALIZED_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_7e8f0.dir/src.c.o -o cmTC_7e8f0 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WERROR_UNINITIALIZED_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_fb3a7/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_fb3a7.dir/build.make CMakeFiles/cmTC_fb3a7.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_fb3a7.dir/src.c.o +/usr/bin/cc -DWITH_WERROR_UNINITIALIZED_FLAG -Werror -fPIE -Werror=uninitialized -o CMakeFiles/cmTC_fb3a7.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_fb3a7 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fb3a7.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WERROR_UNINITIALIZED_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_fb3a7.dir/src.c.o -o cmTC_fb3a7 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WIMPLICIT_FALLTHROUGH_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_3a716/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_3a716.dir/build.make CMakeFiles/cmTC_3a716.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_3a716.dir/src.c.o +/usr/bin/cc -DWITH_WIMPLICIT_FALLTHROUGH_FLAG -Werror -fPIE -Wimplicit-fallthrough -o CMakeFiles/cmTC_3a716.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_3a716 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3a716.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WIMPLICIT_FALLTHROUGH_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_3a716.dir/src.c.o -o cmTC_3a716 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WERROR_STRICT_OVERFLOW_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_79fc6/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_79fc6.dir/build.make CMakeFiles/cmTC_79fc6.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_79fc6.dir/src.c.o +/usr/bin/cc -DWITH_WERROR_STRICT_OVERFLOW_FLAG -Werror -fPIE -Werror=strict-overflow -o CMakeFiles/cmTC_79fc6.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_79fc6 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_79fc6.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WERROR_STRICT_OVERFLOW_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_79fc6.dir/src.c.o -o cmTC_79fc6 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WSTRICT_OVERFLOW_2_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_01048/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_01048.dir/build.make CMakeFiles/cmTC_01048.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_01048.dir/src.c.o +/usr/bin/cc -DWITH_WSTRICT_OVERFLOW_2_FLAG -Werror -fPIE -Wstrict-overflow=2 -o CMakeFiles/cmTC_01048.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_01048 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_01048.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WSTRICT_OVERFLOW_2_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_01048.dir/src.c.o -o cmTC_01048 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WNO_FORMAT_ZERO_LENGTH_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_7516e/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_7516e.dir/build.make CMakeFiles/cmTC_7516e.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_7516e.dir/src.c.o +/usr/bin/cc -DWITH_WNO_FORMAT_ZERO_LENGTH_FLAG -Werror -fPIE -Wno-format-zero-length -o CMakeFiles/cmTC_7516e.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_7516e +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7516e.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WNO_FORMAT_ZERO_LENGTH_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_7516e.dir/src.c.o -o cmTC_7516e +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WMISSING_FIELD_INITIALIZERS_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_60d70/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_60d70.dir/build.make CMakeFiles/cmTC_60d70.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_60d70.dir/src.c.o +/usr/bin/cc -DWITH_WMISSING_FIELD_INITIALIZERS_FLAG -Werror -fPIE -Wmissing-field-initializers -o CMakeFiles/cmTC_60d70.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_60d70 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_60d70.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WMISSING_FIELD_INITIALIZERS_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_60d70.dir/src.c.o -o cmTC_60d70 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test REQUIRED_FLAGS_WFORMAT succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_86d09/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_86d09.dir/build.make CMakeFiles/cmTC_86d09.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_86d09.dir/src.c.o +/usr/bin/cc -DREQUIRED_FLAGS_WFORMAT -Werror -fPIE -Wformat -o CMakeFiles/cmTC_86d09.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_86d09 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_86d09.dir/link.txt --verbose=1 +/usr/bin/cc -DREQUIRED_FLAGS_WFORMAT -Werror --coverage -lgcov CMakeFiles/cmTC_86d09.dir/src.c.o -o cmTC_86d09 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WFORMAT_SECURITY_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_9d156/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_9d156.dir/build.make CMakeFiles/cmTC_9d156.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_9d156.dir/src.c.o +/usr/bin/cc -DWITH_WFORMAT_SECURITY_FLAG -Werror -Wformat -fPIE -Wformat-security -o CMakeFiles/cmTC_9d156.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_9d156 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9d156.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WFORMAT_SECURITY_FLAG -Werror -Wformat --coverage -lgcov CMakeFiles/cmTC_9d156.dir/src.c.o -o cmTC_9d156 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_WERROR_FORMAT_SECURITY_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_f4a17/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_f4a17.dir/build.make CMakeFiles/cmTC_f4a17.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_f4a17.dir/src.c.o +/usr/bin/cc -DWITH_WERROR_FORMAT_SECURITY_FLAG -Werror -Wformat -fPIE -Werror=format-security -o CMakeFiles/cmTC_f4a17.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_f4a17 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f4a17.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_WERROR_FORMAT_SECURITY_FLAG -Werror -Wformat --coverage -lgcov CMakeFiles/cmTC_f4a17.dir/src.c.o -o cmTC_f4a17 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_FNO_COMMON_FLAG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_215ca/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_215ca.dir/build.make CMakeFiles/cmTC_215ca.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_215ca.dir/src.c.o +/usr/bin/cc -DWITH_FNO_COMMON_FLAG -Werror -Wformat -fPIE -fno-common -o CMakeFiles/cmTC_215ca.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_215ca +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_215ca.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_FNO_COMMON_FLAG -Werror -Wformat --coverage -lgcov CMakeFiles/cmTC_215ca.dir/src.c.o -o cmTC_215ca +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Performing C SOURCE FILE Test WITH_STACK_PROTECTOR_STRONG succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_0daa2/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_0daa2.dir/build.make CMakeFiles/cmTC_0daa2.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_0daa2.dir/src.c.o +/usr/bin/cc -DWITH_STACK_PROTECTOR_STRONG -fstack-protector-strong -fPIE -o CMakeFiles/cmTC_0daa2.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_0daa2 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0daa2.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_STACK_PROTECTOR_STRONG -fstack-protector-strong --coverage -lgcov CMakeFiles/cmTC_0daa2.dir/src.c.o -o cmTC_0daa2 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(int argc, char **argv) { char buffer[256]; return buffer[argc]=0;} +Performing C SOURCE FILE Test WITH_STACK_CLASH_PROTECTION succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_32b5a/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_32b5a.dir/build.make CMakeFiles/cmTC_32b5a.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_32b5a.dir/src.c.o +/usr/bin/cc -DWITH_STACK_CLASH_PROTECTION -fstack-clash-protection -fPIE -o CMakeFiles/cmTC_32b5a.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_32b5a +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_32b5a.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_STACK_CLASH_PROTECTION -fstack-clash-protection --coverage -lgcov CMakeFiles/cmTC_32b5a.dir/src.c.o -o cmTC_32b5a +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(int argc, char **argv) { char buffer[256]; return buffer[argc]=0;} +Performing C SOURCE FILE Test WITH_VISIBILITY_HIDDEN succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_77989/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_77989.dir/build.make CMakeFiles/cmTC_77989.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_77989.dir/src.c.o +/usr/bin/cc -DWITH_VISIBILITY_HIDDEN -fPIE -fvisibility=hidden -o CMakeFiles/cmTC_77989.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_77989 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_77989.dir/link.txt --verbose=1 +/usr/bin/cc -DWITH_VISIBILITY_HIDDEN --coverage -lgcov CMakeFiles/cmTC_77989.dir/src.c.o -o cmTC_77989 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: +int main(void) { return 0; } +Determining if the include file assert.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_e2f40/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_e2f40.dir/build.make CMakeFiles/cmTC_e2f40.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_e2f40.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_e2f40.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_e2f40 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e2f40.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_e2f40.dir/CheckIncludeFile.c.o -o cmTC_e2f40 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file inttypes.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_ac44e/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_ac44e.dir/build.make CMakeFiles/cmTC_ac44e.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_ac44e.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_ac44e.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_ac44e +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ac44e.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_ac44e.dir/CheckIncludeFile.c.o -o cmTC_ac44e +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file malloc.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_807f0/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_807f0.dir/build.make CMakeFiles/cmTC_807f0.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_807f0.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_807f0.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_807f0 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_807f0.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_807f0.dir/CheckIncludeFile.c.o -o cmTC_807f0 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file memory.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_e5bae/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_e5bae.dir/build.make CMakeFiles/cmTC_e5bae.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_e5bae.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_e5bae.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_e5bae +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e5bae.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_e5bae.dir/CheckIncludeFile.c.o -o cmTC_e5bae +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file setjmp.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_26449/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_26449.dir/build.make CMakeFiles/cmTC_26449.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_26449.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_26449.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_26449 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26449.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_26449.dir/CheckIncludeFile.c.o -o cmTC_26449 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file signal.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_008d1/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_008d1.dir/build.make CMakeFiles/cmTC_008d1.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_008d1.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_008d1.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_008d1 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_008d1.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_008d1.dir/CheckIncludeFile.c.o -o cmTC_008d1 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file stdarg.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_8c51c/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_8c51c.dir/build.make CMakeFiles/cmTC_8c51c.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_8c51c.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_8c51c.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_8c51c +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8c51c.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_8c51c.dir/CheckIncludeFile.c.o -o cmTC_8c51c +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file stddef.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_101da/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_101da.dir/build.make CMakeFiles/cmTC_101da.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_101da.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_101da.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_101da +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_101da.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_101da.dir/CheckIncludeFile.c.o -o cmTC_101da +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file stdint.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_f6b2b/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_f6b2b.dir/build.make CMakeFiles/cmTC_f6b2b.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_f6b2b.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_f6b2b.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_f6b2b +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f6b2b.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_f6b2b.dir/CheckIncludeFile.c.o -o cmTC_f6b2b +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file stdio.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_dde0d/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_dde0d.dir/build.make CMakeFiles/cmTC_dde0d.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_dde0d.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_dde0d.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_dde0d +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dde0d.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_dde0d.dir/CheckIncludeFile.c.o -o cmTC_dde0d +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file stdlib.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_64fe4/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_64fe4.dir/build.make CMakeFiles/cmTC_64fe4.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_64fe4.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_64fe4.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_64fe4 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_64fe4.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_64fe4.dir/CheckIncludeFile.c.o -o cmTC_64fe4 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file string.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_6930c/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_6930c.dir/build.make CMakeFiles/cmTC_6930c.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_6930c.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_6930c.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_6930c +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6930c.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_6930c.dir/CheckIncludeFile.c.o -o cmTC_6930c +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file strings.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_fd1a6/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_fd1a6.dir/build.make CMakeFiles/cmTC_fd1a6.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_fd1a6.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_fd1a6.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_fd1a6 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fd1a6.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_fd1a6.dir/CheckIncludeFile.c.o -o cmTC_fd1a6 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file sys/stat.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_847f8/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_847f8.dir/build.make CMakeFiles/cmTC_847f8.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_847f8.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_847f8.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_847f8 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_847f8.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_847f8.dir/CheckIncludeFile.c.o -o cmTC_847f8 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file sys/types.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_28435/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_28435.dir/build.make CMakeFiles/cmTC_28435.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_28435.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_28435.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_28435 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_28435.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_28435.dir/CheckIncludeFile.c.o -o cmTC_28435 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file time.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_eb782/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_eb782.dir/build.make CMakeFiles/cmTC_eb782.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_eb782.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_eb782.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_eb782 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eb782.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_eb782.dir/CheckIncludeFile.c.o -o cmTC_eb782 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the include file unistd.h exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_76c9e/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_76c9e.dir/build.make CMakeFiles/cmTC_76c9e.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_76c9e.dir/CheckIncludeFile.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_76c9e.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c +Linking C executable cmTC_76c9e +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_76c9e.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_76c9e.dir/CheckIncludeFile.c.o -o cmTC_76c9e +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Performing C SOURCE FILE Test HAVE_STRUCT_TIMESPEC succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_80293/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_80293.dir/build.make CMakeFiles/cmTC_80293.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_80293.dir/src.c.o +/usr/bin/cc -DHAVE_STRUCT_TIMESPEC -fPIE -o CMakeFiles/cmTC_80293.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_80293 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_80293.dir/link.txt --verbose=1 +/usr/bin/cc -DHAVE_STRUCT_TIMESPEC --coverage -lgcov CMakeFiles/cmTC_80293.dir/src.c.o -o cmTC_80293 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: + +#include + +int main() +{ + (void)sizeof(((struct timespec *)0)->tv_sec); + return 0; +} + +Determining if the function calloc exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_87fd1/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_87fd1.dir/build.make CMakeFiles/cmTC_87fd1.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_87fd1.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=calloc -fPIE -o CMakeFiles/cmTC_87fd1.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘calloc’; expected ‘void *(long unsigned int, long unsigned int)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘calloc’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_87fd1 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_87fd1.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=calloc --coverage -lgcov CMakeFiles/cmTC_87fd1.dir/CheckFunctionExists.c.o -o cmTC_87fd1 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function exit exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_48b3f/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_48b3f.dir/build.make CMakeFiles/cmTC_48b3f.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_48b3f.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=exit -fPIE -o CMakeFiles/cmTC_48b3f.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘exit’; expected ‘void(int)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘exit’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_48b3f +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_48b3f.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=exit --coverage -lgcov CMakeFiles/cmTC_48b3f.dir/CheckFunctionExists.c.o -o cmTC_48b3f +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function fprintf exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_9059a/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_9059a.dir/build.make CMakeFiles/cmTC_9059a.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_9059a.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=fprintf -fPIE -o CMakeFiles/cmTC_9059a.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘fprintf’; expected ‘int(void *, const char *, ...)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘fprintf’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_9059a +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9059a.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=fprintf --coverage -lgcov CMakeFiles/cmTC_9059a.dir/CheckFunctionExists.c.o -o cmTC_9059a +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function free exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_8adde/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_8adde.dir/build.make CMakeFiles/cmTC_8adde.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_8adde.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=free -fPIE -o CMakeFiles/cmTC_8adde.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘free’; expected ‘void(void *)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘free’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_8adde +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8adde.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=free --coverage -lgcov CMakeFiles/cmTC_8adde.dir/CheckFunctionExists.c.o -o cmTC_8adde +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function longjmp exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_a4042/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_a4042.dir/build.make CMakeFiles/cmTC_a4042.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_a4042.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=longjmp -fPIE -o CMakeFiles/cmTC_a4042.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +Linking C executable cmTC_a4042 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a4042.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=longjmp --coverage -lgcov CMakeFiles/cmTC_a4042.dir/CheckFunctionExists.c.o -o cmTC_a4042 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function siglongjmp exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_786b6/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_786b6.dir/build.make CMakeFiles/cmTC_786b6.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_786b6.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=siglongjmp -fPIE -o CMakeFiles/cmTC_786b6.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +Linking C executable cmTC_786b6 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_786b6.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=siglongjmp --coverage -lgcov CMakeFiles/cmTC_786b6.dir/CheckFunctionExists.c.o -o cmTC_786b6 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function malloc exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_bf2e7/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_bf2e7.dir/build.make CMakeFiles/cmTC_bf2e7.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_bf2e7.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=malloc -fPIE -o CMakeFiles/cmTC_bf2e7.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘malloc’; expected ‘void *(long unsigned int)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘malloc’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_bf2e7 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_bf2e7.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=malloc --coverage -lgcov CMakeFiles/cmTC_bf2e7.dir/CheckFunctionExists.c.o -o cmTC_bf2e7 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function memcpy exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_b7f45/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_b7f45.dir/build.make CMakeFiles/cmTC_b7f45.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_b7f45.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=memcpy -fPIE -o CMakeFiles/cmTC_b7f45.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘memcpy’; expected ‘void *(void *, const void *, long unsigned int)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘memcpy’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_b7f45 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b7f45.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=memcpy --coverage -lgcov CMakeFiles/cmTC_b7f45.dir/CheckFunctionExists.c.o -o cmTC_b7f45 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function memset exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_a9169/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_a9169.dir/build.make CMakeFiles/cmTC_a9169.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_a9169.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=memset -fPIE -o CMakeFiles/cmTC_a9169.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘memset’; expected ‘void *(void *, int, long unsigned int)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘memset’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_a9169 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a9169.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=memset --coverage -lgcov CMakeFiles/cmTC_a9169.dir/CheckFunctionExists.c.o -o cmTC_a9169 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function printf exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_13388/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_13388.dir/build.make CMakeFiles/cmTC_13388.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_13388.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=printf -fPIE -o CMakeFiles/cmTC_13388.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘printf’; expected ‘int(const char *, ...)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘printf’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_13388 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_13388.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=printf --coverage -lgcov CMakeFiles/cmTC_13388.dir/CheckFunctionExists.c.o -o cmTC_13388 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function setjmp exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_d8718/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_d8718.dir/build.make CMakeFiles/cmTC_d8718.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_d8718.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=setjmp -fPIE -o CMakeFiles/cmTC_d8718.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +Linking C executable cmTC_d8718 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d8718.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=setjmp --coverage -lgcov CMakeFiles/cmTC_d8718.dir/CheckFunctionExists.c.o -o cmTC_d8718 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function signal exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_9e76c/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_9e76c.dir/build.make CMakeFiles/cmTC_9e76c.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_9e76c.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=signal -fPIE -o CMakeFiles/cmTC_9e76c.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +Linking C executable cmTC_9e76c +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9e76c.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=signal --coverage -lgcov CMakeFiles/cmTC_9e76c.dir/CheckFunctionExists.c.o -o cmTC_9e76c +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function strsignal exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_8ca94/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_8ca94.dir/build.make CMakeFiles/cmTC_8ca94.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_8ca94.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=strsignal -fPIE -o CMakeFiles/cmTC_8ca94.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +Linking C executable cmTC_8ca94 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8ca94.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=strsignal --coverage -lgcov CMakeFiles/cmTC_8ca94.dir/CheckFunctionExists.c.o -o cmTC_8ca94 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function strcmp exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_f38ea/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_f38ea.dir/build.make CMakeFiles/cmTC_f38ea.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_f38ea.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=strcmp -fPIE -o CMakeFiles/cmTC_f38ea.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘strcmp’; expected ‘int(const char *, const char *)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘strcmp’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_f38ea +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f38ea.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=strcmp --coverage -lgcov CMakeFiles/cmTC_f38ea.dir/CheckFunctionExists.c.o -o cmTC_f38ea +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function clock_gettime exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_8d98e/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_8d98e.dir/build.make CMakeFiles/cmTC_8d98e.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_8d98e.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=clock_gettime -fPIE -o CMakeFiles/cmTC_8d98e.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +Linking C executable cmTC_8d98e +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8d98e.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=clock_gettime --coverage -lgcov CMakeFiles/cmTC_8d98e.dir/CheckFunctionExists.c.o -o cmTC_8d98e +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function sprintf exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_5a24b/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_5a24b.dir/build.make CMakeFiles/cmTC_5a24b.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_5a24b.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=sprintf -fPIE -o CMakeFiles/cmTC_5a24b.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘sprintf’; expected ‘int(char *, const char *, ...)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘sprintf’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_5a24b +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5a24b.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=sprintf --coverage -lgcov CMakeFiles/cmTC_5a24b.dir/CheckFunctionExists.c.o -o cmTC_5a24b +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the function vsnprintf exists passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_b21d4/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_b21d4.dir/build.make CMakeFiles/cmTC_b21d4.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_b21d4.dir/CheckFunctionExists.c.o +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=vsnprintf -fPIE -o CMakeFiles/cmTC_b21d4.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c +: warning: conflicting types for built-in function ‘vsnprintf’; expected ‘int(char *, long unsigned int, const char *, __va_list_tag *)’ [-Wbuiltin-declaration-mismatch] +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ + 7 | CHECK_FUNCTION_EXISTS(void); + | ^~~~~~~~~~~~~~~~~~~~~ +/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘vsnprintf’ is declared in header ‘’ + +++ |+#include + 1 | #ifdef CHECK_FUNCTION_EXISTS +Linking C executable cmTC_b21d4 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b21d4.dir/link.txt --verbose=1 +/usr/bin/cc -DCHECK_FUNCTION_EXISTS=vsnprintf --coverage -lgcov CMakeFiles/cmTC_b21d4.dir/CheckFunctionExists.c.o -o cmTC_b21d4 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Performing C SOURCE FILE Test HAVE_GCC_THREAD_LOCAL_STORAGE succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_a88ab/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_a88ab.dir/build.make CMakeFiles/cmTC_a88ab.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_a88ab.dir/src.c.o +/usr/bin/cc -DHAVE_GCC_THREAD_LOCAL_STORAGE -fPIE -o CMakeFiles/cmTC_a88ab.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_a88ab +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a88ab.dir/link.txt --verbose=1 +/usr/bin/cc -DHAVE_GCC_THREAD_LOCAL_STORAGE --coverage -lgcov CMakeFiles/cmTC_a88ab.dir/src.c.o -o cmTC_a88ab +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: + +__thread int tls; + +int main(void) { + return 0; +} +Performing C SOURCE FILE Test HAVE_CLOCK_REALTIME succeeded with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_adb72/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_adb72.dir/build.make CMakeFiles/cmTC_adb72.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_adb72.dir/src.c.o +/usr/bin/cc -DHAVE_CLOCK_REALTIME -fPIE -o CMakeFiles/cmTC_adb72.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c +Linking C executable cmTC_adb72 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_adb72.dir/link.txt --verbose=1 +/usr/bin/cc -DHAVE_CLOCK_REALTIME --coverage -lgcov CMakeFiles/cmTC_adb72.dir/src.c.o -o cmTC_adb72 /usr/lib/x86_64-linux-gnu/librt.so +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +Source file was: + +#include + +int main(void) { + struct timespec ts; + + clock_gettime(CLOCK_REALTIME, &ts); + + return 0; +} +Determining size of unsigned short passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_287c7/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_287c7.dir/build.make CMakeFiles/cmTC_287c7.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_287c7.dir/CMAKE_SIZEOF_UNSIGNED_SHORT.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_287c7.dir/CMAKE_SIZEOF_UNSIGNED_SHORT.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.c +Linking C executable cmTC_287c7 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_287c7.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_287c7.dir/CMAKE_SIZEOF_UNSIGNED_SHORT.c.o -o cmTC_287c7 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + + +Determining if the system is big endian passed with the following output: +Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/make cmTC_9cd40/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +/usr/bin/make -f CMakeFiles/cmTC_9cd40.dir/build.make CMakeFiles/cmTC_9cd40.dir/build +make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_9cd40.dir/TestEndianess.c.o +/usr/bin/cc -fPIE -o CMakeFiles/cmTC_9cd40.dir/TestEndianess.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/TestEndianess.c +Linking C executable cmTC_9cd40 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9cd40.dir/link.txt --verbose=1 +/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_9cd40.dir/TestEndianess.c.o -o cmTC_9cd40 +make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' +make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' + + +TestEndianess.c: +/* A 16 bit integer is required. */ +typedef unsigned short cmakeint16; + +/* On a little endian machine, these 16bit ints will give "THIS IS LITTLE ENDIAN." + On a big endian machine the characters will be exchanged pairwise. */ +const cmakeint16 info_little[] = {0x4854, 0x5349, 0x4920, 0x2053, 0x494c, 0x5454, 0x454c, 0x4520, 0x444e, 0x4149, 0x2e4e, 0x0000}; + +/* on a big endian machine, these 16bit ints will give "THIS IS BIG ENDIAN." + On a little endian machine the characters will be exchanged pairwise. */ +const cmakeint16 info_big[] = {0x5448, 0x4953, 0x2049, 0x5320, 0x4249, 0x4720, 0x454e, 0x4449, 0x414e, 0x2e2e, 0x0000}; + +#ifdef __CLASSIC_C__ +int main(argc, argv) int argc; char *argv[]; +#else +int main(int argc, char *argv[]) +#endif +{ + int require = 0; + require += info_little[argc]; + require += info_big[argc]; + (void)argv; + return require; +} + + diff --git a/tests/unit/build/CMakeFiles/CMakeRuleHashes.txt b/tests/unit/build/CMakeFiles/CMakeRuleHashes.txt new file mode 100644 index 0000000..fa5007e --- /dev/null +++ b/tests/unit/build/CMakeFiles/CMakeRuleHashes.txt @@ -0,0 +1,31 @@ +# Hashes of file build rules. +4755c15275b3465ff7f54cc86d8e699b CMakeFiles/Continuous +234804855383f58c207089e852c4df6f CMakeFiles/ContinuousBuild +5f61f8a3c1c3f131fed14798447c34e0 CMakeFiles/ContinuousConfigure +68c4240ed8067e7a58d9ec96606d40d7 CMakeFiles/ContinuousCoverage +11a13af4e40ac9b4e6bc8fc71003029e CMakeFiles/ContinuousMemCheck +7011ee1f8fd4873541102c8cde62a383 CMakeFiles/ContinuousStart +1d916a57aebea1faa9583dcb5f8b6626 CMakeFiles/ContinuousSubmit +305cd16040b748eff2554107964c004b CMakeFiles/ContinuousTest +d8f1b00d7e9e698aee7aedc62a941a41 CMakeFiles/ContinuousUpdate +8ae9788e639a65a9bafa0c79397fc3d7 CMakeFiles/Experimental +4f666eaf6b8ccdb501c71f18358d76d3 CMakeFiles/ExperimentalBuild +be64ce5828fe24fea5e75db267d43767 CMakeFiles/ExperimentalConfigure +c00ddbf1a5064e99bd1c004bb1eaa81e CMakeFiles/ExperimentalCoverage +ddef60be4a5c35da9f26717b85bbb9c4 CMakeFiles/ExperimentalMemCheck +598520994eb706ccee9f48bd43ac8ff4 CMakeFiles/ExperimentalStart +aab53f774ee6ab34b74907542976de04 CMakeFiles/ExperimentalSubmit +eec188f43554a725b58a81d329c4deb4 CMakeFiles/ExperimentalTest +f1a75d2148d64ab991129d1b31b54dff CMakeFiles/ExperimentalUpdate +58d421fc55b33a898022f7bb4b72018a CMakeFiles/Nightly +ec771c3a9720917bc38e8cff130c8690 CMakeFiles/NightlyBuild +1084bf2d6e443225665114796005d5f9 CMakeFiles/NightlyConfigure +84aa68f3489e0f45df17b9cde8292d80 CMakeFiles/NightlyCoverage +e5bd6a17cfe4cd35db1c155eaaf29bea CMakeFiles/NightlyMemCheck +06771389174f8e32fe7875107a8896af CMakeFiles/NightlyMemoryCheck +bba06aaae0904b4c667f48814a35177a CMakeFiles/NightlyStart +88038e1d0c5fc8d973f51f7217fd0b15 CMakeFiles/NightlySubmit +4426f7cd8f1ee0f9b2649e98916a2eaf CMakeFiles/NightlyTest +9d2cd5f76be6898497f6cecb641d8537 CMakeFiles/NightlyUpdate +c431900d656c8296c618d0bf85e30906 _deps/cmocka-build/CMakeFiles/dist +9a50455849641a4d852d19512cca575d _deps/cmocka-build/doc/CMakeFiles/docs diff --git a/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.bin b/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.bin new file mode 100755 index 0000000000000000000000000000000000000000..df4ac84d54ad964631b8ea80b0fa531dfa38acc9 GIT binary patch literal 16552 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 Sob#5qzqeItY;YJjMDcgYBrB)@ literal 0 HcmV?d00001 diff --git a/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.c b/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.c new file mode 100644 index 0000000..9554bbc --- /dev/null +++ b/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.c @@ -0,0 +1,46 @@ +#include +#include +#include + + +#undef KEY +#if defined(__i386) +# define KEY '_','_','i','3','8','6' +#elif defined(__x86_64) +# define KEY '_','_','x','8','6','_','6','4' +#elif defined(__ppc__) +# define KEY '_','_','p','p','c','_','_' +#elif defined(__ppc64__) +# define KEY '_','_','p','p','c','6','4','_','_' +#elif defined(__aarch64__) +# define KEY '_','_','a','a','r','c','h','6','4','_','_' +#elif defined(__ARM_ARCH_7A__) +# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' +#elif defined(__ARM_ARCH_7S__) +# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' +#endif + +#define SIZE (sizeof(unsigned short)) +static char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', + ('0' + ((SIZE / 10000)%10)), + ('0' + ((SIZE / 1000)%10)), + ('0' + ((SIZE / 100)%10)), + ('0' + ((SIZE / 10)%10)), + ('0' + (SIZE % 10)), + ']', +#ifdef KEY + ' ','k','e','y','[', KEY, ']', +#endif + '\0'}; + +#ifdef __CLASSIC_C__ +int main(argc, argv) int argc; char *argv[]; +#else +int main(int argc, char *argv[]) +#endif +{ + int require = 0; + require += info_size[argc]; + (void)argv; + return require; +} diff --git a/tests/unit/build/CMakeFiles/Continuous.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/Continuous.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Continuous.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/Continuous.dir/build.make b/tests/unit/build/CMakeFiles/Continuous.dir/build.make new file mode 100644 index 0000000..2e80bad --- /dev/null +++ b/tests/unit/build/CMakeFiles/Continuous.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for Continuous. + +# Include the progress variables for this target. +include CMakeFiles/Continuous.dir/progress.make + +CMakeFiles/Continuous: + /usr/bin/ctest -D Continuous + +Continuous: CMakeFiles/Continuous +Continuous: CMakeFiles/Continuous.dir/build.make + +.PHONY : Continuous + +# Rule to build all files generated by this target. +CMakeFiles/Continuous.dir/build: Continuous + +.PHONY : CMakeFiles/Continuous.dir/build + +CMakeFiles/Continuous.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/Continuous.dir/cmake_clean.cmake +.PHONY : CMakeFiles/Continuous.dir/clean + +CMakeFiles/Continuous.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Continuous.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/Continuous.dir/depend + diff --git a/tests/unit/build/CMakeFiles/Continuous.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/Continuous.dir/cmake_clean.cmake new file mode 100644 index 0000000..7e1791c --- /dev/null +++ b/tests/unit/build/CMakeFiles/Continuous.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/Continuous" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/Continuous.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/Continuous.dir/progress.make b/tests/unit/build/CMakeFiles/Continuous.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Continuous.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/build.make new file mode 100644 index 0000000..7d7de85 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ContinuousBuild. + +# Include the progress variables for this target. +include CMakeFiles/ContinuousBuild.dir/progress.make + +CMakeFiles/ContinuousBuild: + /usr/bin/ctest -D ContinuousBuild + +ContinuousBuild: CMakeFiles/ContinuousBuild +ContinuousBuild: CMakeFiles/ContinuousBuild.dir/build.make + +.PHONY : ContinuousBuild + +# Rule to build all files generated by this target. +CMakeFiles/ContinuousBuild.dir/build: ContinuousBuild + +.PHONY : CMakeFiles/ContinuousBuild.dir/build + +CMakeFiles/ContinuousBuild.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ContinuousBuild.dir/clean + +CMakeFiles/ContinuousBuild.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ContinuousBuild.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake new file mode 100644 index 0000000..afccd13 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousBuild" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/build.make new file mode 100644 index 0000000..ff6beeb --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ContinuousConfigure. + +# Include the progress variables for this target. +include CMakeFiles/ContinuousConfigure.dir/progress.make + +CMakeFiles/ContinuousConfigure: + /usr/bin/ctest -D ContinuousConfigure + +ContinuousConfigure: CMakeFiles/ContinuousConfigure +ContinuousConfigure: CMakeFiles/ContinuousConfigure.dir/build.make + +.PHONY : ContinuousConfigure + +# Rule to build all files generated by this target. +CMakeFiles/ContinuousConfigure.dir/build: ContinuousConfigure + +.PHONY : CMakeFiles/ContinuousConfigure.dir/build + +CMakeFiles/ContinuousConfigure.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ContinuousConfigure.dir/clean + +CMakeFiles/ContinuousConfigure.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ContinuousConfigure.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake new file mode 100644 index 0000000..eb51e20 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousConfigure" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/build.make new file mode 100644 index 0000000..0f152f0 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ContinuousCoverage. + +# Include the progress variables for this target. +include CMakeFiles/ContinuousCoverage.dir/progress.make + +CMakeFiles/ContinuousCoverage: + /usr/bin/ctest -D ContinuousCoverage + +ContinuousCoverage: CMakeFiles/ContinuousCoverage +ContinuousCoverage: CMakeFiles/ContinuousCoverage.dir/build.make + +.PHONY : ContinuousCoverage + +# Rule to build all files generated by this target. +CMakeFiles/ContinuousCoverage.dir/build: ContinuousCoverage + +.PHONY : CMakeFiles/ContinuousCoverage.dir/build + +CMakeFiles/ContinuousCoverage.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ContinuousCoverage.dir/clean + +CMakeFiles/ContinuousCoverage.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ContinuousCoverage.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake new file mode 100644 index 0000000..6115f89 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousCoverage" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/build.make new file mode 100644 index 0000000..db80c5c --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ContinuousMemCheck. + +# Include the progress variables for this target. +include CMakeFiles/ContinuousMemCheck.dir/progress.make + +CMakeFiles/ContinuousMemCheck: + /usr/bin/ctest -D ContinuousMemCheck + +ContinuousMemCheck: CMakeFiles/ContinuousMemCheck +ContinuousMemCheck: CMakeFiles/ContinuousMemCheck.dir/build.make + +.PHONY : ContinuousMemCheck + +# Rule to build all files generated by this target. +CMakeFiles/ContinuousMemCheck.dir/build: ContinuousMemCheck + +.PHONY : CMakeFiles/ContinuousMemCheck.dir/build + +CMakeFiles/ContinuousMemCheck.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ContinuousMemCheck.dir/clean + +CMakeFiles/ContinuousMemCheck.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ContinuousMemCheck.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake new file mode 100644 index 0000000..ad69e7f --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousMemCheck" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousStart.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousStart.dir/build.make new file mode 100644 index 0000000..0c7f966 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousStart.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ContinuousStart. + +# Include the progress variables for this target. +include CMakeFiles/ContinuousStart.dir/progress.make + +CMakeFiles/ContinuousStart: + /usr/bin/ctest -D ContinuousStart + +ContinuousStart: CMakeFiles/ContinuousStart +ContinuousStart: CMakeFiles/ContinuousStart.dir/build.make + +.PHONY : ContinuousStart + +# Rule to build all files generated by this target. +CMakeFiles/ContinuousStart.dir/build: ContinuousStart + +.PHONY : CMakeFiles/ContinuousStart.dir/build + +CMakeFiles/ContinuousStart.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ContinuousStart.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ContinuousStart.dir/clean + +CMakeFiles/ContinuousStart.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ContinuousStart.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake new file mode 100644 index 0000000..13d5b2b --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousStart" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousStart.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousStart.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousStart.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousStart.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/build.make new file mode 100644 index 0000000..1966621 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ContinuousSubmit. + +# Include the progress variables for this target. +include CMakeFiles/ContinuousSubmit.dir/progress.make + +CMakeFiles/ContinuousSubmit: + /usr/bin/ctest -D ContinuousSubmit + +ContinuousSubmit: CMakeFiles/ContinuousSubmit +ContinuousSubmit: CMakeFiles/ContinuousSubmit.dir/build.make + +.PHONY : ContinuousSubmit + +# Rule to build all files generated by this target. +CMakeFiles/ContinuousSubmit.dir/build: ContinuousSubmit + +.PHONY : CMakeFiles/ContinuousSubmit.dir/build + +CMakeFiles/ContinuousSubmit.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ContinuousSubmit.dir/clean + +CMakeFiles/ContinuousSubmit.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ContinuousSubmit.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake new file mode 100644 index 0000000..cc66ba3 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousSubmit" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousSubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousTest.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousTest.dir/build.make new file mode 100644 index 0000000..a455fbf --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousTest.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ContinuousTest. + +# Include the progress variables for this target. +include CMakeFiles/ContinuousTest.dir/progress.make + +CMakeFiles/ContinuousTest: + /usr/bin/ctest -D ContinuousTest + +ContinuousTest: CMakeFiles/ContinuousTest +ContinuousTest: CMakeFiles/ContinuousTest.dir/build.make + +.PHONY : ContinuousTest + +# Rule to build all files generated by this target. +CMakeFiles/ContinuousTest.dir/build: ContinuousTest + +.PHONY : CMakeFiles/ContinuousTest.dir/build + +CMakeFiles/ContinuousTest.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ContinuousTest.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ContinuousTest.dir/clean + +CMakeFiles/ContinuousTest.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ContinuousTest.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake new file mode 100644 index 0000000..ff11d48 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousTest" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousTest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousTest.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousTest.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousTest.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/build.make new file mode 100644 index 0000000..753a1d9 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ContinuousUpdate. + +# Include the progress variables for this target. +include CMakeFiles/ContinuousUpdate.dir/progress.make + +CMakeFiles/ContinuousUpdate: + /usr/bin/ctest -D ContinuousUpdate + +ContinuousUpdate: CMakeFiles/ContinuousUpdate +ContinuousUpdate: CMakeFiles/ContinuousUpdate.dir/build.make + +.PHONY : ContinuousUpdate + +# Rule to build all files generated by this target. +CMakeFiles/ContinuousUpdate.dir/build: ContinuousUpdate + +.PHONY : CMakeFiles/ContinuousUpdate.dir/build + +CMakeFiles/ContinuousUpdate.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ContinuousUpdate.dir/clean + +CMakeFiles/ContinuousUpdate.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ContinuousUpdate.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake new file mode 100644 index 0000000..7a77a24 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ContinuousUpdate" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ContinuousUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/Experimental.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/Experimental.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Experimental.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/Experimental.dir/build.make b/tests/unit/build/CMakeFiles/Experimental.dir/build.make new file mode 100644 index 0000000..39f5fd6 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Experimental.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for Experimental. + +# Include the progress variables for this target. +include CMakeFiles/Experimental.dir/progress.make + +CMakeFiles/Experimental: + /usr/bin/ctest -D Experimental + +Experimental: CMakeFiles/Experimental +Experimental: CMakeFiles/Experimental.dir/build.make + +.PHONY : Experimental + +# Rule to build all files generated by this target. +CMakeFiles/Experimental.dir/build: Experimental + +.PHONY : CMakeFiles/Experimental.dir/build + +CMakeFiles/Experimental.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/Experimental.dir/cmake_clean.cmake +.PHONY : CMakeFiles/Experimental.dir/clean + +CMakeFiles/Experimental.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Experimental.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/Experimental.dir/depend + diff --git a/tests/unit/build/CMakeFiles/Experimental.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/Experimental.dir/cmake_clean.cmake new file mode 100644 index 0000000..799e708 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Experimental.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/Experimental" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/Experimental.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/Experimental.dir/progress.make b/tests/unit/build/CMakeFiles/Experimental.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Experimental.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/build.make new file mode 100644 index 0000000..f155026 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ExperimentalBuild. + +# Include the progress variables for this target. +include CMakeFiles/ExperimentalBuild.dir/progress.make + +CMakeFiles/ExperimentalBuild: + /usr/bin/ctest -D ExperimentalBuild + +ExperimentalBuild: CMakeFiles/ExperimentalBuild +ExperimentalBuild: CMakeFiles/ExperimentalBuild.dir/build.make + +.PHONY : ExperimentalBuild + +# Rule to build all files generated by this target. +CMakeFiles/ExperimentalBuild.dir/build: ExperimentalBuild + +.PHONY : CMakeFiles/ExperimentalBuild.dir/build + +CMakeFiles/ExperimentalBuild.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ExperimentalBuild.dir/clean + +CMakeFiles/ExperimentalBuild.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ExperimentalBuild.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake new file mode 100644 index 0000000..3354e3f --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalBuild" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/build.make new file mode 100644 index 0000000..1478e1a --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ExperimentalConfigure. + +# Include the progress variables for this target. +include CMakeFiles/ExperimentalConfigure.dir/progress.make + +CMakeFiles/ExperimentalConfigure: + /usr/bin/ctest -D ExperimentalConfigure + +ExperimentalConfigure: CMakeFiles/ExperimentalConfigure +ExperimentalConfigure: CMakeFiles/ExperimentalConfigure.dir/build.make + +.PHONY : ExperimentalConfigure + +# Rule to build all files generated by this target. +CMakeFiles/ExperimentalConfigure.dir/build: ExperimentalConfigure + +.PHONY : CMakeFiles/ExperimentalConfigure.dir/build + +CMakeFiles/ExperimentalConfigure.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ExperimentalConfigure.dir/clean + +CMakeFiles/ExperimentalConfigure.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ExperimentalConfigure.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake new file mode 100644 index 0000000..69e4a71 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalConfigure" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/build.make new file mode 100644 index 0000000..dd6d226 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ExperimentalCoverage. + +# Include the progress variables for this target. +include CMakeFiles/ExperimentalCoverage.dir/progress.make + +CMakeFiles/ExperimentalCoverage: + /usr/bin/ctest -D ExperimentalCoverage + +ExperimentalCoverage: CMakeFiles/ExperimentalCoverage +ExperimentalCoverage: CMakeFiles/ExperimentalCoverage.dir/build.make + +.PHONY : ExperimentalCoverage + +# Rule to build all files generated by this target. +CMakeFiles/ExperimentalCoverage.dir/build: ExperimentalCoverage + +.PHONY : CMakeFiles/ExperimentalCoverage.dir/build + +CMakeFiles/ExperimentalCoverage.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ExperimentalCoverage.dir/clean + +CMakeFiles/ExperimentalCoverage.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ExperimentalCoverage.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake new file mode 100644 index 0000000..b8d6597 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalCoverage" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/build.make new file mode 100644 index 0000000..095e686 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ExperimentalMemCheck. + +# Include the progress variables for this target. +include CMakeFiles/ExperimentalMemCheck.dir/progress.make + +CMakeFiles/ExperimentalMemCheck: + /usr/bin/ctest -D ExperimentalMemCheck + +ExperimentalMemCheck: CMakeFiles/ExperimentalMemCheck +ExperimentalMemCheck: CMakeFiles/ExperimentalMemCheck.dir/build.make + +.PHONY : ExperimentalMemCheck + +# Rule to build all files generated by this target. +CMakeFiles/ExperimentalMemCheck.dir/build: ExperimentalMemCheck + +.PHONY : CMakeFiles/ExperimentalMemCheck.dir/build + +CMakeFiles/ExperimentalMemCheck.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ExperimentalMemCheck.dir/clean + +CMakeFiles/ExperimentalMemCheck.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ExperimentalMemCheck.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake new file mode 100644 index 0000000..ed3f7bc --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalMemCheck" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/build.make new file mode 100644 index 0000000..b997ad4 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ExperimentalStart. + +# Include the progress variables for this target. +include CMakeFiles/ExperimentalStart.dir/progress.make + +CMakeFiles/ExperimentalStart: + /usr/bin/ctest -D ExperimentalStart + +ExperimentalStart: CMakeFiles/ExperimentalStart +ExperimentalStart: CMakeFiles/ExperimentalStart.dir/build.make + +.PHONY : ExperimentalStart + +# Rule to build all files generated by this target. +CMakeFiles/ExperimentalStart.dir/build: ExperimentalStart + +.PHONY : CMakeFiles/ExperimentalStart.dir/build + +CMakeFiles/ExperimentalStart.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ExperimentalStart.dir/clean + +CMakeFiles/ExperimentalStart.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ExperimentalStart.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake new file mode 100644 index 0000000..4e2736b --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalStart" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalStart.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/build.make new file mode 100644 index 0000000..409b234 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ExperimentalSubmit. + +# Include the progress variables for this target. +include CMakeFiles/ExperimentalSubmit.dir/progress.make + +CMakeFiles/ExperimentalSubmit: + /usr/bin/ctest -D ExperimentalSubmit + +ExperimentalSubmit: CMakeFiles/ExperimentalSubmit +ExperimentalSubmit: CMakeFiles/ExperimentalSubmit.dir/build.make + +.PHONY : ExperimentalSubmit + +# Rule to build all files generated by this target. +CMakeFiles/ExperimentalSubmit.dir/build: ExperimentalSubmit + +.PHONY : CMakeFiles/ExperimentalSubmit.dir/build + +CMakeFiles/ExperimentalSubmit.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ExperimentalSubmit.dir/clean + +CMakeFiles/ExperimentalSubmit.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ExperimentalSubmit.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake new file mode 100644 index 0000000..d130e45 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalSubmit" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalSubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/build.make new file mode 100644 index 0000000..7bc13bf --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ExperimentalTest. + +# Include the progress variables for this target. +include CMakeFiles/ExperimentalTest.dir/progress.make + +CMakeFiles/ExperimentalTest: + /usr/bin/ctest -D ExperimentalTest + +ExperimentalTest: CMakeFiles/ExperimentalTest +ExperimentalTest: CMakeFiles/ExperimentalTest.dir/build.make + +.PHONY : ExperimentalTest + +# Rule to build all files generated by this target. +CMakeFiles/ExperimentalTest.dir/build: ExperimentalTest + +.PHONY : CMakeFiles/ExperimentalTest.dir/build + +CMakeFiles/ExperimentalTest.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ExperimentalTest.dir/clean + +CMakeFiles/ExperimentalTest.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ExperimentalTest.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake new file mode 100644 index 0000000..4348aa3 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalTest" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalTest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/build.make new file mode 100644 index 0000000..3ba8ffd --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for ExperimentalUpdate. + +# Include the progress variables for this target. +include CMakeFiles/ExperimentalUpdate.dir/progress.make + +CMakeFiles/ExperimentalUpdate: + /usr/bin/ctest -D ExperimentalUpdate + +ExperimentalUpdate: CMakeFiles/ExperimentalUpdate +ExperimentalUpdate: CMakeFiles/ExperimentalUpdate.dir/build.make + +.PHONY : ExperimentalUpdate + +# Rule to build all files generated by this target. +CMakeFiles/ExperimentalUpdate.dir/build: ExperimentalUpdate + +.PHONY : CMakeFiles/ExperimentalUpdate.dir/build + +CMakeFiles/ExperimentalUpdate.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake +.PHONY : CMakeFiles/ExperimentalUpdate.dir/clean + +CMakeFiles/ExperimentalUpdate.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/ExperimentalUpdate.dir/depend + diff --git a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake new file mode 100644 index 0000000..2319049 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/ExperimentalUpdate" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/ExperimentalUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/Makefile.cmake b/tests/unit/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..fc49e97 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,134 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeDoxyfile.in" + "CMakeDoxygenDefaults.cmake" + "CMakeFiles/3.16.3/CMakeCCompiler.cmake" + "CMakeFiles/3.16.3/CMakeSystem.cmake" + "_deps/cmocka-src/CMakeLists.txt" + "_deps/cmocka-src/CPackConfig.cmake" + "_deps/cmocka-src/CTestConfig.cmake" + "_deps/cmocka-src/CompilerChecks.cmake" + "_deps/cmocka-src/ConfigureChecks.cmake" + "_deps/cmocka-src/DefineOptions.cmake" + "_deps/cmocka-src/cmake/Modules/AddCCompilerFlag.cmake" + "_deps/cmocka-src/cmake/Modules/AddCMockaTest.cmake" + "_deps/cmocka-src/cmake/Modules/CheckCCompilerFlagSSP.cmake" + "_deps/cmocka-src/cmake/Modules/DefineCMakeDefaults.cmake" + "_deps/cmocka-src/cmake/Modules/DefineCompilerFlags.cmake" + "_deps/cmocka-src/cmake/Modules/DefinePlatformDefaults.cmake" + "_deps/cmocka-src/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake" + "_deps/cmocka-src/cmocka-config.cmake.in" + "_deps/cmocka-src/cmocka.pc.cmake" + "_deps/cmocka-src/config.h.cmake" + "_deps/cmocka-src/doc/CMakeLists.txt" + "_deps/cmocka-src/include/CMakeLists.txt" + "_deps/cmocka-src/src/CMakeLists.txt" + "/usr/lib/x86_64-linux-gnu/cmake/cmocka/cmocka-config-version.cmake" + "/usr/lib/x86_64-linux-gnu/cmake/cmocka/cmocka-config.cmake" + "/usr/share/cmake-3.16/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in" + "/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake" + "/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakePackageConfigHelpers.cmake" + "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.16/Modules/CPack.cmake" + "/usr/share/cmake-3.16/Modules/CPackComponent.cmake" + "/usr/share/cmake-3.16/Modules/CTest.cmake" + "/usr/share/cmake-3.16/Modules/CTestTargets.cmake" + "/usr/share/cmake-3.16/Modules/CTestUseLaunchers.cmake" + "/usr/share/cmake-3.16/Modules/CheckCCompilerFlag.cmake" + "/usr/share/cmake-3.16/Modules/CheckCSourceCompiles.cmake" + "/usr/share/cmake-3.16/Modules/CheckCXXSourceCompiles.cmake" + "/usr/share/cmake-3.16/Modules/CheckFunctionExists.cmake" + "/usr/share/cmake-3.16/Modules/CheckIncludeFile.cmake" + "/usr/share/cmake-3.16/Modules/CheckIncludeFileCXX.cmake" + "/usr/share/cmake-3.16/Modules/CheckLibraryExists.cmake" + "/usr/share/cmake-3.16/Modules/CheckStructHasMember.cmake" + "/usr/share/cmake-3.16/Modules/CheckSymbolExists.cmake" + "/usr/share/cmake-3.16/Modules/CheckTypeSize.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.16/Modules/DartConfiguration.tcl.in" + "/usr/share/cmake-3.16/Modules/FetchContent.cmake" + "/usr/share/cmake-3.16/Modules/FetchContent/CMakeLists.cmake.in" + "/usr/share/cmake-3.16/Modules/FindDoxygen.cmake" + "/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake" + "/usr/share/cmake-3.16/Modules/FindPackageMessage.cmake" + "/usr/share/cmake-3.16/Modules/GNUInstallDirs.cmake" + "/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.16/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake" + "/usr/share/cmake-3.16/Modules/TestBigEndian.cmake" + "/usr/share/cmake-3.16/Modules/WriteBasicConfigVersionFile.cmake" + "/usr/share/cmake-3.16/Templates/CPackConfig.cmake.in" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "DartConfiguration.tcl" + "_deps/cmocka-subbuild/CMakeLists.txt" + "CMakeFiles/CMakeDirectoryInformation.cmake" + "_deps/cmocka-build/CMakeFiles/CMakeDirectoryInformation.cmake" + "_deps/cmocka-build/include/CMakeFiles/CMakeDirectoryInformation.cmake" + "_deps/cmocka-build/src/CMakeFiles/CMakeDirectoryInformation.cmake" + "_deps/cmocka-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake" + "CMakeFiles/NightlyTest.dir/DependInfo.cmake" + "CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake" + "CMakeFiles/ContinuousBuild.dir/DependInfo.cmake" + "CMakeFiles/NightlyConfigure.dir/DependInfo.cmake" + "CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake" + "CMakeFiles/ExperimentalTest.dir/DependInfo.cmake" + "CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake" + "CMakeFiles/NightlyUpdate.dir/DependInfo.cmake" + "CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake" + "CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake" + "CMakeFiles/Experimental.dir/DependInfo.cmake" + "CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake" + "CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake" + "CMakeFiles/Continuous.dir/DependInfo.cmake" + "CMakeFiles/test_utils.dir/DependInfo.cmake" + "CMakeFiles/utils.dir/DependInfo.cmake" + "CMakeFiles/Nightly.dir/DependInfo.cmake" + "CMakeFiles/NightlySubmit.dir/DependInfo.cmake" + "CMakeFiles/NightlyStart.dir/DependInfo.cmake" + "CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake" + "CMakeFiles/NightlyCoverage.dir/DependInfo.cmake" + "CMakeFiles/ExperimentalStart.dir/DependInfo.cmake" + "CMakeFiles/NightlyBuild.dir/DependInfo.cmake" + "CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake" + "CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake" + "CMakeFiles/ContinuousStart.dir/DependInfo.cmake" + "CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake" + "CMakeFiles/ContinuousTest.dir/DependInfo.cmake" + "CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake" + "_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake" + "_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake" + "_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake" + "_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake" + ) diff --git a/tests/unit/build/CMakeFiles/Makefile2 b/tests/unit/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..b65ccbd --- /dev/null +++ b/tests/unit/build/CMakeFiles/Makefile2 @@ -0,0 +1,1111 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/test_utils.dir/all +all: CMakeFiles/utils.dir/all +all: _deps/cmocka-build/all + +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: _deps/cmocka-build/preinstall + +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/NightlyMemCheck.dir/clean +clean: CMakeFiles/NightlyTest.dir/clean +clean: CMakeFiles/ContinuousConfigure.dir/clean +clean: CMakeFiles/ContinuousBuild.dir/clean +clean: CMakeFiles/NightlyConfigure.dir/clean +clean: CMakeFiles/NightlyMemoryCheck.dir/clean +clean: CMakeFiles/ExperimentalTest.dir/clean +clean: CMakeFiles/ContinuousUpdate.dir/clean +clean: CMakeFiles/NightlyUpdate.dir/clean +clean: CMakeFiles/ExperimentalMemCheck.dir/clean +clean: CMakeFiles/ExperimentalSubmit.dir/clean +clean: CMakeFiles/Experimental.dir/clean +clean: CMakeFiles/ContinuousCoverage.dir/clean +clean: CMakeFiles/ExperimentalConfigure.dir/clean +clean: CMakeFiles/Continuous.dir/clean +clean: CMakeFiles/test_utils.dir/clean +clean: CMakeFiles/utils.dir/clean +clean: CMakeFiles/Nightly.dir/clean +clean: CMakeFiles/NightlySubmit.dir/clean +clean: CMakeFiles/NightlyStart.dir/clean +clean: CMakeFiles/ExperimentalCoverage.dir/clean +clean: CMakeFiles/NightlyCoverage.dir/clean +clean: CMakeFiles/ExperimentalStart.dir/clean +clean: CMakeFiles/NightlyBuild.dir/clean +clean: CMakeFiles/ExperimentalBuild.dir/clean +clean: CMakeFiles/ExperimentalUpdate.dir/clean +clean: CMakeFiles/ContinuousStart.dir/clean +clean: CMakeFiles/ContinuousMemCheck.dir/clean +clean: CMakeFiles/ContinuousTest.dir/clean +clean: CMakeFiles/ContinuousSubmit.dir/clean +clean: _deps/cmocka-build/clean + +.PHONY : clean + +#============================================================================= +# Directory level rules for directory _deps/cmocka-build + +# Recursive "all" directory target. +_deps/cmocka-build/all: _deps/cmocka-build/include/all +_deps/cmocka-build/all: _deps/cmocka-build/src/all +_deps/cmocka-build/all: _deps/cmocka-build/doc/all + +.PHONY : _deps/cmocka-build/all + +# Recursive "preinstall" directory target. +_deps/cmocka-build/preinstall: _deps/cmocka-build/include/preinstall +_deps/cmocka-build/preinstall: _deps/cmocka-build/src/preinstall +_deps/cmocka-build/preinstall: _deps/cmocka-build/doc/preinstall + +.PHONY : _deps/cmocka-build/preinstall + +# Recursive "clean" directory target. +_deps/cmocka-build/clean: _deps/cmocka-build/CMakeFiles/dist.dir/clean +_deps/cmocka-build/clean: _deps/cmocka-build/include/clean +_deps/cmocka-build/clean: _deps/cmocka-build/src/clean +_deps/cmocka-build/clean: _deps/cmocka-build/doc/clean + +.PHONY : _deps/cmocka-build/clean + +#============================================================================= +# Directory level rules for directory _deps/cmocka-build/doc + +# Recursive "all" directory target. +_deps/cmocka-build/doc/all: + +.PHONY : _deps/cmocka-build/doc/all + +# Recursive "preinstall" directory target. +_deps/cmocka-build/doc/preinstall: + +.PHONY : _deps/cmocka-build/doc/preinstall + +# Recursive "clean" directory target. +_deps/cmocka-build/doc/clean: _deps/cmocka-build/doc/CMakeFiles/docs.dir/clean + $(CMAKE_COMMAND) -P _deps/cmocka-build/doc/CMakeFiles/cmake_directory_clean.cmake +.PHONY : _deps/cmocka-build/doc/clean + +#============================================================================= +# Directory level rules for directory _deps/cmocka-build/include + +# Recursive "all" directory target. +_deps/cmocka-build/include/all: + +.PHONY : _deps/cmocka-build/include/all + +# Recursive "preinstall" directory target. +_deps/cmocka-build/include/preinstall: + +.PHONY : _deps/cmocka-build/include/preinstall + +# Recursive "clean" directory target. +_deps/cmocka-build/include/clean: + +.PHONY : _deps/cmocka-build/include/clean + +#============================================================================= +# Directory level rules for directory _deps/cmocka-build/src + +# Recursive "all" directory target. +_deps/cmocka-build/src/all: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/all +_deps/cmocka-build/src/all: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/all + +.PHONY : _deps/cmocka-build/src/all + +# Recursive "preinstall" directory target. +_deps/cmocka-build/src/preinstall: + +.PHONY : _deps/cmocka-build/src/preinstall + +# Recursive "clean" directory target. +_deps/cmocka-build/src/clean: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean +_deps/cmocka-build/src/clean: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean + +.PHONY : _deps/cmocka-build/src/clean + +#============================================================================= +# Target rules for target CMakeFiles/NightlyMemCheck.dir + +# All Build rule for target. +CMakeFiles/NightlyMemCheck.dir/all: + $(MAKE) -f CMakeFiles/NightlyMemCheck.dir/build.make CMakeFiles/NightlyMemCheck.dir/depend + $(MAKE) -f CMakeFiles/NightlyMemCheck.dir/build.make CMakeFiles/NightlyMemCheck.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyMemCheck" +.PHONY : CMakeFiles/NightlyMemCheck.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/NightlyMemCheck.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyMemCheck.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/NightlyMemCheck.dir/rule + +# Convenience name for target. +NightlyMemCheck: CMakeFiles/NightlyMemCheck.dir/rule + +.PHONY : NightlyMemCheck + +# clean rule for target. +CMakeFiles/NightlyMemCheck.dir/clean: + $(MAKE) -f CMakeFiles/NightlyMemCheck.dir/build.make CMakeFiles/NightlyMemCheck.dir/clean +.PHONY : CMakeFiles/NightlyMemCheck.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/NightlyTest.dir + +# All Build rule for target. +CMakeFiles/NightlyTest.dir/all: + $(MAKE) -f CMakeFiles/NightlyTest.dir/build.make CMakeFiles/NightlyTest.dir/depend + $(MAKE) -f CMakeFiles/NightlyTest.dir/build.make CMakeFiles/NightlyTest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyTest" +.PHONY : CMakeFiles/NightlyTest.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/NightlyTest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyTest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/NightlyTest.dir/rule + +# Convenience name for target. +NightlyTest: CMakeFiles/NightlyTest.dir/rule + +.PHONY : NightlyTest + +# clean rule for target. +CMakeFiles/NightlyTest.dir/clean: + $(MAKE) -f CMakeFiles/NightlyTest.dir/build.make CMakeFiles/NightlyTest.dir/clean +.PHONY : CMakeFiles/NightlyTest.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ContinuousConfigure.dir + +# All Build rule for target. +CMakeFiles/ContinuousConfigure.dir/all: + $(MAKE) -f CMakeFiles/ContinuousConfigure.dir/build.make CMakeFiles/ContinuousConfigure.dir/depend + $(MAKE) -f CMakeFiles/ContinuousConfigure.dir/build.make CMakeFiles/ContinuousConfigure.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousConfigure" +.PHONY : CMakeFiles/ContinuousConfigure.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ContinuousConfigure.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousConfigure.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ContinuousConfigure.dir/rule + +# Convenience name for target. +ContinuousConfigure: CMakeFiles/ContinuousConfigure.dir/rule + +.PHONY : ContinuousConfigure + +# clean rule for target. +CMakeFiles/ContinuousConfigure.dir/clean: + $(MAKE) -f CMakeFiles/ContinuousConfigure.dir/build.make CMakeFiles/ContinuousConfigure.dir/clean +.PHONY : CMakeFiles/ContinuousConfigure.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ContinuousBuild.dir + +# All Build rule for target. +CMakeFiles/ContinuousBuild.dir/all: + $(MAKE) -f CMakeFiles/ContinuousBuild.dir/build.make CMakeFiles/ContinuousBuild.dir/depend + $(MAKE) -f CMakeFiles/ContinuousBuild.dir/build.make CMakeFiles/ContinuousBuild.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousBuild" +.PHONY : CMakeFiles/ContinuousBuild.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ContinuousBuild.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousBuild.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ContinuousBuild.dir/rule + +# Convenience name for target. +ContinuousBuild: CMakeFiles/ContinuousBuild.dir/rule + +.PHONY : ContinuousBuild + +# clean rule for target. +CMakeFiles/ContinuousBuild.dir/clean: + $(MAKE) -f CMakeFiles/ContinuousBuild.dir/build.make CMakeFiles/ContinuousBuild.dir/clean +.PHONY : CMakeFiles/ContinuousBuild.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/NightlyConfigure.dir + +# All Build rule for target. +CMakeFiles/NightlyConfigure.dir/all: + $(MAKE) -f CMakeFiles/NightlyConfigure.dir/build.make CMakeFiles/NightlyConfigure.dir/depend + $(MAKE) -f CMakeFiles/NightlyConfigure.dir/build.make CMakeFiles/NightlyConfigure.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyConfigure" +.PHONY : CMakeFiles/NightlyConfigure.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/NightlyConfigure.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyConfigure.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/NightlyConfigure.dir/rule + +# Convenience name for target. +NightlyConfigure: CMakeFiles/NightlyConfigure.dir/rule + +.PHONY : NightlyConfigure + +# clean rule for target. +CMakeFiles/NightlyConfigure.dir/clean: + $(MAKE) -f CMakeFiles/NightlyConfigure.dir/build.make CMakeFiles/NightlyConfigure.dir/clean +.PHONY : CMakeFiles/NightlyConfigure.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/NightlyMemoryCheck.dir + +# All Build rule for target. +CMakeFiles/NightlyMemoryCheck.dir/all: + $(MAKE) -f CMakeFiles/NightlyMemoryCheck.dir/build.make CMakeFiles/NightlyMemoryCheck.dir/depend + $(MAKE) -f CMakeFiles/NightlyMemoryCheck.dir/build.make CMakeFiles/NightlyMemoryCheck.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyMemoryCheck" +.PHONY : CMakeFiles/NightlyMemoryCheck.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/NightlyMemoryCheck.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyMemoryCheck.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/NightlyMemoryCheck.dir/rule + +# Convenience name for target. +NightlyMemoryCheck: CMakeFiles/NightlyMemoryCheck.dir/rule + +.PHONY : NightlyMemoryCheck + +# clean rule for target. +CMakeFiles/NightlyMemoryCheck.dir/clean: + $(MAKE) -f CMakeFiles/NightlyMemoryCheck.dir/build.make CMakeFiles/NightlyMemoryCheck.dir/clean +.PHONY : CMakeFiles/NightlyMemoryCheck.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ExperimentalTest.dir + +# All Build rule for target. +CMakeFiles/ExperimentalTest.dir/all: + $(MAKE) -f CMakeFiles/ExperimentalTest.dir/build.make CMakeFiles/ExperimentalTest.dir/depend + $(MAKE) -f CMakeFiles/ExperimentalTest.dir/build.make CMakeFiles/ExperimentalTest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalTest" +.PHONY : CMakeFiles/ExperimentalTest.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ExperimentalTest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalTest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ExperimentalTest.dir/rule + +# Convenience name for target. +ExperimentalTest: CMakeFiles/ExperimentalTest.dir/rule + +.PHONY : ExperimentalTest + +# clean rule for target. +CMakeFiles/ExperimentalTest.dir/clean: + $(MAKE) -f CMakeFiles/ExperimentalTest.dir/build.make CMakeFiles/ExperimentalTest.dir/clean +.PHONY : CMakeFiles/ExperimentalTest.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ContinuousUpdate.dir + +# All Build rule for target. +CMakeFiles/ContinuousUpdate.dir/all: + $(MAKE) -f CMakeFiles/ContinuousUpdate.dir/build.make CMakeFiles/ContinuousUpdate.dir/depend + $(MAKE) -f CMakeFiles/ContinuousUpdate.dir/build.make CMakeFiles/ContinuousUpdate.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousUpdate" +.PHONY : CMakeFiles/ContinuousUpdate.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ContinuousUpdate.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousUpdate.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ContinuousUpdate.dir/rule + +# Convenience name for target. +ContinuousUpdate: CMakeFiles/ContinuousUpdate.dir/rule + +.PHONY : ContinuousUpdate + +# clean rule for target. +CMakeFiles/ContinuousUpdate.dir/clean: + $(MAKE) -f CMakeFiles/ContinuousUpdate.dir/build.make CMakeFiles/ContinuousUpdate.dir/clean +.PHONY : CMakeFiles/ContinuousUpdate.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/NightlyUpdate.dir + +# All Build rule for target. +CMakeFiles/NightlyUpdate.dir/all: + $(MAKE) -f CMakeFiles/NightlyUpdate.dir/build.make CMakeFiles/NightlyUpdate.dir/depend + $(MAKE) -f CMakeFiles/NightlyUpdate.dir/build.make CMakeFiles/NightlyUpdate.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyUpdate" +.PHONY : CMakeFiles/NightlyUpdate.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/NightlyUpdate.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyUpdate.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/NightlyUpdate.dir/rule + +# Convenience name for target. +NightlyUpdate: CMakeFiles/NightlyUpdate.dir/rule + +.PHONY : NightlyUpdate + +# clean rule for target. +CMakeFiles/NightlyUpdate.dir/clean: + $(MAKE) -f CMakeFiles/NightlyUpdate.dir/build.make CMakeFiles/NightlyUpdate.dir/clean +.PHONY : CMakeFiles/NightlyUpdate.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ExperimentalMemCheck.dir + +# All Build rule for target. +CMakeFiles/ExperimentalMemCheck.dir/all: + $(MAKE) -f CMakeFiles/ExperimentalMemCheck.dir/build.make CMakeFiles/ExperimentalMemCheck.dir/depend + $(MAKE) -f CMakeFiles/ExperimentalMemCheck.dir/build.make CMakeFiles/ExperimentalMemCheck.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalMemCheck" +.PHONY : CMakeFiles/ExperimentalMemCheck.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ExperimentalMemCheck.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalMemCheck.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ExperimentalMemCheck.dir/rule + +# Convenience name for target. +ExperimentalMemCheck: CMakeFiles/ExperimentalMemCheck.dir/rule + +.PHONY : ExperimentalMemCheck + +# clean rule for target. +CMakeFiles/ExperimentalMemCheck.dir/clean: + $(MAKE) -f CMakeFiles/ExperimentalMemCheck.dir/build.make CMakeFiles/ExperimentalMemCheck.dir/clean +.PHONY : CMakeFiles/ExperimentalMemCheck.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ExperimentalSubmit.dir + +# All Build rule for target. +CMakeFiles/ExperimentalSubmit.dir/all: + $(MAKE) -f CMakeFiles/ExperimentalSubmit.dir/build.make CMakeFiles/ExperimentalSubmit.dir/depend + $(MAKE) -f CMakeFiles/ExperimentalSubmit.dir/build.make CMakeFiles/ExperimentalSubmit.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalSubmit" +.PHONY : CMakeFiles/ExperimentalSubmit.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ExperimentalSubmit.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalSubmit.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ExperimentalSubmit.dir/rule + +# Convenience name for target. +ExperimentalSubmit: CMakeFiles/ExperimentalSubmit.dir/rule + +.PHONY : ExperimentalSubmit + +# clean rule for target. +CMakeFiles/ExperimentalSubmit.dir/clean: + $(MAKE) -f CMakeFiles/ExperimentalSubmit.dir/build.make CMakeFiles/ExperimentalSubmit.dir/clean +.PHONY : CMakeFiles/ExperimentalSubmit.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/Experimental.dir + +# All Build rule for target. +CMakeFiles/Experimental.dir/all: + $(MAKE) -f CMakeFiles/Experimental.dir/build.make CMakeFiles/Experimental.dir/depend + $(MAKE) -f CMakeFiles/Experimental.dir/build.make CMakeFiles/Experimental.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target Experimental" +.PHONY : CMakeFiles/Experimental.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/Experimental.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/Experimental.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/Experimental.dir/rule + +# Convenience name for target. +Experimental: CMakeFiles/Experimental.dir/rule + +.PHONY : Experimental + +# clean rule for target. +CMakeFiles/Experimental.dir/clean: + $(MAKE) -f CMakeFiles/Experimental.dir/build.make CMakeFiles/Experimental.dir/clean +.PHONY : CMakeFiles/Experimental.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ContinuousCoverage.dir + +# All Build rule for target. +CMakeFiles/ContinuousCoverage.dir/all: + $(MAKE) -f CMakeFiles/ContinuousCoverage.dir/build.make CMakeFiles/ContinuousCoverage.dir/depend + $(MAKE) -f CMakeFiles/ContinuousCoverage.dir/build.make CMakeFiles/ContinuousCoverage.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousCoverage" +.PHONY : CMakeFiles/ContinuousCoverage.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ContinuousCoverage.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousCoverage.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ContinuousCoverage.dir/rule + +# Convenience name for target. +ContinuousCoverage: CMakeFiles/ContinuousCoverage.dir/rule + +.PHONY : ContinuousCoverage + +# clean rule for target. +CMakeFiles/ContinuousCoverage.dir/clean: + $(MAKE) -f CMakeFiles/ContinuousCoverage.dir/build.make CMakeFiles/ContinuousCoverage.dir/clean +.PHONY : CMakeFiles/ContinuousCoverage.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ExperimentalConfigure.dir + +# All Build rule for target. +CMakeFiles/ExperimentalConfigure.dir/all: + $(MAKE) -f CMakeFiles/ExperimentalConfigure.dir/build.make CMakeFiles/ExperimentalConfigure.dir/depend + $(MAKE) -f CMakeFiles/ExperimentalConfigure.dir/build.make CMakeFiles/ExperimentalConfigure.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalConfigure" +.PHONY : CMakeFiles/ExperimentalConfigure.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ExperimentalConfigure.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalConfigure.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ExperimentalConfigure.dir/rule + +# Convenience name for target. +ExperimentalConfigure: CMakeFiles/ExperimentalConfigure.dir/rule + +.PHONY : ExperimentalConfigure + +# clean rule for target. +CMakeFiles/ExperimentalConfigure.dir/clean: + $(MAKE) -f CMakeFiles/ExperimentalConfigure.dir/build.make CMakeFiles/ExperimentalConfigure.dir/clean +.PHONY : CMakeFiles/ExperimentalConfigure.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/Continuous.dir + +# All Build rule for target. +CMakeFiles/Continuous.dir/all: + $(MAKE) -f CMakeFiles/Continuous.dir/build.make CMakeFiles/Continuous.dir/depend + $(MAKE) -f CMakeFiles/Continuous.dir/build.make CMakeFiles/Continuous.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target Continuous" +.PHONY : CMakeFiles/Continuous.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/Continuous.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/Continuous.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/Continuous.dir/rule + +# Convenience name for target. +Continuous: CMakeFiles/Continuous.dir/rule + +.PHONY : Continuous + +# clean rule for target. +CMakeFiles/Continuous.dir/clean: + $(MAKE) -f CMakeFiles/Continuous.dir/build.make CMakeFiles/Continuous.dir/clean +.PHONY : CMakeFiles/Continuous.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/test_utils.dir + +# All Build rule for target. +CMakeFiles/test_utils.dir/all: CMakeFiles/utils.dir/all +CMakeFiles/test_utils.dir/all: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/all + $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/depend + $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=6,7 "Built target test_utils" +.PHONY : CMakeFiles/test_utils.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/test_utils.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 6 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/test_utils.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/test_utils.dir/rule + +# Convenience name for target. +test_utils: CMakeFiles/test_utils.dir/rule + +.PHONY : test_utils + +# clean rule for target. +CMakeFiles/test_utils.dir/clean: + $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/clean +.PHONY : CMakeFiles/test_utils.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/utils.dir + +# All Build rule for target. +CMakeFiles/utils.dir/all: + $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/depend + $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=8,9 "Built target utils" +.PHONY : CMakeFiles/utils.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/utils.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 2 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/utils.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/utils.dir/rule + +# Convenience name for target. +utils: CMakeFiles/utils.dir/rule + +.PHONY : utils + +# clean rule for target. +CMakeFiles/utils.dir/clean: + $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/clean +.PHONY : CMakeFiles/utils.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/Nightly.dir + +# All Build rule for target. +CMakeFiles/Nightly.dir/all: + $(MAKE) -f CMakeFiles/Nightly.dir/build.make CMakeFiles/Nightly.dir/depend + $(MAKE) -f CMakeFiles/Nightly.dir/build.make CMakeFiles/Nightly.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target Nightly" +.PHONY : CMakeFiles/Nightly.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/Nightly.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/Nightly.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/Nightly.dir/rule + +# Convenience name for target. +Nightly: CMakeFiles/Nightly.dir/rule + +.PHONY : Nightly + +# clean rule for target. +CMakeFiles/Nightly.dir/clean: + $(MAKE) -f CMakeFiles/Nightly.dir/build.make CMakeFiles/Nightly.dir/clean +.PHONY : CMakeFiles/Nightly.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/NightlySubmit.dir + +# All Build rule for target. +CMakeFiles/NightlySubmit.dir/all: + $(MAKE) -f CMakeFiles/NightlySubmit.dir/build.make CMakeFiles/NightlySubmit.dir/depend + $(MAKE) -f CMakeFiles/NightlySubmit.dir/build.make CMakeFiles/NightlySubmit.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlySubmit" +.PHONY : CMakeFiles/NightlySubmit.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/NightlySubmit.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlySubmit.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/NightlySubmit.dir/rule + +# Convenience name for target. +NightlySubmit: CMakeFiles/NightlySubmit.dir/rule + +.PHONY : NightlySubmit + +# clean rule for target. +CMakeFiles/NightlySubmit.dir/clean: + $(MAKE) -f CMakeFiles/NightlySubmit.dir/build.make CMakeFiles/NightlySubmit.dir/clean +.PHONY : CMakeFiles/NightlySubmit.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/NightlyStart.dir + +# All Build rule for target. +CMakeFiles/NightlyStart.dir/all: + $(MAKE) -f CMakeFiles/NightlyStart.dir/build.make CMakeFiles/NightlyStart.dir/depend + $(MAKE) -f CMakeFiles/NightlyStart.dir/build.make CMakeFiles/NightlyStart.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyStart" +.PHONY : CMakeFiles/NightlyStart.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/NightlyStart.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyStart.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/NightlyStart.dir/rule + +# Convenience name for target. +NightlyStart: CMakeFiles/NightlyStart.dir/rule + +.PHONY : NightlyStart + +# clean rule for target. +CMakeFiles/NightlyStart.dir/clean: + $(MAKE) -f CMakeFiles/NightlyStart.dir/build.make CMakeFiles/NightlyStart.dir/clean +.PHONY : CMakeFiles/NightlyStart.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ExperimentalCoverage.dir + +# All Build rule for target. +CMakeFiles/ExperimentalCoverage.dir/all: + $(MAKE) -f CMakeFiles/ExperimentalCoverage.dir/build.make CMakeFiles/ExperimentalCoverage.dir/depend + $(MAKE) -f CMakeFiles/ExperimentalCoverage.dir/build.make CMakeFiles/ExperimentalCoverage.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalCoverage" +.PHONY : CMakeFiles/ExperimentalCoverage.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ExperimentalCoverage.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalCoverage.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ExperimentalCoverage.dir/rule + +# Convenience name for target. +ExperimentalCoverage: CMakeFiles/ExperimentalCoverage.dir/rule + +.PHONY : ExperimentalCoverage + +# clean rule for target. +CMakeFiles/ExperimentalCoverage.dir/clean: + $(MAKE) -f CMakeFiles/ExperimentalCoverage.dir/build.make CMakeFiles/ExperimentalCoverage.dir/clean +.PHONY : CMakeFiles/ExperimentalCoverage.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/NightlyCoverage.dir + +# All Build rule for target. +CMakeFiles/NightlyCoverage.dir/all: + $(MAKE) -f CMakeFiles/NightlyCoverage.dir/build.make CMakeFiles/NightlyCoverage.dir/depend + $(MAKE) -f CMakeFiles/NightlyCoverage.dir/build.make CMakeFiles/NightlyCoverage.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyCoverage" +.PHONY : CMakeFiles/NightlyCoverage.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/NightlyCoverage.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyCoverage.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/NightlyCoverage.dir/rule + +# Convenience name for target. +NightlyCoverage: CMakeFiles/NightlyCoverage.dir/rule + +.PHONY : NightlyCoverage + +# clean rule for target. +CMakeFiles/NightlyCoverage.dir/clean: + $(MAKE) -f CMakeFiles/NightlyCoverage.dir/build.make CMakeFiles/NightlyCoverage.dir/clean +.PHONY : CMakeFiles/NightlyCoverage.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ExperimentalStart.dir + +# All Build rule for target. +CMakeFiles/ExperimentalStart.dir/all: + $(MAKE) -f CMakeFiles/ExperimentalStart.dir/build.make CMakeFiles/ExperimentalStart.dir/depend + $(MAKE) -f CMakeFiles/ExperimentalStart.dir/build.make CMakeFiles/ExperimentalStart.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalStart" +.PHONY : CMakeFiles/ExperimentalStart.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ExperimentalStart.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalStart.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ExperimentalStart.dir/rule + +# Convenience name for target. +ExperimentalStart: CMakeFiles/ExperimentalStart.dir/rule + +.PHONY : ExperimentalStart + +# clean rule for target. +CMakeFiles/ExperimentalStart.dir/clean: + $(MAKE) -f CMakeFiles/ExperimentalStart.dir/build.make CMakeFiles/ExperimentalStart.dir/clean +.PHONY : CMakeFiles/ExperimentalStart.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/NightlyBuild.dir + +# All Build rule for target. +CMakeFiles/NightlyBuild.dir/all: + $(MAKE) -f CMakeFiles/NightlyBuild.dir/build.make CMakeFiles/NightlyBuild.dir/depend + $(MAKE) -f CMakeFiles/NightlyBuild.dir/build.make CMakeFiles/NightlyBuild.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyBuild" +.PHONY : CMakeFiles/NightlyBuild.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/NightlyBuild.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyBuild.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/NightlyBuild.dir/rule + +# Convenience name for target. +NightlyBuild: CMakeFiles/NightlyBuild.dir/rule + +.PHONY : NightlyBuild + +# clean rule for target. +CMakeFiles/NightlyBuild.dir/clean: + $(MAKE) -f CMakeFiles/NightlyBuild.dir/build.make CMakeFiles/NightlyBuild.dir/clean +.PHONY : CMakeFiles/NightlyBuild.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ExperimentalBuild.dir + +# All Build rule for target. +CMakeFiles/ExperimentalBuild.dir/all: + $(MAKE) -f CMakeFiles/ExperimentalBuild.dir/build.make CMakeFiles/ExperimentalBuild.dir/depend + $(MAKE) -f CMakeFiles/ExperimentalBuild.dir/build.make CMakeFiles/ExperimentalBuild.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalBuild" +.PHONY : CMakeFiles/ExperimentalBuild.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ExperimentalBuild.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalBuild.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ExperimentalBuild.dir/rule + +# Convenience name for target. +ExperimentalBuild: CMakeFiles/ExperimentalBuild.dir/rule + +.PHONY : ExperimentalBuild + +# clean rule for target. +CMakeFiles/ExperimentalBuild.dir/clean: + $(MAKE) -f CMakeFiles/ExperimentalBuild.dir/build.make CMakeFiles/ExperimentalBuild.dir/clean +.PHONY : CMakeFiles/ExperimentalBuild.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ExperimentalUpdate.dir + +# All Build rule for target. +CMakeFiles/ExperimentalUpdate.dir/all: + $(MAKE) -f CMakeFiles/ExperimentalUpdate.dir/build.make CMakeFiles/ExperimentalUpdate.dir/depend + $(MAKE) -f CMakeFiles/ExperimentalUpdate.dir/build.make CMakeFiles/ExperimentalUpdate.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalUpdate" +.PHONY : CMakeFiles/ExperimentalUpdate.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ExperimentalUpdate.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalUpdate.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ExperimentalUpdate.dir/rule + +# Convenience name for target. +ExperimentalUpdate: CMakeFiles/ExperimentalUpdate.dir/rule + +.PHONY : ExperimentalUpdate + +# clean rule for target. +CMakeFiles/ExperimentalUpdate.dir/clean: + $(MAKE) -f CMakeFiles/ExperimentalUpdate.dir/build.make CMakeFiles/ExperimentalUpdate.dir/clean +.PHONY : CMakeFiles/ExperimentalUpdate.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ContinuousStart.dir + +# All Build rule for target. +CMakeFiles/ContinuousStart.dir/all: + $(MAKE) -f CMakeFiles/ContinuousStart.dir/build.make CMakeFiles/ContinuousStart.dir/depend + $(MAKE) -f CMakeFiles/ContinuousStart.dir/build.make CMakeFiles/ContinuousStart.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousStart" +.PHONY : CMakeFiles/ContinuousStart.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ContinuousStart.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousStart.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ContinuousStart.dir/rule + +# Convenience name for target. +ContinuousStart: CMakeFiles/ContinuousStart.dir/rule + +.PHONY : ContinuousStart + +# clean rule for target. +CMakeFiles/ContinuousStart.dir/clean: + $(MAKE) -f CMakeFiles/ContinuousStart.dir/build.make CMakeFiles/ContinuousStart.dir/clean +.PHONY : CMakeFiles/ContinuousStart.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ContinuousMemCheck.dir + +# All Build rule for target. +CMakeFiles/ContinuousMemCheck.dir/all: + $(MAKE) -f CMakeFiles/ContinuousMemCheck.dir/build.make CMakeFiles/ContinuousMemCheck.dir/depend + $(MAKE) -f CMakeFiles/ContinuousMemCheck.dir/build.make CMakeFiles/ContinuousMemCheck.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousMemCheck" +.PHONY : CMakeFiles/ContinuousMemCheck.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ContinuousMemCheck.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousMemCheck.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ContinuousMemCheck.dir/rule + +# Convenience name for target. +ContinuousMemCheck: CMakeFiles/ContinuousMemCheck.dir/rule + +.PHONY : ContinuousMemCheck + +# clean rule for target. +CMakeFiles/ContinuousMemCheck.dir/clean: + $(MAKE) -f CMakeFiles/ContinuousMemCheck.dir/build.make CMakeFiles/ContinuousMemCheck.dir/clean +.PHONY : CMakeFiles/ContinuousMemCheck.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ContinuousTest.dir + +# All Build rule for target. +CMakeFiles/ContinuousTest.dir/all: + $(MAKE) -f CMakeFiles/ContinuousTest.dir/build.make CMakeFiles/ContinuousTest.dir/depend + $(MAKE) -f CMakeFiles/ContinuousTest.dir/build.make CMakeFiles/ContinuousTest.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousTest" +.PHONY : CMakeFiles/ContinuousTest.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ContinuousTest.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousTest.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ContinuousTest.dir/rule + +# Convenience name for target. +ContinuousTest: CMakeFiles/ContinuousTest.dir/rule + +.PHONY : ContinuousTest + +# clean rule for target. +CMakeFiles/ContinuousTest.dir/clean: + $(MAKE) -f CMakeFiles/ContinuousTest.dir/build.make CMakeFiles/ContinuousTest.dir/clean +.PHONY : CMakeFiles/ContinuousTest.dir/clean + +#============================================================================= +# Target rules for target CMakeFiles/ContinuousSubmit.dir + +# All Build rule for target. +CMakeFiles/ContinuousSubmit.dir/all: + $(MAKE) -f CMakeFiles/ContinuousSubmit.dir/build.make CMakeFiles/ContinuousSubmit.dir/depend + $(MAKE) -f CMakeFiles/ContinuousSubmit.dir/build.make CMakeFiles/ContinuousSubmit.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousSubmit" +.PHONY : CMakeFiles/ContinuousSubmit.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/ContinuousSubmit.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousSubmit.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : CMakeFiles/ContinuousSubmit.dir/rule + +# Convenience name for target. +ContinuousSubmit: CMakeFiles/ContinuousSubmit.dir/rule + +.PHONY : ContinuousSubmit + +# clean rule for target. +CMakeFiles/ContinuousSubmit.dir/clean: + $(MAKE) -f CMakeFiles/ContinuousSubmit.dir/build.make CMakeFiles/ContinuousSubmit.dir/clean +.PHONY : CMakeFiles/ContinuousSubmit.dir/clean + +#============================================================================= +# Target rules for target _deps/cmocka-build/CMakeFiles/dist.dir + +# All Build rule for target. +_deps/cmocka-build/CMakeFiles/dist.dir/all: + $(MAKE) -f _deps/cmocka-build/CMakeFiles/dist.dir/build.make _deps/cmocka-build/CMakeFiles/dist.dir/depend + $(MAKE) -f _deps/cmocka-build/CMakeFiles/dist.dir/build.make _deps/cmocka-build/CMakeFiles/dist.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target dist" +.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/all + +# Build rule for subdir invocation for target. +_deps/cmocka-build/CMakeFiles/dist.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 + $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/CMakeFiles/dist.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/rule + +# Convenience name for target. +dist: _deps/cmocka-build/CMakeFiles/dist.dir/rule + +.PHONY : dist + +# clean rule for target. +_deps/cmocka-build/CMakeFiles/dist.dir/clean: + $(MAKE) -f _deps/cmocka-build/CMakeFiles/dist.dir/build.make _deps/cmocka-build/CMakeFiles/dist.dir/clean +.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/clean + +#============================================================================= +# Target rules for target _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir + +# All Build rule for target. +_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/all: + $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend + $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=3,4 "Built target cmocka-static" +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/all + +# Build rule for subdir invocation for target. +_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 2 + $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/rule + +# Convenience name for target. +cmocka-static: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/rule + +.PHONY : cmocka-static + +# clean rule for target. +_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean: + $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean + +#============================================================================= +# Target rules for target _deps/cmocka-build/src/CMakeFiles/cmocka.dir + +# All Build rule for target. +_deps/cmocka-build/src/CMakeFiles/cmocka.dir/all: + $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend + $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=1,2 "Built target cmocka" +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/all + +# Build rule for subdir invocation for target. +_deps/cmocka-build/src/CMakeFiles/cmocka.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 2 + $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/src/CMakeFiles/cmocka.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/rule + +# Convenience name for target. +cmocka: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/rule + +.PHONY : cmocka + +# clean rule for target. +_deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean: + $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean + +#============================================================================= +# Target rules for target _deps/cmocka-build/doc/CMakeFiles/docs.dir + +# All Build rule for target. +_deps/cmocka-build/doc/CMakeFiles/docs.dir/all: + $(MAKE) -f _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make _deps/cmocka-build/doc/CMakeFiles/docs.dir/depend + $(MAKE) -f _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make _deps/cmocka-build/doc/CMakeFiles/docs.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=5 "Built target docs" +.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/all + +# Build rule for subdir invocation for target. +_deps/cmocka-build/doc/CMakeFiles/docs.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 1 + $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/CMakeFiles/docs.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/rule + +# Convenience name for target. +docs: _deps/cmocka-build/doc/CMakeFiles/docs.dir/rule + +.PHONY : docs + +# clean rule for target. +_deps/cmocka-build/doc/CMakeFiles/docs.dir/clean: + $(MAKE) -f _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make _deps/cmocka-build/doc/CMakeFiles/docs.dir/clean +.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/tests/unit/build/CMakeFiles/Nightly.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/Nightly.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Nightly.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/Nightly.dir/build.make b/tests/unit/build/CMakeFiles/Nightly.dir/build.make new file mode 100644 index 0000000..fec2d39 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Nightly.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for Nightly. + +# Include the progress variables for this target. +include CMakeFiles/Nightly.dir/progress.make + +CMakeFiles/Nightly: + /usr/bin/ctest -D Nightly + +Nightly: CMakeFiles/Nightly +Nightly: CMakeFiles/Nightly.dir/build.make + +.PHONY : Nightly + +# Rule to build all files generated by this target. +CMakeFiles/Nightly.dir/build: Nightly + +.PHONY : CMakeFiles/Nightly.dir/build + +CMakeFiles/Nightly.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/Nightly.dir/cmake_clean.cmake +.PHONY : CMakeFiles/Nightly.dir/clean + +CMakeFiles/Nightly.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Nightly.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/Nightly.dir/depend + diff --git a/tests/unit/build/CMakeFiles/Nightly.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/Nightly.dir/cmake_clean.cmake new file mode 100644 index 0000000..99a4ac1 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Nightly.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/Nightly" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/Nightly.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/Nightly.dir/progress.make b/tests/unit/build/CMakeFiles/Nightly.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/Nightly.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyBuild.dir/build.make b/tests/unit/build/CMakeFiles/NightlyBuild.dir/build.make new file mode 100644 index 0000000..a8f2804 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyBuild.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for NightlyBuild. + +# Include the progress variables for this target. +include CMakeFiles/NightlyBuild.dir/progress.make + +CMakeFiles/NightlyBuild: + /usr/bin/ctest -D NightlyBuild + +NightlyBuild: CMakeFiles/NightlyBuild +NightlyBuild: CMakeFiles/NightlyBuild.dir/build.make + +.PHONY : NightlyBuild + +# Rule to build all files generated by this target. +CMakeFiles/NightlyBuild.dir/build: NightlyBuild + +.PHONY : CMakeFiles/NightlyBuild.dir/build + +CMakeFiles/NightlyBuild.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/NightlyBuild.dir/cmake_clean.cmake +.PHONY : CMakeFiles/NightlyBuild.dir/clean + +CMakeFiles/NightlyBuild.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/NightlyBuild.dir/depend + diff --git a/tests/unit/build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake new file mode 100644 index 0000000..7aa38a7 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyBuild" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyBuild.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyBuild.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyBuild.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/build.make b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/build.make new file mode 100644 index 0000000..dc65ad7 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for NightlyConfigure. + +# Include the progress variables for this target. +include CMakeFiles/NightlyConfigure.dir/progress.make + +CMakeFiles/NightlyConfigure: + /usr/bin/ctest -D NightlyConfigure + +NightlyConfigure: CMakeFiles/NightlyConfigure +NightlyConfigure: CMakeFiles/NightlyConfigure.dir/build.make + +.PHONY : NightlyConfigure + +# Rule to build all files generated by this target. +CMakeFiles/NightlyConfigure.dir/build: NightlyConfigure + +.PHONY : CMakeFiles/NightlyConfigure.dir/build + +CMakeFiles/NightlyConfigure.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake +.PHONY : CMakeFiles/NightlyConfigure.dir/clean + +CMakeFiles/NightlyConfigure.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/NightlyConfigure.dir/depend + diff --git a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake new file mode 100644 index 0000000..080c729 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyConfigure" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/build.make b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/build.make new file mode 100644 index 0000000..b0a4b48 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for NightlyCoverage. + +# Include the progress variables for this target. +include CMakeFiles/NightlyCoverage.dir/progress.make + +CMakeFiles/NightlyCoverage: + /usr/bin/ctest -D NightlyCoverage + +NightlyCoverage: CMakeFiles/NightlyCoverage +NightlyCoverage: CMakeFiles/NightlyCoverage.dir/build.make + +.PHONY : NightlyCoverage + +# Rule to build all files generated by this target. +CMakeFiles/NightlyCoverage.dir/build: NightlyCoverage + +.PHONY : CMakeFiles/NightlyCoverage.dir/build + +CMakeFiles/NightlyCoverage.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake +.PHONY : CMakeFiles/NightlyCoverage.dir/clean + +CMakeFiles/NightlyCoverage.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/NightlyCoverage.dir/depend + diff --git a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake new file mode 100644 index 0000000..d6cba89 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyCoverage" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/build.make b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/build.make new file mode 100644 index 0000000..8d22fa6 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for NightlyMemCheck. + +# Include the progress variables for this target. +include CMakeFiles/NightlyMemCheck.dir/progress.make + +CMakeFiles/NightlyMemCheck: + /usr/bin/ctest -D NightlyMemCheck + +NightlyMemCheck: CMakeFiles/NightlyMemCheck +NightlyMemCheck: CMakeFiles/NightlyMemCheck.dir/build.make + +.PHONY : NightlyMemCheck + +# Rule to build all files generated by this target. +CMakeFiles/NightlyMemCheck.dir/build: NightlyMemCheck + +.PHONY : CMakeFiles/NightlyMemCheck.dir/build + +CMakeFiles/NightlyMemCheck.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake +.PHONY : CMakeFiles/NightlyMemCheck.dir/clean + +CMakeFiles/NightlyMemCheck.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/NightlyMemCheck.dir/depend + diff --git a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake new file mode 100644 index 0000000..3c0e881 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyMemCheck" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/build.make b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/build.make new file mode 100644 index 0000000..c3de2f3 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for NightlyMemoryCheck. + +# Include the progress variables for this target. +include CMakeFiles/NightlyMemoryCheck.dir/progress.make + +CMakeFiles/NightlyMemoryCheck: + /usr/bin/ctest -D NightlyMemoryCheck + +NightlyMemoryCheck: CMakeFiles/NightlyMemoryCheck +NightlyMemoryCheck: CMakeFiles/NightlyMemoryCheck.dir/build.make + +.PHONY : NightlyMemoryCheck + +# Rule to build all files generated by this target. +CMakeFiles/NightlyMemoryCheck.dir/build: NightlyMemoryCheck + +.PHONY : CMakeFiles/NightlyMemoryCheck.dir/build + +CMakeFiles/NightlyMemoryCheck.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake +.PHONY : CMakeFiles/NightlyMemoryCheck.dir/clean + +CMakeFiles/NightlyMemoryCheck.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/NightlyMemoryCheck.dir/depend + diff --git a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake new file mode 100644 index 0000000..8846611 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyMemoryCheck" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyMemoryCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyStart.dir/build.make b/tests/unit/build/CMakeFiles/NightlyStart.dir/build.make new file mode 100644 index 0000000..c099100 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyStart.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for NightlyStart. + +# Include the progress variables for this target. +include CMakeFiles/NightlyStart.dir/progress.make + +CMakeFiles/NightlyStart: + /usr/bin/ctest -D NightlyStart + +NightlyStart: CMakeFiles/NightlyStart +NightlyStart: CMakeFiles/NightlyStart.dir/build.make + +.PHONY : NightlyStart + +# Rule to build all files generated by this target. +CMakeFiles/NightlyStart.dir/build: NightlyStart + +.PHONY : CMakeFiles/NightlyStart.dir/build + +CMakeFiles/NightlyStart.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/NightlyStart.dir/cmake_clean.cmake +.PHONY : CMakeFiles/NightlyStart.dir/clean + +CMakeFiles/NightlyStart.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/NightlyStart.dir/depend + diff --git a/tests/unit/build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake new file mode 100644 index 0000000..6a2c6c6 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyStart" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyStart.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyStart.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyStart.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyStart.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlySubmit.dir/build.make b/tests/unit/build/CMakeFiles/NightlySubmit.dir/build.make new file mode 100644 index 0000000..a0511d1 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlySubmit.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for NightlySubmit. + +# Include the progress variables for this target. +include CMakeFiles/NightlySubmit.dir/progress.make + +CMakeFiles/NightlySubmit: + /usr/bin/ctest -D NightlySubmit + +NightlySubmit: CMakeFiles/NightlySubmit +NightlySubmit: CMakeFiles/NightlySubmit.dir/build.make + +.PHONY : NightlySubmit + +# Rule to build all files generated by this target. +CMakeFiles/NightlySubmit.dir/build: NightlySubmit + +.PHONY : CMakeFiles/NightlySubmit.dir/build + +CMakeFiles/NightlySubmit.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/NightlySubmit.dir/cmake_clean.cmake +.PHONY : CMakeFiles/NightlySubmit.dir/clean + +CMakeFiles/NightlySubmit.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/NightlySubmit.dir/depend + diff --git a/tests/unit/build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake new file mode 100644 index 0000000..6f88ccc --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlySubmit" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlySubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlySubmit.dir/progress.make b/tests/unit/build/CMakeFiles/NightlySubmit.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlySubmit.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyTest.dir/build.make b/tests/unit/build/CMakeFiles/NightlyTest.dir/build.make new file mode 100644 index 0000000..ead962c --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyTest.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for NightlyTest. + +# Include the progress variables for this target. +include CMakeFiles/NightlyTest.dir/progress.make + +CMakeFiles/NightlyTest: + /usr/bin/ctest -D NightlyTest + +NightlyTest: CMakeFiles/NightlyTest +NightlyTest: CMakeFiles/NightlyTest.dir/build.make + +.PHONY : NightlyTest + +# Rule to build all files generated by this target. +CMakeFiles/NightlyTest.dir/build: NightlyTest + +.PHONY : CMakeFiles/NightlyTest.dir/build + +CMakeFiles/NightlyTest.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/NightlyTest.dir/cmake_clean.cmake +.PHONY : CMakeFiles/NightlyTest.dir/clean + +CMakeFiles/NightlyTest.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/NightlyTest.dir/depend + diff --git a/tests/unit/build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake new file mode 100644 index 0000000..8f40bb8 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyTest" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyTest.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyTest.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyTest.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyTest.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/build.make b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/build.make new file mode 100644 index 0000000..da9ae7a --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for NightlyUpdate. + +# Include the progress variables for this target. +include CMakeFiles/NightlyUpdate.dir/progress.make + +CMakeFiles/NightlyUpdate: + /usr/bin/ctest -D NightlyUpdate + +NightlyUpdate: CMakeFiles/NightlyUpdate +NightlyUpdate: CMakeFiles/NightlyUpdate.dir/build.make + +.PHONY : NightlyUpdate + +# Rule to build all files generated by this target. +CMakeFiles/NightlyUpdate.dir/build: NightlyUpdate + +.PHONY : CMakeFiles/NightlyUpdate.dir/build + +CMakeFiles/NightlyUpdate.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake +.PHONY : CMakeFiles/NightlyUpdate.dir/clean + +CMakeFiles/NightlyUpdate.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/NightlyUpdate.dir/depend + diff --git a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake new file mode 100644 index 0000000..0f10e82 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/NightlyUpdate" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/NightlyUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/CMakeFiles/TargetDirectories.txt b/tests/unit/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..e2b7ed0 --- /dev/null +++ b/tests/unit/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,79 @@ +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/install/strip.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/install/local.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/list_install_components.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/rebuild_cache.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/package_source.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/edit_cache.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyMemCheck.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyTest.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousConfigure.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousBuild.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyConfigure.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalTest.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousUpdate.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyUpdate.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Experimental.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousCoverage.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Continuous.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test_utils.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/utils.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Nightly.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlySubmit.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/install.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyStart.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyCoverage.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalStart.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/package.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyBuild.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalBuild.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousStart.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousTest.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousSubmit.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/install/strip.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/install/local.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/edit_cache.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/test.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/package_source.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/install.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/list_install_components.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/rebuild_cache.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/package.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/install/strip.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/install/local.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/edit_cache.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/test.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/package_source.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/install.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/list_install_components.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/rebuild_cache.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/package.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/install/local.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/edit_cache.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/test.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/package_source.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/install.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/list_install_components.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/rebuild_cache.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/package.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/install/strip.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/install/strip.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/install/local.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/edit_cache.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/test.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/package_source.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/install.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/list_install_components.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/rebuild_cache.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/package.dir +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir diff --git a/tests/unit/build/CMakeFiles/TestEndianess.bin b/tests/unit/build/CMakeFiles/TestEndianess.bin new file mode 100755 index 0000000000000000000000000000000000000000..67ed3e2495c257a22db9a0913670c5ce7ac4b798 GIT binary patch literal 16544 zcmeHOUu+yl8K1ke6Q@nimo$IeBs2@8Qe5iGB~4tX)a1_g*?Z_>xAB>#qUq**ceYQu zKjv9dBPxx<8FPI_MNtjHy)*W3$kq^cK49R3m@8h_W6QQBMSwJT!+&MCZsKQ;sLb z1g|cNr;}>RieT#0J3@L++DCd!(FdmC*Ua?0@%Iqv>6$bnob*8j3#RPvVbGItA^yK3 z+{}l`-%9Nep!hST@QU5J>}cn{-MMr}E?cNfbxd`2c69CwmW#o?(lyo#ePEv&7#tB` zW)3k5qil?)XAq$wyl5mVYY!jQ3ez0bCxW7$G7 zmwh4wMPwOeGg&f?d@@@Q1Myf-udz3{H@IIIvBV)GohfC;vt=_=N*wCV6$_a}ax{mU zPRN_L;M{i*U$Edj1`uDg;Pk3P*iCK(+z7Z4a3kPGz>R<#0XG6} z1l~~u{?dBa-}RYmE&A!^pYIkzKRIW5YnSwyAGTbO`nCNp0DQf6_g8?l?hq&srSHj7 zpOED}e~wizKdx7Qr_cO;;h{u)w)qP%_0?zB?U1DVJXor2DuK#h&*-z=UxbW4+x$5s z2Numu;Cc}A;CfB%YU_>@==cIrkk3l_{i8_QZ|T(q{ru|(_4A89-Sd)u`Ifm64BSly zT54CvT6aLbSRdwOVaH4Y!w?Z^EkEa};!K z`hPqQOf)nCdetYd>D9{Bi_sfc&C}6q`dNK;BR<(a2+wqmjoW#)Yx5pw%C?Y`xv0ZUo#2xDjw8;6~v8Gy)#m*G3@{dTdyOzj!Q>h)1>PU|%dU z$lszN26|#R7SpuhSdTU^7>)G}MuL*-+2;EoezV2zURU0z)h2nzy7mAmL$Ex*9+gzP@J zjsY$Kf1uyr_TkpskGGr<2e&?O&wV@PXGzq53@)AJAdd-cnsBv4orVyI`UB5+d)KY< z_Je0|1JLK;ItKg<^85XP&w6A2w$J#Yer>iX>fiP0=01PunN_;KYi9L;KV0y4Mf{+!es_yaxu7WuvLSD=0h?6}|SFpzF?Bj85Bjer{gHv(=1+z7Z4a3kPG;C~eX z-q*bNmDvYnATFNhvC;lGRsQxQG*Nf8524P}_9jTF>??{UV%_7Iy8NkVSmCUkPfgMIEv2<+1F!M$V z4{ns<&_=pwjOU7@$()fki>0!WtW1eiF+Z8hn3;62E7TckEQCi!vPQC0N=_S@f?1jt zW2Iz1W27tj{4}UoN(M-pHqk_;Y(@*|Y!d2FhPoL>|KZ4?r~yA{8*p^Qu8;%94}OYlcnNhrescApwUVePF!Wv1Vwsc9cFS|Nb!kec|ru!(*#$($+h791}^#>`B?9s3wa7G)y@GZWOSCeonKC8e*r zm(t)o7*FQ2DX0#%VG!aeg3z_|&|RJ5At5y0PuIW*Uw*9}bB zzd9SYw9a6&Nyy-uf%SP^!SoCX;xl5L`T6-hoCORYne}=8$duP5AR-gmu%?ee0oMqu z&+|;Cyx!vavmDc>Kp)o}T;};GQ;nQC>rb$lg$%}&^?BaPbdChszw`N@13o?z^YLGs zOhkG8N2v70d8A*0%c`%D9#b~QI$UP@f5rCH=2E^uwgU^xKXGbK3isL!am0 zOnH6G{+<2z9O-lXg+`J@`>Dvp>Hqt{z$&u7t|>{T52|AQ?)3j-;8^ufX-bsoLS0j3 zxcwRa8Dww{O~byvKH&4TPI)dfeHC_tX)UVSOv*zGD>)vq2izIF9dyi|fPhzcqky-EI2#j{%b3 YVVwOcF3yD;>koD*30xmolcOm935gdrbN~PV literal 0 HcmV?d00001 diff --git a/tests/unit/build/CMakeFiles/cmake.check_cache b/tests/unit/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/tests/unit/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/tests/unit/build/CMakeFiles/progress.marks b/tests/unit/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/tests/unit/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +8 diff --git a/tests/unit/build/CMakeFiles/test_main.dir/C.includecache b/tests/unit/build/CMakeFiles/test_main.dir/C.includecache new file mode 100644 index 0000000..0628e2a --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_main.dir/C.includecache @@ -0,0 +1,20 @@ +#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c +stdarg.h +- +stddef.h +- +setjmp.h +- +cmocka.h +- + +_deps/cmocka-src/include/cmocka.h + diff --git a/tests/unit/build/CMakeFiles/test_main.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/test_main.dir/DependInfo.cmake new file mode 100644 index 0000000..3e1ec8b --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_main.dir/DependInfo.cmake @@ -0,0 +1,31 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "C" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_C + "/home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c" "/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.o" + ) +set(CMAKE_C_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_C + "DEBUG=0" + "SKIP_FOR_CMOCKA" + "TEST" + ) + +# The include file search paths: +set(CMAKE_C_TARGET_INCLUDE_PATH + "../../../src" + "../../../src_common" + "_deps/cmocka-src/include" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake" + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/test_main.dir/build.make b/tests/unit/build/CMakeFiles/test_main.dir/build.make new file mode 100644 index 0000000..db6e1e3 --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_main.dir/build.make @@ -0,0 +1,99 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Include any dependencies generated for this target. +include CMakeFiles/test_main.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/test_main.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/test_main.dir/flags.make + +CMakeFiles/test_main.dir/tests/main.c.o: CMakeFiles/test_main.dir/flags.make +CMakeFiles/test_main.dir/tests/main.c.o: ../tests/main.c + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/test_main.dir/tests/main.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/test_main.dir/tests/main.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c + +CMakeFiles/test_main.dir/tests/main.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/test_main.dir/tests/main.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c > CMakeFiles/test_main.dir/tests/main.c.i + +CMakeFiles/test_main.dir/tests/main.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/test_main.dir/tests/main.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c -o CMakeFiles/test_main.dir/tests/main.c.s + +# Object files for target test_main +test_main_OBJECTS = \ +"CMakeFiles/test_main.dir/tests/main.c.o" + +# External object files for target test_main +test_main_EXTERNAL_OBJECTS = + +test_main: CMakeFiles/test_main.dir/tests/main.c.o +test_main: CMakeFiles/test_main.dir/build.make +test_main: _deps/cmocka-build/src/libcmocka.so.0.7.0 +test_main: CMakeFiles/test_main.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable test_main" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/test_main.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/test_main.dir/build: test_main + +.PHONY : CMakeFiles/test_main.dir/build + +CMakeFiles/test_main.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/test_main.dir/cmake_clean.cmake +.PHONY : CMakeFiles/test_main.dir/clean + +CMakeFiles/test_main.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test_main.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/test_main.dir/depend + diff --git a/tests/unit/build/CMakeFiles/test_main.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/test_main.dir/cmake_clean.cmake new file mode 100644 index 0000000..debcd71 --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_main.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/test_main.dir/tests/main.c.o" + "test_main" + "test_main.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/test_main.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/test_main.dir/depend.internal b/tests/unit/build/CMakeFiles/test_main.dir/depend.internal new file mode 100644 index 0000000..c9d62f3 --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_main.dir/depend.internal @@ -0,0 +1,6 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/test_main.dir/tests/main.c.o + /home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c + _deps/cmocka-src/include/cmocka.h diff --git a/tests/unit/build/CMakeFiles/test_main.dir/depend.make b/tests/unit/build/CMakeFiles/test_main.dir/depend.make new file mode 100644 index 0000000..9e141ec --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_main.dir/depend.make @@ -0,0 +1,6 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/test_main.dir/tests/main.c.o: ../tests/main.c +CMakeFiles/test_main.dir/tests/main.c.o: _deps/cmocka-src/include/cmocka.h + diff --git a/tests/unit/build/CMakeFiles/test_main.dir/flags.make b/tests/unit/build/CMakeFiles/test_main.dir/flags.make new file mode 100644 index 0000000..ca77fb7 --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_main.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# compile C with /usr/bin/cc +C_FLAGS = -g -Wall -pedantic -g -O0 --coverage -std=gnu11 + +C_DEFINES = -DDEBUG=0 -DSKIP_FOR_CMOCKA -DTEST + +C_INCLUDES = -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src_common -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include + diff --git a/tests/unit/build/CMakeFiles/test_main.dir/link.txt b/tests/unit/build/CMakeFiles/test_main.dir/link.txt new file mode 100644 index 0000000..5a51f51 --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_main.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -g -Wall -pedantic -g -O0 --coverage --coverage -lgcov CMakeFiles/test_main.dir/tests/main.c.o -o test_main -Wl,-rpath,/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src _deps/cmocka-build/src/libcmocka.so.0.7.0 -lgcov diff --git a/tests/unit/build/CMakeFiles/test_main.dir/progress.make b/tests/unit/build/CMakeFiles/test_main.dir/progress.make new file mode 100644 index 0000000..8808896 --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_main.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 6 +CMAKE_PROGRESS_2 = 7 + diff --git a/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcda b/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcda new file mode 100644 index 0000000000000000000000000000000000000000..0bcaaa7ef02202839a4df5e9759fbe18fe042d45 GIT binary patch literal 120 zcmYdHNlw=?wsgE1*%89Pz_5@BNU%ULkYZ#860eI2*i^QDdh^q3a}7`lBa%E=El>#v XfYmN)TFBeC{ooF}O}h`^QOf`TmPZtO literal 0 HcmV?d00001 diff --git a/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcno b/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcno new file mode 100644 index 0000000000000000000000000000000000000000..dcc38b81dedde31e2bab7183bfcddd0e8b5a26d3 GIT binary patch literal 808 zcmd1LOHS7^wsgE1*%89Wz`&rNk)NBYpIn@pURsn|q90I{pOup-UHC4L7NwGD-mTfXn~^YWaf)Xcj-%L^#1H4`eQCTFBeC{ooF}O}h_(+>}?E zlM@dLi1^~tcFe6do`D00qCNlmGw# literal 0 HcmV?d00001 diff --git a/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.o b/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.o new file mode 100644 index 0000000000000000000000000000000000000000..69163c548355acb5f81452993366415337c66290 GIT binary patch literal 8016 zcmb_hdyJG<6~Eui&ho+RV_;bxrO*Le9<}pWL0ZbA!(*4B<)IX6Ya}1v%zQgD?94aY z?*Y47Eh*Ya5vBh${6Q1jm`07p#A<~$sVHgD#6*%N22E^?Mx(JY3NfK-g6G_O&hEE& zXH#f;!hH9f-#Pc3d(V9@PY>=MiW!DrGQ<`!DKRRBeV%c`4#CUn!pIxMww5 zo*cX}aB;eQ@w5tea_|bUt(!M*g5}lX<-tEl|Ca|9@Pb37+(<^snDD0J%qu}!<~X3N428x0GUmLHbOj_(U;iH*Ho zzooF=sN}Zqu}7Stdc*N$AWO!n)V(QTv(<9N#u!ohyEoc-_m8i=_x{7LK81KJs=NjM z`pB#5!aVH)E!pr5zoKx*G_RVkzlQYGQZIbD%;e&chIXvoiP*=J9x9_Sb-&4L=c| z)sH-wq4pg7q*m*Bt0xH+}%vD8Ja@n9&Km=ve@KFLH^hnZn9SIAZp00!`A~ z2HzA0{xmSk&0I8JooJZmD}c>IDbY0Nra&OcH5aV_$yBlUo3S z;q3($CK(|nVYpl*d!N>k2+HgKjgk{Rh&^jS8le-BX-93%G@*|=p=!j`c819Ihw6u;w;Or zR{^jBkmC_uhY-pO;JB?MGGew$Gzbe5iP(zy2_u&2OQg2Eo>*#LPjtny{eXP3FSZe~ zT5YsScEf7eaAXbJaL!aL+xHzW5Po0>4#YibH$)u{x;mIK*0lW*>zM6ZzJ1iGv^n)G z3tDcK!eMX#95RiTTTO>9bi;KjY1~$~?>Pv555Q?T6uRZ0-g4ozw7p8}m}?CKB2$4` z2uGDX;nfQ4s@S>rV0!z&Kzc)VZ8o3IG=tD}Hdh_j@#7r%76R7 z%nvG?VZ@VRzf<8Ha;wcJ+dXF~T_-K}H-y98%3 zC?OT)kqmeU;C9gRz%Lj=7*doWqcv7T&p=Tgj>uw4CNQ$v1syOwNij%MuS6jfu5ZIO+tv_eRlpsD7JjY7ui zZj~q66r4cIagPd~LSpCk?GL6`A1sA#5USzM4BQ_|ao|gz$Y=BG)+iWv5Lgf*1wUL2 zFhy|jTto~OjU;)B0B3xDzc9v9#*(gC<{4ORcLIh#BzYtZ_N1PTZSU@k?E(v>+oaS& zo;nly7bo3AnTu5MQ(sltH*?Rzk>KyoY;3+%6O(O0~txjalDWa z$JPBmcxoeUKoAI5>Js=dUH~46{qR2dh=Ql#qZ-bBzAyv+Oa#aFa62w*ILG@H;n>cl z@MHh)MC?(=JI=c^;MWL8JIodPiPQSW{=#K=0#~m^{ubFE)NqUJKda%NA^B+yPm}zjhCf1nzN6vaC;2rE zw@JpoT_JJa)+te3p^|ZY5+m_?Vf-A$T}*n$Un2Qq8qRl_yoSF@@_r3}f#ky){tn5m zhCfU4QyTuVYQA_*!@oiJSq)!F`1dq?g!+3y!%qYd_IHpXy6$*Qp(;gs-Om<^uj6U5$1oI1A_WcSejV0u z-XD%@IPVW4>yJ0#`2=O)sj|kL=QQkW;EV+#Td@OMWJ~au)2!E0g480L1uolYmEnX% z)|SS|k%*_JWqY1Io|OkU!NY*Jfh$fatXg$;$?BO%*BcL?+z_H|c zz%C2K=zn3M;b${>2f*`&?OAbyF2=l`@UDP$@&1p*=M1hd#Pt`)Aw3XQ0@C6807IX8 z{ljFK23?eRUNbfT44OvgEb6%a1r#F0?Pq8UFj!xYpC*UL*^tV#CgVM(UH;C{Vmw3k zm_HmNj?ejf6tH&jze(}Os6H2IW~jvTsa^au9l}Mj!}u6mk6!`|UpIRH7ZJerU?PcS zE)N0PE`E*Tb3ZXY?sZ&`@o~U#s_F65w-_Jq#_i%CZxbKyB6@rrADU{wP10(LzeAf? zy6q{b(k}j4ia$nvu>Y86JwCplbe{l;243EP9@dnaD1HDoI)?RLqYWXCLWFeN?}Dyf z`&06d7?bxXY(GwEz5SN}(|rOY{zCC]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c +stdarg.h +- +stddef.h +- +setjmp.h +- +cmocka.h +- + +_deps/cmocka-src/include/cmocka.h + diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/test_utils.dir/DependInfo.cmake new file mode 100644 index 0000000..f63fe2a --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_utils.dir/DependInfo.cmake @@ -0,0 +1,32 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "C" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_C + "/home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c" "/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.o" + ) +set(CMAKE_C_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_C + "DEBUG=0" + "SKIP_FOR_CMOCKA" + "TEST" + ) + +# The include file search paths: +set(CMAKE_C_TARGET_INCLUDE_PATH + "../../../src" + "../../../src_common" + "_deps/cmocka-src/include" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake" + "/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake" + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/build.make b/tests/unit/build/CMakeFiles/test_utils.dir/build.make new file mode 100644 index 0000000..01577ed --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_utils.dir/build.make @@ -0,0 +1,100 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Include any dependencies generated for this target. +include CMakeFiles/test_utils.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/test_utils.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/test_utils.dir/flags.make + +CMakeFiles/test_utils.dir/tests/utils.c.o: CMakeFiles/test_utils.dir/flags.make +CMakeFiles/test_utils.dir/tests/utils.c.o: ../tests/utils.c + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/test_utils.dir/tests/utils.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/test_utils.dir/tests/utils.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c + +CMakeFiles/test_utils.dir/tests/utils.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/test_utils.dir/tests/utils.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c > CMakeFiles/test_utils.dir/tests/utils.c.i + +CMakeFiles/test_utils.dir/tests/utils.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/test_utils.dir/tests/utils.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c -o CMakeFiles/test_utils.dir/tests/utils.c.s + +# Object files for target test_utils +test_utils_OBJECTS = \ +"CMakeFiles/test_utils.dir/tests/utils.c.o" + +# External object files for target test_utils +test_utils_EXTERNAL_OBJECTS = + +test_utils: CMakeFiles/test_utils.dir/tests/utils.c.o +test_utils: CMakeFiles/test_utils.dir/build.make +test_utils: _deps/cmocka-build/src/libcmocka.so.0.7.0 +test_utils: libutils.so +test_utils: CMakeFiles/test_utils.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable test_utils" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/test_utils.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/test_utils.dir/build: test_utils + +.PHONY : CMakeFiles/test_utils.dir/build + +CMakeFiles/test_utils.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/test_utils.dir/cmake_clean.cmake +.PHONY : CMakeFiles/test_utils.dir/clean + +CMakeFiles/test_utils.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test_utils.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/test_utils.dir/depend + diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/test_utils.dir/cmake_clean.cmake new file mode 100644 index 0000000..5a628a9 --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_utils.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/test_utils.dir/tests/utils.c.o" + "test_utils" + "test_utils.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/test_utils.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/depend.internal b/tests/unit/build/CMakeFiles/test_utils.dir/depend.internal new file mode 100644 index 0000000..78b465b --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_utils.dir/depend.internal @@ -0,0 +1,6 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/test_utils.dir/tests/utils.c.o + /home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c + _deps/cmocka-src/include/cmocka.h diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/depend.make b/tests/unit/build/CMakeFiles/test_utils.dir/depend.make new file mode 100644 index 0000000..b310f36 --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_utils.dir/depend.make @@ -0,0 +1,6 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/test_utils.dir/tests/utils.c.o: ../tests/utils.c +CMakeFiles/test_utils.dir/tests/utils.c.o: _deps/cmocka-src/include/cmocka.h + diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/flags.make b/tests/unit/build/CMakeFiles/test_utils.dir/flags.make new file mode 100644 index 0000000..ca77fb7 --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_utils.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# compile C with /usr/bin/cc +C_FLAGS = -g -Wall -pedantic -g -O0 --coverage -std=gnu11 + +C_DEFINES = -DDEBUG=0 -DSKIP_FOR_CMOCKA -DTEST + +C_INCLUDES = -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src_common -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include + diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/link.txt b/tests/unit/build/CMakeFiles/test_utils.dir/link.txt new file mode 100644 index 0000000..375537d --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_utils.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -g -Wall -pedantic -g -O0 --coverage --coverage -lgcov CMakeFiles/test_utils.dir/tests/utils.c.o -o test_utils -Wl,-rpath,/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src:/home/cseguret/Projects/app-ethereum/tests/unit/build _deps/cmocka-build/src/libcmocka.so.0.7.0 -lgcov libutils.so diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/progress.make b/tests/unit/build/CMakeFiles/test_utils.dir/progress.make new file mode 100644 index 0000000..8808896 --- /dev/null +++ b/tests/unit/build/CMakeFiles/test_utils.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 6 +CMAKE_PROGRESS_2 = 7 + diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.gcda b/tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.gcda new file mode 100644 index 0000000000000000000000000000000000000000..84b70877eba1e760bdd280515a7e8bb1d586e631 GIT binary patch literal 144 zcmYdHNlw=?wsf2j*%89Pz_5@BNU%aNkYZ#860eI2*ovN*>i+cFTmw|X$bygus|9jF g0IW8A`w^)M%Znu)9hEOZYPowvc|AGGA||xDEI+W`Y#s#!2W>$ zU?YBko%c*8I)%+byl``qbDwkWfmID-?iL%L{>rk#ls zeJUw`i*%K=N9y_xIV>>7Mtr%pjG^~ReIIf7@P-c<;$57J_jtR8k8?dDen2^>0SWaT z;C#2P_;c`Mx?aD|4<80^rm7x4FjHoeWDFw4+DfUkZo)&%u|~DP=_YBL&u-mgaXvAx z=hJiOxrPszx9vRugLayjwh#Hhfw>tYzEAg%`v4E?q`wmJJ$ks=!|eR8`rrc+VwW4P WRCBud!71dw>SHgE5cTm7die$l*71G- literal 0 HcmV?d00001 diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.o b/tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.o new file mode 100644 index 0000000000000000000000000000000000000000..5908e6cea84509feab2d83b61cca876038e3d399 GIT binary patch literal 8512 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 F_#fw>8Grx) literal 0 HcmV?d00001 diff --git a/tests/unit/build/CMakeFiles/utils.dir/C.includecache b/tests/unit/build/CMakeFiles/utils.dir/C.includecache new file mode 100644 index 0000000..3218800 --- /dev/null +++ b/tests/unit/build/CMakeFiles/utils.dir/C.includecache @@ -0,0 +1,12 @@ +#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/cseguret/Projects/app-ethereum/src/utils2.c +string.h +- + diff --git a/tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake new file mode 100644 index 0000000..9d636be --- /dev/null +++ b/tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake @@ -0,0 +1,30 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "C" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_C + "/home/cseguret/Projects/app-ethereum/src/utils2.c" "/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o" + ) +set(CMAKE_C_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_C + "DEBUG=0" + "SKIP_FOR_CMOCKA" + "TEST" + "utils_EXPORTS" + ) + +# The include file search paths: +set(CMAKE_C_TARGET_INCLUDE_PATH + "../../../src" + "../../../src_common" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/utils.dir/build.make b/tests/unit/build/CMakeFiles/utils.dir/build.make new file mode 100644 index 0000000..dc4fe7c --- /dev/null +++ b/tests/unit/build/CMakeFiles/utils.dir/build.make @@ -0,0 +1,98 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Include any dependencies generated for this target. +include CMakeFiles/utils.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/utils.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/utils.dir/flags.make + +CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o: CMakeFiles/utils.dir/flags.make +CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o: /home/cseguret/Projects/app-ethereum/src/utils2.c + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o -c /home/cseguret/Projects/app-ethereum/src/utils2.c + +CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/cseguret/Projects/app-ethereum/src/utils2.c > CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.i + +CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/cseguret/Projects/app-ethereum/src/utils2.c -o CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.s + +# Object files for target utils +utils_OBJECTS = \ +"CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o" + +# External object files for target utils +utils_EXTERNAL_OBJECTS = + +libutils.so: CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o +libutils.so: CMakeFiles/utils.dir/build.make +libutils.so: CMakeFiles/utils.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C shared library libutils.so" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/utils.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/utils.dir/build: libutils.so + +.PHONY : CMakeFiles/utils.dir/build + +CMakeFiles/utils.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/utils.dir/cmake_clean.cmake +.PHONY : CMakeFiles/utils.dir/clean + +CMakeFiles/utils.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/utils.dir/depend + diff --git a/tests/unit/build/CMakeFiles/utils.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/utils.dir/cmake_clean.cmake new file mode 100644 index 0000000..c2c7276 --- /dev/null +++ b/tests/unit/build/CMakeFiles/utils.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o" + "libutils.pdb" + "libutils.so" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/utils.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/CMakeFiles/utils.dir/depend.internal b/tests/unit/build/CMakeFiles/utils.dir/depend.internal new file mode 100644 index 0000000..d025476 --- /dev/null +++ b/tests/unit/build/CMakeFiles/utils.dir/depend.internal @@ -0,0 +1,5 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o + /home/cseguret/Projects/app-ethereum/src/utils2.c diff --git a/tests/unit/build/CMakeFiles/utils.dir/depend.make b/tests/unit/build/CMakeFiles/utils.dir/depend.make new file mode 100644 index 0000000..56fa001 --- /dev/null +++ b/tests/unit/build/CMakeFiles/utils.dir/depend.make @@ -0,0 +1,5 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o: /home/cseguret/Projects/app-ethereum/src/utils2.c + diff --git a/tests/unit/build/CMakeFiles/utils.dir/flags.make b/tests/unit/build/CMakeFiles/utils.dir/flags.make new file mode 100644 index 0000000..44b97df --- /dev/null +++ b/tests/unit/build/CMakeFiles/utils.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# compile C with /usr/bin/cc +C_FLAGS = -g -Wall -pedantic -g -O0 --coverage -fPIC -std=gnu11 + +C_DEFINES = -DDEBUG=0 -DSKIP_FOR_CMOCKA -DTEST -Dutils_EXPORTS + +C_INCLUDES = -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src_common + diff --git a/tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcda b/tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcda new file mode 100644 index 0000000000000000000000000000000000000000..ec89764a3574af53e3b9f063adc8882f174077c8 GIT binary patch literal 84 zcmYdHNlw=?wsiE4>gV_M+WDW@c literal 0 HcmV?d00001 diff --git a/tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcno b/tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcno new file mode 100644 index 0000000000000000000000000000000000000000..befddfa56a32776df312314c56690d1d0dc5104f GIT binary patch literal 892 zcmb_YyG{c!5VQ%8AP5bj;t!C(5>%8Yl!}IehAIli${o7go&2b2^Ec^G3aI!BB+~FD z%*dFNq7>+0q`CFZt!LL;S9)@CahYA;&2A5b5Gt>yMrmgz!5Xh_Z2f4ocWT@;r^e^T znlM$~I7p!?yt)rX`G9*8WH`p>>HQ`9e0_WVST5$9$je%f%aQX|=axmp0Q^-iXSE8x zDBby)#+@Fx1@42fXC@hUK_RXr{}US^dnb+gHpsiw7+K32GU_;ddr<5D=+T!os~*hh z!x?tKoqh8EG2y@;-!+(C=znfBk+ TbKTpM_Me_~(~VYJYJ&>OIJ-O9UAvhL zGqW{$@YF{i?-`;}1*ISKllVnNK|!jh6e_5n)Nd;K#Xk_x5B>ouwxH+SIcN9g?gRpQ z$m~7mcmCbE_ntF1j}#7#rwl_d8DhWaNQ??`YM{f9NOnYQ5&sastlje4WO4qx;>jN} z#rc0P&j0vW;oIVZg(k(5XN}@~%q|obi}N2WB0OKX_(9=3a^K&wFnPX+D&v#2Z;D-o zZ(Eml`z{pDe}82+e6n!f0M*{Y#o(b-h+?koI7uCGLYfa}OF9fLN*P~pi zRc};sV|Td6z43a(12n2PLc3BARum}=%CW}{cG<3$E3Q7RYj4~=s$#d_``9s6{;T+; zGoi-DMeC73TAKE&O5|TxfK+-FN~x3_%pR-mM*#n!5A()OOST`}0+9*UX z0O{B`23GCREYbihu~@wp@=ic7aXro(9w8vHLhAAT9 zAYrW;L`$KSE_S<`A#B-gI50DK3sJ7QfdIblSH+4#=`BVyJii*%gg7`hwkNY~vefdU zR=fw<;hS4h9DewQyq({%J%-~`gypsl9xN)@IXru35##>10eB?iUq^*8yUy6$zbbtS zPS@W7!v{&0XJKI7|59UXdQ<-ei&*#1SS>EYk@a^-we-D@^lMf9c&sN?*MQBXNBs1A zmjVDY@ymrczs*uFlRB1)UIK!l;84$PGUL|MmXWyv9z(&mDOyv+jYfeaYihNP;0}0F z5Q$rzTr+8n^T$~&r7;lE{sn^N8WL}cuI?)}rcgfOWQ&6-Pk;gtYl`*VptQ$M)lH_j zv>OD(6wq1|$Q0`8b_`6hsUs+y8J{Et5n>ReL0AVSUcaLN;JMZbDkKqaE`vY14F32s zc&C>-P8Hf!-d_PCh@J&pUbHpm-~Z!@@au=qAfR(S-Hm@Jzc=nmNQW^i1 z6kL&vkKzP?xWafoF)GA%V$hyrB9vEf%=;ezrqgZrs2K&i6U?ar5&H#;cY}zRH7VI%2Z6szEsfqkZ zING5v_XO?}*AQ-!9S=Vp_n(b$|ZEaUKrC=a=Q3z+lYf{JDJ5c@N97cfclKTH0zY)E59lkWsMY5tkM z*ifB6=H~pot|h>*Kj`bXi(ZKB<7gd!#_tD3QvMp{=RA0Ra7o#Z@j1Y--|P8DR+v8m z-=zGHCgjI&iJt!yV6@c0b*M=B-{?S+(`^?3P0D|o@*g1we1BYLJ^yon=`jHk7byQT zC@7@cz6LrSL-SL#p!)gOZC?W0r1>w>hnM|v{`h^==YI|`JtjcnEaiV11%-6m_du7F zf8(0iiO&h<$6L6b|6{-~CeIUCNk=g#(8F3n7J2*vY?Ayx!D0uxE*{#y?8oCbpkcmk z1k45US25&u+g|{~|C(sK(Ih5n=oyx2_xxxx. + + +set(CPACK_BINARY_7Z "") +set(CPACK_BINARY_BUNDLE "") +set(CPACK_BINARY_CYGWIN "") +set(CPACK_BINARY_DEB "OFF") +set(CPACK_BINARY_DRAGNDROP "") +set(CPACK_BINARY_FREEBSD "OFF") +set(CPACK_BINARY_IFW "OFF") +set(CPACK_BINARY_NSIS "OFF") +set(CPACK_BINARY_NUGET "") +set(CPACK_BINARY_OSXX11 "") +set(CPACK_BINARY_PACKAGEMAKER "") +set(CPACK_BINARY_PRODUCTBUILD "") +set(CPACK_BINARY_RPM "OFF") +set(CPACK_BINARY_STGZ "ON") +set(CPACK_BINARY_TBZ2 "OFF") +set(CPACK_BINARY_TGZ "ON") +set(CPACK_BINARY_TXZ "OFF") +set(CPACK_BINARY_TZ "ON") +set(CPACK_BINARY_WIX "") +set(CPACK_BINARY_ZIP "") +set(CPACK_BUILD_SOURCE_DIRS "/home/cseguret/Projects/app-ethereum/tests/unit;/home/cseguret/Projects/app-ethereum/tests/unit/build") +set(CPACK_CMAKE_GENERATOR "Unix Makefiles") +set(CPACK_COMPONENTS_ALL "") +set(CPACK_COMPONENT_HEADERS_DEPENDS "libraries") +set(CPACK_COMPONENT_HEADERS_DESCRIPTION "C/C++ header files for use with cmocka") +set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers") +set(CPACK_COMPONENT_HEADERS_GROUP "Development") +set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION "Libraries used to build programs which use cmocka") +set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries") +set(CPACK_COMPONENT_LIBRARIES_GROUP "Development") +set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") +set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.16/Templates/CPack.GenericDescription.txt") +set(CPACK_GENERATOR "STGZ;TGZ;TZ") +set(CPACK_INSTALL_CMAKE_PROJECTS "/home/cseguret/Projects/app-ethereum/tests/unit/build;unit_tests;ALL;/") +set(CPACK_INSTALL_PREFIX "/usr/local") +set(CPACK_MODULE_PATH "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/cmake/Modules") +set(CPACK_NSIS_DISPLAY_NAME "cmocka") +set(CPACK_NSIS_INSTALLER_ICON_CODE "") +set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") +set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") +set(CPACK_NSIS_PACKAGE_NAME "cmocka") +set(CPACK_OUTPUT_CONFIG_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackConfig.cmake") +set(CPACK_PACKAGE_DEFAULT_LOCATION "/") +set(CPACK_PACKAGE_DESCRIPTION_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/README.md") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Unit testing framework for C with mock objects") +set(CPACK_PACKAGE_FILE_NAME "cmocka-1.1.5") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "cmocka") +set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "cmocka") +set(CPACK_PACKAGE_NAME "cmocka") +set(CPACK_PACKAGE_RELOCATABLE "true") +set(CPACK_PACKAGE_VENDOR "Andreas Schneider") +set(CPACK_PACKAGE_VERSION "1.1.5") +set(CPACK_PACKAGE_VERSION_MAJOR "0") +set(CPACK_PACKAGE_VERSION_MINOR "1") +set(CPACK_RESOURCE_FILE_LICENSE "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/COPYING") +set(CPACK_RESOURCE_FILE_README "/usr/share/cmake-3.16/Templates/CPack.GenericDescription.txt") +set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake-3.16/Templates/CPack.GenericWelcome.txt") +set(CPACK_SET_DESTDIR "OFF") +set(CPACK_SOURCE_7Z "") +set(CPACK_SOURCE_CYGWIN "") +set(CPACK_SOURCE_GENERATOR "TXZ") +set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/obj*;tags;cscope.*;.ycm_extra_conf.pyc") +set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake") +set(CPACK_SOURCE_PACKAGE_FILE_NAME "cmocka-1.1.5") +set(CPACK_SOURCE_RPM "") +set(CPACK_SOURCE_TBZ2 "") +set(CPACK_SOURCE_TGZ "") +set(CPACK_SOURCE_TXZ "") +set(CPACK_SOURCE_TZ "") +set(CPACK_SOURCE_ZIP "") +set(CPACK_SYSTEM_NAME "Linux") +set(CPACK_TOPLEVEL_TAG "Linux") +set(CPACK_WIX_SIZEOF_VOID_P "8") + +if(NOT CPACK_PROPERTIES_FILE) + set(CPACK_PROPERTIES_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackProperties.cmake") +endif() + +if(EXISTS ${CPACK_PROPERTIES_FILE}) + include(${CPACK_PROPERTIES_FILE}) +endif() diff --git a/tests/unit/build/CPackSourceConfig.cmake b/tests/unit/build/CPackSourceConfig.cmake new file mode 100644 index 0000000..3de0d72 --- /dev/null +++ b/tests/unit/build/CPackSourceConfig.cmake @@ -0,0 +1,100 @@ +# This file will be configured to contain variables for CPack. These variables +# should be set in the CMake list file of the project before CPack module is +# included. The list of available CPACK_xxx variables and their associated +# documentation may be obtained using +# cpack --help-variable-list +# +# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME) +# and some are specific to a generator +# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables +# usually begin with CPACK__xxxx. + + +set(CPACK_BINARY_7Z "") +set(CPACK_BINARY_BUNDLE "") +set(CPACK_BINARY_CYGWIN "") +set(CPACK_BINARY_DEB "OFF") +set(CPACK_BINARY_DRAGNDROP "") +set(CPACK_BINARY_FREEBSD "OFF") +set(CPACK_BINARY_IFW "OFF") +set(CPACK_BINARY_NSIS "OFF") +set(CPACK_BINARY_NUGET "") +set(CPACK_BINARY_OSXX11 "") +set(CPACK_BINARY_PACKAGEMAKER "") +set(CPACK_BINARY_PRODUCTBUILD "") +set(CPACK_BINARY_RPM "OFF") +set(CPACK_BINARY_STGZ "ON") +set(CPACK_BINARY_TBZ2 "OFF") +set(CPACK_BINARY_TGZ "ON") +set(CPACK_BINARY_TXZ "OFF") +set(CPACK_BINARY_TZ "ON") +set(CPACK_BINARY_WIX "") +set(CPACK_BINARY_ZIP "") +set(CPACK_BUILD_SOURCE_DIRS "/home/cseguret/Projects/app-ethereum/tests/unit;/home/cseguret/Projects/app-ethereum/tests/unit/build") +set(CPACK_CMAKE_GENERATOR "Unix Makefiles") +set(CPACK_COMPONENTS_ALL "") +set(CPACK_COMPONENT_HEADERS_DEPENDS "libraries") +set(CPACK_COMPONENT_HEADERS_DESCRIPTION "C/C++ header files for use with cmocka") +set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers") +set(CPACK_COMPONENT_HEADERS_GROUP "Development") +set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION "Libraries used to build programs which use cmocka") +set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries") +set(CPACK_COMPONENT_LIBRARIES_GROUP "Development") +set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") +set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.16/Templates/CPack.GenericDescription.txt") +set(CPACK_GENERATOR "TXZ") +set(CPACK_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/obj*;tags;cscope.*;.ycm_extra_conf.pyc") +set(CPACK_INSTALLED_DIRECTORIES "/home/cseguret/Projects/app-ethereum/tests/unit;/") +set(CPACK_INSTALL_CMAKE_PROJECTS "") +set(CPACK_INSTALL_PREFIX "/usr/local") +set(CPACK_MODULE_PATH "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/cmake/Modules") +set(CPACK_NSIS_DISPLAY_NAME "cmocka") +set(CPACK_NSIS_INSTALLER_ICON_CODE "") +set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") +set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") +set(CPACK_NSIS_PACKAGE_NAME "cmocka") +set(CPACK_OUTPUT_CONFIG_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackConfig.cmake") +set(CPACK_PACKAGE_DEFAULT_LOCATION "/") +set(CPACK_PACKAGE_DESCRIPTION_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/README.md") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Unit testing framework for C with mock objects") +set(CPACK_PACKAGE_FILE_NAME "cmocka-1.1.5") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "cmocka") +set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "cmocka") +set(CPACK_PACKAGE_NAME "cmocka") +set(CPACK_PACKAGE_RELOCATABLE "true") +set(CPACK_PACKAGE_VENDOR "Andreas Schneider") +set(CPACK_PACKAGE_VERSION "1.1.5") +set(CPACK_PACKAGE_VERSION_MAJOR "0") +set(CPACK_PACKAGE_VERSION_MINOR "1") +set(CPACK_RESOURCE_FILE_LICENSE "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/COPYING") +set(CPACK_RESOURCE_FILE_README "/usr/share/cmake-3.16/Templates/CPack.GenericDescription.txt") +set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake-3.16/Templates/CPack.GenericWelcome.txt") +set(CPACK_RPM_PACKAGE_SOURCES "ON") +set(CPACK_SET_DESTDIR "OFF") +set(CPACK_SOURCE_7Z "") +set(CPACK_SOURCE_CYGWIN "") +set(CPACK_SOURCE_GENERATOR "TXZ") +set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/obj*;tags;cscope.*;.ycm_extra_conf.pyc") +set(CPACK_SOURCE_INSTALLED_DIRECTORIES "/home/cseguret/Projects/app-ethereum/tests/unit;/") +set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake") +set(CPACK_SOURCE_PACKAGE_FILE_NAME "cmocka-1.1.5") +set(CPACK_SOURCE_RPM "") +set(CPACK_SOURCE_TBZ2 "") +set(CPACK_SOURCE_TGZ "") +set(CPACK_SOURCE_TOPLEVEL_TAG "Linux-Source") +set(CPACK_SOURCE_TXZ "") +set(CPACK_SOURCE_TZ "") +set(CPACK_SOURCE_ZIP "") +set(CPACK_STRIP_FILES "") +set(CPACK_SYSTEM_NAME "Linux") +set(CPACK_TOPLEVEL_TAG "Linux-Source") +set(CPACK_WIX_SIZEOF_VOID_P "8") + +if(NOT CPACK_PROPERTIES_FILE) + set(CPACK_PROPERTIES_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackProperties.cmake") +endif() + +if(EXISTS ${CPACK_PROPERTIES_FILE}) + include(${CPACK_PROPERTIES_FILE}) +endif() diff --git a/tests/unit/build/CTestTestfile.cmake b/tests/unit/build/CTestTestfile.cmake new file mode 100644 index 0000000..23b8722 --- /dev/null +++ b/tests/unit/build/CTestTestfile.cmake @@ -0,0 +1,9 @@ +# CMake generated Testfile for +# Source directory: /home/cseguret/Projects/app-ethereum/tests/unit +# Build directory: /home/cseguret/Projects/app-ethereum/tests/unit/build +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +add_test(test_utils "test_utils") +set_tests_properties(test_utils PROPERTIES _BACKTRACE_TRIPLES "/home/cseguret/Projects/app-ethereum/tests/unit/CMakeLists.txt;63;add_test;/home/cseguret/Projects/app-ethereum/tests/unit/CMakeLists.txt;0;") +subdirs("_deps/cmocka-build") diff --git a/tests/unit/build/DartConfiguration.tcl b/tests/unit/build/DartConfiguration.tcl new file mode 100644 index 0000000..1d39e60 --- /dev/null +++ b/tests/unit/build/DartConfiguration.tcl @@ -0,0 +1,105 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/cseguret/Projects/app-ethereum/tests/unit +BuildDirectory: /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: LPPS0065 + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: Linux-cc + +# Subprojects +LabelsForSubprojects: + +# Submission information +SubmitURL: http:// + +# Dashboard start time +NightlyStartTime: 00:00:00 EDT + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/cseguret/Projects/app-ethereum/tests/unit" +MakeCommand: /usr/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}" +DefaultCTestConfigurationType: Release + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: CVSCOMMAND-NOTFOUND +CVSUpdateOptions: -d -A -P + +# Subversion options +SVNCommand: SVNCOMMAND-NOTFOUND +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: /usr/bin/git +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: P4COMMAND-NOTFOUND +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: /usr/bin/git +UpdateOptions: +UpdateType: git + +# Compiler info +Compiler: +CompilerVersion: + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: MEMORYCHECK_COMMAND-NOTFOUND +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: /usr/bin/gcov +CoverageExtraFlags: -l + +# Cluster commands +SlurmBatchCommand: SLURM_SBATCH_COMMAND-NOTFOUND +SlurmRunCommand: SLURM_SRUN_COMMAND-NOTFOUND + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: 1500 + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: 5 +CTestSubmitRetryCount: 3 diff --git a/tests/unit/build/Makefile b/tests/unit/build/Makefile new file mode 100644 index 0000000..a075b21 --- /dev/null +++ b/tests/unit/build/Makefile @@ -0,0 +1,756 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\" \"cmocka-header\" \"cmocka-library\" \"devel\" \"pkgconfig\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test + +.PHONY : test/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." + /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source + +.PHONY : package_source/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." + /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package + +.PHONY : package/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named NightlyMemCheck + +# Build rule for target. +NightlyMemCheck: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyMemCheck +.PHONY : NightlyMemCheck + +# fast build rule for target. +NightlyMemCheck/fast: + $(MAKE) -f CMakeFiles/NightlyMemCheck.dir/build.make CMakeFiles/NightlyMemCheck.dir/build +.PHONY : NightlyMemCheck/fast + +#============================================================================= +# Target rules for targets named NightlyTest + +# Build rule for target. +NightlyTest: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyTest +.PHONY : NightlyTest + +# fast build rule for target. +NightlyTest/fast: + $(MAKE) -f CMakeFiles/NightlyTest.dir/build.make CMakeFiles/NightlyTest.dir/build +.PHONY : NightlyTest/fast + +#============================================================================= +# Target rules for targets named ContinuousConfigure + +# Build rule for target. +ContinuousConfigure: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousConfigure +.PHONY : ContinuousConfigure + +# fast build rule for target. +ContinuousConfigure/fast: + $(MAKE) -f CMakeFiles/ContinuousConfigure.dir/build.make CMakeFiles/ContinuousConfigure.dir/build +.PHONY : ContinuousConfigure/fast + +#============================================================================= +# Target rules for targets named ContinuousBuild + +# Build rule for target. +ContinuousBuild: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousBuild +.PHONY : ContinuousBuild + +# fast build rule for target. +ContinuousBuild/fast: + $(MAKE) -f CMakeFiles/ContinuousBuild.dir/build.make CMakeFiles/ContinuousBuild.dir/build +.PHONY : ContinuousBuild/fast + +#============================================================================= +# Target rules for targets named NightlyConfigure + +# Build rule for target. +NightlyConfigure: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyConfigure +.PHONY : NightlyConfigure + +# fast build rule for target. +NightlyConfigure/fast: + $(MAKE) -f CMakeFiles/NightlyConfigure.dir/build.make CMakeFiles/NightlyConfigure.dir/build +.PHONY : NightlyConfigure/fast + +#============================================================================= +# Target rules for targets named NightlyMemoryCheck + +# Build rule for target. +NightlyMemoryCheck: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyMemoryCheck +.PHONY : NightlyMemoryCheck + +# fast build rule for target. +NightlyMemoryCheck/fast: + $(MAKE) -f CMakeFiles/NightlyMemoryCheck.dir/build.make CMakeFiles/NightlyMemoryCheck.dir/build +.PHONY : NightlyMemoryCheck/fast + +#============================================================================= +# Target rules for targets named ExperimentalTest + +# Build rule for target. +ExperimentalTest: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalTest +.PHONY : ExperimentalTest + +# fast build rule for target. +ExperimentalTest/fast: + $(MAKE) -f CMakeFiles/ExperimentalTest.dir/build.make CMakeFiles/ExperimentalTest.dir/build +.PHONY : ExperimentalTest/fast + +#============================================================================= +# Target rules for targets named ContinuousUpdate + +# Build rule for target. +ContinuousUpdate: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousUpdate +.PHONY : ContinuousUpdate + +# fast build rule for target. +ContinuousUpdate/fast: + $(MAKE) -f CMakeFiles/ContinuousUpdate.dir/build.make CMakeFiles/ContinuousUpdate.dir/build +.PHONY : ContinuousUpdate/fast + +#============================================================================= +# Target rules for targets named NightlyUpdate + +# Build rule for target. +NightlyUpdate: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyUpdate +.PHONY : NightlyUpdate + +# fast build rule for target. +NightlyUpdate/fast: + $(MAKE) -f CMakeFiles/NightlyUpdate.dir/build.make CMakeFiles/NightlyUpdate.dir/build +.PHONY : NightlyUpdate/fast + +#============================================================================= +# Target rules for targets named ExperimentalMemCheck + +# Build rule for target. +ExperimentalMemCheck: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalMemCheck +.PHONY : ExperimentalMemCheck + +# fast build rule for target. +ExperimentalMemCheck/fast: + $(MAKE) -f CMakeFiles/ExperimentalMemCheck.dir/build.make CMakeFiles/ExperimentalMemCheck.dir/build +.PHONY : ExperimentalMemCheck/fast + +#============================================================================= +# Target rules for targets named ExperimentalSubmit + +# Build rule for target. +ExperimentalSubmit: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalSubmit +.PHONY : ExperimentalSubmit + +# fast build rule for target. +ExperimentalSubmit/fast: + $(MAKE) -f CMakeFiles/ExperimentalSubmit.dir/build.make CMakeFiles/ExperimentalSubmit.dir/build +.PHONY : ExperimentalSubmit/fast + +#============================================================================= +# Target rules for targets named Experimental + +# Build rule for target. +Experimental: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Experimental +.PHONY : Experimental + +# fast build rule for target. +Experimental/fast: + $(MAKE) -f CMakeFiles/Experimental.dir/build.make CMakeFiles/Experimental.dir/build +.PHONY : Experimental/fast + +#============================================================================= +# Target rules for targets named ContinuousCoverage + +# Build rule for target. +ContinuousCoverage: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousCoverage +.PHONY : ContinuousCoverage + +# fast build rule for target. +ContinuousCoverage/fast: + $(MAKE) -f CMakeFiles/ContinuousCoverage.dir/build.make CMakeFiles/ContinuousCoverage.dir/build +.PHONY : ContinuousCoverage/fast + +#============================================================================= +# Target rules for targets named ExperimentalConfigure + +# Build rule for target. +ExperimentalConfigure: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalConfigure +.PHONY : ExperimentalConfigure + +# fast build rule for target. +ExperimentalConfigure/fast: + $(MAKE) -f CMakeFiles/ExperimentalConfigure.dir/build.make CMakeFiles/ExperimentalConfigure.dir/build +.PHONY : ExperimentalConfigure/fast + +#============================================================================= +# Target rules for targets named Continuous + +# Build rule for target. +Continuous: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Continuous +.PHONY : Continuous + +# fast build rule for target. +Continuous/fast: + $(MAKE) -f CMakeFiles/Continuous.dir/build.make CMakeFiles/Continuous.dir/build +.PHONY : Continuous/fast + +#============================================================================= +# Target rules for targets named test_utils + +# Build rule for target. +test_utils: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 test_utils +.PHONY : test_utils + +# fast build rule for target. +test_utils/fast: + $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/build +.PHONY : test_utils/fast + +#============================================================================= +# Target rules for targets named utils + +# Build rule for target. +utils: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 utils +.PHONY : utils + +# fast build rule for target. +utils/fast: + $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/build +.PHONY : utils/fast + +#============================================================================= +# Target rules for targets named Nightly + +# Build rule for target. +Nightly: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 Nightly +.PHONY : Nightly + +# fast build rule for target. +Nightly/fast: + $(MAKE) -f CMakeFiles/Nightly.dir/build.make CMakeFiles/Nightly.dir/build +.PHONY : Nightly/fast + +#============================================================================= +# Target rules for targets named NightlySubmit + +# Build rule for target. +NightlySubmit: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlySubmit +.PHONY : NightlySubmit + +# fast build rule for target. +NightlySubmit/fast: + $(MAKE) -f CMakeFiles/NightlySubmit.dir/build.make CMakeFiles/NightlySubmit.dir/build +.PHONY : NightlySubmit/fast + +#============================================================================= +# Target rules for targets named NightlyStart + +# Build rule for target. +NightlyStart: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyStart +.PHONY : NightlyStart + +# fast build rule for target. +NightlyStart/fast: + $(MAKE) -f CMakeFiles/NightlyStart.dir/build.make CMakeFiles/NightlyStart.dir/build +.PHONY : NightlyStart/fast + +#============================================================================= +# Target rules for targets named ExperimentalCoverage + +# Build rule for target. +ExperimentalCoverage: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalCoverage +.PHONY : ExperimentalCoverage + +# fast build rule for target. +ExperimentalCoverage/fast: + $(MAKE) -f CMakeFiles/ExperimentalCoverage.dir/build.make CMakeFiles/ExperimentalCoverage.dir/build +.PHONY : ExperimentalCoverage/fast + +#============================================================================= +# Target rules for targets named NightlyCoverage + +# Build rule for target. +NightlyCoverage: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyCoverage +.PHONY : NightlyCoverage + +# fast build rule for target. +NightlyCoverage/fast: + $(MAKE) -f CMakeFiles/NightlyCoverage.dir/build.make CMakeFiles/NightlyCoverage.dir/build +.PHONY : NightlyCoverage/fast + +#============================================================================= +# Target rules for targets named ExperimentalStart + +# Build rule for target. +ExperimentalStart: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalStart +.PHONY : ExperimentalStart + +# fast build rule for target. +ExperimentalStart/fast: + $(MAKE) -f CMakeFiles/ExperimentalStart.dir/build.make CMakeFiles/ExperimentalStart.dir/build +.PHONY : ExperimentalStart/fast + +#============================================================================= +# Target rules for targets named NightlyBuild + +# Build rule for target. +NightlyBuild: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 NightlyBuild +.PHONY : NightlyBuild + +# fast build rule for target. +NightlyBuild/fast: + $(MAKE) -f CMakeFiles/NightlyBuild.dir/build.make CMakeFiles/NightlyBuild.dir/build +.PHONY : NightlyBuild/fast + +#============================================================================= +# Target rules for targets named ExperimentalBuild + +# Build rule for target. +ExperimentalBuild: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalBuild +.PHONY : ExperimentalBuild + +# fast build rule for target. +ExperimentalBuild/fast: + $(MAKE) -f CMakeFiles/ExperimentalBuild.dir/build.make CMakeFiles/ExperimentalBuild.dir/build +.PHONY : ExperimentalBuild/fast + +#============================================================================= +# Target rules for targets named ExperimentalUpdate + +# Build rule for target. +ExperimentalUpdate: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ExperimentalUpdate +.PHONY : ExperimentalUpdate + +# fast build rule for target. +ExperimentalUpdate/fast: + $(MAKE) -f CMakeFiles/ExperimentalUpdate.dir/build.make CMakeFiles/ExperimentalUpdate.dir/build +.PHONY : ExperimentalUpdate/fast + +#============================================================================= +# Target rules for targets named ContinuousStart + +# Build rule for target. +ContinuousStart: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousStart +.PHONY : ContinuousStart + +# fast build rule for target. +ContinuousStart/fast: + $(MAKE) -f CMakeFiles/ContinuousStart.dir/build.make CMakeFiles/ContinuousStart.dir/build +.PHONY : ContinuousStart/fast + +#============================================================================= +# Target rules for targets named ContinuousMemCheck + +# Build rule for target. +ContinuousMemCheck: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousMemCheck +.PHONY : ContinuousMemCheck + +# fast build rule for target. +ContinuousMemCheck/fast: + $(MAKE) -f CMakeFiles/ContinuousMemCheck.dir/build.make CMakeFiles/ContinuousMemCheck.dir/build +.PHONY : ContinuousMemCheck/fast + +#============================================================================= +# Target rules for targets named ContinuousTest + +# Build rule for target. +ContinuousTest: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousTest +.PHONY : ContinuousTest + +# fast build rule for target. +ContinuousTest/fast: + $(MAKE) -f CMakeFiles/ContinuousTest.dir/build.make CMakeFiles/ContinuousTest.dir/build +.PHONY : ContinuousTest/fast + +#============================================================================= +# Target rules for targets named ContinuousSubmit + +# Build rule for target. +ContinuousSubmit: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 ContinuousSubmit +.PHONY : ContinuousSubmit + +# fast build rule for target. +ContinuousSubmit/fast: + $(MAKE) -f CMakeFiles/ContinuousSubmit.dir/build.make CMakeFiles/ContinuousSubmit.dir/build +.PHONY : ContinuousSubmit/fast + +#============================================================================= +# Target rules for targets named dist + +# Build rule for target. +dist: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 dist +.PHONY : dist + +# fast build rule for target. +dist/fast: + $(MAKE) -f _deps/cmocka-build/CMakeFiles/dist.dir/build.make _deps/cmocka-build/CMakeFiles/dist.dir/build +.PHONY : dist/fast + +#============================================================================= +# Target rules for targets named cmocka-static + +# Build rule for target. +cmocka-static: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cmocka-static +.PHONY : cmocka-static + +# fast build rule for target. +cmocka-static/fast: + $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build +.PHONY : cmocka-static/fast + +#============================================================================= +# Target rules for targets named cmocka + +# Build rule for target. +cmocka: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 cmocka +.PHONY : cmocka + +# fast build rule for target. +cmocka/fast: + $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build +.PHONY : cmocka/fast + +#============================================================================= +# Target rules for targets named docs + +# Build rule for target. +docs: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 docs +.PHONY : docs + +# fast build rule for target. +docs/fast: + $(MAKE) -f _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make _deps/cmocka-build/doc/CMakeFiles/docs.dir/build +.PHONY : docs/fast + +home/cseguret/Projects/app-ethereum/src/utils2.o: home/cseguret/Projects/app-ethereum/src/utils2.c.o + +.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.o + +# target to build an object file +home/cseguret/Projects/app-ethereum/src/utils2.c.o: + $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o +.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.c.o + +home/cseguret/Projects/app-ethereum/src/utils2.i: home/cseguret/Projects/app-ethereum/src/utils2.c.i + +.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.i + +# target to preprocess a source file +home/cseguret/Projects/app-ethereum/src/utils2.c.i: + $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.i +.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.c.i + +home/cseguret/Projects/app-ethereum/src/utils2.s: home/cseguret/Projects/app-ethereum/src/utils2.c.s + +.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.s + +# target to generate assembly for a file +home/cseguret/Projects/app-ethereum/src/utils2.c.s: + $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.s +.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.c.s + +tests/utils.o: tests/utils.c.o + +.PHONY : tests/utils.o + +# target to build an object file +tests/utils.c.o: + $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/tests/utils.c.o +.PHONY : tests/utils.c.o + +tests/utils.i: tests/utils.c.i + +.PHONY : tests/utils.i + +# target to preprocess a source file +tests/utils.c.i: + $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/tests/utils.c.i +.PHONY : tests/utils.c.i + +tests/utils.s: tests/utils.c.s + +.PHONY : tests/utils.s + +# target to generate assembly for a file +tests/utils.c.s: + $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/tests/utils.c.s +.PHONY : tests/utils.c.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/strip" + @echo "... install/local" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... test" + @echo "... package_source" + @echo "... edit_cache" + @echo "... NightlyMemCheck" + @echo "... NightlyTest" + @echo "... ContinuousConfigure" + @echo "... ContinuousBuild" + @echo "... NightlyConfigure" + @echo "... NightlyMemoryCheck" + @echo "... ExperimentalTest" + @echo "... ContinuousUpdate" + @echo "... NightlyUpdate" + @echo "... ExperimentalMemCheck" + @echo "... ExperimentalSubmit" + @echo "... Experimental" + @echo "... ContinuousCoverage" + @echo "... ExperimentalConfigure" + @echo "... Continuous" + @echo "... test_utils" + @echo "... utils" + @echo "... Nightly" + @echo "... NightlySubmit" + @echo "... install" + @echo "... NightlyStart" + @echo "... ExperimentalCoverage" + @echo "... NightlyCoverage" + @echo "... ExperimentalStart" + @echo "... package" + @echo "... NightlyBuild" + @echo "... ExperimentalBuild" + @echo "... ExperimentalUpdate" + @echo "... ContinuousStart" + @echo "... ContinuousMemCheck" + @echo "... ContinuousTest" + @echo "... ContinuousSubmit" + @echo "... dist" + @echo "... cmocka-static" + @echo "... cmocka" + @echo "... docs" + @echo "... home/cseguret/Projects/app-ethereum/src/utils2.o" + @echo "... home/cseguret/Projects/app-ethereum/src/utils2.i" + @echo "... home/cseguret/Projects/app-ethereum/src/utils2.s" + @echo "... tests/utils.o" + @echo "... tests/utils.i" + @echo "... tests/utils.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/tests/unit/build/Testing/Temporary/CTestCostData.txt b/tests/unit/build/Testing/Temporary/CTestCostData.txt new file mode 100644 index 0000000..0d8c40c --- /dev/null +++ b/tests/unit/build/Testing/Temporary/CTestCostData.txt @@ -0,0 +1,3 @@ +test_main 4 0.000297836 +test_utils 5 0.000234637 +--- diff --git a/tests/unit/build/Testing/Temporary/LastTest.log b/tests/unit/build/Testing/Temporary/LastTest.log new file mode 100644 index 0000000..ca19ecd --- /dev/null +++ b/tests/unit/build/Testing/Temporary/LastTest.log @@ -0,0 +1,23 @@ +Start testing: Mar 04 11:47 CET +---------------------------------------------------------- +1/1 Testing: test_utils +1/1 Test: test_utils +Command: "/home/cseguret/Projects/app-ethereum/tests/unit/build/test_utils" +Directory: /home/cseguret/Projects/app-ethereum/tests/unit/build +"test_utils" start time: Mar 04 11:47 CET +Output: +---------------------------------------------------------- +[==========] Running 1 test(s). +[ RUN ] null_test_success +[ OK ] null_test_success +[==========] 1 test(s) run. +[ PASSED ] 1 test(s). + +Test time = 0.00 sec +---------------------------------------------------------- +Test Passed. +"test_utils" end time: Mar 04 11:47 CET +"test_utils" time elapsed: 00:00:00 +---------------------------------------------------------- + +End testing: Mar 04 11:47 CET diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/unit/build/_deps/cmocka-build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f5ce8d9 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cseguret/Projects/app-ethereum/tests/unit") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cseguret/Projects/app-ethereum/tests/unit/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/build.make b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/build.make new file mode 100644 index 0000000..37b87cc --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/build.make @@ -0,0 +1,76 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for dist. + +# Include the progress variables for this target. +include _deps/cmocka-build/CMakeFiles/dist.dir/progress.make + +_deps/cmocka-build/CMakeFiles/dist: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build && /usr/bin/make package_source + +dist: _deps/cmocka-build/CMakeFiles/dist +dist: _deps/cmocka-build/CMakeFiles/dist.dir/build.make + +.PHONY : dist + +# Rule to build all files generated by this target. +_deps/cmocka-build/CMakeFiles/dist.dir/build: dist + +.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/build + +_deps/cmocka-build/CMakeFiles/dist.dir/clean: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build && $(CMAKE_COMMAND) -P CMakeFiles/dist.dir/cmake_clean.cmake +.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/clean + +_deps/cmocka-build/CMakeFiles/dist.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/depend + diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/cmake_clean.cmake b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/cmake_clean.cmake new file mode 100644 index 0000000..656ce9f --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/dist" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/dist.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/progress.make b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/progress.make new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/progress.make @@ -0,0 +1 @@ + diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/progress.marks b/tests/unit/build/_deps/cmocka-build/CMakeFiles/progress.marks new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +4 diff --git a/tests/unit/build/_deps/cmocka-build/CTestTestfile.cmake b/tests/unit/build/_deps/cmocka-build/CTestTestfile.cmake new file mode 100644 index 0000000..99d1e6e --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/CTestTestfile.cmake @@ -0,0 +1,9 @@ +# CMake generated Testfile for +# Source directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src +# Build directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. +subdirs("include") +subdirs("src") +subdirs("doc") diff --git a/tests/unit/build/_deps/cmocka-build/DartConfiguration.tcl b/tests/unit/build/_deps/cmocka-build/DartConfiguration.tcl new file mode 100644 index 0000000..ef33874 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/DartConfiguration.tcl @@ -0,0 +1,105 @@ +# This file is configured by CMake automatically as DartConfiguration.tcl +# If you choose not to use CMake, this file may be hand configured, by +# filling in the required variables. + + +# Configuration directories and files +SourceDirectory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src +BuildDirectory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build + +# Where to place the cost data store +CostDataFile: + +# Site is something like machine.domain, i.e. pragmatic.crd +Site: LPPS0065 + +# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ +BuildName: Linux-cc + +# Subprojects +LabelsForSubprojects: + +# Submission information +SubmitURL: http:// + +# Dashboard start time +NightlyStartTime: 00:00:00 EDT + +# Commands for the build/test/submit cycle +ConfigureCommand: "/usr/bin/cmake" "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" +MakeCommand: /usr/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}" +DefaultCTestConfigurationType: Release + +# version control +UpdateVersionOnly: + +# CVS options +# Default is "-d -P -A" +CVSCommand: CVSCOMMAND-NOTFOUND +CVSUpdateOptions: -d -A -P + +# Subversion options +SVNCommand: SVNCOMMAND-NOTFOUND +SVNOptions: +SVNUpdateOptions: + +# Git options +GITCommand: /usr/bin/git +GITInitSubmodules: +GITUpdateOptions: +GITUpdateCustom: + +# Perforce options +P4Command: P4COMMAND-NOTFOUND +P4Client: +P4Options: +P4UpdateOptions: +P4UpdateCustom: + +# Generic update command +UpdateCommand: /usr/bin/git +UpdateOptions: +UpdateType: true + +# Compiler info +Compiler: +CompilerVersion: + +# Dynamic analysis (MemCheck) +PurifyCommand: +ValgrindCommand: +ValgrindCommandOptions: +MemoryCheckType: +MemoryCheckSanitizerOptions: +MemoryCheckCommand: MEMORYCHECK_COMMAND-NOTFOUND +MemoryCheckCommandOptions: +MemoryCheckSuppressionFile: + +# Coverage +CoverageCommand: /usr/bin/gcov +CoverageExtraFlags: -l + +# Cluster commands +SlurmBatchCommand: SLURM_SBATCH_COMMAND-NOTFOUND +SlurmRunCommand: SLURM_SRUN_COMMAND-NOTFOUND + +# Testing options +# TimeOut is the amount of time in seconds to wait for processes +# to complete during testing. After TimeOut seconds, the +# process will be summarily terminated. +# Currently set to 25 minutes +TimeOut: 1500 + +# During parallel testing CTest will not start a new test if doing +# so would cause the system load to exceed this value. +TestLoad: + +UseLaunchers: +CurlOptions: +# warning, if you add new options here that have to do with submit, +# you have to update cmCTestSubmitCommand.cxx + +# For CTest submissions that timeout, these options +# specify behavior for retrying the submission +CTestSubmitRetryDelay: 5 +CTestSubmitRetryCount: 3 diff --git a/tests/unit/build/_deps/cmocka-build/Makefile b/tests/unit/build/_deps/cmocka-build/Makefile new file mode 100644 index 0000000..3aef2a8 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/Makefile @@ -0,0 +1,236 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test + +.PHONY : test/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source + +.PHONY : package_source/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\" \"cmocka-header\" \"cmocka-library\" \"devel\" \"pkgconfig\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package + +.PHONY : package/fast + +# The main all target +all: cmake_check_build_system + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/progress.marks + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +_deps/cmocka-build/CMakeFiles/dist.dir/rule: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/CMakeFiles/dist.dir/rule +.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/rule + +# Convenience name for target. +dist: _deps/cmocka-build/CMakeFiles/dist.dir/rule + +.PHONY : dist + +# fast build rule for target. +dist/fast: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f _deps/cmocka-build/CMakeFiles/dist.dir/build.make _deps/cmocka-build/CMakeFiles/dist.dir/build +.PHONY : dist/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/strip" + @echo "... install/local" + @echo "... edit_cache" + @echo "... test" + @echo "... package_source" + @echo "... install" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... package" + @echo "... dist" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/tests/unit/build/_deps/cmocka-build/cmake_install.cmake b/tests/unit/build/_deps/cmocka-build/cmake_install.cmake new file mode 100644 index 0000000..7186233 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/cmake_install.cmake @@ -0,0 +1,58 @@ +# Install script for directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xpkgconfigx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" TYPE FILE FILES "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/cmocka.pc") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xdevelx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/cmocka" TYPE FILE FILES + "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/cmocka-config.cmake" + "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/cmocka-config-version.cmake" + ) +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + include("/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/cmake_install.cmake") + include("/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/cmake_install.cmake") + include("/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/cmake_install.cmake") + +endif() + diff --git a/tests/unit/build/_deps/cmocka-build/cmocka-config-version.cmake b/tests/unit/build/_deps/cmocka-build/cmocka-config-version.cmake new file mode 100644 index 0000000..4f9f442 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/cmocka-config-version.cmake @@ -0,0 +1,37 @@ +# This is a basic version file for the Config-mode of find_package(). +# It is used by write_basic_package_version_file() as input file for configure_file() +# to create a version-file which can be installed along a config.cmake file. +# +# The created file sets PACKAGE_VERSION_EXACT if the current version string and +# the requested version string are exactly the same and it sets +# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. +# The variable CVF_VERSION must be set before calling configure_file(). + +set(PACKAGE_VERSION "1.1.5") + +if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() + + +# if the installed project requested no architecture check, don't perform the check +if("FALSE") + return() +endif() + +# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") + return() +endif() + +# check that the installed version has the same 32/64bit-ness as the one which is currently searching: +if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") + math(EXPR installedBits "8 * 8") + set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") + set(PACKAGE_VERSION_UNSUITABLE TRUE) +endif() diff --git a/tests/unit/build/_deps/cmocka-build/cmocka-config.cmake b/tests/unit/build/_deps/cmocka-build/cmocka-config.cmake new file mode 100644 index 0000000..eb8f592 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/cmocka-config.cmake @@ -0,0 +1,39 @@ + +####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### +####### Any changes to this file will be overwritten by the next CMake run #### +####### The input file was cmocka-config.cmake.in ######## + +get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) + +macro(set_and_check _var _file) + set(${_var} "${_file}") + if(NOT EXISTS "${_file}") + message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") + endif() +endmacro() + +macro(check_required_components _NAME) + foreach(comp ${${_NAME}_FIND_COMPONENTS}) + if(NOT ${_NAME}_${comp}_FOUND) + if(${_NAME}_FIND_REQUIRED_${comp}) + set(${_NAME}_FOUND FALSE) + endif() + endif() + endforeach() +endmacro() + +#################################################################################### + +get_filename_component(CMOCKA_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + +if (EXISTS "${CMOCKA_CMAKE_DIR}/CMakeCache.txt") + # In build tree + include(${CMOCKA_CMAKE_DIR}/cmocka-build-tree-settings.cmake) +else() + set(CMOCKA_INCLUDE_DIR ${PACKAGE_PREFIX_DIR}/include) +endif() + +set(CMOCKA_LIBRARY ${PACKAGE_PREFIX_DIR}/lib/libcmocka.so) +set(CMOCKA_LIBRARIES ${PACKAGE_PREFIX_DIR}/lib/libcmocka.so) + +mark_as_advanced(CMOCKA_LIBRARY CMOCKA_INCLUDE_DIR) diff --git a/tests/unit/build/_deps/cmocka-build/cmocka.pc b/tests/unit/build/_deps/cmocka-build/cmocka.pc new file mode 100644 index 0000000..0906145 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/cmocka.pc @@ -0,0 +1,5 @@ +Name: cmocka +Description: The cmocka unit testing library +Version: 1.1.5 +Libs: -L/usr/local/lib -lcmocka +Cflags: -I/usr/local/include diff --git a/tests/unit/build/_deps/cmocka-build/config.h b/tests/unit/build/_deps/cmocka-build/config.h new file mode 100644 index 0000000..75ca415 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/config.h @@ -0,0 +1,169 @@ +/* Name of package */ +#define PACKAGE "cmocka" + +/* Version number of package */ +#define VERSION "1.1.5" + +/* #undef LOCALEDIR */ +/* #undef DATADIR */ +#define LIBDIR "lib" +#define PLUGINDIR "-0" +/* #undef SYSCONFDIR */ +#define BINARYDIR "/home/cseguret/Projects/app-ethereum/tests/unit/build" +#define SOURCEDIR "/home/cseguret/Projects/app-ethereum/tests/unit" + +/************************** HEADER FILES *************************/ + +/* Define to 1 if you have the header file. */ +#define HAVE_ASSERT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_DLFCN_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_IO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SETJMP_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/**************************** STRUCTS ****************************/ + +#define HAVE_STRUCT_TIMESPEC 1 + +/*************************** FUNCTIONS ***************************/ + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `exit' function. */ +#define HAVE_EXIT 1 + +/* Define to 1 if you have the `fprintf' function. */ +#define HAVE_FPRINTF 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the `_snprintf' function. */ +/* #undef HAVE__SNPRINTF */ + +/* Define to 1 if you have the `_snprintf_s' function. */ +/* #undef HAVE__SNPRINTF_S */ + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `_vsnprintf' function. */ +/* #undef HAVE__VSNPRINTF */ + +/* Define to 1 if you have the `_vsnprintf_s' function. */ +/* #undef HAVE__VSNPRINTF_S */ + +/* Define to 1 if you have the `free' function. */ +#define HAVE_FREE 1 + +/* Define to 1 if you have the `longjmp' function. */ +#define HAVE_LONGJMP 1 + +/* Define to 1 if you have the `siglongjmp' function. */ +#define HAVE_SIGLONGJMP 1 + +/* Define to 1 if you have the `malloc' function. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `printf' function. */ +#define HAVE_PRINTF 1 + +/* Define to 1 if you have the `setjmp' function. */ +#define HAVE_SETJMP 1 + +/* Define to 1 if you have the `signal' function. */ +#define HAVE_SIGNAL 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the `strcmp' function. */ +#define HAVE_STRCMP 1 + +/* Define to 1 if you have the `strcpy' function. */ +/* #undef HAVE_STRCPY */ + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/**************************** OPTIONS ****************************/ + +/* Check if we have TLS support with GCC */ +#define HAVE_GCC_THREAD_LOCAL_STORAGE 1 + +/* Check if we have TLS support with MSVC */ +/* #undef HAVE_MSVC_THREAD_LOCAL_STORAGE */ + +/* Check if we have CLOCK_REALTIME for clock_gettime() */ +#define HAVE_CLOCK_REALTIME 1 + +/*************************** ENDIAN *****************************/ + +#define WORDS_SIZEOF_VOID_P 8 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +/* #undef WORDS_BIGENDIAN */ diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f5ce8d9 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cseguret/Projects/app-ethereum/tests/unit") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cseguret/Projects/app-ethereum/tests/unit/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/cmake_directory_clean.cmake b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/cmake_directory_clean.cmake new file mode 100644 index 0000000..4c35bb4 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/cmake_directory_clean.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "_deps/cmocka-build/doc/html" +) diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake new file mode 100644 index 0000000..19fab21 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake @@ -0,0 +1,11 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) +# The set of files for implicit dependencies of each language: + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make new file mode 100644 index 0000000..a93207c --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make @@ -0,0 +1,78 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Utility rule file for docs. + +# Include the progress variables for this target. +include _deps/cmocka-build/doc/CMakeFiles/docs.dir/progress.make + +_deps/cmocka-build/doc/CMakeFiles/docs: _deps/cmocka-build/doc/Doxyfile.docs + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generate API documentation for docs" + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc && /usr/bin/cmake -E make_directory /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc && /usr/bin/doxygen /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/Doxyfile.docs + +docs: _deps/cmocka-build/doc/CMakeFiles/docs +docs: _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make + +.PHONY : docs + +# Rule to build all files generated by this target. +_deps/cmocka-build/doc/CMakeFiles/docs.dir/build: docs + +.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/build + +_deps/cmocka-build/doc/CMakeFiles/docs.dir/clean: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc && $(CMAKE_COMMAND) -P CMakeFiles/docs.dir/cmake_clean.cmake +.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/clean + +_deps/cmocka-build/doc/CMakeFiles/docs.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/depend + diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/cmake_clean.cmake b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/cmake_clean.cmake new file mode 100644 index 0000000..ae753a3 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/cmake_clean.cmake @@ -0,0 +1,8 @@ +file(REMOVE_RECURSE + "CMakeFiles/docs" +) + +# Per-language clean rules from dependency scanning. +foreach(lang ) + include(CMakeFiles/docs.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/progress.make b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/progress.make new file mode 100644 index 0000000..b9ea7bd --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 5 + diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/progress.marks b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/progress.marks new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/progress.marks @@ -0,0 +1 @@ +0 diff --git a/tests/unit/build/_deps/cmocka-build/doc/CTestTestfile.cmake b/tests/unit/build/_deps/cmocka-build/doc/CTestTestfile.cmake new file mode 100644 index 0000000..a452292 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc +# Build directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/tests/unit/build/_deps/cmocka-build/doc/Doxyfile.docs b/tests/unit/build/_deps/cmocka-build/doc/Doxyfile.docs new file mode 100644 index 0000000..cd04d36 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/Doxyfile.docs @@ -0,0 +1,280 @@ +# +# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE! +# + +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = cmocka +PROJECT_NUMBER = 1.1.5 +PROJECT_BRIEF = "Unit testing library with mock support" +PROJECT_LOGO = +OUTPUT_DIRECTORY = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc +CREATE_SUBDIRS = NO +ALLOW_UNICODE_NAMES = NO +OUTPUT_LANGUAGE = English +OUTPUT_TEXT_DIRECTION = None +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" "The $name widget" "The $name file" is provides specifies contains represents a an the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +JAVADOC_BANNER = NO +QT_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 4 +ALIASES = +TCL_SUBST = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = NO +OPTIMIZE_FOR_FORTRAN = NO +OPTIMIZE_OUTPUT_VHDL = NO +OPTIMIZE_OUTPUT_SLICE = NO +EXTENSION_MAPPING = +MARKDOWN_SUPPORT = YES +TOC_INCLUDE_HEADINGS = 5 +AUTOLINK_SUPPORT = YES +BUILTIN_STL_SUPPORT = NO +CPP_CLI_SUPPORT = NO +SIP_SUPPORT = NO +IDL_PROPERTY_SUPPORT = YES +DISTRIBUTE_GROUP_DOC = NO +GROUP_NESTED_COMPOUNDS = NO +SUBGROUPING = YES +INLINE_GROUPED_CLASSES = NO +INLINE_SIMPLE_STRUCTS = NO +TYPEDEF_HIDES_STRUCT = NO +LOOKUP_CACHE_SIZE = 0 +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_PRIV_VIRTUAL = NO +EXTRACT_PACKAGE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO +EXTRACT_ANON_NSPACES = NO +HIDE_UNDOC_MEMBERS = NO +HIDE_UNDOC_CLASSES = NO +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +HIDE_COMPOUND_REFERENCE= NO +SHOW_INCLUDE_FILES = YES +SHOW_GROUPED_MEMB_INC = NO +FORCE_LOCAL_INCLUDES = NO +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = NO +SORT_MEMBERS_CTORS_1ST = NO +SORT_GROUP_NAMES = NO +SORT_BY_SCOPE_NAME = NO +STRICT_PROTO_MATCHING = NO +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_FILES = YES +SHOW_NAMESPACES = YES +FILE_VERSION_FILTER = +LAYOUT_FILE = +CITE_BIB_FILES = +QUIET = NO +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO +WARN_AS_ERROR = NO +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +INPUT = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc +INPUT_ENCODING = UTF-8 +FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md *.mm *.dox *.doc *.txt *.py *.pyw *.f90 *.f95 *.f03 *.f08 *.f *.for *.tcl *.vhd *.vhdl *.ucf *.qsf *.ice +RECURSIVE = YES +EXCLUDE = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = */.git/* */.svn/* */.hg/* */CMakeFiles/* */_CPack_Packages/* DartConfiguration.tcl CMakeLists.txt CMakeCache.txt +EXCLUDE_SYMBOLS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +FILTER_SOURCE_PATTERNS = +USE_MDFILE_AS_MAINPAGE = +SOURCE_BROWSER = NO +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = NO +REFERENCES_RELATION = NO +REFERENCES_LINK_SOURCE = YES +SOURCE_TOOLTIPS = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +CLANG_ASSISTED_PARSING = NO +CLANG_OPTIONS = +CLANG_DATABASE_PATH = +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/header.html +HTML_FOOTER = +HTML_STYLESHEET = +HTML_EXTRA_STYLESHEET = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/that_style.css +HTML_EXTRA_FILES = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/nav_edge_left.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/nav_edge_right.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/nav_edge_inter.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/sync_off.png /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/sync_on.png /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/splitbar_handle.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/doc.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/mag_glass.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/folderclosed.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/folderopen.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/js/striped_bg.js +HTML_COLORSTYLE_HUE = 220 +HTML_COLORSTYLE_SAT = 100 +HTML_COLORSTYLE_GAMMA = 80 +HTML_TIMESTAMP = NO +HTML_DYNAMIC_MENUS = YES +HTML_DYNAMIC_SECTIONS = NO +HTML_INDEX_NUM_ENTRIES = 100 +GENERATE_DOCSET = NO +DOCSET_FEEDNAME = "Doxygen generated docs" +DOCSET_BUNDLE_ID = org.doxygen.Project +DOCSET_PUBLISHER_ID = org.doxygen.Publisher +DOCSET_PUBLISHER_NAME = Publisher +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +CHM_INDEX_ENCODING = +BINARY_TOC = NO +TOC_EXPAND = NO +GENERATE_QHP = NO +QCH_FILE = +QHP_NAMESPACE = org.doxygen.Project +QHP_VIRTUAL_FOLDER = doc +QHP_CUST_FILTER_NAME = +QHP_CUST_FILTER_ATTRS = +QHP_SECT_FILTER_ATTRS = +QHG_LOCATION = +GENERATE_ECLIPSEHELP = NO +ECLIPSE_DOC_ID = org.doxygen.Project +DISABLE_INDEX = NO +GENERATE_TREEVIEW = NO +ENUM_VALUES_PER_LINE = 4 +TREEVIEW_WIDTH = 250 +EXT_LINKS_IN_WINDOW = NO +FORMULA_FONTSIZE = 10 +FORMULA_TRANSPARENT = YES +FORMULA_MACROFILE = +USE_MATHJAX = NO +MATHJAX_FORMAT = HTML-CSS +MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/ +MATHJAX_EXTENSIONS = +MATHJAX_CODEFILE = +SEARCHENGINE = YES +SERVER_BASED_SEARCH = NO +EXTERNAL_SEARCH = NO +SEARCHENGINE_URL = +SEARCHDATA_FILE = searchdata.xml +EXTERNAL_SEARCH_ID = +EXTRA_SEARCH_MAPPINGS = +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = +MAKEINDEX_CMD_NAME = makeindex +LATEX_MAKEINDEX_CMD = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4 +EXTRA_PACKAGES = +LATEX_HEADER = +LATEX_FOOTER = +LATEX_EXTRA_STYLESHEET = +LATEX_EXTRA_FILES = +PDF_HYPERLINKS = YES +USE_PDFLATEX = YES +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +LATEX_SOURCE_CODE = NO +LATEX_BIB_STYLE = plain +LATEX_TIMESTAMP = NO +LATEX_EMOJI_DIRECTORY = +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +RTF_SOURCE_CODE = NO +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_SUBDIR = +MAN_LINKS = NO +GENERATE_XML = NO +XML_OUTPUT = xml +XML_PROGRAMLISTING = YES +XML_NS_MEMB_FILE_SCOPE = NO +GENERATE_DOCBOOK = NO +DOCBOOK_OUTPUT = docbook +DOCBOOK_PROGRAMLISTING = NO +GENERATE_AUTOGEN_DEF = NO +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = DOXYGEN CMOCKA_PRINTF_ATTRIBUTE ( x,y ) +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +EXTERNAL_PAGES = YES +CLASS_DIAGRAMS = YES +DIA_PATH = +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = NO +DOT_NUM_THREADS = 0 +DOT_FONTNAME = Helvetica +DOT_FONTSIZE = 10 +DOT_FONTPATH = +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +UML_LIMIT_NUM_FIELDS = 10 +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = NO +CALLER_GRAPH = NO +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +INTERACTIVE_SVG = NO +DOT_PATH = +DOTFILE_DIRS = +MSCFILE_DIRS = +DIAFILE_DIRS = +PLANTUML_JAR_PATH = +PLANTUML_CFG_FILE = +PLANTUML_INCLUDE_PATH = +DOT_GRAPH_MAX_NODES = 50 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = YES +GENERATE_LEGEND = YES +DOT_CLEANUP = YES diff --git a/tests/unit/build/_deps/cmocka-build/doc/Makefile b/tests/unit/build/_deps/cmocka-build/doc/Makefile new file mode 100644 index 0000000..003c4e1 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/Makefile @@ -0,0 +1,236 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test + +.PHONY : test/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source + +.PHONY : package_source/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\" \"cmocka-header\" \"cmocka-library\" \"devel\" \"pkgconfig\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package + +.PHONY : package/fast + +# The main all target +all: cmake_check_build_system + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/progress.marks + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +_deps/cmocka-build/doc/CMakeFiles/docs.dir/rule: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/CMakeFiles/docs.dir/rule +.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/rule + +# Convenience name for target. +docs: _deps/cmocka-build/doc/CMakeFiles/docs.dir/rule + +.PHONY : docs + +# fast build rule for target. +docs/fast: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make _deps/cmocka-build/doc/CMakeFiles/docs.dir/build +.PHONY : docs/fast + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/strip" + @echo "... install/local" + @echo "... edit_cache" + @echo "... test" + @echo "... package_source" + @echo "... install" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... package" + @echo "... docs" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/tests/unit/build/_deps/cmocka-build/doc/cmake_install.cmake b/tests/unit/build/_deps/cmocka-build/doc/cmake_install.cmake new file mode 100644 index 0000000..d58a1b9 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/doc/cmake_install.cmake @@ -0,0 +1,39 @@ +# Install script for directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + diff --git a/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f5ce8d9 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cseguret/Projects/app-ethereum/tests/unit") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cseguret/Projects/app-ethereum/tests/unit/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/progress.marks b/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/progress.marks new file mode 100644 index 0000000..573541a --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/progress.marks @@ -0,0 +1 @@ +0 diff --git a/tests/unit/build/_deps/cmocka-build/include/CTestTestfile.cmake b/tests/unit/build/_deps/cmocka-build/include/CTestTestfile.cmake new file mode 100644 index 0000000..957df3d --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/include/CTestTestfile.cmake @@ -0,0 +1,6 @@ +# CMake generated Testfile for +# Source directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include +# Build directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include +# +# This file includes the relevant testing commands required for +# testing this directory and lists subdirectories to be tested as well. diff --git a/tests/unit/build/_deps/cmocka-build/include/Makefile b/tests/unit/build/_deps/cmocka-build/include/Makefile new file mode 100644 index 0000000..c10e71d --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/include/Makefile @@ -0,0 +1,220 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Default target executed when no arguments are given to make. +default_target: all + +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target install/strip +install/strip: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip + +# Special rule for the target install/strip +install/strip/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." + /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake +.PHONY : install/strip/fast + +# Special rule for the target install/local +install/local: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local + +# Special rule for the target install/local +install/local/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." + /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake +.PHONY : install/local/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache + +.PHONY : edit_cache/fast + +# Special rule for the target test +test: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." + /usr/bin/ctest --force-new-ctest-process $(ARGS) +.PHONY : test + +# Special rule for the target test +test/fast: test + +.PHONY : test/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source + +.PHONY : package_source/fast + +# Special rule for the target install +install: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install + +# Special rule for the target install +install/fast: preinstall/fast + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." + /usr/bin/cmake -P cmake_install.cmake +.PHONY : install/fast + +# Special rule for the target list_install_components +list_install_components: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\" \"cmocka-header\" \"cmocka-library\" \"devel\" \"pkgconfig\"" +.PHONY : list_install_components + +# Special rule for the target list_install_components +list_install_components/fast: list_install_components + +.PHONY : list_install_components/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache + +.PHONY : rebuild_cache/fast + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package + +.PHONY : package/fast + +# The main all target +all: cmake_check_build_system + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/progress.marks + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/include/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/include/clean +.PHONY : clean + +# The main clean target +clean/fast: clean + +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/include/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/include/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... install/strip" + @echo "... install/local" + @echo "... edit_cache" + @echo "... test" + @echo "... package_source" + @echo "... install" + @echo "... list_install_components" + @echo "... rebuild_cache" + @echo "... package" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/tests/unit/build/_deps/cmocka-build/include/cmake_install.cmake b/tests/unit/build/_deps/cmocka-build/include/cmake_install.cmake new file mode 100644 index 0000000..4238370 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/include/cmake_install.cmake @@ -0,0 +1,46 @@ +# Install script for directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xcmocka-headerx" OR NOT CMAKE_INSTALL_COMPONENT) + file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include" TYPE FILE FILES + "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include/cmocka.h" + "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include/cmocka_pbc.h" + ) +endif() + diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f5ce8d9 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cseguret/Projects/app-ethereum/tests/unit") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cseguret/Projects/app-ethereum/tests/unit/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/C.includecache b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/C.includecache new file mode 100644 index 0000000..80ddede --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/C.includecache @@ -0,0 +1,58 @@ +#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c +config.h +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/config.h +malloc.h +- +inttypes.h +- +signal.h +- +strings.h +- +stdint.h +- +setjmp.h +- +stdarg.h +- +stddef.h +- +stdio.h +- +stdlib.h +- +string.h +- +time.h +- +float.h +- +cmocka_platform.h +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka_platform.h +cmocka.h +- +cmocka_private.h +- + +_deps/cmocka-build/config.h + +_deps/cmocka-src/include/cmocka.h + +_deps/cmocka-src/include/cmocka_private.h +config.h +_deps/cmocka-src/include/config.h +stdint.h +- +windows.h +- +stdio.h +- + diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake new file mode 100644 index 0000000..a64255c --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake @@ -0,0 +1,24 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "C" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_C + "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c" "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o" + ) +set(CMAKE_C_COMPILER_ID "GNU") + +# The include file search paths: +set(CMAKE_C_TARGET_INCLUDE_PATH + "_deps/cmocka-build/src" + "_deps/cmocka-src/src" + "_deps/cmocka-build" + "_deps/cmocka-src/include" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make new file mode 100644 index 0000000..bd94af6 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make @@ -0,0 +1,99 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Include any dependencies generated for this target. +include _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend.make + +# Include the progress variables for this target. +include _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/progress.make + +# Include the compile flags for this target's objects. +include _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/flags.make + +_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/flags.make +_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o: _deps/cmocka-src/src/cmocka.c + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o" + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/cmocka-static.dir/cmocka.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c + +_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/cmocka-static.dir/cmocka.c.i" + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c > CMakeFiles/cmocka-static.dir/cmocka.c.i + +_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/cmocka-static.dir/cmocka.c.s" + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c -o CMakeFiles/cmocka-static.dir/cmocka.c.s + +# Object files for target cmocka-static +cmocka__static_OBJECTS = \ +"CMakeFiles/cmocka-static.dir/cmocka.c.o" + +# External object files for target cmocka-static +cmocka__static_EXTERNAL_OBJECTS = + +_deps/cmocka-build/src/libcmocka-static.a: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o +_deps/cmocka-build/src/libcmocka-static.a: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make +_deps/cmocka-build/src/libcmocka-static.a: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C static library libcmocka-static.a" + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -P CMakeFiles/cmocka-static.dir/cmake_clean_target.cmake + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cmocka-static.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build: _deps/cmocka-build/src/libcmocka-static.a + +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build + +_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -P CMakeFiles/cmocka-static.dir/cmake_clean.cmake +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean + +_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend + diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean.cmake new file mode 100644 index 0000000..588e3f0 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +file(REMOVE_RECURSE + "CMakeFiles/cmocka-static.dir/cmocka.c.o" + "libcmocka-static.a" + "libcmocka-static.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/cmocka-static.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean_target.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean_target.cmake new file mode 100644 index 0000000..4f5f336 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "libcmocka-static.a" +) diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.gcno b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.gcno new file mode 100644 index 0000000000000000000000000000000000000000..64f874cbb118a49130c71e93e8d2e242c9d0e3a5 GIT binary patch literal 183608 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 literal 0 HcmV?d00001 diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o new file mode 100644 index 0000000000000000000000000000000000000000..e42f94b1b119722c38b82829e68d871a3d911433 GIT binary patch literal 217456 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]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c +config.h +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/config.h +malloc.h +- +inttypes.h +- +signal.h +- +strings.h +- +stdint.h +- +setjmp.h +- +stdarg.h +- +stddef.h +- +stdio.h +- +stdlib.h +- +string.h +- +time.h +- +float.h +- +cmocka_platform.h +/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka_platform.h +cmocka.h +- +cmocka_private.h +- + +_deps/cmocka-build/config.h + +_deps/cmocka-src/include/cmocka.h + +_deps/cmocka-src/include/cmocka_private.h +config.h +_deps/cmocka-src/include/config.h +stdint.h +- +windows.h +- +stdio.h +- + diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake new file mode 100644 index 0000000..2318ce4 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake @@ -0,0 +1,36 @@ +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + "C" + ) +# The set of files for implicit dependencies of each language: +set(CMAKE_DEPENDS_CHECK_C + "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c" "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o" + ) +set(CMAKE_C_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +set(CMAKE_TARGET_DEFINITIONS_C + "cmocka_EXPORTS" + ) + +# The include file search paths: +set(CMAKE_C_TARGET_INCLUDE_PATH + "_deps/cmocka-build/src" + "_deps/cmocka-src/src" + "_deps/cmocka-build" + "_deps/cmocka-src/include" + ) + +# Pairs of files generated by the same build rule. +set(CMAKE_MULTIPLE_OUTPUT_PAIRS + "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/libcmocka.so" "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0.7.0" + "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0" "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0.7.0" + ) + + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make new file mode 100644 index 0000000..e97391e --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make @@ -0,0 +1,105 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.16 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + + +# A target that is always out of date. +cmake_force: + +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build + +# Include any dependencies generated for this target. +include _deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend.make + +# Include the progress variables for this target. +include _deps/cmocka-build/src/CMakeFiles/cmocka.dir/progress.make + +# Include the compile flags for this target's objects. +include _deps/cmocka-build/src/CMakeFiles/cmocka.dir/flags.make + +_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/flags.make +_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o: _deps/cmocka-src/src/cmocka.c + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object _deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o" + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/cmocka.dir/cmocka.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c + +_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/cmocka.dir/cmocka.c.i" + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c > CMakeFiles/cmocka.dir/cmocka.c.i + +_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/cmocka.dir/cmocka.c.s" + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c -o CMakeFiles/cmocka.dir/cmocka.c.s + +# Object files for target cmocka +cmocka_OBJECTS = \ +"CMakeFiles/cmocka.dir/cmocka.c.o" + +# External object files for target cmocka +cmocka_EXTERNAL_OBJECTS = + +_deps/cmocka-build/src/libcmocka.so.0.7.0: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o +_deps/cmocka-build/src/libcmocka.so.0.7.0: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make +_deps/cmocka-build/src/libcmocka.so.0.7.0: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C shared library libcmocka.so" + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cmocka.dir/link.txt --verbose=$(VERBOSE) + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -E cmake_symlink_library libcmocka.so.0.7.0 libcmocka.so.0 libcmocka.so + +_deps/cmocka-build/src/libcmocka.so.0: _deps/cmocka-build/src/libcmocka.so.0.7.0 + @$(CMAKE_COMMAND) -E touch_nocreate _deps/cmocka-build/src/libcmocka.so.0 + +_deps/cmocka-build/src/libcmocka.so: _deps/cmocka-build/src/libcmocka.so.0.7.0 + @$(CMAKE_COMMAND) -E touch_nocreate _deps/cmocka-build/src/libcmocka.so + +# Rule to build all files generated by this target. +_deps/cmocka-build/src/CMakeFiles/cmocka.dir/build: _deps/cmocka-build/src/libcmocka.so + +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build + +_deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -P CMakeFiles/cmocka.dir/cmake_clean.cmake +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean + +_deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend: + cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend + diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmake_clean.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmake_clean.cmake new file mode 100644 index 0000000..c2d08a3 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmake_clean.cmake @@ -0,0 +1,12 @@ +file(REMOVE_RECURSE + "CMakeFiles/cmocka.dir/cmocka.c.o" + "libcmocka.pdb" + "libcmocka.so" + "libcmocka.so.0" + "libcmocka.so.0.7.0" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/cmocka.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcda b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcda new file mode 100644 index 0000000000000000000000000000000000000000..3210d01c333e834034448f0f990914dd09f031fc GIT binary patch literal 10500 zcmeHM3s_BA8*^twjMAB3f^EmO)g}*C5 zAu>r)jD*lsBQlgQ_(kP1I=P;~`1e}*9@}=#vGOsfZ=n-!O$4z&WmzonQR&RsE@*(hU|U$3qpG{$-T7Pb*3z zy;oeYyi_*ISc3XQT=05Dy+G?06_6dZw{@x>+L=n=p-SKZy|TJ8Jr$?S4)j#13{SOV zTL=CRNrE4b)r&pW5hwk0uX~#Kj74K*MKl1GZVX_rOajk`+QAMa*b{XeYkn-(*JB{> zUs;6t~h-*%%?y78VM&GbIsg;|q$|hQ)cI+uHub44Q`p-qa^a)4k zhYD48Xy0C;{jKJ`I~?n0n%&h$@0lH`ahSUmd_XR!lF9(>R6VJVeMB8~v!2}bti!8{ zW9`UC55fSjR0&wnLtTNy+)qqPd!(kWs*Sd|TZXv%Dlq(nDjdUE8wdSTo6JE2a>5p) z7>I}2|5Cv*?$gY%2|ke2Tk1GD62+*YIzo&o-@o7H5T|OLbK#M4gh6XcLBX~yM@0G) z+LovFnL3~t*_slDFb82QK`P+DDrg6(%#Ma0$5fj5mB3|v`KAJknp+SPa8o4>&d!?P zm@+1>vAg5TT};lYf>^L^P=N+tuh_S&7=gQlubm35GpKivn;#X*_ zb&0-Oz3DGV2HnS;1Va(+LiDqUajg7W{%F{A1oQafrkwuZi23QAE7P zb*x3|9Dq7tv=f$v-sK94$r#|JO27<$tYP40?A*Ry_qH7QVRB|j+t<+VOlano(ut2^ znPSBk223yx*er5B^@4ajZdKD}ka&_Q&edbt)#*2~m)GUxZ=DKUu&;n5VU*ost`r$x z*YJD0NWD8-yn#y@K!qN2ZSQ^0K1EXLH*@BSornv?0`X9#3a)pW07odXj}Y$^vxa_U zG2}B1*nkAvlm6KeiQ8+d_%-}x5YId0ovYw@67&jtxc}PzEGKgyo=>D0I>+9D#y-A0 z*Ui~7o*OM)yV?l#gU)km!D;RJwkD68eyKL=-Pv)~sb4YKzkcpS@;ZjK2$BdF$GS20 z=y!?>Q2HPmtn>p;F#cMJaJ&#cV*-?Avisx1C zltrOmm+p8*#=c{vxYB`r*wgXaKlF3iV2^RM!!8AF6V|O36U%t3nxSGpA4`kl9kfnl zGVo!*j^{OnlVA($56;Tzm; z5OelmQVaQPMdG90V*aY(!BLr~czfvZhc#*#l_#FaXLFXi+B&S?tkmZVnZ#z^>Za3m zkSvZ)Y@?S4x@Q*0?xSO?XS;W4-qLX;bZpQ1O&C!nTvL3)A94|kRSL~VG{?_vDK5dY4#0_%$&3%Bb)7>8nIGpp8aEE+LURb zJj6jdk5Ts#Hg&xB9NqrJY*gg9h=3ZS>BtA2GjiF4;3a#CcOPVeF>FweTvGKq{(;YB zGvtTK881D~kLPqm>JoY@9)AyFg3aX#EkYX-x~E6P*CW5gq5e}8oXei+$zM&WE^oDc ze&7t0b{n$tS{9vyQuz;vp#uueYS@;uYL9D41&czA_p z8Jj&sC%97osgcR&T}#$tzxHgh@#kakczB$g<13iapyPk>WG%__6RfZZFo zw|1RFzR>q}*yBKc?6i=0aew{0O3Wq|PSw)--b#pKK;M_({S>6K7)b4yE9SVLhrz^o zG3VOl-ytq^1_pm1m2q`ePvXb1_%xdLc^-9SW9613!%-~gOb_vbRN)hI41Z#yS(N%h zRukeBhB$~9`oB`aeMpd8k5F&+GiVYCcA-A}5$|Gc3)jP$;x>*5(erhq&lu5yR9mXZyXGaUfv=LLDSvG1(nC8*;(5^|xNE+QKh5)F_QzpVxNmZrv7`A<&+z*DGydx}t-sOprdp1h*Kymc zD5stIZ{rI~&d^ulUk1?G6P~W*jW)4P?J05`ZH@dg*%N&B=Gd2e-jXP;8{<8fjXvzx^*gvVau; literal 0 HcmV?d00001 diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcno b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcno new file mode 100644 index 0000000000000000000000000000000000000000..be21a1ce99373f808a6c68d4a1c9e2b1256f00ec GIT binary patch literal 183608 zcmeI52b^A2@%Q(kMndn1f%JqDLJ2)YT7U#Wnsi(@nVJ zT(``VgXWa;`nJxN`tfb8os;V;Em9F$Ov;xahe$A#qGGMoShvD_b#>t0AxD*KgA&K} zq}0`IRGPhVtgD+%j&oH0-l#-<&bbDU`dUw~8J~I-ZCBf({<>1qwx}~#7cXxM{@hZi z(?d$y7W}j=aH+$XQ6Kp^eoM+cQox*FinYNt_&ud?ZC)vMjke%ZKW&RTqAIuF@U4E{ z5BLjo-M5Gwl~g|X3razTg`}i1z^8sH19cXbLj4>EzSU2!(I5EehWku6oTDEI8%uFG zUtEfZ1AmFG`rnbG$;|!mmz3h&2Y)Fk)Jx^#9R9bvt}Wel-E0s(Jd>UNa1M6L<9xY< zN4veGEYrnXR*p()kMOBaJ+QDT>hzU@e7&VWee@vz>V3WCul`c(KIEZJ%HtaC^pk>& zv`0N_1Abng^8r$*k6heCecFOQP)gnw*WeG5!rz0X*nQx^hsS+}&3W2y?&BO?aqsd{ z;2AdOD@dV@p;D}U>cC%7iYFKRAyTNfk`%iSx!}V~<>H+7Q*6#x?yATArbFt$UquRk z=hxt`Duwpfl%k}%guj}UTxQyazlM}lhGBBPx)iTI{JcKr+ykv8#rjQ~$O12Ki)--L zp20Qv>qyD_ip=owg(fpR&WB3@$Htv=WKnrWmio)z_;QH(9<{~{5$8Bm%F0q!k+Q0k z)ugN`Wo;?zN~zMw67y2WIZm$Og1MfQ5mGkH@TT&FtKI&3PoW~5zKuu zTrk0gqHy=mFj)gAP!#3?f_b2ngEDOT%l-q3!amr+wA@4#=3yBo`t408g`zMI7t9|^ zIU>Wxp88af?)vtmahy61LlRZ8Z)!$z@m;)3t z4D&<>lN=Zn)z8x$Omb^b6z1s}Ci8~e9TbImmSCQp;bObw2can3d<_7TydxBad2ZHE z^h-Vyio(1^FfYh(=_|QXC<^yd2Xlx*hGAZoVWMAhyiim>uMo^DGhFmb9vOL zKMh4;{>H&1?+ry^UguzvPluu~uXixX(?e01H#nG<(~rWu(ZO6@yIE*Id42&!_0!X> zJ)?=jyxGw$&s(4<%v&8yp5s7Kn728YJRgFhFn?czSyv*)-e>9$wtr>Nizoc`<)!}3 zvz*Gi4ar*#QL_9@lEFMjSx#iq=UnRES2XiJpbT6o=K>T`dk@4ytF>&JV&5DdHu9Le0WwLOwPfizF~3> zF87ivPp@&#@WD&vr%m|eocTMw1`d2;7Q^O9u9(~{ZCM`GbPhkQkL=VTcSGB04pdGn z?-6jcK5(6!C2f;Oyu9-zvb13pVy}^$*_9T+d~pZhtAXIY3H^2Ol1?SR0(@ZGgl6iZ+&$Vr_6AeD*>4HO3J>_0#q_ z&)cVe#QL;B+uUpNz|ZS*j(t;ih!pOlJ~*5c*XC_;4L-3af2TN{!zV`MzSX5DX`Aqg z6F#vBZI}$iV8ldTefW8O&Mj_Zy-)RvEb#KSz=O|P%{A7t^gj5ksrh}#44?X` z%$&0}<@Kopf87~egFjpf^-`UJ1Ajd!v}xnXIrUW5ktOB>{vL{4hmM=KuI_j#CrUY4 zN|i>IddrF0T$~K23g+oj&XjVtlyjt9B&A9tOZXYpRh%4`2P2I`VK|mUh7~IKR{8KH#nHAAy5?NjSePp4-|!&+Y#eQTm=<{$y~Lr zM`8X>0B$jmO7HaD17bla3ioyglNb|>ErPsGSj6!sq+ zOpDW_Fz?SWvEekTKAd4cH!%;^~}cHBQ0_g{kfk(7_6{3pZ5UknJwCs|v{<}kRHuZz<6?1DLGhKo-o zM+ZgWdYI(?peW3_oPLs9grYEeWSER8xl1St^IL-1Gs9&}$%{f!xbr!fD=K6dX1)ic zpF@H%7k2tdo*0VK?II2)`DZ8!b1?^#yfzetxwwN#z8s3eT*AS$+nG0SI98Tr5)Y!+yjd0=Q0i^&r_f%%w-)+p3^{4n0*{fo&!NqnEf40o-aXB zm;)TlbrmuUbC82MJQ#DZgSlRznEJlSJ<}d;|M$m_-+95*pY`RrTKD@V!Ln>5u|ChS zrpi&DFY5ay8t?0S9f-j5Mtdenea?{+9_M=R%-=V$`aHkl9(%sY-zm?|dEP|(Jg2bs zX#+mbORNo!JSXD04fUx@J!>C+UY~P&wnY1BTb#26qAkqBu&DzdUXH^x_~iWaYsdnh z+a?jK!j!xx*PkxwdnFuz0MBv`v|%{C<*z7yc2c&NQY9VZ z=x6#nIhf{mqsDmW3=`iF{Y)QBudl2#P*h(%Ox7nD3os7OrqvQQM}(T;A}D?`O#)|Cbb z*1k7%?y&Ep{r-H*T1$;(4_B|hM(h6cZIoO;l>nbT>w2OS%@b(OZnW?$=fz*-4Rk-P zc{$G6)5GIF-QUkVX9o`TIa2cb;92gDy`;*cc|-V{Nii9~qmJc~ET@v@?uZ$z4ccbk z#?ZrKFJ*0UjdQ!ko+rI#IXvp+ZE}z0@GQ?}vdk!lM>}Z_FTIa`5u-ESsSMPy{9c-q zqpdWTm+RDWdDKhq1IKcCh69f}^fBcj3q0B|o8UaxJ?H2j8Hi)7KF2RRcSoD7ajdP# zx~dcq5jnNF-uAE^NkADPyN4==^$yq^^6Qx{#Eoxtxe zh59Q=v9_>R_$x?(2I!&t_a_E*om)FxA1Ecq01N&QDXC1{KUj)aAAVkcIpHlogZl9E z`pCWF4C=#A>mwuQD@#dbL?1(?crwCI>(d73`M7h=*h6bcG5vyr-K-{s_ScY-UV}fZ z>smf$@K={Y8|gJ)QHq zOz(p~yzAO`vup6z>$;Zqhc@AlkmB_fK5eCa<$V1vUfve`4V-J}4gSVbQax-a=Nn1M z`$~QId40~g2O23QZHx0wq~vW;2mYo~_&b#u9Qd1cU1L1qaXv~4Z5fYq?xhr!Z)g2J zjs>clMwa@?-^d8zyCc3U_=R8|FXaR&CrUX<%E?krk#ee(v!ql>b8M=sIGKLwVCwkC zVV>h)&ehfNDBb_c!JIo7^8yF6M=<7v876BwYa$e-+lvG<$0g1nK7^uhFV6Z3rm>Q0!&imizV1f%p>Gu%_6CFcQn19MJ@edRz3iC0+{IirNGHmo4 zo%?^v!6Y{WMfLY-2eWqtF%I)D4rZTV%x4@-a#m23ZlB9Av0e7AP!#6#g84Tof6uV7 z-~JWkIP4cPO!_+@81qHJd`ZeH88*I&oFEjX>(>PH^$eFjlXrxoaNiKjH>JFlVbf>w znotz>G{Jl)!==yUPN68=cLno3DIa9m^qJf&6ovhvU{23)>GKK|)HvLK3FgOAKFYA^ zGx=pGs?VQ*X`AH=lKx*^{ zaWHun4@F@PufePW=I zzt_@{Vba&=_gcW*JHw@~(eJk8m^?3tez)ZS>E{$F`#Jr^mY^t`IxxdzY@^?8IY=-M z&T!E)aUK-a*TV(#$5M{Wu(7M?_grc*>q-L!^Rk0`?y~K`;isPYi@6pdu1NN8?F)|s_EoW=XLpCJw=E;PQy^Ty*y$zy$Z zwuiG=pYt@<$3|z90!8X%fMX}o@%=ytGdjK>;$SikP?UaGcQB)4`dZAo(je*Ifm?UX zbMoR_zH`s{!!IJvPUfKHQ0iOTYG-1UPVSK4mwC9f=q8pq z;h}RKYi-}=pYiM*UqF3^O=Z*i@QK;e`f1K2pWl`vYZL^2S~BL(Po-E$#WoS?u3}c?xSsDBVq=V3!ddnjK^_Sb0xVBS)cnQ z?bBA8BVjEydAP>fMm~-{@{XfjLoWENeZClbagN{h^a?+h2N^6k!8OCAE%>}2 zM_aw6*fp@>_mPsy(>vpFjXJysmdnF6_+Wb1;P-c~fenA4loWeF#^V}w@EupDxOx9m03iEaAR0XA&+}N8ACUFB4)z7ya%;+4IhZ&utdfVw|bbe}@ zgBhKl@-U-wQyyk?Zpy=CjzCd!bTrIws{pc-n)LfxH15ERa;Lj#Sb87nDBIn5I z!nm_WQiCF`Jkxry-_f4l5%r~jUQGW#$nfD)|L7R=J}UC(6ZUf zJziX+=ly>GUu>(ReR67Daq=85I$&>er5scHQq|1bvn{h7doG;Y7j{M+JCYMstXX@u zMJ_R|Pd*b~YQLP5|4VtCbD!R;-&-;-peWlypC?N>MapTaLU2X(=&(S8Y8kCuY02~~8tWXtg#&#Zak){ZVa%IzJ6=<;xp z3tb*5$NzO*BI^-SkTs#wKskAS|L2zf{XFNNhA!~|iCs=Ax3@QpFW0wrc1-T<=(;h= zHV+cn(C49Y{9o56vK}G@Sre+n-TTk=;Cgp%zx{#h?D?Gr=1$|J$!$$79pkKCl>R1& zEIfNUK#r;Y=B)txbDOnpMsYXW806%-6MTioQ;$FHaLX$$$_sr;%3&XG;!F6LbZ#-|lwx~Z6V8TQC9S$9=?1W(7x?QELOMoQ1M;(5zqhU>kIxLeWm`NI<(C?;+ zlVI+g;i6;a2NZ?7ONNP#%?Ctb?kbqOWw`X!SW&oR4FH99eb0&SfTA$*-w9RLmwj&D zV!+7R9$59`JAU_$v%a)A{Xn+cjcI_FRG6(zJH;+w1@A8=wH6RDBi5? zUue(P23ud?Y5Us7XRR-J8|nIDIcbwyWh-Wn!WgUqa5ojRhOCxh7O{p56U@~!+#=SH zH8RX1){r#?b1erqdJS1yFxSa&i&#U}%`l5tLxv0HdKqpJYY6@_p;CW2d4HK37CiC9 z10LMJ?`yZ>N zw4VV~EJx?6`P(SW{(?Cm!(~i0zZ7S`12atQ*VdS*z77)1!5J=n#a}~FxXU@1tOrmO zCNV%lmG_4p7_{obHw-#sx!z~DwBw7rbjQO6&t8d@Vn>;q|$f5l#Cf>rvU$liu zu?$=ZoMR!FFUxZ?>O971oPDl7k{eb5QqC(hRNDtz934+uM6fI87_T|j=A2< zFzIV_E_j+?zLVk7S7Sx#_+0}KESo#Fj74F-FPQ(#aCy(l{9F|7hl2SpDIaCn=s7y} z`nQA0+5tuN_Y(&*I_@f&@l<-IIo0U6Yc>Z{^Dl9_ox{P5{$@L$GuSOL02F0Ib27F$PQ&MTPnWw`V;`rGXVYB1|c0|oQf zJE;w$mT&&pBbSKTXVjH5BNT(0bm(wI7Z zr_kbL+j9_u!m}8eqn%q_jZ?LKuBY*H5$_(;?6mJ);EyTw86#qt>Uf&(s_wa{2U)Cc&vMMyVK>$L6$@UT*FZ1$RDu>U0)$bUHf%k3ZCsV`HR?1 z*GG+s(tT+f$FQEwC|2VdZP<}HteDy+{F%jU_&4fU{4*;t8}(E9kc}a+n9bVa+}0<2 zT8cBHn2kF00sYZ0a!6@^(%3DRfjON&Z%bn~i^oj9G-k`&qAqQv_e)b`#W$#5h>rcvbugo2zw;c-=(z9v43jx(Yetma zULcqkWw_XGbnJJrgBczB<@%+cnj?$z^&V#Q^R&wx-9|r8BVJ9Y5?7x-^2p_1+NEbZ zId3Pf)|_{3SREGkA1?CYGmes@#!?zrTZ~2=3e9Rc6j%tdnWv@-G>bL{#-8Vq;gR&-7A^= z)M1QL`8ntPMlg83jy%@4^gTz`0F#6J?L9~8=htY@{*NH;K^|)pKEKyZ8|i)2vHvS5 zm4P~}@1CCE+wZldIJ5+jFGnS{o8EHLM+!3a zm7=8A;P;c_$xB_XAybNvyzs&2KGPMr1El0_Q6E0_t$*;4J8y&Y!BV_7;O9Ex+A<*8K&7kazw2SD+}hT87^~A?JEv0q*MK~eo&%fU2O z6z19nQ0bY@7uH!Q3Ui$dllj8>4MkzDE11JGT;>Zg0u+Ti!oeg4fub-sa4?B&peW1@ z9n9!G{zeXF^!|S13=`Xp-rtWD%uO;}Y&Uw3znOy>y~p3&!Ng{vDBIo2!Hj-))x(T_ zZ`H#j_J^W$yS1a+=>KzQ8wWG`{~X%Z!DNm?QM%p1!NeayQJ6bAnC#u4D9nZo6Fl4V zL}88*%&}6+88%}Y{eKUQ&oCL&-cq2b{!S3g-7{SJ+NXjVhda^1v^{!MUt1hZ_VZ8_ z=Hv{MF(qFBMPcqCm~9y@V@fUpio$KrFzG9~4k!w4HSi$ z`$PJZh{O zKK!&kJkH5o7$!Wmm|XAd4kr48qWU|BgQ;T>hdHN% zX*L_x&$%4T=sfS-4kq&mit1+%2h&(lnBOvhO3#YP^UmX7M(25ZI+*w^C`z{rIGE8n z-dfDM5__f%-ky7r(Z`(Fm-kZe&6WSfq`utN*4jq*!}|ZeOc;E_zvQUvz?c6H3VZ(O zb%lQXQ_6=@s#MIkV$%f^{Uub1kEXAA`y4$t+U6O?lyyeOwClh5>8c!M*KdkEjO#mc z{5p>-{dh~t+fu4j%(zYyO!SvfWn5c!Y#ux4;um^8b^0~$GOl~(lT~<8-ZkpLFWSe^|36B3KuVR0vA+i$O!NaqjrYSDCV6FDv*Iux6-?|ap;CW2IqBC= zEPeN+Gfuf-qjwKRhVtHx<;fjQtu6Hv)gjZY0Lqiw(@J#F^nR8A$mJdl_U~C#rVR5987cqMcK%~4ra6;JjB6__JfBxnAjE+ zrCa7*LZtz6a>BGx^Dln+@|_F3bjl9&d0bn$T=fWDE~4wED7hwxT=<14a!mcge;Z3- ztN9$pmf&%uq;vnvjHS$eET*!(|5p)9q2H#Ou`kAdOw2Hgh@~b8W=n=!L@YHq!{l91 zvw^62(K$nc>rCV@2WTeFif+zQIQ%REclSUG()8PZ)d8n4Ndt_X2$A*rxW$ z%?(p#lPv#-mI+qV$YVY!-G9Z)93!Z^kOAUr8 z3$}4EbS+T($DC3d}=Z4N`nNmd5060ePZcb z4xB#v>irO@aYDIqV*TXSrk0Mv*WgV=0KOmFOpfUqY-^D2^Jo72EnVZNPr(PLZPWSC{=R%x#}Vf~c<-qDN9_%MeMh;yqrR;oQYMa^?Jp0`ji^I5|HIi$XLE6@gVmsPI z?z}DT|E!n}Jp88N&=&riwvfT(qK?IK_@A_X9@Eh#b%=?*e#1{?1(S2Wq2^wT6*&h- zv2<;VjtjAYep32N8H576shD{<*um6sh+9uROdW?f%oUt|M#qLLI+)Qh;gAfI_{dmM zer#m{Sj|8x_N%rV9TyIBFr#C^)g8>}IB+coGdd1jJHy0|qT|5fg8AJHm-th29dW*4 zgBr}bQeVM5e1WSL-1;By{PXNH22N+a(71q1wwwq>&84@*LEx8`5}9-z(&t&9Cnm5p z(AG8NPuDtpEp_Y&4t1B6o+QxRQK1YiMOh;+IXC)>m;{AMVV49TotkWWQQP1bzcQAF#<81!J43nIK zj#(V$biw>s%73JMlHud)qGN-SOpw`_B;BO@JrgC$zsxR}b7Z)D8)~d5+&Kkcekt=w znO90rDOD;aURc1vjE)!bF)ku+B5&kjM#l<^W;Vonz`6lN&7H*sa|tO+ z)?jP?V%LY}9?|cxp8HQd>Yyd@(;BBVrs<0?x&9{33V-#g{G)5X#wzN=W-Wh_uK)Oa z)?@m?-xO`Pn!kXj>yh#}$5(SqV-@bxdyC1Vp^F!^;}uDYTCZPpFr(M&mmEyhf7~2+ z#lehTqiZpBzD>Mq-rWcHdhdm2?^|}!>U^72$b7q5bbuP3m4DQ>b-w97`@frS^o2Gp z9=3UA$NU<6^zYpVA33R$-bdT;abs$uDl_NQqcCrZh_TTnKYD&E0(FyOs}AC9`F6p) zL&{wlHgTuwB@X)@!Tdvp%YK)!f}+;2`vvolQXY`R)>JA2hn z>ci~fTG0Wyh8yIl^Iv^h>K{-Kd3fVttDIY`koy?;sXt*}Q6GxZEB(0M8P8~6g5DA; z^^=q14!*g5zfto%IDP6ezd~n>Xa2Eblpc-}c^J=Ykqz@h)|^Pwy?}_vjhtqoo`x<>yk4lTs!1WylLf+1l|ArjA`4=1C5wjzt{i zsTpPw`6)0@%W&D#8!Ku|&oF?B<>=lmdQJS5V4j=d(%0zcSLZpH(fO$J9ZdWZ6g8$7 zI+)S)?(I``byu2 zpFClmH#VDCy8h6W&qWuNajZW63>(8v=|A&ypKJ^@mhj_88^d(GipU`#>)uk3HKB_B z{&V`%^^KFRKY@ABt-mBK8|8yqL>A^iyBxoca{&4GsL^LJbD$Qpt~5||ICkQ{wmj#z zr@wOaF@ISek@&&Z?hjk-OV{S6_KvQ>j~dgmfb)M~G|Mp^Q&p2cC-7zF*YLxf>%Ft~ zo*?y8f5_kLsZt*2>6|OVN1}`I+HpaLim{Ig4rcUTqshTk{l~>H6CF&(8H%#+TFkmq zf5AFno+qZ<_UInJ*=f&h-=xp=4ejmawvPIi){gq7miqQ`*QAS*X$R2*{cezBI_Fdu zvo`0r&(mq8lh`%cT?d(3|2H6LL6^x15`2)o~01VXvV_ylC2FS^>W47*d`c<1hg56_-X7^n_zpbHVeA(`a@&Ox)Twsrq&I)H1#}pTCUAhVA#0<2TXv>3{E<@hQgkJIS7KFZhsON<`7pH1ZZCfYsy{{#heQ!#e$ zVMg11U5yQDKcnp)yGp3y>(75{p<&OgyYTtBuUEUTdiyAwf4j@(Ka}G)(dOy@`(J_0 zdzjHS|AEubXq(5b5~|qz@8+1d<n+OB(j3NUY&jSWZxHYjdws*FZ#Y;`khg=?|RL?GvdDd z8tvG3O!+nV$dKPhA5Auup_p&*v5ALJd^Z*IJ@3PU`G}N99c*+1Ma_dh3Fc!`{_J3@ zEyZC!E|^b9c{0N;;`^kh1oJN$ZV}%nJ>y_Tf1mVM2Q&KHq~{$>d=C_5%P%;X(cdP$ z=wL>FoAi={8U1aNhly{8qQ>(zr=P4DP!#4H4yJy49EV8^l2GLx&gG8Yrq{r?#+~=! z{a09g^Qv3y^}A`!jQb?{ zZ{WIYzEU+xmdiyJ#JN%aNo`%%npA3AT6V9G^v7ws*E`mK*SJ*avuf zaB$OHK`x)=3aFP~OLGMlBbqEl$h`f0vDYJQ&YU`FQ$E^;uV^8>^q303w>S2uNx{q~vTUgtOWhzaU7LaJ|Q znNq15rSpA67Q{JF{?S+60%chOWP}EA45O(rz71|%({)<5~_^l+;`lz z`@K8tagY7hhlad1l5y+#9wH0AXiquL>R2*XHkOR5?Q6e^F+~2(8hsWshP9Y=rT(IY z7v4UyZpUM1U!VDiUTi+{j-q~-fv)1la=hpPRZNn9W_2w87w0AYm`F#ushBZEZwXb# zbcJ^oJMe+u9P`Rkr(g3fy3%=>k7(SO?kqAfKO5zkj%hmYkeT_YvA^ysZGL+DJ?1I= z{F?E>QLJKqN0~nED&>b#s#MH#*LuNhkn*DpoBfRHGj43bPN>vRPVQZ$X`eIh9Da%Y zj;{HTBK*hqMIJ=@f&7!&n(ATJ@}S&@9etH+0{z&Qj&xHo{sX-wRO&A$ElnJj~S|a*P_&BIYXnm|MzR zQs$IWrDDdl7PGG6hllStc;s0>*ya=S!?sT)GqPtxbN35sQS)`W1a7F}6FEkWZ4tkf zMn68*Ahc^(iy2e&mQZD`4(@s7UR!K=&GEH!wRS|K#`7JKhq?N`9KX)vNk87J(QPr~ zS&OOb>Ew5M&avIuFIQq<;!c~RMa<8aMF-4JK3x7fk0RZpg;wa`PdjVZbtD_k;H=mRKGdKVKH6Kg*@wcyFENe0AN&`ff*PnEBdD@wMk7F#E zCpI_nwnhDBpZ6Ps?6CrCLgxrp~Hr4{^@7DwX-%#H_R#IU$ry(_$w*rNI6eRm5Q;m^Bv4+JFCUi{LGR4 z4;cK5bM70T$01$uW%&Pna)RiAIOKFWrnaWK`20Q%zeP#?RuTCb`f;i=rpN+CtqJHY zp-LQb{)=aAGy1A=mocX3(e@1DJ;KNHCn68y`ExmboyU`Y99yH?V*CPnOQ^D+Z+fWI z@A%PwK7)5du&1uLGJGuCMHXVpAImWvOUC!heilx*u~j>Qr*lVr0Q_`LFDvKKu_*nY zB4uAG`%5`MN|lPShXXUrBHjr(NHBQ`=@2Q0X81+C6N0@ZREfR!SmTr-^FBD@4O^$G z&vR3+7UyT1L?&XQ7CEMK;mcg7ig@lvKboaXlv1T)Y`GRw&A`-RlkxX7qQjJ2{xq-@WcqgIQM^C_3)gZ)%^j{_xaEn|yE5aK^UFpBL`SR}k6o z+Z)MIeVBevsNYojxdMD4z8w3|u6^2<(ty^XXhe59u}gjRmfya?v(**~jJAkO4m5!I}*4z|DD_ z)2?C`vvx4vL!=B<;RGEjX6;y6FjtYXYKC3J+Oe90X{;!pI?MpNbX>&Rv8IE`e1W3+ zncEWmj9xoD%;>da9Y?p(Ysb0{X7q0+40kX!wvV%+5e_DP6pFIj^&QOU-%QxB2D7d- zNcwm4x$iH#R_FR1;7`obxGp^^&x&dK$nOISm#&| zZB4W_9KNmZ@TgB6JEm(Zb>XM=?f!JFEaLeCx>y!rx~Z7`e{Tm9eL+!kp|68!tSHQW z2B2N5#KpI4*tF***Ix7+<^nd?H5Uqxi{}^FmridKRN8pot|8lxJLfpq4M~0TV+wOHx`Oq7yc!RXFkj& zvZnJv+?73LfW3KF}6>%`m7n;U-X)Ro<7!2 z3OZEGT=6hXj3~SPj{zk8v~i5WObn%4w~Rd$g*m5nN?|H7+i8c68NTLCQ#YIR_rtDb z4%qzsD(2=(G7ikmcjWka=O*)nVWf+CZ|&U7uUY-CgaoFS7Y2_;o-t3pRJBnO0Zxh*= zm(R*EotNm})-C>G@1)((xtH#xxQ{t!^=)0#vDEt9%Q;8Wx7CM_f3o`ApRbi%Lr>ff zURvMoCkEj<`400Fv;}`rDb_y68Rb-|Pws+!z14?@j#3`iIA*<$y3Pt&F4^w0OILt>J-A3nfA9XOJbGeT> zn9;dh4-8HO~Vs7y0lP*U3@i8+{(2apuhP zKEy_Jk76++YqjzD8$Rb2+ff%jN8?$&BI7IieWjGERFH}^Mdfm?b})?=$b>b?^4k#4G22be99m*naokt-bhn9M2JbVD}fx@tb7#^!r>X=SitjF?o{n9ZX|I z+5JTZQ0Z(jc3+EGS6WW6U+uZj;ya8UJ^qzfd!0fYs{i-&ta$#owdn-W4Rhd3Ii_6Fn%B6DImv#sW=_uViFBNdM~YsU zk3W~=|DTVI6B|})tV1V1b?ha2J|6908Y^mEOf>+p0gFYW=i<*C%;>pTi&ZCmT+txkS-Lwt(>`$!?j?`h#NL%=TEpLw;?EOIEWhx_#2Vsi7?%N|nN z5WJg;iJ?7A6C-MVNnaq?d4!m=gwuhQ4XliY#Z)|987Csa; zx3&|xz#b<@jWsk+u73Kz&y~<7@l2j8K^^%u;vZ!3uEA%$%CFJ3#g`T<;U9=;p-8>$ ziZI<&Oq{fvgK4a&zW&evDt*a#)xxP*QPq?-gs~a``%L^d$Zam7|#a z2>oA4%1|j)D&{%L%7VE{hFipQlvN$f=sAylB~yLUE{Q8<8 zxjfeDN7??fVszN~AdxM#ePT_^5AxT{a;e;x#=`tfS1C(L(ROQ}DRRwnffhs4e`Lw8 z(H?yE<2pv#7Je$tt;(s8&R6*CFVp&#Tcv&S2__fqlh;Vwhew^1M_Zh;N2iT6kIJ?5 z9qIfU`)iBmbGbNYZ-_kXPifn9lIC10Skmg?VYqUeIocorLqNF;7kF9Zy zd1yMKfAANV;$4Gp^ESr=W67@j@@w#CbRV|!?HSw$-@A`-Gr3jvVt&(^dGt3af0yzS zLUdCxe)MI*d?mvr-@#ZxQU2o%!Tg7mw=!(TK<8c@_Inv7zZ?k__oMU1~(Yfc3#CHFc*)M%%-G!p`JGV2Y(fMZ&Gdl0w!|7*q-g!O;leh+o8qb9t zOnv7d4s#I)lm0#pfOk_dIrBR* z%p!h2|4zZYOUm6+?#b|(=Q=)dbNvqvX7t|gJ_j>;zxPK6GkUN0po1B`*Yhx=_jwOF z{fyq{J?3CW@AIB;Fr)W*Pt{=7l?IAWnAYRoWsewl(a(DR{lbTsH~Rk|jB9PHZ!VAP zXx&qOPD?+q>GGdZ>+=aB8|%YOa@6%f*Jto-jpVN{lJm~jNYua@$9~AxERGcXmAC%E zM?ZO6oWp1S^S9-UZN0U1nl^1uZP(IuI$u+nXV?R6TKyTV&-BOE=d?ce+uUJ~t9sQq zz}9E4uZ#orX)Bj2&3)Urq&aVswW?cvrT~uBw_LZ$iu~-^z)~5DdB%p#og(E_1n8z> z;)By1Ox01``g}%)NuEc?AP(~^!92&ojgAX`C79=BxWquwv4Mvf9UGkQ^fNj(xX{6j zjtwr(FtK0rZ&B;grGokE3>Q0!jt?$zFr(vxT)*_w)~qP~UhVXg^#_W=yvD(d&H-QN zU`FSF&vY=ObHMo;gAGOJfNymA8Jz>J#jGn0l75zF8@uerS8Y1aJeT+15}!ZASh~Ks zsl7ug2u0cW{-P7+(Xn#Wm`dYm^_TzM`%}aWtS{QGwngkhpDoU#4(0R4(+p)APg^`m z+ZL;Ut$!br@N zResGmV7u57_gUO-c&QK1@52`0d3dxlqigWdqjw*CVq31UPNs5NZiN1%{X=J#8{s~a zy{bFS|JXI^TRuqJ*Z0n%pLt+E^*X>6DeWB{V@28Rj|`xKs(n>m#Kk!cf;lF`NzOdgNh7uSdIQ{Y1af>(NBPoRs0B-{>`|#lbW` z88v73a4_+kP!#5#4rX+2!^4cuZS3XrGdj01#leiuZRGx!xe}e*AT~;HbBrqz!c?*&9A*8273sPkEU6Ynb7eCMw(^30w2k@_0?2hWcAHTc+? zcc1wv>g4xfD~uiY**lxIFN2St_1c8b8sW7GpSX+rERSq$&dPq%Yt#0dTub+xm<4f& zeN$yP=|0oeQoF`_PEOs!p)Pp>WT%dftFANf?LOK9n{(`o`qn;uHeRl8`1ZY7ehohF z2h$es>>4(5+V^I;%*a4p;(C(-o_%LVeUt06zAvlhAGL3sSNDR-;~cqEwqn*V=Gnqh z7Ll?jo$IDz*004JOx1PVTC%upGaWzla*o^)gJ>nCNf9z#Ng`;)^IyRA0YagIQPVFIb0< z{cFeUFOOO5g>6P(NUYc}c5I>h;g@Bj%Q`og$fo-P-4E+Jr27ZC{6DiFCWa^eN%vXl zei**0x%T<1w+Bo2!?xc__rVr(*fnAwbcGB#4t2e2$O51GDswT|i_QGJ}&*6*7KaTw#3bQM6rci~966wHNBZ<7jaU=d2NV`?L)|wHtD3Hl&eydPqPX zmhy;!39fw~k6cg`{$qmqXokz$t$K{Z^)Pjuip9hppeX(3{bc=&j#2(B`7-vfvBum1F7)(z%KRh-^G;fpeSl+^2Kl ztMl>n;~s?Srec0a@DGBC?h>ku=R2d1+x(-2e|F{z```FFy5Xym`f*Kd(chNbAhNJl z-!8{=Jijd8o{lwkfK70uFkcl@?Es$nb9_8{NPWEVa^KEg!BiS$_vq3Fa z{H=o-?bAI>#s`Yh@y%I38P{l^{yV|ERmyEO*madTIsDxpE%C1vn=d}%#zWIN*)q1G zg*ZK2BC;?iua#puCw0%H^8yhN`SbW#=CqFCr{6Qn=c&z4o0I80WlY#N8aDHkIhnW5 zx!EauTf?S)o}+?i`7gyPCZB|^e~lu$shC**atG6N6*a%Ea4>aD;%qs`BxZ`9(^pDA zuX6et9jkd`s_ST+em%_SJkoD!bgRB{z!lRMzHOfGT{?aA)%!7*EAdNt(&UaQI$H`QXQ zO>O!3_TNA6{2ve5Y`!xquOMkmED4Yv*ZG_#oOZ(st3|$&MXqKjQr1DGsLUA`bIZ2UEu+ z4%6#r^t$R{Mz5)-JGzZtQ)@BnO8sT-T=dUTE06g2z>cR*zvf-Ww&IJrK1w0?BCHBU z`J^L659D2rmSgIZ(z%ZSsLSR)*EqNJEcY?Sr+#|P`0x~~m{^=X{se)$shIWdrx_+O zYP8P)ld(*w)K^X}dHIBu$IrFFQLnt(i=Q(~?W|HY%D$$EEUbBl%2CH$pV{dA{`_km zwr6&PE;-kBYxkbUr>^C9;Mv+|JkE=@M|85Elq%_O*{Q5?zI}heJV45U8Fmr5{DT}! z#siA7y+a(#=(VgCQ{&C2j$d~1!%utgvHeGH_d)mElNXn?_i_E7B>iXZb;>cFd#Z!~ zZti*W%jTo{IBnnRDSk2jo_@DDV;?=gS~JXLMfa+UxG|nAn0rWRlhQ7wLrRr&or|7l zwU~9Kej>oX9~ryq)Gbd~-Tq&|N?gOsdIda7Y7iY@_f2yAvhAMnq)oM@+BGM?MxEUL zi+H9${~M)@l~Sc*VxDq_Nq?i~z&ODiFJ(f8&AJwC`?Z*A`vc~ftMiTfcDj@IWaxXv z_M2LoI+_}qoAxPJh9qju+fHxpdp5Hm=gys8hy9jpGQEq4(+qzdveMh;y zqp4-Q$rz=ZO+*ju)wY&nI<{Xle?%V`V{C&$o19xd2p)C3Yw#_W&hLXyeDB={-=5#3 z_ksIW(0{BNTV7k>pIbSY(fK6&KtiPf za&pJCdp7%9>ptt;^7=v3(DS&4rsn#laqchmM~(S%A{TyYBRQsiO1~rX*C6bW?wCJH zeFN8w@A(vX)S=L4#jNf>;OX4bc#ZSV>z`?v~wGw{%?Aq$^Y~7O?KF^oD zYw*z@ZSY-5+8_Av(*AJHH;M50KG5oOfBG8%sZP-Pa{JIm{@=%jA?)Sip3izh(@8XbHW0w}0Qs1P% zDKPWB8g|b;wl}l9k)30s6m3`A;vRk@LFbI_$EbsC!LwM(+JbL;HO3`v3qEb>T+sHZ zlk&Kh?#bL)t$4v@QBY9rm$?$uZrNnLbQ@+nZ6(_FJ}RWc^KbLHpFn z+vnV35^}qSO?}Q&8M#Iu`7IOl$(ok-34UImI`(^Q`ERn>@3qlxdJSxT(<5yQ9(Aaj z%19k#P&tZu28dn1tbl?H6|+8gm}={BvE3_9KUM#6m~T3m(d)xo4rcWF@V0{)y*|9_ zV47cyicvqvFpKzx|3kt2D8uEMUGzTl-wtN;26xGj#9L(t7 zX7ezkf17RLte>nc(Z9{MxL__(gIibXC%DTz{@g;(m(Jc|``ZTpg}AJ;&uS}AZfn~j=>e{wLR_Ysd}nE1fxeZ&)j`Ba8W zd>y@)csj!@VlVNGU_P7S7O|Ijt_HKN)L-=b{eE+-^zn|*_U1QKm_P0OpAD^@ZH?vn z=GMlBj;7WY;l|CWt3@W(lpExz;(hk-WFaTZrL8mE$KSSY@Haedub3PT{kT>E5k#n% z?hOgagz=;cOGi>bv_^E7M>zmr^Ww`aODF1b-$i-(=AOyVaf z%1%5?9j9V3u?MKgenzk7o^GSp^IFWh(m>JaPM4m&;;q}gIE}T2J}1w%GuOlj#ErqZ zV&AMe7s^ph{p-2r(2w)90~LK0wdR~Jm={Pve+iZP$VtQGyH-7M-gU}+Bg`6I-#)Qv za#y9OId!_o!My#Y991M8&(zN&0`jOI)3stoF$DMF^QlXrP0nr2FrH!+vlh_DGZnBR z31dyHs&d86m9qr%>MJKb7MWwQKeyanx6kNlmH$e-ymwPa<*k^m zic$7;q{xE5I8}}+mfDx*if1hs!hL2#xqV@~+U~5yFw{5O=Eynzlrc$j99*+l#=FKE zV7ZZ0KIDX-@@VU`oIP1#@bK zTg1HbFx8gg=JGL4Ke1UTYR>-L!HkZxJk01g>laQxqjM(5JDB(eC~7=Ua4@5vy`Jb` b;?tn0exBrD;wzyj%#$6==x492rAGe`8TXNH literal 0 HcmV?d00001 diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o new file mode 100644 index 0000000000000000000000000000000000000000..0413e29bdf60e009a5dbe26d9798e7035c78c187 GIT binary patch literal 217456 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

U;*xcV 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 T0CrnqSNlgD11*ysWHtJKl5AZz literal 0 HcmV?d00001 diff --git a/tests/unit/build/_deps/cmocka-build/src/libcmocka.so b/tests/unit/build/_deps/cmocka-build/src/libcmocka.so new file mode 120000 index 0000000..550d968 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/libcmocka.so @@ -0,0 +1 @@ +libcmocka.so.0 \ No newline at end of file diff --git a/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0 b/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0 new file mode 120000 index 0000000..9ec2ce5 --- /dev/null +++ b/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0 @@ -0,0 +1 @@ +libcmocka.so.0.7.0 \ No newline at end of file diff --git a/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0.7.0 b/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0.7.0 new file mode 100755 index 0000000000000000000000000000000000000000..ff3168249e6acff0193ece17dc9fe67c02ccb0ca GIT binary patch literal 161280 zcmeEvd3;nw*7gn1%E;0|jo=YP*O zoLX*G-MY8042~JqAuG$#|2jG+I+V&CFGxUTBxZI{l;Z@PK~7iv_YkKy^LBD`b|h*> z3Z}14wxp>HACY4vZC^*%3$CwTIW8|(*=$|M9Vv49>XqAtvL-0GS?SlB!$oe%xpLKV z{w+MqfKCak7#Ak}7QWHCOTJt1ahrR1DU&w}SPR%AkL{;*aSJ{xK8& zvqage%RBRn^2sD;+o#jHN>E?5+*l*meX&kEt)aV(;(^EARYp!SFq|A2sT$fA4?8l;{3kc=wWzrxhMv^WxXH?05a@ zUw`O+@hPty_}VWIE*Z4zYhCu5H}QjEPk!6|#J3CfdV1SK;lQbPJ>ReF*S|L1asH<_ z4%%(Mo_D-|{m~DuoxbnLNq@cJhbIqS`_nOJl)UommXW{zw84MyT^(-gxBQEjt6x3h zy4d=zXZ4$!)7+u##*xdvoUr=MIZu4u_)&Ov$%xIDov{1DMKkukHg)fSAHML7Is3wE zZr*)->yldrgm<66?6PkwcHQ@#(v>f6>we^QKivQKd9N>6w&muFe<(e8>iw$+RxfJo z_Uq>>CS3bmpGO~ts~P{rk+b_wa;wo`c7}hD0e=$>YiImxGU#v3z)x*AcPI9&MY%n8 zf{#W+-&wgUGUy+d!Tzr@@L!k#|2zZ!RR;YJ!S?*Z&g&+D*%XXDSx4EpZ`-ox3)DSnPx9`1zd#(o^PtM1PC zS1|0f%f&gE?eFgFahm{LQ6BwUulT>ZQPP*n#hHM(^>Frf;*V4rQ2aOjT>xEf3d!A_?oQjCg5Rw8>Ap(-u2?RL;XeP{ zg#Qx%1!|sonZobo_R!rqwN8Ln6n+E8v%3@eMu5*~qKAJJ57P7R`z3vgT%1c3|KUFf z@SNh`U)lf3D#71T{C6q*f*Sc3R{OtF@t?a=7ze=L`_qE#j1&V*`qr&*6xaZWUINy1%;JUx;ulTQcKyckY zKT-U3_od_KD?At%T-VnU)lQ~;C3q5g>EFwWzn{{h%iX5%vG)s~E_ax+Cuzm=VCCP(tdR9ZHDHp(q4n^Wd!E6U3% zN=O_2@60NhHEYhi61q+*y_C>N&{0IOm^7nk(zF?Di&Hdf&ZHSm(UgkWlgg(fRFfvo zgn>@cCDUilEGjE0uPB3I%GXKLN{Cmb(nMTzI-*?yGZoY9Ipswbgk;&o*;5hmbe?o@ z-o%;k#mkb8z#oJ-jlqK8_?)s!(>N?>;%sEIQ>q*|PT|niqr)m;D4H~9GDkN(=2K?Q znTUG0xMJc=w;lu|-_vofu{2IXcH|RJEMW!i$Sq!3+zQ;0+k{^=U1He*)OD85Lp3{Z z?rd&)Q=Fpm613=9XfSgoQ8VLuXN(#VFkzTdR)UITysShr;0oF``ja!y+l*CWR>|DC z6VX2AmQS8jQSMBcGP7dtG)f`x&Xm%M^10laC(bRQ7CmK7Df-ToNi*lnEpet?QZ~ID z7iA&JnOsrI+|$a?X;8Nlsd*NuB8s3N`n)-8=alI)F+6x->U9_b7)BqOJ{4N1Poh|~ z7xdZk>9gRaDx$1ncG1+bITfYs_FSik0McwIfJIX$&6!s;Zz7yRV9@7^=8E0aJ9RcU zHYyp~i{>fEm|@D?l9Cw?iY}c#8UD{MNBg7kVD_9M7&Vc4vomEfM+e4USTV(!g>E;q zq^NXa`7~!rdC5!?U>oLQq$!#WQ)Y5#%je9L2$wq(Crv_aIJ0I>_7qsa5jgZl6lTaV@3}jQ8b|cF)nrV zK$kSs(SLKnWBMC-K>vIi=R5HKI`V&Yim*;9$EU8sNB`Z$gOJ3op0wf86y0PsP1lZ2 z*8hk9k*8E{1?E(GA7qc|)4S1*?5)5g-{;Iw`INrt`kQy5-O&3KwkPxZoRunl3+H!o zYE`;?@9BS`-M|ehU9k_PJ2?M9n*XW&UOjL6^f!S!TX<6KmuFk}kBYySg~t_tZkbFh zw0@lq*tnWM6x;Z%A|JMK#UHou;@gBjVd1%oKWX8K+lAkmYuTyzb1gi4hwud~T{)B~V z{-lMc6u(oE!F~&G)%IJs)?aMlPF%&`!Zm-~!iyDu!ooFw(!vvp-;NX0YGF zod=Zt7OwRd+qmKn+xRV_CvM>Z#h_ExcIqJC|p$-@=zF{(yyR{lyj@SNvfM*Zgq{Pip%uT=OR_Jf-cg%wWHTw`%(> zTe@#UHS6ZBMa*sHm>4RY~jU=hAmw4$8B8kCv04|9}5pCey1vf{T5!V_yZQM z?J2hKu(sdAHGkZ~mumYhT=OR_Jg)6uoWXtzuhI5fxYl26;R$WOg=_w}g*R&ZEnM>_ zEj+31ug+kT=OSwT=6?sWw77E^Avx;!nOWl z3m>cPw{XoLxA0PJzlCf5q=kpI{a0tO-@@bCehb(7i!D5%?YD5vAGh#EZNG(U{-lK` zwf##n*l**H3tzy-_4sMwrHVgn;o6?Kg)de72@BW!NefRXekYQ_ehW`(`z>7SFSc-J zrRWV?xaN;r_*liCuyD(5$1Oar_!Abc`I8o2T%+v2HiP{Zo>2S&3)lLK zEj;j~=nY%A=8s!=Sn($;T=OR_+<8jbAIo6Bg$ERWz{0iuVhiU7%2(5$1Oae?YD5vpS18+ZU5gh*l*#^ zGr||JaIL@C!t)e=*uph`+`@|$f5O5wf6~Ikir-n9!F~&mYx^x+>o2zOgtp(pHGkZ~ zliGd@*ZfHvUnO=s*JrTb!o!L`VBuPSv4tlTf7rq`f84?Y&x#!h3)lQf3oljt&J7vt zxA3sy4_LU?Uu@xV#UHkC%^$b$8g0LYYyPB#C$;@IrrRGVQ)vqiD?Ho6_49^a7VgXy zJ-HShP>N9|YUT6jR=eJnhz@H`7oD14BGJ8C~MVBrCUhb%m-@Ua%2Q22NYchr7g zv4sZ|KFz|z3NN*Ay`MPW!X33A7q;+#!k1WhSm8@8JfZOA7VfD1vbco@6u!d3!wRpl zaJ?T_YvGRC&q`Q$K;aD*9#(jxg(no=WZ{n5Z%SHtK;bD14=cRY!V?N_vv5c42RX~E z_OJJeEL`tHWm~x3Z|Y^?j@qxuweWz#`&f8b;dvIGQ1~DVchr7Lz`_Fx4_SCv;bSd4 zq44n*?x_8aVhax_e42%a6<%uL35CzMa7XP&ge^Rv@Ff-=R`^m2Pbhr3g*$4$Aa3CS zg|D#iu)=FBJfZMf3wP9dK4IYjg*RAuSmBKpo=|v`g*$4!owV?P!c!I=R(Pw0Cluah z;f`7lJ2zYHU$2ubJgo3+3r{G#mxViOy_##`0fqOm@UX)3EIgs`K^E?)^<==p0}2mW zcv#_MEj*#{@fPl=^L$WPAq4)<`cujxN8?f-~-}$k)v(&;JH9vFah@5`U zL%4BHECZgK0nf{T2QuJeGvLJ;@X`!;I0L>k10Gj64!7~UzS`dv9$e2&DX+$Z)BBzJ zU#$nv)gZ134}PKtZ}8y9dGJOLUgW`>JUE?w*Z-0pe53|(O?mJE9=z3qAM3%}Joq3F z-m6sF1HJAdlw{_5aCNkwGx~UN^-2Nbc^(``?%jWbJh(m@NSOf-PIaUIg*-S86uSS$ zdhp#`)N#gp@C!V6u?O$s!KZofGd*~z2Os6Z=X-GVssZPQJva_ly8o7V@a`_^I7>aa z--9pr-~kUF_ux}K_zDm1?ZY)5-1~l6tp`8dqbK3PclY289()fE-sr*i^x#b%{2ULS z^x!!jJmtYp_28`@d@m2)=D~YJ@}Cx zJmJCnd+-Jiev}7q^x%0Oyvc(f?ZJ~C{1^|O^56qKc&i8Jqv|TJ&4U+v_#L%hNaOb3 zJa}ghKG=i*m;7%8{u_b+M&Q2@_-_RM8-f2u;J*?0Zv_4uf&YC3w)qeEIaIZ!b13S2 z_`obDRGldA(B2rTda3gUR@$Eb8Q`t$hkTBU|3HWMr%}$<=1<$(+m~{hmato!-*VHm z(XzF9y_=>DmaWZCx@p>2+1h-Mo2Ctwt^KD_fg~xoO%s+1h-xo2Ctrt<49yY1;VM+T6oU(}u^^<}5c&8y#Dlzx!SL zOB)vO-%Zm-1^jo@v=IUS-85}Lz<)PQ8xQc`P1D8#{CCr|aRC3_G;J8be>Y7V1@PZZ z(*^hyQMx7V_}lP16D%{<~>fxWj)pO$&DT@1|*?4*%UWEzse=o2G?1{CCr| z@P_|xnikyf-%Znk8veU!T1dlxH%$v@`2VZ+pBB!je>Y7FX87->X(JQ$~u_R(g$5j4(uY{-{jGG4mF{MxeOCIny{-DU(qHRz>J*FuQ~LW4T#PXR z+y9~1kV}VRo)Ghu(PeO3c@CxyXZ4h+!(ZBy{sY6rxItaPKbraThts9+@1aO*X#F=s zL+jf*hO#z>-uk_KPbiq66m)J+PT_Gz%hUWKJR}FQPDQ`MP}Pv*!0Ch{UzB$ZMTcAf zGgIgM(%zn$jGOgF-`6MNdl3^L>y}UQ&6gmPh(gF=vXdLB+=4PcodAQX5?P^$?>!=8 zLps*ufz&=w7m5Viz)^2FUI1Ai+)l2Asw&%@@(}W$F!}cr8HH4&KGjAVs@k$DdV}Xi z!?Q&3_@8x7INEf~>0Co>egx_ymKW0dfkA9iD^h zlu+tiR8T02kZc5a=0?YS7mH!i6wAp+v7uQ0BD%oAy*Q@6tBt_rN+5(Lf`24iAE0??hO&Aa(Yz)-84;2&V(goqzRZI*SfgwsD6fJBGMY74-XyKN~ z*v{#ZFGh(CC@~R=6xN0!1vO(L!4)Wa<2kOg&l6c6Y@$#?TP;*U;yo(1n2L=Ao6zB! zoC<1dHygPq$XaS^&8LygQLyzR$zW16)Tb_PWAPNyD7!v2QPQnQ*HHR&Nh8b%_26J@ z$Ug%AiM)t(DwKsa5Qc`q!Net0@FAw)ecXcIW0QS7Ox`X;lDgxAt>vdf?zi!-qg#n2 z)%{>%Ka><3n-z){kh!g)to67w@TG!~HX0ilfkkhUwR3->hF;hJG#QF@?EsoAhbJ3D zk$HUtrI~CPf%HZ!qD=5;2CRpf<&@P>YEgYK`)l?DpGzaki2ic1ZJm= z5!pOOM17MBDL@>Fb3oE9Bg-$hg68k3(bT89bmF)SH=KV{od51Foa+>4soaZl4QGzx zd_!?AQ=HFXs{o$-KF%$D8%QesX~j81aqcHNKQf$eDb8CJ=P<=NNp!9@oKGmuBE{KL zaW-%t^DQ@=F_7s)8V#ZtQhcAE>6+LCvOf4Ls*)}JpqqHVe!J(E`6%`XAhpU!Jpz&( zdqlC{0QS|?vT+~UWgRXE@rT$cK&!c$rMT5xP9%-{D3F;kjvJj*l+Jld=ZRzj?Z%L@ zK4QYjhJC1FKS{Cs$pmJP?Q z{6y6p^({1c^FXFouWtV@o$lIM2a?;rva@+BqC}MqVlTpY^?6Ea+jnCB{Xek%?-cul3^H6B;C`@+==gA zk+D2+P;@V1!JJB3b+B!MclMaay$<)FNa06N{w41Dsulectjk%EMIyAi*iNQ{tmB_eQy2=rG1-9+FjBXF4rpcIV%dgk*HWg;8*)s{kP+a|&P z`Qlr4<;yXyEB_=?n?Oa&G;Ra0S8`rvMz&%#k%-1qTkIv19oex)dyuuGjVu>)DsXE@ z8!02JpzAD{vlNjz)JW_LvgJq#0tZqBhbNb9Y?ZJ56xaOiM6%iSDcTN2dFZ z$=hV@oK{Sp9w5*Po3PSog!jplU3cCklE#IVQe;qy9IlEyREm7g2t1|)xJc{Qh6}80ap`<-+TTVY>ok3+}I&_EJ@dnQ%VMt%-*JERdGv(jH{cYY(}WZzq!4 zM1xp-|0=flK{6Z`SEF;ll=qClYf6A}FKOOc*U|C0)CkQMA>`0-h=r7Rkg9uIO6@PD z=BZNsQfj~`$k(M-Vakq`7jFgai`}p=R-))5`!g$7{O%xIc12b@cP@;rv6DN8B3sph zZBN-^*nW~5f@UIlOs-Eokg`4U#_et+bdw0FcG#*`BlEtZD%?poDMq_#@Gi(lMuLw` z4n;d1LeEqv97iV*=PyUOR{fJmtVHX+kq~uxhAZYEiWEY>1tmdXjS+ZC1QK=Miol0Y zvw))no)>|ej6g&LYU^4>;9(K?hzddp*NDIjBT%eL;9W0T4Wq|LX?aTP|F>}0f0-f< z(T{lFB4-eba-|#z5?gIpT=@<+3J(OijslRn6D;O<#`yqo(#o1PCTMpK4X&!PHmf3lqSqPuXILJYu~6q|;bUO0Q4QpG znP}Z-c$b50ITi9(8|-qCuf=Wx>LHj2#Y#Kl3VriCM+;crun5AkKJ^2(WJcz6hCJ{`!Hu4o4Fm-#< z3^SJVI@aR2QN8k%RPN(w=P+umQSda8h(cYC2;43L>y^OeBCyN|Tq6Q2>h=dR;zGqHX|w_8lV zl?Sgn8x_9|=dh$ySX${?AADU!r?Kt;F=b^9N2i@Eg1*0_E}*B8gk^&CGLd{Iaq12f znFS*AzLGhQW$0c*jZPXew_a|5E3*962VjN`t&5D-OT@Y+Hivr?m}L)c30#T zqG<2@aEP`Ka~EEHl(0gS00q!TT84o0W5fBj;$%JTmmi4SdXxKt&K=vi>Z>fC zw)<*K_5&bW3LrAmU=u}T1-cY!1O1b`SYaGAqV!fM@-x-dt7rofsOd)Z0ucpUeJaKM zIp<8y<-sTf5;t1%G-zaw6PZT2{l@YS1@0!PP{X$wVthR81^eX2Yo~4DVdwZIx=Rq@ay8 zxj~hygBIoCw?1_sb~K3xi}UrF&xet#`lifORi3!wK>&5&_R32U<5Lai2;pqgHKcbDD`ka!gyB30WXti8 z?rgB%PGFO9d*j=j9-Rth-SQ*l$^f}V7`eyIqYb5K&ZnHq{=5fL^|(z&ra@$6Y{AXx zRJ9%WnJk=BXgmnC?_ncxmy$q(Y4BH{C05*O@~;D#-iq?jikfg2ZG@r*Y*;IE*AS_@ z5Y;DI!a9yf&LhmlX5S5xssR%tsyI)r`>r**7J_VE#4NsQ11}(wI~m#;ErIEeSNV>25p0_YBuNLu>pu!N#EDap2P zA54X?U^9_4^|)OGP8Wg2;&EyK3%DJwvH3;ma2-t1KZ*v_8HJATrFHZ}UAX0U5@ow6 zWnW0-t}vy~6$Z&%zXguSp zxV7b66m*N>yjD07E7ek-a@9^0wbvNtD}`B2UJDXXi;l}X5=ok^Rt1~TlzhcTqEIAI zBRuZm>O0xw4%NBbE%T&X9%u58lKdvq^oET)69)pQ^;9mH9xHk^cd;P7|Z@`Ea!{ zE|8BBz5=2A{1=h2AxT%P zyNJDSSY8LYj;bNmMLNj_lUECpUB&D@g~`r9J=r;%VpjFi*z<;+Z+4xjVT}L7hEY7w zwXBdxd)X74&`8ezMLGW@l_HH}0QQ@tar8Di_9jxAMUonce{qXiM;M;pj!`_+9;j)k zn*lvImkIl2C?!IpTCh=W#QxYlT<^YDNLGf%wIHi18&E{GvkO+E0gq1{t0sLALC(6L+uuz;d^8 zC?t0=lD`ZPSIZ9r{sR&!1T92zKj9tl#?asw{ndY?yA_pRPA#v|aKF4GcLgmIRvDH@ zn8oT{6%XhZKB)<+qrPj6z(SDHREyD!xjL$25}nzGYZ9wC!|-ml#)f1llb!^pk}Qrx|mIzrS}XYy8pq-B>Cy>+g-Lqy$mMx@GB_g7K3z~s#V zxfFI%CwDhC%HBh%RWFS{&vfx&g);sR(zB09;R|$1Wn=^=MsVNBa~&@Pxvm%Dk-Cg5 zLD$2r+wm_;;0#yYQS|UHmh)YlF8QayXbS4vV)DU8NiQNfdWALWsYX*2B}Q@Qle^w& zH0novKOW^4yanXQ=&af?(UK z-{f@yDO+p9VJ-GUqpS}RM1*k`D1t4kXb>gykOd6uYIz1l^b&s1L+5v*g<;US;61XB-2@R>CIVfRz&sI{V+1CH3zSJNN?EG-aaz&nTqhy zpRtbjj&MWr8c1rCd1*J@ZT=p?kMN&@Cj6)H9Ta=K5y=C&&7VyS=Ld-)xP_8irue^o z#edZLGCC)-r(yq#V&Bq|&20Ejw;@;?`_EqQ%D&@2D!8SL&KP~(&o!+HWG#kSr}+!~ zhfDMpvEFb#3zGAt2pE>#?L#a`R1vL|*W{Ir8QDcjwn=2+PjNDs3|&s+XJ4O9HH6RCVmx#bkpOd~K6BpuACz|%+H z`366o6`f0koEzMNrgO~QxO-5yOdb0c?RDWaRn9=>=Q(U&kY?t-b35PY>)QDu$V_&| zcrQHXA?9Y~cYwrAQyt3v)wTCpqi`WB^w=9i?-F~jYSi{lHY(2nnQkwJ2y7mV30WCP>~BVb zXm7#Bx|d}HyW>_KDMKiRZmN}V6Jnc}4ItgY-`;^(u_ zZyL4@AY~BQj52xAhv&P#XAH-~M82TOjxU0ZU8NOUt29YC^` zJG8VmwDnfZDN-=6{17*Q(}|?bBy1p*(LB4@*OG?gJuS=lP`cRnUm_76ojBVXOry1|DPh zDOh3Gls8`EVBKtlq9n9Ku)L-WHq8BrOgH5hXr$8vFr}Aa>_%GYM$=-M($O_#xR}!N zSJ%-b$Q?~_M-a3unr5AA1WqGT@209_5Y6|aRM^fHtUrZ~e~( zzd0`WZ8_~}WE+h>CM#S0mkdBg`$4X4+d=x*7JTbpTL@)P#64>iMk}^BRsJdhD_fzy zMkDqzlfgFH)>?1iXNi;s*Wh1ts;oj=u{^(;jrZMUSZ`z!7R{rs6Ehi$h>Q(sS*}g^ z?iH@vGQ%>JNSfG5IM6q#HLQ0f)`>*ONDKkV4yk!US`V^oVri}$o@yeknrJ!aPgeu) z9E>*VPGpicma8Oo`6lmhB310l?gZ6}fu*716hx<|;p)m#B zz2}Usd;3Gg$Xr2Wj5d2alS#79mRWQg9ng>FOlD@jH=YABEuLPby^YenEv3|r)YSYw zQQCe0SkFY3{r*ET`2+y5m=%G?h%1~ zjDTNT<=)5&uo9%sCVRy76jF*doj)4eN6|H)^Fqyt2i~wvEtG^-?y1@#y|;&BsCR`1A%v$lWYbuo*#YLJ*sr}NB-LJ& zs)w#2sxnMvxi;7RNCG*pu>iN_1jw|u>@{kxQ9O-E%cv*Cs0m`!vC60u#i*f1b|8_N zje1>-+KUC)s4gJWj0(7s!pXx(!8>Rh4QLw)IKOTm*ZF5at{a4&n>y}g_$ggUo}5$Z z(#;SOG*xNIL?={BZbRj^MhmbUc27E`td=}^gWI4^H>HjO`KMcQmXZ5m@Bh@G-qHpvF!wJ!KlQ}9ruVBih~dq>sZd$|^FBQkyJa=JWt{gj!w zvfl%lR@r&(lnm2aH4u!9&`Vst8;tI&LGE-ANS=L>QxI7{CgwYj?(rB19$W9$+c`$T zsUXwC=k=nOVeCd^x)*X}J?EF6edZf6|LD6RsC?je=<)GkY<> zFdjxE-!`*xLCeSB!t>g1*Q|mG6fOOU-opZZXwbh zcw@L5Q04Otp|b?&RhHoZtpk}Bps}#4i8ft#oZL(@MU9uDXmT@%`dlq}{bwdNBgL0q z;!79h%TFYZ_Z&;H(^}FW1mu+-u0Lx* z{_#YsN4uKgorTD#8QxN(pcWPLC} zMWR|DOPg~+$YahND@ovy3_lis`yF{ua2sr)M_8WcF<0Q(0Y4z}z3g|bTMd#Qx-A}# z*ue8AP2Ph<(&=Z+z33stRZ91X7iUQ0)LcQe5&y|+QJ*WMxNDzV8q7?S_UW-9fak= z3XBPHe#8}Ajy>+qXO52iF&m8El4FRH_!>J*SFHJ+y}CG zSGF;&EVqo?+%js!%S(;$Y>?#1p~~z}hy(HX1)UO`KD2pqrr{1L?zXqZZ_=j@gnXf( zJGlt=K*$ug?155tj?uOoNInqqQ#aS&Z-|Tyxx^Lwt(Gh1OT+R{kn5;3rGBQy5cR!n z^6Eh@MH5JSPJA+{h?TUaJ(r@V4Ux)U%@Pok6koEdYskAGX~W!K9p`56d)?%%Co<|Q zgUkG-je$t4GTDzv_9@8bnOr0rPd>0QgMBE15Z!4U3)~iXyXFntT%-+Ti?bIST~k2P zVi+!|`WKe749h7XJ)N8!vj!HF{ACx{GkSj&M34dAFFnYjs|G z`;{#NNO|XZv@?9UVY%4L(mjO8^S>)Ym}^oiYYWj!Lxb_2|5XjrNKP`sCooATPpA_e zYcl!~i46s`gIuai8qItMnEX9BpSL#~rGdO~m2M#4uHvd_`->Z{uR*rp>@`4V-I>7*#lp8K`qM5Ub`EyT|v^L zIey03hUV^hgjmkUm2CyerpeiKMp_^75{CJt;cEVUs2taamz z*l3WMth++2>(AV5-N7K0b-6}I4#+g?-g$;&=QAunV-U8i+p#0w2_`j{x`D{_rCwaD z2{RL0Qvp(0Q)Wb`f=ugxqr{rC4a*pi|IwOncX6%ROk}z>H;FZGGZR}=4^mn4k`b)~ znPyGx(;S2u&q&N3-^q27Wp- zvRR`*s%VWc;)6h@ne~1Ro7Km#><{wKne}`J*WDT-cQmVym~|U7vRQuzsm!|8h%W@0 zW>!GVy4bKx0hw-ADcV*oZo@UW4Pz=_5J%g(!#n?%7e>F&a;^M|NP3hIp~XDU|64;b z+7AuZdLM}V`(NBaH?Sm|T?J!>7vG*{NbMs(CC49oo>cW~vo z$J1Pi`bHUn<3ZAtd_%oVvQJ@^^qrInIu_8|aPF-*Z&jQJ5htbUY=v`9#)N*Mbib zz=9*zK$20G3`KVdMbGN2PUnZBqu|M~>`*jDYD3XwTu7`siPTz$%dJnH1aBhM&j6}g zL;rOyrIXTon-aT&Z2k`Mrf{G0vefLwkC8&ES$}mk*%9@9^P6kr=OCk^6K!odrgyUH znLryekquye#W1f0NveN;NmTDesw2G!YEe)}PiZeoX-kcQYLLxim4UTNq!DiM_FaAI z`$tG2hfItLO==89IZa1zV&k)@tSgn^En1M@oao6GS0^}rzJpDny_j4>8S-kW-{f^7 zgVw=L(tDWFJCyY+{& zC2F#slgn7P=^pdyFRmNwh@^!EdQALRGTZlz$$c1P`rtkm{T2He6$v``jQ1%GZ;(j! zK0~UCYJx{|U%p{ETv+rotOj)UQgG4YlaBT@_;2CE(HnP#rdZB9bLo;FSbz(xTg74V zee*MtvL*UCk;?X-+lGf>7={KI6fMoA%NVseIfh=Ti59F-(}uIpl6Cw3m*_Qq zmj_V=vJp7QC_a)EdnQfez*ZG}iOwDEZP>bltg3v;@4sp=_A07^i7a}_*MAj#`ktdx zmFPo#z;SE5qwE2E@q-(M4~gVRqDdgQ5>#sHjceba;GnzT`~d4ii1DKQeN3l)bmG1H z(H0;GBZMN;rieP0IhS*96Bz=d7S}t0};9%oCdJ*uu?QUScBvR+|h|S-? zqVcLtIsYg^ZOqZmJa8|C#JAF@x=&PjJ95-_qRBr7WNP~N9Lb{?W*d96SfE$hyf6>_ zA2#@&*ydV#KgiVKBrZX?!(?4gq&_=_TCO|2Gk{pm^|R=be`z@`Xh&sm1UhFJ!D1qL zR1IX;ogqT!i_lmlG=zm{;6(rtpyv0vrhElP%W%<>;+YH&63M#pqRcPKa+I=GX#wAD zMX@p>e90ufOUAoZNt5v|k+C6P&DGs@oCN%3!?K!4t~=^G$tXXRpqlO_UH(;9wwK6W zZ)C4xQoneue1jG`Q{LvU-j}yu? z&Y*f|e!#Uzn&>_2@vAFXTmDqi1{?lyH#d=Nqr|6`ATAYmqkv8(?kJ|2$_r_9??ZK&&BsqOzvTv%lr39sr272 z)(z(1ICFP3+*u%Hj-M+Hu?-U(W#ZQ$cj8N=VlzsdX80z6Onr~DQu5ZuStjQcko*e3 za7c_Y`0*gs4waa=z%?<9a4!XSuHnuB+0s9azs%(ytN7dSa+bCmr1&&O+RtW__W?-D zC;5>3e8V$~$e6DmbyU;}-cCUswNW#WIw~}*CxgT{t5J~{8aJYIepjkv{oGv~>pa7J z2uQK(nR_^IKa`MHmyo7iHSp7bnVd z{e6RBf8TulQ>>ZiOK0tMib9 z9sp_}s64VF#;@=VLNXMq9!r-j|IQ@7vA zu56|Z8RS0z30KlTo3-cv#*ZSSbQ~A_M}F*1enfpE*fgAzVlUMS;ZSj;r_tAy_4#s) zBX0}OFJHNiw1V8hkyB7iT7~>SYRn^yU4uaWj~eq%+u-g}aod_*e^VfL)&|Gl_W#G_ zfH5r}^Ph?ec^ia z29Z%;_owKB09H3bqQ1HT|Ahf)A}=Wlb#nbhsFRsDQ{lY5NOl`dQ6|^Wz=)bT6CNY~ z3X?yVOIpSQryfh_TXsDzq}3jKroIYvE8-H0#i(QqvFxn~jHV9@l1xunqGeLQq2EQS zUuSM#jwx_AkX364cP>2vigqaZmWf6SuYOVoQpr(Y(`FMNB9*zZ{ClS(g+}%eH%yKd z*q=1)4>Gxif{3FT*CK+*zt!Ylm!_^zsT-fBuFSAc^{6ZFSMRI;z~N1CsUT{GP=B)F z9}2R$N#JM=FJk{ilATp`~vwn3S2-AKKYJEszDjIwXHF!MN zFcN!%RE1USSMTc&wW=z1HB7&LmZr9wN9_%y_9jvLF|kP;-xdk#!I64c6bCVkPG9i8 z?XXA!6!m$6R#E@fokJOqvs-6R3HfJZYMFl`iaf83I>v4)mk&gy)tJ*sG7bjpG5m)1AAqZ>@VGqKoN_8OmYV4Y80bZw~A&h~_ z8l&<7qY^u9y_7vL<*_Lc)!!Za_l<1I5+hd$631-t9Y%vq6kXJraSCSj;V4|UjO(B+ z^_DnvvXK}{TId5+dl{@tx|SXuEptgr6k2e{^f8~b1c%h@0jxdg#%eoAu(|Ct+oNX) z=@}u`ykkUOVUp_{+i-jh9nVe3zsQlb;IoGNQ6i0gzhk`prUd#wmzZ5^Bo?MiboWTS zP7+Uw#DzxUY>=wwl;gcj-)SamB$2v!JkMFmHFT_D=m!!3NS_6FzkY{lg?#<{-A~-e zy-FnHc+C}rVYLqar9PJuo-vFMgY>Se4F{rgdtN`0*%@~u{{a-Wk&uQBBQ8q4)ZS;YR_(i zRWyLzU|6pPseW_Gcb5!K6h+HwjWroP3WN_#PtNKwLgi2jY6A;Yq{# zAZZ9o$GgzLXEUkYh?tBkh;-d3nxIwR9A!7A8qV{DQ@L@!Ys5@&k{crp>tK-SjU*fU zjA*F7yD@c9zTQNn9wjex)vb|&uP}^rL8fcVb9XJxPazy)1oj~^=IalgAzsX>v!j?z z3=SqM_JZgtqIV@-BH$;Qos#<*bH+TDl+Wvz~IS@b|m{We?b zUF67A=3^q!pf~bGRpYoKU5yuzEY3?CfoGV6riwk0vC?GR2eM^PbxTpdUFNSIFLw}h zgZk6~AF;A)jLelFn-_~K{S2H-q^FWzy+GUZ<`Su-Qw{S7kS+9!ai6{8di6e${Cv&S z^lh$^h*HwSDA@(1XDOe4xF5Q|+~n&1CrBBlA43(T57Q5!4Baqq2kkb@l}7$PBHhvH zNY|=uSF84CSmPj@M@d5{H}Lc{4d1(i(348T#fEhXX~3yTl;}Ioz(=KNNVpp2Km#}j z8O|e_q=rKu*gni;>?bPF+-N|LxGIhi6+XlH^V_f?ES0QH_m(jEL)-z90MybID<<%61I;`0KdW)6{j`>0R-d%O5K z!(*}FNx6dq>sV&2WfrBe5`$2&@ZZEe~Lb^ z=R3X8jm#*JsZUyTWQLlYfgmL^Z@Q782j>)%@+&1WI7CWm9hozlzmv!~M$PyCAeSl= zy4T{xrzW_V#LIQrqazrX>QkLmz&;~Z8NJ>IslMmp+hpJdf>reIH}I`Q(zg{oZ_Sh9 zx7s9xoG*&611rDrG0TWw$l{gw@**R)aa9X`@GrhuQ&)c?l#cnx<~IPK zkRyz$gNS4&3Yzd>4Ceu0{ONcEPsZ6Zr?4fGkPrO=S9H15a%x z8#U*EtPgHMKygW-Z%`P~oNx+Z@QYW>geOA{^FShXc3&I}Y}^|1AD-BXj|1L%p5tuw zU$B0w|A<5c^#`u4{=*BlAkSCLdFQML^AU*<%Z2!~Q(=Otdbung6BKzA+#npRd5Zri z-${_3M~19@%?;GkMDEB=hV=RaLw-G%jMRqkp(^S*$_i~58G>ejj-`>-^s-<)W;Kdu z@QanSDc{!^cK}Gl5|a(wzY1GvY+R0mZ3q`Ffa$L={r3X{_}TIQP-FML>iT{Qk=*U6 zo+@D}Op>) z(qug1obRaPIRxAE;~=!h}>k^)susj2}GkxqVWwQeBkkOBIz{;9JucVxqq6hMk4X)2M+WKv`N%yef!&B zT5Fh|7Wovi;UPb2U+^(c%kD8uH-l8Q()<~jKrcd<)6V8%!*r==axJ;oWKAK`YYAEw zTaq)5nYbQCgT#wN%?qV~8acdjywQ?Jq{r1hCTo8py#>_h0=h607vO;8HF`gGe`Ye?Co)=rF^zA+Nkk+yI`SQ!Lx|*$=+hxwDCx|XSZTH- zX%CSP3M>82=*TO0V?I4>$6_)hU-kcl1~6&Nn?Ul{KLar2O@nVB5=GSqayychu_3d@ z>SgcW7H~URVYu%kGDas@H=>!rg^`ysOU$q=0?9ucP>q`-d3~wLn@uG774te#Do)A< zseB`1bfl4e;@U(PPF;xghWIqVs5?v*RdJy5KqfW5o`$6>$d(iFKFlrabDfls{BM?!QEhR)|8)Q~ob_5-3AcWj#I zR3_0}Q|iwB4d$AdvtN-w&0ob5T=SQ)1l?+f_mS|SDNy(>GFpp7t8QDpxNY4bY^NBu zfXlYC*3*kCK!Po;XNO+%Jxr8f|CVrF+6s~z5c;0)YlDAAWLg6{@l@S_ez=5ujSV^A zdKn{+YW#xMR-R!5b!FJ;O2DZegu0~f)uxtfbe|6#CxQ0?i#IPBILc0|^MU^`Ah z$nPF58^ozt9xgZq(Fd0u`*;?{8&z#TtU;5$X%lIvj*}?%eF3T5B$4&i31m3<2eR0Z z(+pW^$oYm08*+&vRcoqVigexGU7#|SbIdThiK%zQ8H~>7{ps{WibNe=-C#kqK5cwzMF}Pv!LifJAjPQ+rR+vWG3firiZiFxR zv%=Dqp2{LaeR;LGkShzRmT`{MD9mAn-MSOUpYR9`lHY7O7IT0|^>_*t-uHSQ!ZJ*} z39@Pp;j$aM(PTXjviTq}=%MG*4SLA1-9couTQza~4-9$$Gk{3-`C?G9QCA4EY7OB| zIlT*5V6ujTY+lL{Sw`)C$ESnU+~Bg%CSuZ78lZuAlLi0e@SC1q2@eh561`enEBydeKT;o}FERMWTY*~UX(Q4w9gGk7QEbmWV zhE+$Z{s)RRDXm(=s{PfQaI1yRo@E3t> z2|&UW704yYBjD`GhHt3oHC*(Lfe5iqMdI_MZs?$(hf%N#lhyO#7^Iiy_E-t|7<(;$y6hD5#jnrM*J-%tEaK{Ht--jX0jJ~wWoz6*6lj1Iw&eMvrNqs z&DR*wD@AjdHPb#edO#}@ponbKWNew!*4_>$9jESh%8R_eE%c~vGIX9N#&R^nisc-I zLf1Mx8&D?)i{@|_HSG<@mSa>9RB-3eCT_ykC%pUiS(G8M+stG&n}`ZrPNqVNt{7H| zaq%x2_iKB5^N(Z~z7uamhk>LS&Ou9L@-vvNkUPuYh5Kg19aY@ht`_btikrug`Vo3Y zb^k23u*3+Ss{~go!MA4<2V#WBeJ{!M>u#0x9A(KI3#RrpIu0NbhvLbrST|pgLi{2x z!=&n-Z{||lSGjT7&ZLgZnm&-kwnU+{y?+_LcZkGG=&V_f9>lEtepFdoOdhkqk zdVmo;ObMQ*1gC02Y$v@ap&qER#!!|U>K~qQ1J^>N8|qh3vFV{6i`_){{<@J^&k}2v zB4}fxu_b)rz$32HD6Y|ErF>a6pD$94IQG}RY6SrI`M~@y!7FcQ&NJF)5NU2a^l^0G zRFi!^7w*peGTe2dfnL4C$EV#eZ6Pu$lkiyn zT2u=0rCy~1cqod{)RVhqBayxhMz$6t=Bd#NdbiX4alM}}N?R~gZ7KHda7GHA!E>k; zJFX56e$ut67nAfhFl}z`ZZdWSnVL{fw&iqWn3pYWHMkwp=H`kJHaD?%(29nO)g*6n zVl#;D74^PD(K+cKP92~JEdmAQFGEy~K&wG|w>c@TvYr5$zRkI6AZ_#D-TwRuuc0U5 z>D3Ijs*;7+sxlHv+vY5O92(QMIjbt4aVqF2O`$35WFmR%Y9o5u9z%6Ed1^Y9;5)`} z_HjAuQ+>-hcYl++J4ouQhgV5o{VVFlY?O9VXjh=_M(H{@vCV(L&j{~FPmuTQ$Xg(3 zqZHrcqmaGIIlLFTj!4>OPeQBI3YelY1#h1SqTg zZz#3g;L}Aa1*MSW9n?Xz5R3ZGHcVqclJ`fTqG{K#H=-xQ1jn47b{}oH4;7VAM=`G% zqGNvIG)M)TsM$cEvk~}hCC$L7fY%mE0UL;w7(JDj=PLSsDjWDF#8jKwK&0BCoLRxS zwI=s*kknAiX_dCZ;CF)b?od)%DZBw>`VM95BUFUFL;3U3)O6JjWdW>438xx0BS3n0 zD6y@Qz9Fy=TuIvyh?CEeHPD1HW);8ohVQ^X>KfJzvYvkhjyqyCmP9=Bs1JrAiCNqR z5~MfDeH)F`^F-DMaZl&#QgvOfu5oo;!B?y`sB|2cUj1-a@W=AU!Aly+W|D*a1qa{7 zM)?#`&NCehZ%Vl1>c>U6rxHF&gp;r%p~^$2Ld{=^wuc>WvnPOM7mbq~1AYkBhPuT` z#ccX%ds^WAN_8Pqo$r_o#xcK9EFGBTQ^WF}u&kipzo?-F*Bd79MIxg(A&O}coc1p& zCD-x$u!iL!W)Zjg1>>Q9G%`}l{^11OvL~0Y5dG4(GHU_Ix)(VBIeX;+j^+P&yxtu7 zehQ{u8#)554>oWp=*RkE!_ka_Oa3qr=%%#&j|nRV35vu%rbs`?=2@f_=dTUy5D6&` zAC?N6P#~=tt{#R4gjLRNw2Bzsd<;?$q~9@CF8l*zRb?2jew-$G@0q;UK$=$A++P?T zFbua5DSM{y3LAv_@I9W}a+S8GK1)#0a+a_VkByZqL?89&0NGZa58|lUim&@bs^G@{;E3fbsF#@|WIjfeM(N2ubU{1?mWKd+e zJsb+{+zC?8T*&QV4f>M`=2IYLne`+pza?vFmHNfUUQ1#5{f6;Ykj)QCJgW`NzhF&e z(NBj`6X5MWKCugWwqqhb?F92VmT9!piBO|!KgPXHWip8r!4|TET70Ix~v{Nj=-7Z|+f`&nZ-BYgK_lsEXG$T8KNgi8i zBn>VvyRU`jVflvTa8a*}oHs}td5tLRXE<}2q$ji?sMyD3_*n(MqZbXv#ipREW`wBO zj_9bUG!t1LT#n%!Q3y7z?#=a@A2}R2hJf!bU@u-Z66=V>#B}u`!dav^>xFZL;k;8g z@g=VO-CzQ#>$HxGSxz@DU$tRf05Z~;c85<;4Pwim48xW`E<4WOH{1&zsoq*5>-lB~ zK_aoWt~MKjVSzH<*wKYaM5;Vh`aBg$2eNz@nF5Nq0Cgj(4|4m2NK%QW_*%7w48?|g zEiN={AI%DQ*gh0w^CP>UAZ)8sE;deAkCGtn(-$z}Gk_W+pQ-V+-vdZ|+s-5o{6a6@ z;UT@v46)u%KsKL2dh3I6vZDFYEGop;jmzdqa|a^%XK#0yK5&5fUV~W|ep8614;|f) zzeTtl)^P=sJmr%0Lxst^h)6nYMEBf?Oi4HiulO?rsy?z{Udxf_Cx1CsH|;0RCx?7_ zM%f`C{qz0LiHV!m0_oX-Zk20GEzjk76!vY!#s>j z^%yxFWmt{df%g)_o-;Zg11W~>L55ZFbjo*^VYrb<>UYO;4f_|(<5#Yvy8FqG688(L zQSOstbO^>sNhLf}X>Zv((z|KaVzKP&hWP>A!O0^Nwx!bQyZ8)F9vZ-ntv2(keHCjIuP} zxoQv(%pIe?XAR4vL}L6j$UPvNuYv*fe2g20fT0lg+Tk>-!?^bc?GvLcP1wz>?tG*7 zbkeKlR|N(hP9&tzs`*x&%0lD5WMB)uD&F6)9Sl+o;&w0$xxGwoH;`zwqJ~HLNdt7% zeRq!B?!Lngr;5v$Ao1LX;^|*}J3Hw6&}9FENYceq6!^na6uyI?vWCgHg38(TT&kSO z+}(Zm8u?pTJ>i+Ei-LsurFlx3k(&xKD*9-mp{olq*Nt^LHCCR=E?z2TA8*9-h>YqM zRS|{@OQ|m~l>!HA%=}=15u77}N@)F&x(GiB z;rBxgXCaYltZkwB!8nsQTC~K|y_5=}`N0jY-sjF{z1c?A$E2*$FoXna)coM%JKVs$ zO(X@8Jv$34CW*sEqHL4lY!J?d)roEpiRIV+6&KV~u5dnSI3ENv5BRzIhw?#% zu~F@3hGH}8anJaLeuu(;V3_h#&(qy3t7E8YL+8-omWpq&v)LIRrquEtRsI99vs@S( zxQ65+zpbYJdnTz0MfWeb7+RuTLb1zwr}n0XLQA+^>qqn=rmPvA`_Aa96i+d>`40>@ zg=dO6q3Dr+fsSaft9;P2XV!*LY-Dxs$OKoA%U?&IGDyus8wV@KnWpHn-q|pxuy@NF ztS|DLwyCZZ`Y!7l9g!V9bHBcA)o)*M?%>qiK-OiQA-8LE-1EI7XZB{JFR$vo+953? zvU#tpegxKNDCV?6c(Oj#q2q{bWDQQ0^@YAjTh_Oc%eun4s@`s}Fd)6u`RM<{-n&3W zRsHd!=gbTGAify`%n2zdO)D&V+uO|i z*~>7WS-&zXvo~4Rkd@lgvYh+*?!C`}nSS=4b=SRX-Mdz2>3q-L-{=1B@BZ$`IWx2} z$2o{M>fqsINR*`bR(VPHGba>(CS9F0Cn;;rY#Tadc6xnmn)BDX%y+=wzj!gU1sr9Sl;#@gd^e5Qcl&<WdNNGqrCce@gd<ls7Oo>cP$DIv7sx-k*$CT&)p>e4YiTyP&}LxX*5zbWQU>`BhBgc(WnfH6O~~Zb>G`3raMoi zJI~r0;11RVmu5D#db|bgNOB%uK1Ab4~^)6L8U$dd@!!zg|Li|C@b{lXF<3nKsdTu6l`?>=po+4cYoao22 z`k|3$4liot$IE`>mxAbc{I9mdiR5ea!RW(@eJMQJhah4*asbgMWyQC`cs6j&i_k3^ z8+8)n!%ZmNxQ3G>>%+e)mL!&WY|gWw45KF+l8t3%l5WE|#cydHPG;PToZTZ|+zoq? zh?tOm(Cs`J-&*(m^66>Luj28A^HX~bKsnF4cFtsf^CrMG1~)aMb@nf)`$yWa>vlat zeea~dqDmb(F#gxW$@s&WKm@}odcl~+znOf3QR6_71g;~CQO%tt;)2?Xc`Upy+F`37 zXRCAD`=-<<2c;sE2D+|?YTIEPn32h>-Sx>~&_xwpZ<_dn@H2Cn%o%;sDjX>^5Uf~#S<>?$Sq*JIRRXyQE^ z^0#TX9;qiAEpr|`V_MW`+PwtFKl|mx+VAc9M8{vlD!)&2ev%gTb6U-xno3>fDuh8*z=)Fk%~pTKsWWE%^jBu4ua1cR}M!#j8VNX@Ggb_0w-SG<<{ES93{Y zy0sR3Npn&fO8!c3SP+_&l~i;35)ym7d(LdK!}&*AeRM|sG^6uklJj`YVNJU8WKzx1 zOIVX%ATKo}8q>y{UmK0z$30i`t;Xgo!z_fHopdf`%<;+(ZF$FS4Z8PfNTf9c=`tEp zbXdqlrPb^Y&2So%#(Y|NuW(@J=)^plbWNHQNixlON%Z=<@3uk+Qe!&Co~d>XNpxOF zjdyduCDmsZVnWVIt4}Pe`Bt_yV9U^uZ~{nbAdT73`bl9do7c}WH`ow3lRy!45VcoiJrc4cIANO=Nv zj@9Gc!?3bIOYdMLSoOv#lM3&hzQtPiSOogvf;=k|6=V|qm%kWH!esjO(wXn3B)rZWI zJp{`^qp4QH7)5O;+q~6W@W(G(*Bq3S#*`FR9!aU67imkYF9}Pn``A9hw0jPk<8u5l ztkQ^kbVI6Kk5#~#o>Zl;X~z!sAc-;U4y}9LuB$y>`86g4*L1ify*@wEno;+asn&?4 zt!ejsDXBgvGOgx-uA#|&>C&a&-syjI-6;ny``6BQ((6}8TKBbw{`Q)~0qT@@(lFy| z(oHE}I8P)>C(>#@(Pl*bnbxpcr*UP%xrfNl`yk%lEv+FdQcibXBEMUh-}gB#4l~uJ zLG2+KUcVMr!oi=rz5&*>yW63Z$Wp2HxT!W3Jxj|GXoQ<-mUezhy%2ULB;EOCit}3{ znuKX3h0;xWL!RvT!&3QGYVG%?+Gtc$Q}d?LyB~*>9DkLWYJWl{?rt>I1>r6={&mMH z%_>tZ{atRXx0XZ{$l`(Z^$M{c<$cO#3cG*!ErQAGN8z%c%XPx@+OB^!gi& zX*CCpsp!XBPhe@H@MBH3m*)1G{r8feTX)!!(gWU5;M^7bbgPa<4ZjP(!Y zbQ^j))U^?5i-y<@h;W`jkN$+QKvg5*I{Jfd+{fc{^Ya#)YX1veG$mlAIKIt-VcF_R z`vna3BVT(07_8#^vvL2TKkLiiTz!6~q2>1wVX5dX?$xWJYc{cH_>-5~>_#uH#- zO*Z_+71uAs#SC19L&A*uWk?Rcn(Eg6$*ZkccTw6>R$WO8+Gm5#)ejz~#)Z8|nGvrX zxd+nfw3V$C5jPrI;r!BA0e2U8j96VecZZBLxzt@GS%r&;sm=C zg5E?RC5@RJYO1Y*(-da}a%Uuv;aEhMQT&d^QZ_k{=8yli@^i(ZuP}t3%k+3Hgw zvunU7+vJqU<$O7E_PnsqwwJt5HrbqUN%hx0G?v(xB)Ji~smc2+ap1O6eSvY`sgQNA zq5ZNmG`XSsL}#WhsbPvcqoMc!MhaGviyAZP6CxQW5}wg@FF4bkqcg^Qhx|x8d>C(o zmdd-)D9mEW$+T#$ANk96EUT3e&W2^oCy3)ufKXjicN$v&9v>-?%)BSHpF@zkMo<|t z$)O$|X>X@(1G0OlX}30ESY@EidD7M}7nwT|Czu$VSO)bxGe#NTv__(Yf<>1F)aMRq zF%we0t3bThTyWc`9?}l$AgcVBkDBK(h|!$7C^ldy(KYn&?~k*@>%@8->pP9>wkaZk z?{8m-mF3>=siz_Pnp7sc@*&rFx*OfaemBhvH0BRL2o0i3u37L3bf-IihwQt};H>vs zpQHSWSN&*=;$g6{eI!iim=Dt%mT33VA_Ixbbr#aooCnyz%fmOSFqu&G@)WAZ54vG~ z$f$cAlg|qbbQwFX32Z8PhLsIGy z6R(35_hN*yseZI;I}#X|_m;xY4jHNSlMCx5Y(z}8S3^9F9$S6y@lYb0>fQqZ(${|< z;TvdF!gFlWN=$2*97Y?qILgbE1~R$u8x`RP;bxv#U&0-G~U zq67I0m0{ehj}%OZis{QStqO+Xg7cW;KUShT-I*V0KGQ>qC&Va5lE10;eY6^5_A@h- zd}{xOi>g#a(WK)1Xy2(WeB6!+HPsD36{nh^P|>@_^~QJF8xm-~fuJ|3rEM%O_>!<0 z9-=YJ-dfP6M4D5aIXEv^9+!luai`J29_Gr*?q{yz`41bQH0P8HX=BdXm3(m6==$tC z=9S7X;_+~vVJlAwdb9^)K8!c2E*fcp7E)%)(}~n{e3+TlJX_9#j~lr(Q|*JWndXS= zkv#{puCzzS@%R~vzpZ%)>l;+?NUHrDlMqJG72)8);fgY!Op9QX>vwQT`@NVix%P(O zx3KxG&k}U0PFh$tjQ^n@GWb4_A}u<^22U z@7WMG$W&LZVqa6Rbh1HMglZPBG?isEl$euVrimx5em(~7$95Z6*q|^qz$8|cQa{>N z#cS<(NGD^yG1Ub_Ons%)(EX}0ubJxH6ae*W*kt5>H)-7g2^#}i>?N)HQ<9#OEAK&O zrQaQ})r^+x<@L+MXrt!fVRODW`Ni)X0h8_6nd`98y$3#_+yg|9*MVq%2(;Y3@7sk# zZb20`dF?l#)066#71AzeI{em&wT@VexSCr?zF79Pqi2!aXQAKQb@(C$`uuY=2;fBy zHUqG5O>v&7`yQ*X-r!Dh;?A!>?ov!CXK*5Vq@9-QPA-j+5 zr%k)7jETPCmICn~CwCHdRZ?=sjO1xa z3$jvYXDvvYG-FnlWU0Wvv6jlQ=GjY%%E}7z`_r=qx`q{&E-e_AS5dIIvb?}PEVI1y zhJrkM#jxD6vX}yUVL^F8<v=G zSj8M^u%%+Kxh%IlcWHsWpxj(xFDfo({G8BiFU+;0ysV&Pu-&|{prFK@S6Gm@q#$32 zuvC~ARhHzDdUF-j7A!AAd!Wc(3UYH^ZgDXR3oGpmTT*HVUtvLRzQp89B?VOrN=ow! zB=%9UV(G%t;sr}{%N8&iQ7(aT6;es%(uD=(3rZI)@Te}Ww3k)dC3|l9;sQID)#*NF z0@uUazknB}mzoPo?BzuTu)P#*W?Ib_@`|cjbRP^Z7~9F0MfQTFtR?vcdBwTqXc~1{ z0QI(++^=+dL3w#;`B-yuX=QOfI>2s*aoqRh80yCkw^=IC8y@;H%L|qjl~z_1uYhXN zag2xA|G)H0S!9Q~iatt8&1L^6fH&J-SX5!ANMk)I^b5PmLrO<7#ng`#=B2szyg~{o z-mQqVqLO7I_;3psD(w(*QWYV@KrKhOP%M-ek5ubM<6R8ERI zG6ONmZ3vL^N-In3=KkZ&agq|83n+-BMMcF0l4TL0EQ`=32-sg4=eNk2bwh#jtt<#xAUN6p;;k$I*YZF z*GWqYmX?;UkSdB+7W{pjP);FBIx>-^Vrb_fVqTPszRM5r7$<6Yb+CDjORspm%y?u* zd*~)xl+a;;>7lpN_*C_Em~i<)igsUioL)}Q-v?{b?AfWavc?LtDEF8X%yC1_7&9fM zRs>R%f}{EX2}6&@Xu$$=ERq+q#SVhS*_7L~@5C6h>Bg;|xP#A+w| zcs}NaQPhg2DQOso?6YRgm__Y37Z>DGO0cY~I%lwo4-@8u7*TFOGg6tTz#H1cF#K^aYdq||E3k5ZNc8L6{pCrwFRFk?q`h}B0F#N_P=jB#ls`;OSxqe1TqZWcEB=nz~oPw8D z=2|M|&!3PmOsQwNkJ?JqkSyxWnD8rd7sKc|`~^x1?$YuB=3&AFkP6F`ngq6LBC8k) zFIJF0Q0`P>-a#CUSFiczS(PPhrDUmOPC=v~NqSIpV9e!}C4@DbGie~EP#kq&d2&U2 zfS)}rEi)4Yz$4jG_dxJab8%4xt&bKK6qi-)k)l}In%k%VIHVxT+lUR8rjP$*jPfHGEf**Mtt_JjMrD~q9OWgs#b%D<@h^4EUx-2$QmjQD!7*jl zj5(R+*{NA`GCc(=c6!DVC(lYvnw2u+n(5vg*oUy@c#Z~jymZ7N0>5K{PMxrz!j3sd zaN`MH38uxOd^2ronBg7Ms~t`;Tk^4}nKWn0SaU@oEt>gugRQRn4}b}tqp?Hp{~V4T zXqbiZg!119fVm@*Gm0wM(iX##H-aWT-qFNMYa_*ZOqjAVK(wMC7Ep7QhN3Gv$t}fl z96P8Ib7@I|nRTxcKgymdAKNb4FDZ%e|H!Wzq8MTB5JAT9AW}{Ge_+4Kx1hA+OwPcR zIvMLQWiJ|=UsSH{Lt_``<*V}+j~e#r=yXrF_~{S298$r5|C>a21j`FBUsn`Jw8k&T zBvoS1EtV{mNF-*fr6Nk2l04(;1F9=%YC<*WaKa`RHrt5RNW z38flkv7qh=q>9R=OLMU%O{K|2nt@q%5t1^OoH;9Xa$5F+*;%vFGCS8umVBwKyc9bL z%)n!@dY~PCfM-=QS6EtBP=dKKG%38AF9y{1A)Bf@BP1`YC3ZwblzA~)td;_#e~_oN+gw%7EMg}713mMW z2eC)HV4-M#UU>mh0QMBv?%A>SC&B+9cRKZvnYB7U*Pd&p&6?tlf8r}ezX{Ws8<%5( zCC75tK|cwjjTNLT+a%;51Q}A)QuG~N|6tc-Wvn6=;Zb~oD>z*F(y2OM!F z_yPTggCB=oZv(~w-aP{RfKemC5BLLMBjB8?zz>)*3jBbV0M7yDj|M*u&aN5*e!$g$ znSjrX13%#IiQuO)p6>4e{ACjO0lVY=p3c z>2CLSz=%w@`%S?6XS&_r0jA*#0zvTQ?|?%ASK+mVbils=ivds1al1DH-h8#&{Ul)2 zHQ)!_1^6A{#BA{6pzrl-!4G)gI`9Mb!go!J0ZRZk0zNkn{D4E}gCFo=!0!OZUJrhJ z)9G!%p@3@^fFJNzz+%AC9Pk6a4EQAA$XxIP-URp^;6=coU`d+35d4520Hy;D!S50j z13m}15pWv5LHQ(LZ2|ZJ{{s9DaPuPYhe%QgesN|f;3&X!z$XBU0sn)C^^JgyOW=3F zLB;Sp;HOLBcfeI8@Vg1^#ZSD&0X_=fP!w9|1N3_E-jfz{!Be0M`MY1DvwL?e5-1l5PPU0hqlCYcRkc z0qua1Yu)ZmfG<_M-MgqB@IAo0*16q313rEe_`BjyHPnC~aB4010Z#$i0sE~7Kj7DZ zy8xfL8T^0`YydytW+(W&q5p3IKj3#w;0GLgJNN;=-voZZu3Nwlm;?A8;03^+0XN+Z z{_fC^_3;S6Dy)sO0Drj`{D7%guWkY?0o(<6H{g4KhX8*Dv_Am;9bG6#Rg} z+rba`_7mU-l=grhuaku*b zU^d`)fExgV@RGnDz@dPJ@4DTER0iAtXnYUt0Nf7v9bopC$aBbV8vr)}hJ6J*AYE_| zyX2L#BzbwL+$YFjq;I}Qq89IyNXx_U$^jkJhlEZJ37cvPtTH;JiM_`T86HW?NyeW7 znAsOGN)_TFx%2SfhWc}O)k?WYrXBy=&2D!k^hl{8q3bot!Fp}64Ao5MCR9%t;C8P9 zRPmZ}LNoj>RNn=Bu?Id+#lMI8)4(@-;O|iJKchZ(pxa&UfiF_=-C@^rz|;GHs($Uu zs(m9+pN%<#Ucc+Wf2HEHP;VLRcK7$dhpBiw>IY#?`P>74Ld9=F{b|fGsUG+Q6~7Dh z0nu*vED!tBRQulpJ^}dmJ@9X;_@9A45Bwny{3|NHyGD|>40XHT@W8*O;zs~KDaP%- z%>%z)#b*KkEbs?C@Gq-)JMdRyu3YSazh1>}0)89tXFc#=tN2~O7Y`F(H&Nn8^Q?-0 z4|shX-fs2apReM720k75;~x0eReX2E>m}ePcgC+_Xcm7XfRBuKyN5$gNBxCX ze7pyI-*Ff}9{lBu-wd5U179`X?e5bVKV_q~MyCxVBBBX{?Ijc4?k_>Bwjs4ft9_p} zgXM<=(8MIW**i%pOlo0gx-|ExzC8#0NE`C72mVnNABuI}LEvxl zz^_p8alj8wyF5M?JEO*<}|na0T20isq!0vfA=5oJAj{)j@J}D_-|7A zj{)EM5BPJyM`yU*w|LmMPPH!->(tHD-R_GX@_$t2#{pk9!|k5qflpWQnZQ5%5BM_R zKLY-8xvdd+cc$CD!b5(UDt`y?*)uPXKL-4>z;E{8->CAR1Afq~%i}|_&b|lur#<)| zR{7(AkD7gX{h7eu^bhzl;6DaF!$W?GD!&nUW7g&6?*Kj*_{;Gh1OC>3;6DfaH^9&K z&_7kxABs7)H`en`54=Og#{pjh{N?yFf#3ZP{AIvLTx`03ai{l~*cPpdw9 z5BSsAE8%BWI_1F4D*w;G=PkHAzB~48UjTor2Y;Q)KLYp}IhV(00Z%{gayfoG@X^?l zT@Jqq_`87L;-UXmRsSyFLl<5i{~qu+{{#MK;4l3HzB~4um3jZL{sG>ce|dZs@NWQr zIs5IvPr}}ET<7-jY`O~B6wKE5-)kTsv-cL85=8GbW(-UHqV{GrbCyA5;q^K1#g zWLyAEbfMdw+*!xU4jp0GH%|xtEsq#GsK(f6;QuUgyYKGIuW3^IC>!`?*cV^f*#>PC zGl0gxa^N=U{X?H<)xeo2RYdw}m*;&#*TJ*xA(_Fk3$B=Flx-R>?P zc%zEH0Q{|G*yneaui3BKABKJZ*c-7A^uWKN;ztAj1Mrv2Gugl|DtEgRJoFD&^)Cnh zrV6+Fh==@FRry3HB8%+1mpQ`H527WK_&w2F!;~o7E{7jrLSUm83 zRs2@qudcbg{5`CSDf-_|A!sz$GOYc4fyf@&UnoQ zwSA+3@8fj4*LKEhD^>n%;8)_FT;~5h!0-JB z{7K-C0{^s!{)bil7l6-haJwJxEMIfK+P*Ms=1&1{#(KG<|F6)g{ZIHNxBG1m{zEE% zHtmEV>dBo?3 zYJ8pq{?JpHBR%j>tN07R&wt+S#&J!D{tRZmWJXmO&b?*>4>xt-Cv!YiQNJXB#s-=s zsz{@AjFgbD8f|)rd0t3ZQb=f0h%s&dAwu%=lw!~qD)hjw*UTXLlo0a`3cX|nEuFxL- z-EMaQ>6jD}daGtqNLYh*Qiyq@E-A#i-Y+R6u12rP2neylKHxwzDa4orwQNr}8s~cH z;J-`oZ`3Rg2r*6$ToV#DGsJ9TX2t=R1G)pCOQbl2j0V!Pk=k6Nn-X$P*1Q-HVuste z_$h&jAfvOyWB(EB17;ftgl#EgTMF4WC8SlOfkWbwL##=iOtb}}Yo(KrLBF^;2={bR zo4-TdXw-d66_Z0kH)`Ok_1u<}kVMT(Fa@557tvB%;It4k@Vq32fn{hnoXvtii}lOJ`UhJ*4NXO zu4ew;4!Q);P4T3g5@Ie>=_oHB16@Ao1{0kvBy+@S}kb z?T)+({4>N4ABp~ggV$4B)WG+NnhiWE;43vMNOn4SFM!uZyv#qvkUk}lJV9|?47~M4 zw|j=buh%GXZC68evWV-gpiKwu?L<3+?3hY%GgY-ivzT?3Fkt_oH~%ZqcsT~XUEq5L z`JLkJHce_s*sa>s5OafWQiydU#r1l9Qpo5U!<3L?vi3i^fRNFsL)#GhYMiGkaZc(z z&ql#jV_2`>=+~gTReKvvFBET-57GnOZfvjFMKLiC!Eo}3+f8kkW>UOdt@gum;JyQ{ zfpF=B)0Dtj)O?A?%~s&&y^cQ$EkBIlbm3p&4&{-Q@+u6Yvo&ocss_&AU+uy}m_9_>8mA%COKUOr0IP(@5C*n6z zz)S&i1S}KKAz-6`EduTkuvNfg0=5ZwPC#iU*BmOKS->~}69vo^Fh{^L0UZK13fLmx z4gp&QJSJe9fae61W(oZQngxs#Fj2rv0doW_6VM@Gqkt^}?hvq5z+(co33yIGX|~WW zpjp5;0TTtx6fj4?G65X|HVW7x;0^&>1w1BTn}Fv8l(K|=0ePw8(_GF2@p9p4W)F^W zo_+N@WnZ_4bo)=g5822U!(TGrbvaJ1L*ZZ9Fz0I5;M1Ew|EAZUgozR+_W zRQ&nZ2L~T*XdFPSN}g)H$2a~}FH~N$>fM1S_KxnAPyAQX2QEjmZ~PaZu-Nx64Ea1O z{95|mLa8f#;4jA@t5W*S@`Gz_)veUs<={CmgAG*-Nqit-)7zePQsnD053m1rc`<91b7( zpEkA(E_&|P?hPYSD~VNEmxMmxoBq~kpB?-k-O-H`cD~d~{7U@B`N;2jX;#-s=T>aF zVv2b;@r&h@l;|V>3pZas)plF!9XkfR`DJJRRv-DBQ#TCxdTwBaxBZC^`quu!9r`rW z?zwySyf%~dA4`HTB*#boYev0L8ryJ%q1U=>wgOhxb&iL8)1P$C&~56icMkBjztud&AWag|10s+<|BVl-SVa122S1W%`ZLdTl=Gb z*7wNhHQ~qGLQelq`jz}=_K|P zm3=^tkNiKM|0J{Rz7@wGf9n1zq+j80@sWS?`LvLp&kU(FeSOz8o%!2*b)7zmosVkND>Q;%hcXob0o=+I#*g^O1jl!F~3dAA0*}+M8+1JL`A&$X{pL z89MWaAAf7vHi-4VVt<>D{PT_(CJd|%T+`rmu&tRAzj5rvI3qHtA_8xzYKJwqb?v(|r(*oZ9y`kTOWT`U$wD`!s>i20k zX!rj9oU48Q$HcGndYg~@30n)terH=Ed(Yo4ANemef4m@X>7LEr`p@~upTFdf=?}cz z?AmziCqu}7rT?VuN=vBr@0ZelYXeTM*!S*@&tJQ2_V+}k<_{nFEsrM}wa@PQ)tf)j zNB)R~Gy6C1oOaxsKgUP@=3P7c?|9?;T5o=bkNgRv4qRLKpTZ^H{4GB6|9Hpogg@8i z`FZoV`pEz2_K<|HT|W--=5OLU4YMZQlISW4`tO!@J&C+w;S-Y2N&1ANfD} z-E>{t`vctG{E0sDKQj5orR6U?{F^s_j<5V@yNvjBT-Qgu`5iv;zp4u=IZ^n)^y7}~ zP>O%$oT|k~{-}+!!UvsQ^zel@ccye6KhopA`M)tZC-#=&D>JHIJzq@x%DI}^NB#vv zLc?Ahk#K0js7rH+UpW`d@sa2UqPPBYKJrKZ*rWQb=WliWZT<9wZ~i|TU$k=D!GtHg^_zX}S5}){Gh)Ov@A!}Nk^jArlQ&eZ8K3RVpXnq2hRC(nJ05sr zv3L8+eB^)R^nJ6Y?p*YgH^0M2{-R^@z)e$6Z1c_^Ek5$!c-37oL2pm^&Rc)0kNoRn zUQUZFNsjjBKjtI9so|Wl_u|TJDGxW_*LnVG^O4`ax}pDluYa^`C1P}CqJ7buVeDjIS^t*#$iH_|(XuCYKlZ#gf1{85Jx^*YmmPK2et+$U^b^MF z`nlCd{(EW`CX9Ni!M60vT6X@UtiRiQ-_Jr*M30ymFI2}`{D=H{O?Oy z|981()Af_zXl=J%c7wK2p z-{K?xZ8LwLeRJ_uPkHmV`p7@anwA~*=uP*1*UPkn^eg92Z9ei}SGimJ&KGNr?)_$q z$N7W#8Q*KajQ8JAXKQF9S`p93G|G8cJ&B7jE&6>KM_?7(& z{yq^EFMBED|6J0sd0*VSGs}DZp6w(5?Z@XYiu&Q33m^A+JeQOy<2T1g{_Sf9>Lz|* z{>Xd&arnspLb5p$M0SD z1*AXeeg1dONB-#_Ts`CAN7l#Kg70NRPth;YkG%ZDrS#upzoo@Z_^aCPz5a>wk^hNr zHpea2Cpo?IXO55jA8m^0S$EId@2{Df^(&dH%pVRP`Tsnge`Uk;%_F_@SBsDQ7M;HG zyEm>q=pDbUKJvF`-C4M-?*p5MM9yZs6 zpQHbWONqZ319h=~Wq)S&9=~Ni^8dOzVNAH?&Mvb?jIoe9C4V@4b72NNM z0y+e26;QGZynqe?TLqNZk80u1stM>2uvI{5ncx@DAz-V3QkB39=n$|~Kxw(a3+NEA zRX}NlzzgUQuvI{5rN9g55U^E1X_deW=n$|~KxwtW3+NEARX}NtzzgUQuvI{bePJ8^ z5fFdJp1MtH6;P@c`~o@zY!y&)2)uv}0b2!>)(O0T4gp&Qlx`Au0UZLi3MkbGynqe? zTLqMA1ztdhfUN>bbpkJ-L%>!6rS$?YphLh`0i~M-UObPJtKD zAz-V3(k%inphLh`0i}9@7tkSKtANr*ffvvrV5@*qgTM>u5U^E1=~jUk&>>)}fYNOO zFQ7xfRsp3(ffvvrV5@+VcwsP6K!<>>0!p_FegPcdFP6m0J=n0Z`gp>pmbE>r}LvfnV_FfNcsTN7BFc;bxmEs_8{hat+mevU<`%0 zZ^Di7etgh>f0BSL%~9yY@1cE$`@lP39KV$UyP}@o>jIbK>48o<4H9GEJEWc6he}$V zp#jApqmFP|+4vV`SgpqJDqa-R%6c~|`O!CpHSw^^Z%9v4qY1`h#BXaaYNloh9<2J^ z)rZ}0r1}=td`%PV^*hj?>Vu6l(0#fTd_brk2pv^~OoaH8`gr3h_|r+ySGgqm)~7D7Lo6~avI!0X4bg4uK$HtWZ-g4NUuj?j-|g*a0T zUR%*8u)=85H?UVfo)r>JE1_AR$O<;o)39Ej#0r_FL=ruT6|zk`;7WZ;PkM(S$MhK% zk^0Hq>2H-6n(|4hjagl0$|Kv-Six?}##&21HLyG6EI0MQ!a<+W^(VB=VcH3I>ZhCj zK;b6S+oW`c(Ew>RrjcaMOw$!8Y%t9u0oMkbA)wLpA&B*JuNVN#R#Of9rk~d<289+= zAl#{+&&=6w$|Y&n`%`D`F#Sx;UJ#Io!XDE_a&Hc^t=04#8M@Fo90CqVnq-JG7<$cx zqR`po_~?)>rGC_HzrvniBOzE1l3gO|f{i}_*X0Cc2OGmt-^Bqb!A5!ko6#mKwB01l z<1o=UB8=Xk>ska?8l53?fevOJ-}N|LXuO5hbe#j&80-0cfB4M5cMt`H@g9&j;(s?u zSI0Q7hE2N7xb0d6f&P7Z6Sh0G`z74;h{282brs$j2$&v9e`z(?_#{4ieo9E9>Ops? zbphz;{)(>jTMz+FgD#>FZ2T`i^}pbQ$?OhOdL*iBUH8GvfK7u3p*q-z!6fO;_+X?d zM9MUDqCW{61GWsln$brSeWpThCwfNOiT*Yy4!CFVdPYB&=pFb7>-rO16>#66ds%%w z)o;azW;ljsVDIim_(Wqt)C67EhjK$NN3fs&aS)h(guTIr9&`_967CdkSy!4Q&1SeM z*rG-(EOfx3vUMZg;=Q>;)V7^IM$C?Dz4-}p4@ zOfm?&3^vWjy=3Z+Hg>W4lj20v4+!ioQK8fzo1}>(x|n`1l0Xu66#qrYY97aU=rWt( zf{mX5(VZmFPY$wZ;2~k8oJ0Ez#wAN#7b4EP-WNh-T@A=YU0Ya4cC~?~>-}BG>aO`j z^9ZN$Cz_`@%~Ya!hSBu-00O$D8bhx`osO7;jXC)2xdb0Q=mQm}@u{PG{f+qOvlA}r zW;2=^P|&TyN3ih@d@{2i#Z3>IyV!@+HwN8f&{1~omTnCB5ZG`tJR^lC!!dHW0j<)6 zpTxa3JP)T}I;jtFbem<=k|Z55^rLTGgmt^t7#fKI8?g*2wA*#YE;P!dh|^@tTw_nN z+!*1H$mllD*qhiwr9Q;iZN5=^hC~r_urVH=x~uTf=Y4AUV&3pR_acJ3-C#7$Wkk97 zWUVQ~4R=DnUXW$&R%|pLL>)I`sbWM=w5VH&F)RrvW5ijsqg$!*is>kYMzkR)x|Q)# zSi~Cib+;Rhf#gxMq$BzLjA%k=w@PE^FC_T|jLB}x6vQ-Z9vC?}bxvAC|O5xs{mV@2uj6KNreVfoS(Y5{k^-qH{ z{0I173U@)T9DWFH(1gDU*J!0)M)_vHgP<_Ij+`LZo2dQpz$b8rQLZz!1J(aFFw5(i zMFW;g@l%5vIl0`O^0p8XW|amS3RbhQio^=lXry9MuA)XERPWG!kx_Jp^}E^T@)yu4MHl8fC+#kezjR@$WguJ{xpZ+$8Xg7w;)UIBlo7+BOv6M zQa`AWR7J@C{@S)JT=by1RArX^{I%P+imFPg>MsZTYj=n$%gxk90~EXVDAn(h0|v| z+}mFSwec?QBg+Gnocbu$L85x_9~4v3!G09GLw;rMl-Q5Z;Z|;b9ZIaLsQaUXV-i5B zZQ8TeI*H;ZIyfmEG}@*eYb`EnQ%o>h3uv28uC-jCX2k}xCTpA8)>=kV#jxO@M8@J; zYk7>k9H+3HTWgsLC(H2)%Z0U;wN!DX!s4j5v{Oe8S1LACM-@r(2&LFqZMl}3GD@k~ zT5Y)l&XLC`6)n{k)@S2_`%>nH;nfy5=|~9fO6^3`sxA1tiIO}%IEdC<+NSN*7Awh^ z5NrwoLerEvWc_bw0j^B$Rw)vk7S{XIgU#e2O_NO;lJYyJdV>RL8d2RvqLu^)ldH8& zZ?2Vwbf+yJF6A)mVIs5BFj=dR9a+nzS1ZyJqq|(>Tuu&z;7!3@xZwBJ;-^xN2pZh8 ziz|Ovk$MdE!A2U0gC~*;8iQB>*nZ&D>{kkLD>vVQ*yRDx7&Mp%z)2ARjX~qmL8EOt zw${=@5pjDETLoyF(7kU^#U`cVyS0{N3cov*3iLPYi>*PdFEmYwym#*o5)p#_XWiMX zRG|M^ciyX1Y^b)3p`dC}Di8rTQCl8RDz>r+c~B{$|Gy+7wg-h$tI$uD52^e_Pynsj zS#Ps=cq)j+1A3c>!!to59ClO>nR1qUsE`9`ASCe)dM-$Gf1wnec#fm@!@+b}zMyD7 z7}Sf_4J^(oDZ?KM>dr06;UW$zBC?}Xe&n35iZJ8-cP2>m@z2z+!A1(o!4(uQ$-Dy# zzvXOgLb2RTCotAF>W!43zO-v5_0~seNT&oP&tYM{quRZ6nqxi{u2%P`al-EqdwzQ z>?b;LD>qlb>(-T=B#MF^Z7<=`yfJY6LKuW3P+~122Q~x_;nBRk#CnR-*{y-YXdj_% zYALZkNZogvQn9tfBEu_kQ(!o0fHO)hD=Ct04`j1}wyCj{=Z!l8nKz)N)G~!e|E53@ z-^WULIB!-ePL^1vP)yvZRJ4^?mXOQ0C>5>}%fpy6CbW;!jKW6M@|mfyIa`jn;ongpzbG z2a=@+c~TqHa|Ls48yOaCr0JQRBHe=8p)*nEHb^nW6vd+h*-TgY5f{LIz!kT0^I4Eu zN7E8$bl@0n0P^_>vS?gjj~`$NrJXV|XrfZiWDZJE9Q1Ov6f=^dBb+OFq zKyHMlsaT2`Ok?Lj0Bh*__qlR245v$OcEAnXh64ekM3`4wX=^MW446P$W18!@Rfht` z^Qhil&CNQjRJ4dBa3o+7PXb%Tn14NBJU0vpmW}y00@N|j2K8G3ES_kPv+48g0FNAS zOhKm)8Fhl&tc>{uu$&_F^MH;q-(UE+^Oz3_6nKpJn5(GQp9?V2lIfH8xWLCbfHUaO z*Gj*(4U!?EldaG4@+2ygFQV}0)g}4)05(j}W0p7?X}beNROCppR;t((5Jnua?{eu+ zi(D)>Ux(yq-9w3GQ@}_?$xbS7=H(70TU4PIErs4z#T)Z1`zTEAQp(xVu;Y|fZVAw9 zgucMFA3VLI2wu=J76G2U3 zUqS7?Az%O>7B(we2QN{|i58}BX+U39UoMTsq=4Yh#rRU5amvlXy`hg~@}z)a$}nT; zaZY-))K7?#dllFj*tb>a`8?9weD_|G>v|0$J! z8}Tz2cMG_ZySSLUw0po1?t&cd(jH1VTVh{>liU1*bB=O(&4^>V;_?%@{4aT#To!%3SkZP9c1A6&SS-mu_;;hdGR^vBl6+Pv zWk0 z%}PaM757DdrD8)BAK(N0WBCAgRPg~m(0?L#&V^-Bix9vT|G>Fywb)u^`H*ItLH=UJ zw5Q5aO(qUjDt1*x6_hN)>5D%*Uc_doiYBxu?q4jPs)qa}+Lt7T;$pNeYGLIf@$h!I5e2JS+BP2ePM#wKleSqNqiHkwM48$wr)Fs_3QU=!ACfN z;I3w+c^?=DdkX%*ILcG-$xedfGsq=Jjryto;j$7`kIzv>9yMCMn)_y_=El8^2}Zul z7`$^g7txUhH$%kmiXvp$yNm6?#u(gH$a|BEg}jmdA&;#C*BHmMBXG!L zQ~g@w7%o54@*L(9x!TxO9qdn2MWHcR-o*uVQC;+?DzDHumdmqQ{v`E9MsYY$Xjus^ z`357~ULhYvKP|+h3bQOm>g^ki5$}Kz4a72WA*GiLqbU(2*X`tVkE&W@1}Lq_Fi!N) zI^9d_3`J`;Z&jvIq|Th^p3iZyB19!_#T>-Hk#ij8^dVhKTudPigUr2gL_bR z2{#%}qiW+0UN4S{f&LLj4rdQ9!i{~1gk}WxB&46QKX+{+@7f5XnPwa|Be1?T8~YW3 zLEE&enp-u%*n^&P(4hu<$}-T%5*D0k$>|OwB9&%kTY_lWXW@^^Sa7w|BIm3@f8EpE zLiR^;a4R>T8K_uz))4*;Q;2N?i?*|dSZ-2dH4nG5h6&uHjcf`!XXyGFW56*Sv*^4* zSd_>u{?WiJX3LIqLh}&OftEhx*S`!VdJ2m+MfZ7zn|7W9De4AEmW;i*2KazpN0en_ z@2PY*FTF>gZF;7f>Ic)&xO~dMx~KIiPI|ZCkee4oB8CFUd8Z7b zJF0JYJnb`xP%q>?^qRt-gJen%A#`L;+-%ym>^1~HBdkqkwvx3;WG&m!?=}oj z7JYH)EcqCM+qZK<_IICH>;52mHo-Uz!$i6isoiOq$TM)GNbU6ok=l{#$I+r{Be#~; z3Q@V3#TyJ_M%q&qRa{Vl6CHz?#UH8~Sx}NM$v&1lrmvf{M>u7Q*Fm$Ef zdg4(~;o8Ch^v0i{D8I&_Z+nE-y`iG684U64Y40_L;Yg}*1QwLzD6?i8hL^w{Scp|y zrtAhIv|%VHn_PMTTLrrxnu;5uR4e=xjw5%~O*M`n3;pCv>afq*)Wi- zAXl>|pUH+4Ue2+yho315KASrt#V|q4i+uE_8oH4MI0TjAlWCldG3dW}$Xnkls=l#` zJfUx_m%ecdUg#U=r7xkAK6-d74>Ra9|E4c03gMee$Sdi%2dx{vkV-aQ%Hg3LXBf&e zo6r?!NbzV}yaCH!(YAdQSAz`t7asI(+h(C_kRi5{u0e(r4_$)|Ru5f+4T&DQtOkp! zi++bw?q|?P3thKzl?dwz02$l zF(fLn#*)6tzz+4*HJ!;YRJHpNn#Xkp{kr?T?e>f2cKdnA_Vbdh_mZveBzsi|WdEVp zf7!xi-^&5~eWQ^5hknR%+~OdK;^?AMDzsipYu7)Oaz6L}U;23NLE)oIdMj^7j-=J; zjL2|05*&Yk{B=&RPyL(TcA@v2eo!a9=arJs`=e48dVkW#c zcj!lOde|RMF1Sgr?-*sMQ^wIX|zY5`unB#5_+j0jn(i7%me zU#ZvMcNh1jodYzw1!yaKIcJr=k4PZajbM~l=|_1ub+v*QowiyZEjrCQpJtHNdXcU& zrP$9YNN&`#hXu=o&L~yqSEQ3o={M@*lt7_((&TcboFl~#q-f{parkdAoccTjU@==I-;>As`6 zd2vc}GnM9u=4N^|ccy|D&7JAh+?ig@o#oZsSsl%d3#A3yIDPPQVt~_wZo1^=QCKhX zkV#PV*|_@?6njKw8PD+@nPogTh%$?nb-)CDU+Mt1rej-*3Ho^I0k)?5oPvI$e&7a# z22Q?tmrT@;=Urm7+(}`YsJJsHYH7hzES&UR#XiQemr_Zx-j7}|qz!otJ#Lj_c^CE( z?ds^ldTJNz!dN|9X;S`RT{uiBi!O{)bRwT@pmqNMz5aHwjdLk~TcYJOIbo2}$U-URUgGG*8#z%J zHCr_*hm2y4?4`tIA#Y@FrHrxH3VJz6uiw3iGj=rUyxOQ>#c0u}V6R4nD0tDR5U)ms zcsI)A)u_-;jp{><((*>-38Ok1HFCJpD6P^{qER}fj7B|gf{fq&^xxjW8`Uwwo+o~m z1pn~!OoD&-c_zV&3SNw`i+*YnWKR9lPpr#rJX-(s6EjaH5(u^7M?aPnw+S0ExG9L1 z-_ZHi|a9 z@70DA3SP9~L`NIge&~aaHn9EB2Y!>eJtDE6^b-R}lH#`^2g|Sf=}$L#$Hk|rJx3LN z!k(jE_Pn9sg*|V0+4H8CJ#Tv1^WP48;wmUkUhoSZCG2@xjgkAVQvCB`hdwr0zo^(F zGRjK|UJSmM6nj$me(_~)56jHVK`(QI*vSpcyRZ0p=G|BP)V!;ul(*L};$fJBX^iLL zRzHzv>0pMocsjB+=C^L3eUb;v1C6{TA}Jy0FHwV7z&zu z*-s8?;WC5&CUe#(MP`fNNDrC!D`g?`fexAR_rWxIv!8y`ZQem}isZ56aHrx_5d?QC zP8ZACEec))!4}2oS^T_WtKUF6DWD@bc3iR5Z>+~^?7=AvcXq>kl4l~-6+b%Z55&spvlo(_Ys)rewm zbg%O3e+?^(FkPdBX*R-?PJVP`e=z(0k!~h#W6FA}T> z=ZQ3ZgHq0sV&3fn897|W(7(y}N|ll0Cl(q)My^tZj33D3)3}WIjog5XsvYab^6hiF z>T}xSru)V5HG3jIDoOWC!PA%on5M}*UrQepH`p<$BH5LGP6nSR~r zC|c8WeH6aDFjFZlfRhS(L0B|5?$KK~kMeb7xw#)sBtrzW*n-{`3>jc`d z^z#!37lqdLU{)R}c05u{PpSyvGMdElr$fdgstl8t43l4nj3Qc^{h?zM{@D%O0CC2G zNcw|hu-tc1ryk}7k=lzo^)RoO0p&jxJeIJLluy6rGBf@rb9#az^BaYy(8^?f<0aFj z;30EAof_=pG7HvoJ6-Dd{z;Yjn!;nVvaz;bH~4oT>GiR2GHbssr3l>GrkATN$+SN` zpc8LpWknwpa+UA&^U--&7j0)5F~`Eba&bf__Fsh*p0Ddd6Csb5?iitUG+4=)7#Aw# zXSlsz)}eswCJx}&S>u)deMZN&;Ixcq{kuacXIg%vv$|(>Y{$)BZ=)~g$q#Uuxqp-S zh$`~|U6L}VFqsc3br+J$vg#{v$fp79jcuH6BIi)>&ElrqIulTJC$-a zKd9QGl(V?qTRZ94MRsrCI{bx>?W&FvRmTS17!Mszr7U#ZqLj0EJL)@h#M0N_VjyFDCjo(_bj~(mG(S`BxZR5vKS1aX2 zekgtoZ!^U&U%h856-b|vG%Z}G3nOt9k-vMs3r%wN~~` zs7X3;I^%#W7g4Zaj?_Hi5IP>rjOPR{TJ{8l&s= z88l#31fSBk)O4gUeg;i{pK0}7SAiWD9TU(cH#a0Hj{QsdP`7LQ@@}_9<zG{+U?WKSt6K4NO0l+8D-IE1 zEju&ZrxmZUa_e5xiX+08tD~2%;2MNN$+Dp*%s8kG7tXY>spXJXOf8wnn}5)t+N?Dt zf^+pU&b~@DbYLEh8Z>OM}*$b0*YR7Xw_ z$d79KUxFrj(0)b`U?j53!oF$vr1r`YOkyEb;#a>?Ur z=&H(s&e$Y@!98(9M<8L*4fNpi zeBU?qOZwIO-*eAB_uO;OUFzNQnja;7t`8SaAEr!r2OM9}OP}*Aus*!Tl%~aP50^@5 zEX_u9kIk#OXsOV|u%0s23^23H#_=_D=QC?f`;>AGbYJ=*S!8K=5v6KBqqS6KOcYL6 zKjm8%Ucx7;@C>;=(^?*uM>4n7-%6-JG1O9s<;HhV=l^xREc^n(3^{N*}np!(@l z@hRb2(t>ZqQ+++MYnx{L1o~^i5ObIy*2eCqK3v1PSdY|V9k8Hz0xfS}bc=tspK~no zjpF`wsDB4_(HGq&-zaqbUvgWx{-%rm!d<{tf?vzEEBK{5pH53_4e0~ZzjXD6efR{t zjaJCNyFrEghbz8veLb-X{mQN4>h4`o(9g2Hg)dJ1S81a9sw;K|m*2RG2F&MO-IRAr zRUp6qgzkKas-l(nyt{zp!bU=ac45!EtN0#IDwLC!pK^=8b0g>bM?e4iYmr~q>nXR1 z>326QRv`bLJMZTpBV*V6pLVCR@$aq2(L^Wo5AF;ak!b(D`2)oNn{IKJ@bB{Z-|qAO zraRlnr}=-=ZDIa&!P0JPxSVQx+HIVJ-b#B8 zx)+>w*Ko;g>^sh6N^aat1L8eg=9{I=ZokZT`(@taM)`3ybl8uP20r5I=Q>UZ@i+WD z&--~k>Wa(hY1nufvV7EC_ODv5z1(VdxYaKr8_lem>EuA@Z`@*6_Xz?!7jpabG%Td4V!yjwoS)Np8`U$;Jnrn|%-{EU%x^b5;%;l8jpObb)5f|Z?{no* zu1)p2j1E_xq3Us>H-KMgCzsJKWo-A$cpH_W^|{ksByu{@eq=m~{9LH`h3j#Lj||jsB5#Kf4SMSI z`Owr`a6>LwPoqB{l6{-KJd6H9NEXU(1y?%ZKaTP?&IY^CX;#`=VSlGC1o)ljeDc3BeiHEn4?|kLitNF)K_Tw ziH4qpp&X?d=@4b80^F9PtCcU#lKGlif+}W0UzJs%xwR}&mC~YC6GD>I%t893DrYWe zYb!!5A{RPYxG5@>xlNH`HH7#9<4~)s3rT3y3?Olw)&L=e)R(KInI&^J}EsozqBy43--S(XW8KV;~D4; z&H_wbL!tjuQjEX)SQ>JMntBHN6HOh-M0XlzAe*)g58jyQNF|%%Lqm;;R8L|!k?wCw zC6a*B1HGxHed*r5&ZbyrVkp_v(LdO+Ki&vm+(iDkDV-c{>g(Ot)ZNk1bm;P>v89U} z`+5h`hZ?&F(oI)1^$v9Or8^T$CpTm1_VuQcZ-AsJb$BQdBy|3V>SE+{xPDQLG>(%@ zb#^AYqCF0ji0|>?ZvMWU6q0J}rOiFZ(Lx~sgChpLbVn+-Zo{Uv0N`jd-;lp|5Fku2 zc{mwM3=jA9CR3cPKi=0j*dd9a8%Q;#@n?WjDdzxDB5N#$Lm>EBB}Vt)F9oK0`xD8b z1hF8nw|gMo#~DC-WB(AolXT`g7*P(UkP7!ubTdbVoC4Q)>hSI1kgD-6sseXbh4K!l zNsc=%O|p2szjQYTf&JEJxbh5{*CqQJ*sLkvdr^&oLr*{-PQ_Ka7=k#w<`6Hs+xOMDJ0)`@uHggs+#;e)sRv}?Wz(| z6?u=SB@pDwBdWMvHMXni5W5)vD<4q>=aAg2rhr57DW$-y=wTJw)1o|gP8BNx3Moy4 z{xhm5rOLePRB1|0LZvJ30r&`kmEH$c+4Tmm24$t&P@$%Ft9tL#s*Hw}y zXij%&xter6s&s2M@Kynk!*j8xJLx)T@EA89V(u-`ZB^+m)rFY9T*4LCp!QFw(lh5( z<#|slf2oC-oKy=T;9WIUn@j;d;C^r$L2 z5A)cg=2O!`oB|@7dV~@SHp&-oBP0W**ApO}K%}sTauqtN=7$THGlxQyF`crYo!$B} zRp>pgiZ<(%TiFp!Ybsssv7lr9HQ+(-UDc!9@LC<4`S-??w;{K8y_x6p|NH` z1gH&7RH^2jQ|cV-=o;!g#o$=w4Xas4xPiQHs?aCZmhEWLIa>9_u!X|&DgwI6XH>ys z+WV-I$8^y!zFAPr44^5nfpG5CB-y+gU$QbtRv7N}j;m0(*85o-#G6y8CLCquP=|S3 zErjI750f97=KWE%oKppmKJ*rJ*a<(-Ru^4LwW?$#t8(vIs=*xODtII#4@~GNwDp*p zNwq9Hr&_(MRn^0|T|7~h5ywZvD2*KIeD5Ar9`1%K)>i3#3q?(XVW1-}SOifky;ooo zZIxno4w(l5_5&a#Z;h)uc;2t!i*} S7Rffj`E~-iA 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 m+YVFm-v`z)*U!(+Ml/ (i.e. origin/master) we must strip +# the remote from the tag. +if("${show_ref_output}" MATCHES "refs/remotes/cmocka-1.1.5") + string(REGEX MATCH "^([^/]+)/(.+)$" _unused "cmocka-1.1.5") + set(git_remote "${CMAKE_MATCH_1}") + set(git_tag "${CMAKE_MATCH_2}") +else() + set(git_remote "origin") + set(git_tag "cmocka-1.1.5") +endif() + +# This will fail if the tag does not exist (it probably has not been fetched +# yet). +execute_process( + COMMAND "/usr/bin/git" rev-list --max-count=1 cmocka-1.1.5 + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + RESULT_VARIABLE error_code + OUTPUT_VARIABLE tag_sha + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + +# Is the hash checkout out that we want? +if(error_code OR is_remote_ref OR NOT ("${tag_sha}" STREQUAL "${head_sha}")) + execute_process( + COMMAND "/usr/bin/git" fetch + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + RESULT_VARIABLE error_code + ) + if(error_code) + message(FATAL_ERROR "Failed to fetch repository 'https://git.cryptomilk.org/projects/cmocka.git'") + endif() + + if(is_remote_ref) + # Check if stash is needed + execute_process( + COMMAND "/usr/bin/git" status --porcelain + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + RESULT_VARIABLE error_code + OUTPUT_VARIABLE repo_status + ) + if(error_code) + message(FATAL_ERROR "Failed to get the status") + endif() + string(LENGTH "${repo_status}" need_stash) + + # If not in clean state, stash changes in order to be able to be able to + # perform git pull --rebase + if(need_stash) + execute_process( + COMMAND "/usr/bin/git" stash save --all;--quiet + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + RESULT_VARIABLE error_code + ) + if(error_code) + message(FATAL_ERROR "Failed to stash changes") + endif() + endif() + + # Pull changes from the remote branch + execute_process( + COMMAND "/usr/bin/git" rebase ${git_remote}/${git_tag} + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + RESULT_VARIABLE error_code + ) + if(error_code) + # Rebase failed: Restore previous state. + execute_process( + COMMAND "/usr/bin/git" rebase --abort + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + ) + if(need_stash) + execute_process( + COMMAND "/usr/bin/git" stash pop --index --quiet + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + ) + endif() + message(FATAL_ERROR "\nFailed to rebase in: '/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/'.\nYou will have to resolve the conflicts manually") + endif() + + if(need_stash) + execute_process( + COMMAND "/usr/bin/git" stash pop --index --quiet + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + RESULT_VARIABLE error_code + ) + if(error_code) + # Stash pop --index failed: Try again dropping the index + execute_process( + COMMAND "/usr/bin/git" reset --hard --quiet + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + RESULT_VARIABLE error_code + ) + execute_process( + COMMAND "/usr/bin/git" stash pop --quiet + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + RESULT_VARIABLE error_code + ) + if(error_code) + # Stash pop failed: Restore previous state. + execute_process( + COMMAND "/usr/bin/git" reset --hard --quiet ${head_sha} + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + ) + execute_process( + COMMAND "/usr/bin/git" stash pop --index --quiet + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + ) + message(FATAL_ERROR "\nFailed to unstash changes in: '/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/'.\nYou will have to resolve the conflicts manually") + endif() + endif() + endif() + else() + execute_process( + COMMAND "/usr/bin/git" checkout cmocka-1.1.5 + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" + RESULT_VARIABLE error_code + ) + if(error_code) + message(FATAL_ERROR "Failed to checkout tag: 'cmocka-1.1.5'") + endif() + endif() + + set(init_submodules TRUE) + if(init_submodules) + execute_process( + COMMAND "/usr/bin/git" submodule update --recursive --init + WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/" + RESULT_VARIABLE error_code + ) + endif() + if(error_code) + message(FATAL_ERROR "Failed to update submodules in: '/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/'") + endif() +endif() + diff --git a/tests/unit/build/cmake_install.cmake b/tests/unit/build/cmake_install.cmake new file mode 100644 index 0000000..200a7b6 --- /dev/null +++ b/tests/unit/build/cmake_install.cmake @@ -0,0 +1,55 @@ +# Install script for directory: /home/cseguret/Projects/app-ethereum/tests/unit + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + include("/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/cmake_install.cmake") + +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/cseguret/Projects/app-ethereum/tests/unit/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/tests/unit/build/compile_commands.json b/tests/unit/build/compile_commands.json new file mode 100644 index 0000000..e3cdaf9 --- /dev/null +++ b/tests/unit/build/compile_commands.json @@ -0,0 +1,12 @@ +[ +{ + "directory": "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src", + "command": "/usr/bin/cc -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include -g -Wall -pedantic -g -O0 --coverage -fPIC -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Wimplicit-fallthrough -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat -Wformat-security -Werror=format-security -fno-common -fstack-protector-strong -fstack-clash-protection -DHAVE_CONFIG_H -std=gnu11 -o CMakeFiles/cmocka-static.dir/cmocka.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c", + "file": "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c" +}, +{ + "directory": "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src", + "command": "/usr/bin/cc -Dcmocka_EXPORTS -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include -g -Wall -pedantic -g -O0 --coverage -fPIC -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Wimplicit-fallthrough -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat -Wformat-security -Werror=format-security -fno-common -fstack-protector-strong -fstack-clash-protection -DHAVE_CONFIG_H -std=gnu11 -o CMakeFiles/cmocka.dir/cmocka.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c", + "file": "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c" +} +] \ No newline at end of file diff --git a/tests/unit/build/libutils.so b/tests/unit/build/libutils.so new file mode 100755 index 0000000000000000000000000000000000000000..e23bb2304c55b64fa9e1bca1b26f3a1be08deba1 GIT binary patch literal 24792 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 literal 0 HcmV?d00001 diff --git a/tests/unit/build/test_main b/tests/unit/build/test_main new file mode 100755 index 0000000000000000000000000000000000000000..b12a8b55bed409e9ee7a055834375506d3e502a8 GIT binary patch literal 26448 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 literal 0 HcmV?d00001 diff --git a/tests/unit/tests/utils.c b/tests/unit/tests/utils.c new file mode 100644 index 0000000..eb703e6 --- /dev/null +++ b/tests/unit/tests/utils.c @@ -0,0 +1,18 @@ +#include +#include +#include +#include + +int local_strchr(char *string, char ch); + +static void null_test_success(void **state) { + assert_int_equal(local_strchr("salut", 'c'), -1); + assert_int_equal(local_strchr("av", 'a'), 0); +} + +int main(void) { + const struct CMUnitTest tests[] = { + cmocka_unit_test(null_test_success), + }; + return cmocka_run_group_tests(tests, NULL, NULL); +} \ No newline at end of file From 2931fdaee0bdbd1b42df998681606b5c56595405 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 4 Mar 2022 12:09:31 +0100 Subject: [PATCH 04/69] fix: rm build into tests/unit --- tests/unit/.gitignore | 1 + tests/unit/build/CMakeCache.txt | 873 ---------- tests/unit/build/CMakeDoxyfile.in | 280 --- tests/unit/build/CMakeDoxygenDefaults.cmake | 672 ------- .../CMakeFiles/3.16.3/CMakeCCompiler.cmake | 76 - .../3.16.3/CMakeDetermineCompilerABI_C.bin | Bin 16552 -> 0 bytes .../build/CMakeFiles/3.16.3/CMakeSystem.cmake | 15 - .../3.16.3/CompilerIdC/CMakeCCompilerId.c | 671 ------- .../build/CMakeFiles/3.16.3/CompilerIdC/a.out | Bin 16712 -> 0 bytes .../CMakeDirectoryInformation.cmake | 16 - tests/unit/build/CMakeFiles/CMakeError.log | 19 - tests/unit/build/CMakeFiles/CMakeOutput.log | 1543 ----------------- .../unit/build/CMakeFiles/CMakeRuleHashes.txt | 31 - .../CMAKE_SIZEOF_UNSIGNED_SHORT.bin | Bin 16552 -> 0 bytes .../CMAKE_SIZEOF_UNSIGNED_SHORT.c | 46 - .../Continuous.dir/DependInfo.cmake | 11 - .../CMakeFiles/Continuous.dir/build.make | 76 - .../Continuous.dir/cmake_clean.cmake | 8 - .../CMakeFiles/Continuous.dir/progress.make | 1 - .../ContinuousBuild.dir/DependInfo.cmake | 11 - .../CMakeFiles/ContinuousBuild.dir/build.make | 76 - .../ContinuousBuild.dir/cmake_clean.cmake | 8 - .../ContinuousBuild.dir/progress.make | 1 - .../ContinuousConfigure.dir/DependInfo.cmake | 11 - .../ContinuousConfigure.dir/build.make | 76 - .../ContinuousConfigure.dir/cmake_clean.cmake | 8 - .../ContinuousConfigure.dir/progress.make | 1 - .../ContinuousCoverage.dir/DependInfo.cmake | 11 - .../ContinuousCoverage.dir/build.make | 76 - .../ContinuousCoverage.dir/cmake_clean.cmake | 8 - .../ContinuousCoverage.dir/progress.make | 1 - .../ContinuousMemCheck.dir/DependInfo.cmake | 11 - .../ContinuousMemCheck.dir/build.make | 76 - .../ContinuousMemCheck.dir/cmake_clean.cmake | 8 - .../ContinuousMemCheck.dir/progress.make | 1 - .../ContinuousStart.dir/DependInfo.cmake | 11 - .../CMakeFiles/ContinuousStart.dir/build.make | 76 - .../ContinuousStart.dir/cmake_clean.cmake | 8 - .../ContinuousStart.dir/progress.make | 1 - .../ContinuousSubmit.dir/DependInfo.cmake | 11 - .../ContinuousSubmit.dir/build.make | 76 - .../ContinuousSubmit.dir/cmake_clean.cmake | 8 - .../ContinuousSubmit.dir/progress.make | 1 - .../ContinuousTest.dir/DependInfo.cmake | 11 - .../CMakeFiles/ContinuousTest.dir/build.make | 76 - .../ContinuousTest.dir/cmake_clean.cmake | 8 - .../ContinuousTest.dir/progress.make | 1 - .../ContinuousUpdate.dir/DependInfo.cmake | 11 - .../ContinuousUpdate.dir/build.make | 76 - .../ContinuousUpdate.dir/cmake_clean.cmake | 8 - .../ContinuousUpdate.dir/progress.make | 1 - .../Experimental.dir/DependInfo.cmake | 11 - .../CMakeFiles/Experimental.dir/build.make | 76 - .../Experimental.dir/cmake_clean.cmake | 8 - .../CMakeFiles/Experimental.dir/progress.make | 1 - .../ExperimentalBuild.dir/DependInfo.cmake | 11 - .../ExperimentalBuild.dir/build.make | 76 - .../ExperimentalBuild.dir/cmake_clean.cmake | 8 - .../ExperimentalBuild.dir/progress.make | 1 - .../DependInfo.cmake | 11 - .../ExperimentalConfigure.dir/build.make | 76 - .../cmake_clean.cmake | 8 - .../ExperimentalConfigure.dir/progress.make | 1 - .../ExperimentalCoverage.dir/DependInfo.cmake | 11 - .../ExperimentalCoverage.dir/build.make | 76 - .../cmake_clean.cmake | 8 - .../ExperimentalCoverage.dir/progress.make | 1 - .../ExperimentalMemCheck.dir/DependInfo.cmake | 11 - .../ExperimentalMemCheck.dir/build.make | 76 - .../cmake_clean.cmake | 8 - .../ExperimentalMemCheck.dir/progress.make | 1 - .../ExperimentalStart.dir/DependInfo.cmake | 11 - .../ExperimentalStart.dir/build.make | 76 - .../ExperimentalStart.dir/cmake_clean.cmake | 8 - .../ExperimentalStart.dir/progress.make | 1 - .../ExperimentalSubmit.dir/DependInfo.cmake | 11 - .../ExperimentalSubmit.dir/build.make | 76 - .../ExperimentalSubmit.dir/cmake_clean.cmake | 8 - .../ExperimentalSubmit.dir/progress.make | 1 - .../ExperimentalTest.dir/DependInfo.cmake | 11 - .../ExperimentalTest.dir/build.make | 76 - .../ExperimentalTest.dir/cmake_clean.cmake | 8 - .../ExperimentalTest.dir/progress.make | 1 - .../ExperimentalUpdate.dir/DependInfo.cmake | 11 - .../ExperimentalUpdate.dir/build.make | 76 - .../ExperimentalUpdate.dir/cmake_clean.cmake | 8 - .../ExperimentalUpdate.dir/progress.make | 1 - tests/unit/build/CMakeFiles/Makefile.cmake | 134 -- tests/unit/build/CMakeFiles/Makefile2 | 1111 ------------ .../CMakeFiles/Nightly.dir/DependInfo.cmake | 11 - .../build/CMakeFiles/Nightly.dir/build.make | 76 - .../CMakeFiles/Nightly.dir/cmake_clean.cmake | 8 - .../CMakeFiles/Nightly.dir/progress.make | 1 - .../NightlyBuild.dir/DependInfo.cmake | 11 - .../CMakeFiles/NightlyBuild.dir/build.make | 76 - .../NightlyBuild.dir/cmake_clean.cmake | 8 - .../CMakeFiles/NightlyBuild.dir/progress.make | 1 - .../NightlyConfigure.dir/DependInfo.cmake | 11 - .../NightlyConfigure.dir/build.make | 76 - .../NightlyConfigure.dir/cmake_clean.cmake | 8 - .../NightlyConfigure.dir/progress.make | 1 - .../NightlyCoverage.dir/DependInfo.cmake | 11 - .../CMakeFiles/NightlyCoverage.dir/build.make | 76 - .../NightlyCoverage.dir/cmake_clean.cmake | 8 - .../NightlyCoverage.dir/progress.make | 1 - .../NightlyMemCheck.dir/DependInfo.cmake | 11 - .../CMakeFiles/NightlyMemCheck.dir/build.make | 76 - .../NightlyMemCheck.dir/cmake_clean.cmake | 8 - .../NightlyMemCheck.dir/progress.make | 1 - .../NightlyMemoryCheck.dir/DependInfo.cmake | 11 - .../NightlyMemoryCheck.dir/build.make | 76 - .../NightlyMemoryCheck.dir/cmake_clean.cmake | 8 - .../NightlyMemoryCheck.dir/progress.make | 1 - .../NightlyStart.dir/DependInfo.cmake | 11 - .../CMakeFiles/NightlyStart.dir/build.make | 76 - .../NightlyStart.dir/cmake_clean.cmake | 8 - .../CMakeFiles/NightlyStart.dir/progress.make | 1 - .../NightlySubmit.dir/DependInfo.cmake | 11 - .../CMakeFiles/NightlySubmit.dir/build.make | 76 - .../NightlySubmit.dir/cmake_clean.cmake | 8 - .../NightlySubmit.dir/progress.make | 1 - .../NightlyTest.dir/DependInfo.cmake | 11 - .../CMakeFiles/NightlyTest.dir/build.make | 76 - .../NightlyTest.dir/cmake_clean.cmake | 8 - .../CMakeFiles/NightlyTest.dir/progress.make | 1 - .../NightlyUpdate.dir/DependInfo.cmake | 11 - .../CMakeFiles/NightlyUpdate.dir/build.make | 76 - .../NightlyUpdate.dir/cmake_clean.cmake | 8 - .../NightlyUpdate.dir/progress.make | 1 - .../build/CMakeFiles/TargetDirectories.txt | 79 - tests/unit/build/CMakeFiles/TestEndianess.bin | Bin 16544 -> 0 bytes tests/unit/build/CMakeFiles/cmake.check_cache | 1 - tests/unit/build/CMakeFiles/progress.marks | 1 - .../CMakeFiles/test_main.dir/C.includecache | 20 - .../CMakeFiles/test_main.dir/DependInfo.cmake | 31 - .../build/CMakeFiles/test_main.dir/build.make | 99 -- .../test_main.dir/cmake_clean.cmake | 10 - .../CMakeFiles/test_main.dir/depend.internal | 6 - .../CMakeFiles/test_main.dir/depend.make | 6 - .../build/CMakeFiles/test_main.dir/flags.make | 10 - .../build/CMakeFiles/test_main.dir/link.txt | 1 - .../CMakeFiles/test_main.dir/progress.make | 3 - .../test_main.dir/tests/main.c.gcda | Bin 120 -> 0 bytes .../test_main.dir/tests/main.c.gcno | Bin 808 -> 0 bytes .../CMakeFiles/test_main.dir/tests/main.c.o | Bin 8016 -> 0 bytes .../CMakeFiles/test_utils.dir/C.includecache | 20 - .../test_utils.dir/DependInfo.cmake | 32 - .../CMakeFiles/test_utils.dir/build.make | 100 -- .../test_utils.dir/cmake_clean.cmake | 10 - .../CMakeFiles/test_utils.dir/depend.internal | 6 - .../CMakeFiles/test_utils.dir/depend.make | 6 - .../CMakeFiles/test_utils.dir/flags.make | 10 - .../build/CMakeFiles/test_utils.dir/link.txt | 1 - .../CMakeFiles/test_utils.dir/progress.make | 3 - .../test_utils.dir/tests/utils.c.gcda | Bin 144 -> 0 bytes .../test_utils.dir/tests/utils.c.gcno | Bin 1180 -> 0 bytes .../CMakeFiles/test_utils.dir/tests/utils.c.o | Bin 8512 -> 0 bytes .../build/CMakeFiles/utils.dir/C.includecache | 12 - .../CMakeFiles/utils.dir/DependInfo.cmake | 30 - .../build/CMakeFiles/utils.dir/build.make | 98 -- .../CMakeFiles/utils.dir/cmake_clean.cmake | 10 - .../CMakeFiles/utils.dir/depend.internal | 5 - .../build/CMakeFiles/utils.dir/depend.make | 5 - .../build/CMakeFiles/utils.dir/flags.make | 10 - .../Projects/app-ethereum/src/utils2.c.gcda | Bin 84 -> 0 bytes .../Projects/app-ethereum/src/utils2.c.gcno | Bin 892 -> 0 bytes .../Projects/app-ethereum/src/utils2.c.o | Bin 5648 -> 0 bytes .../unit/build/CMakeFiles/utils.dir/link.txt | 1 - .../build/CMakeFiles/utils.dir/progress.make | 3 - tests/unit/build/CPackConfig.cmake | 94 - tests/unit/build/CPackSourceConfig.cmake | 100 -- tests/unit/build/CTestTestfile.cmake | 9 - tests/unit/build/DartConfiguration.tcl | 105 -- tests/unit/build/Makefile | 756 -------- .../build/Testing/Temporary/CTestCostData.txt | 3 - .../unit/build/Testing/Temporary/LastTest.log | 23 - .../CMakeDirectoryInformation.cmake | 16 - .../CMakeFiles/dist.dir/DependInfo.cmake | 11 - .../CMakeFiles/dist.dir/build.make | 76 - .../CMakeFiles/dist.dir/cmake_clean.cmake | 8 - .../CMakeFiles/dist.dir/progress.make | 1 - .../cmocka-build/CMakeFiles/progress.marks | 1 - .../_deps/cmocka-build/CTestTestfile.cmake | 9 - .../_deps/cmocka-build/DartConfiguration.tcl | 105 -- tests/unit/build/_deps/cmocka-build/Makefile | 236 --- .../_deps/cmocka-build/cmake_install.cmake | 58 - .../cmocka-build/cmocka-config-version.cmake | 37 - .../_deps/cmocka-build/cmocka-config.cmake | 39 - tests/unit/build/_deps/cmocka-build/cmocka.pc | 5 - tests/unit/build/_deps/cmocka-build/config.h | 169 -- .../CMakeDirectoryInformation.cmake | 16 - .../CMakeFiles/cmake_directory_clean.cmake | 3 - .../doc/CMakeFiles/docs.dir/DependInfo.cmake | 11 - .../doc/CMakeFiles/docs.dir/build.make | 78 - .../doc/CMakeFiles/docs.dir/cmake_clean.cmake | 8 - .../doc/CMakeFiles/docs.dir/progress.make | 2 - .../doc/CMakeFiles/progress.marks | 1 - .../cmocka-build/doc/CTestTestfile.cmake | 6 - .../_deps/cmocka-build/doc/Doxyfile.docs | 280 --- .../build/_deps/cmocka-build/doc/Makefile | 236 --- .../cmocka-build/doc/cmake_install.cmake | 39 - .../CMakeDirectoryInformation.cmake | 16 - .../include/CMakeFiles/progress.marks | 1 - .../cmocka-build/include/CTestTestfile.cmake | 6 - .../build/_deps/cmocka-build/include/Makefile | 220 --- .../cmocka-build/include/cmake_install.cmake | 46 - .../CMakeDirectoryInformation.cmake | 16 - .../cmocka-static.dir/C.includecache | 58 - .../cmocka-static.dir/DependInfo.cmake | 24 - .../CMakeFiles/cmocka-static.dir/build.make | 99 -- .../cmocka-static.dir/cmake_clean.cmake | 10 - .../cmake_clean_target.cmake | 3 - .../cmocka-static.dir/cmocka.c.gcno | Bin 183608 -> 0 bytes .../CMakeFiles/cmocka-static.dir/cmocka.c.o | Bin 217456 -> 0 bytes .../cmocka-static.dir/depend.internal | 8 - .../CMakeFiles/cmocka-static.dir/depend.make | 8 - .../CMakeFiles/cmocka-static.dir/flags.make | 10 - .../src/CMakeFiles/cmocka-static.dir/link.txt | 2 - .../cmocka-static.dir/progress.make | 3 - .../src/CMakeFiles/cmocka.dir/C.includecache | 58 - .../CMakeFiles/cmocka.dir/DependInfo.cmake | 36 - .../src/CMakeFiles/cmocka.dir/build.make | 105 -- .../CMakeFiles/cmocka.dir/cmake_clean.cmake | 12 - .../src/CMakeFiles/cmocka.dir/cmocka.c.gcda | Bin 10500 -> 0 bytes .../src/CMakeFiles/cmocka.dir/cmocka.c.gcno | Bin 183608 -> 0 bytes .../src/CMakeFiles/cmocka.dir/cmocka.c.o | Bin 217456 -> 0 bytes .../src/CMakeFiles/cmocka.dir/depend.internal | 8 - .../src/CMakeFiles/cmocka.dir/depend.make | 8 - .../src/CMakeFiles/cmocka.dir/flags.make | 10 - .../src/CMakeFiles/cmocka.dir/link.txt | 1 - .../src/CMakeFiles/cmocka.dir/progress.make | 3 - .../src/CMakeFiles/progress.marks | 1 - .../cmocka-build/src/CTestTestfile.cmake | 6 - .../build/_deps/cmocka-build/src/Makefile | 285 --- .../cmocka-build/src/cmake_install.cmake | 88 - .../_deps/cmocka-build/src/libcmocka-static.a | Bin 218706 -> 0 bytes .../build/_deps/cmocka-build/src/libcmocka.so | 1 - .../_deps/cmocka-build/src/libcmocka.so.0 | 1 - .../_deps/cmocka-build/src/libcmocka.so.0.7.0 | Bin 161280 -> 0 bytes tests/unit/build/_deps/cmocka-src | 1 - .../_deps/cmocka-subbuild/CMakeCache.txt | 114 -- .../CMakeFiles/3.16.3/CMakeSystem.cmake | 15 - .../CMakeDirectoryInformation.cmake | 16 - .../CMakeFiles/CMakeOutput.log | 1 - .../CMakeFiles/CMakeRuleHashes.txt | 11 - .../cmocka-subbuild/CMakeFiles/Makefile.cmake | 42 - .../cmocka-subbuild/CMakeFiles/Makefile2 | 106 -- .../CMakeFiles/TargetDirectories.txt | 3 - .../CMakeFiles/cmake.check_cache | 1 - .../CMakeFiles/cmocka-populate-complete | 0 .../cmocka-populate.dir/DependInfo.cmake | 11 - .../cmocka-populate.dir/Labels.json | 46 - .../CMakeFiles/cmocka-populate.dir/Labels.txt | 14 - .../CMakeFiles/cmocka-populate.dir/build.make | 147 -- .../cmocka-populate.dir/cmake_clean.cmake | 17 - .../cmocka-populate.dir/depend.internal | 3 - .../cmocka-populate.dir/depend.make | 3 - .../cmocka-populate.dir/progress.make | 10 - .../cmocka-subbuild/CMakeFiles/progress.marks | 1 - .../_deps/cmocka-subbuild/CMakeLists.txt | 23 - .../unit/build/_deps/cmocka-subbuild/Makefile | 148 -- .../_deps/cmocka-subbuild/cmake_install.cmake | 49 - .../cmocka-populate-build | 0 .../cmocka-populate-configure | 0 .../cmocka-populate-done | 0 .../cmocka-populate-download | 0 .../cmocka-populate-gitclone-lastrun.txt | 3 - .../cmocka-populate-gitinfo.txt | 3 - .../cmocka-populate-install | 0 .../cmocka-populate-mkdir | 0 .../cmocka-populate-patch | 0 .../cmocka-populate-test | 0 .../tmp/cmocka-populate-cfgcmd.txt | 1 - .../tmp/cmocka-populate-cfgcmd.txt.in | 1 - .../tmp/cmocka-populate-gitclone.cmake | 66 - .../tmp/cmocka-populate-gitupdate.cmake | 160 -- tests/unit/build/cmake_install.cmake | 55 - tests/unit/build/compile_commands.json | 12 - tests/unit/build/libutils.so | Bin 24792 -> 0 bytes tests/unit/build/test_main | Bin 26448 -> 0 bytes tests/unit/build/test_utils | Bin 34680 -> 0 bytes 281 files changed, 1 insertion(+), 13581 deletions(-) delete mode 100644 tests/unit/build/CMakeCache.txt delete mode 100644 tests/unit/build/CMakeDoxyfile.in delete mode 100644 tests/unit/build/CMakeDoxygenDefaults.cmake delete mode 100644 tests/unit/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake delete mode 100755 tests/unit/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin delete mode 100644 tests/unit/build/CMakeFiles/3.16.3/CMakeSystem.cmake delete mode 100644 tests/unit/build/CMakeFiles/3.16.3/CompilerIdC/CMakeCCompilerId.c delete mode 100755 tests/unit/build/CMakeFiles/3.16.3/CompilerIdC/a.out delete mode 100644 tests/unit/build/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 tests/unit/build/CMakeFiles/CMakeError.log delete mode 100644 tests/unit/build/CMakeFiles/CMakeOutput.log delete mode 100644 tests/unit/build/CMakeFiles/CMakeRuleHashes.txt delete mode 100755 tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.bin delete mode 100644 tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.c delete mode 100644 tests/unit/build/CMakeFiles/Continuous.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/Continuous.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/Continuous.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/Continuous.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousBuild.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousBuild.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousConfigure.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousConfigure.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousCoverage.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousCoverage.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousStart.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousStart.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousSubmit.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousSubmit.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousTest.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousTest.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousUpdate.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ContinuousUpdate.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/Experimental.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/Experimental.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/Experimental.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/Experimental.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalBuild.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalBuild.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalStart.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalStart.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalTest.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalTest.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/Makefile.cmake delete mode 100644 tests/unit/build/CMakeFiles/Makefile2 delete mode 100644 tests/unit/build/CMakeFiles/Nightly.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/Nightly.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/Nightly.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/Nightly.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyBuild.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyBuild.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyConfigure.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyConfigure.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyCoverage.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyCoverage.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyMemCheck.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyMemCheck.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyStart.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyStart.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlySubmit.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlySubmit.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyTest.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyTest.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyUpdate.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/NightlyUpdate.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/TargetDirectories.txt delete mode 100755 tests/unit/build/CMakeFiles/TestEndianess.bin delete mode 100644 tests/unit/build/CMakeFiles/cmake.check_cache delete mode 100644 tests/unit/build/CMakeFiles/progress.marks delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/C.includecache delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/depend.internal delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/depend.make delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/flags.make delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/link.txt delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcda delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcno delete mode 100644 tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.o delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/C.includecache delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/depend.internal delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/depend.make delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/flags.make delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/link.txt delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/progress.make delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.gcda delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.gcno delete mode 100644 tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.o delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/C.includecache delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/build.make delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/depend.internal delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/depend.make delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/flags.make delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcda delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcno delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/link.txt delete mode 100644 tests/unit/build/CMakeFiles/utils.dir/progress.make delete mode 100644 tests/unit/build/CPackConfig.cmake delete mode 100644 tests/unit/build/CPackSourceConfig.cmake delete mode 100644 tests/unit/build/CTestTestfile.cmake delete mode 100644 tests/unit/build/DartConfiguration.tcl delete mode 100644 tests/unit/build/Makefile delete mode 100644 tests/unit/build/Testing/Temporary/CTestCostData.txt delete mode 100644 tests/unit/build/Testing/Temporary/LastTest.log delete mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/build.make delete mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/progress.make delete mode 100644 tests/unit/build/_deps/cmocka-build/CMakeFiles/progress.marks delete mode 100644 tests/unit/build/_deps/cmocka-build/CTestTestfile.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/DartConfiguration.tcl delete mode 100644 tests/unit/build/_deps/cmocka-build/Makefile delete mode 100644 tests/unit/build/_deps/cmocka-build/cmake_install.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/cmocka-config-version.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/cmocka-config.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/cmocka.pc delete mode 100644 tests/unit/build/_deps/cmocka-build/config.h delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/cmake_directory_clean.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/progress.make delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/progress.marks delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/CTestTestfile.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/Doxyfile.docs delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/Makefile delete mode 100644 tests/unit/build/_deps/cmocka-build/doc/cmake_install.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/include/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/include/CMakeFiles/progress.marks delete mode 100644 tests/unit/build/_deps/cmocka-build/include/CTestTestfile.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/include/Makefile delete mode 100644 tests/unit/build/_deps/cmocka-build/include/cmake_install.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/C.includecache delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean_target.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.gcno delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend.internal delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend.make delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/flags.make delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/link.txt delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/progress.make delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/C.includecache delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcda delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcno delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend.internal delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend.make delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/flags.make delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/link.txt delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/progress.make delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CMakeFiles/progress.marks delete mode 100644 tests/unit/build/_deps/cmocka-build/src/CTestTestfile.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/src/Makefile delete mode 100644 tests/unit/build/_deps/cmocka-build/src/cmake_install.cmake delete mode 100644 tests/unit/build/_deps/cmocka-build/src/libcmocka-static.a delete mode 120000 tests/unit/build/_deps/cmocka-build/src/libcmocka.so delete mode 120000 tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0 delete mode 100755 tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0.7.0 delete mode 160000 tests/unit/build/_deps/cmocka-src delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeCache.txt delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/3.16.3/CMakeSystem.cmake delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/CMakeOutput.log delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/CMakeRuleHashes.txt delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/Makefile.cmake delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/Makefile2 delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/TargetDirectories.txt delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmake.check_cache delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate-complete delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/DependInfo.cmake delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/Labels.json delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/Labels.txt delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/build.make delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/cmake_clean.cmake delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/depend.internal delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/depend.make delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/cmocka-populate.dir/progress.make delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeFiles/progress.marks delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/CMakeLists.txt delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/Makefile delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmake_install.cmake delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-build delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-configure delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-done delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-download delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-gitclone-lastrun.txt delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-gitinfo.txt delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-install delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-mkdir delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-patch delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/src/cmocka-populate-stamp/cmocka-populate-test delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/tmp/cmocka-populate-cfgcmd.txt delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/tmp/cmocka-populate-cfgcmd.txt.in delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/tmp/cmocka-populate-gitclone.cmake delete mode 100644 tests/unit/build/_deps/cmocka-subbuild/cmocka-populate-prefix/tmp/cmocka-populate-gitupdate.cmake delete mode 100644 tests/unit/build/cmake_install.cmake delete mode 100644 tests/unit/build/compile_commands.json delete mode 100755 tests/unit/build/libutils.so delete mode 100755 tests/unit/build/test_main delete mode 100755 tests/unit/build/test_utils diff --git a/tests/unit/.gitignore b/tests/unit/.gitignore index b6fc032..2cbee4e 100644 --- a/tests/unit/.gitignore +++ b/tests/unit/.gitignore @@ -15,6 +15,7 @@ *.dylib cmake-build-*/ *build/ +build/ # Coverage file coverage.info diff --git a/tests/unit/build/CMakeCache.txt b/tests/unit/build/CMakeCache.txt deleted file mode 100644 index afd28da..0000000 --- a/tests/unit/build/CMakeCache.txt +++ /dev/null @@ -1,873 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/cseguret/Projects/app-ethereum/tests/unit/build -# It was generated by CMake: /usr/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Build the testing tree. -BUILD_TESTING:BOOL=ON - -//Path to a program. -BZRCOMMAND:FILEPATH=BZRCOMMAND-NOTFOUND - -//Path to a program. -CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line - -//Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar - -//Choose the type of build, options are: None Debug Release RelWithDebInfo -// MinSizeRel ... -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//Flags used by the CXX compiler during ADDRESSSANITIZER builds. -CMAKE_CXX_FLAGS_ADDRESSSANITIZER:STRING=-g -O1 -fsanitize=address -fno-omit-frame-pointer - -//Flags used by the CXX compiler during MEMORYSANITIZER builds. -CMAKE_CXX_FLAGS_MEMORYSANITIZER:STRING=-g -O2 -fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer - -//Flags used by the CXX compiler during PROFILING builds. -CMAKE_CXX_FLAGS_PROFILING:STRING=-O0 -g -fprofile-arcs -ftest-coverage - -//Flags used by the CXX compiler during UNDEFINEDSANITIZER builds. -CMAKE_CXX_FLAGS_UNDEFINEDSANITIZER:STRING=-g -O1 -fsanitize=undefined -fsanitize=null -fsanitize=alignment -fno-sanitize-recover - -//C compiler -CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc - -//A wrapper around 'ar' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9 - -//A wrapper around 'ranlib' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9 - -//Flags used by the C compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the C compiler during ADDRESSSANITIZER builds. -CMAKE_C_FLAGS_ADDRESSSANITIZER:STRING=-g -O1 -fsanitize=address -fno-omit-frame-pointer - -//Flags used by the C compiler during DEBUG builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the C compiler during MEMORYSANITIZER builds. -CMAKE_C_FLAGS_MEMORYSANITIZER:STRING=-g -O2 -fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer - -//Flags used by the C compiler during MINSIZEREL builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the C compiler during PROFILING builds. -CMAKE_C_FLAGS_PROFILING:STRING=-O0 -g -fprofile-arcs -ftest-coverage - -//Flags used by the C compiler during RELEASE builds. -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the C compiler during RELWITHDEBINFO builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Flags used by the C compiler during UNDEFINEDSANITIZER builds. -CMAKE_C_FLAGS_UNDEFINEDSANITIZER:STRING=-g -O1 -fsanitize=undefined -fsanitize=null -fsanitize=alignment -fno-sanitize-recover - -//Path to a program. -CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND - -//Flags used by the linker during ADDRESSSANITIZER builds. -CMAKE_EXEC_LINKER_FLAGS_ADDRESSSANITIZER:STRING=-fsanitize=address - -//Flags used by the linker during MEMORYSANITIZER builds. -CMAKE_EXEC_LINKER_FLAGS_MEMORYSANITIZER:STRING=-fsanitize=memory - -//Flags used by the linker during PROFILING builds. -CMAKE_EXEC_LINKER_FLAGS_PROFILING:STRING=-fprofile-arcs -ftest-coverage - -//Flags used by the linker during UNDEFINEDSANITIZER builds. -CMAKE_EXEC_LINKER_FLAGS_UNDEFINEDSANITIZER:STRING=-fsanitize=undefined - -//Flags used by the linker during all build types. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during DEBUG builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during MINSIZEREL builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during RELEASE builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during RELWITHDEBINFO builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF - -//User executables (bin) -CMAKE_INSTALL_BINDIR:PATH=bin - -//Read-only architecture-independent data (DATAROOTDIR) -CMAKE_INSTALL_DATADIR:PATH= - -//Read-only architecture-independent data root (share) -CMAKE_INSTALL_DATAROOTDIR:PATH=share - -//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) -CMAKE_INSTALL_DOCDIR:PATH= - -//C header files (include) -CMAKE_INSTALL_INCLUDEDIR:PATH=include - -//Info documentation (DATAROOTDIR/info) -CMAKE_INSTALL_INFODIR:PATH= - -//Object code libraries (lib) -CMAKE_INSTALL_LIBDIR:PATH=lib - -//Program executables (libexec) -CMAKE_INSTALL_LIBEXECDIR:PATH=libexec - -//Locale-dependent data (DATAROOTDIR/locale) -CMAKE_INSTALL_LOCALEDIR:PATH= - -//Modifiable single-machine data (var) -CMAKE_INSTALL_LOCALSTATEDIR:PATH=var - -//Man documentation (DATAROOTDIR/man) -CMAKE_INSTALL_MANDIR:PATH= - -//C header files for non-gcc (/usr/include) -CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Run-time variable data (LOCALSTATEDIR/run) -CMAKE_INSTALL_RUNSTATEDIR:PATH= - -//System admin executables (sbin) -CMAKE_INSTALL_SBINDIR:PATH=sbin - -//Modifiable architecture-independent data (com) -CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com - -//Read-only single-machine data (etc) -CMAKE_INSTALL_SYSCONFDIR:PATH=etc - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make - -//Flags used by the linker during the creation of modules during -// all build types. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of shared libraries -// during ADDRESSSANITIZER builds. -CMAKE_MODULE_LINKER_FLAGS_ADDRESSSANITIZER:STRING=-fsanitize=address - -//Flags used by the linker during the creation of modules during -// DEBUG builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of shared libraries -// during MEMORYSANITIZER builds. -CMAKE_MODULE_LINKER_FLAGS_MEMORYSANITIZER:STRING=-fsanitize=memory - -//Flags used by the linker during the creation of modules during -// MINSIZEREL builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of shared libraries -// during PROFILING builds. -CMAKE_MODULE_LINKER_FLAGS_PROFILING:STRING=-fprofile-arcs -ftest-coverage - -//Flags used by the linker during the creation of modules during -// RELEASE builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of modules during -// RELWITHDEBINFO builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Flags used by the linker during the creation of shared libraries -// during UNDEFINEDSANITIZER builds. -CMAKE_MODULE_LINKER_FLAGS_UNDEFINEDSANITIZER:STRING=-fsanitize=undefined - -//Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_DESCRIPTION:STATIC=Unit tests for C project - -//Value Computed by CMake -CMAKE_PROJECT_HOMEPAGE_URL:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=unit_tests - -//Value Computed by CMake -CMAKE_PROJECT_VERSION:STATIC=0.1 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_MAJOR:STATIC=0 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_MINOR:STATIC=1 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_PATCH:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_TWEAK:STATIC= - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib - -//Path to a program. -CMAKE_READELF:FILEPATH=/usr/bin/readelf - -//Flags used by the linker during the creation of shared libraries -// during all build types. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of shared libraries -// during ADDRESSSANITIZER builds. -CMAKE_SHARED_LINKER_FLAGS_ADDRESSSANITIZER:STRING=-fsanitize=address - -//Flags used by the linker during the creation of shared libraries -// during DEBUG builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of shared libraries -// during MEMORYSANITIZER builds. -CMAKE_SHARED_LINKER_FLAGS_MEMORYSANITIZER:STRING=-fsanitize=memory - -//Flags used by the linker during the creation of shared libraries -// during MINSIZEREL builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of shared libraries -// during PROFILING builds. -CMAKE_SHARED_LINKER_FLAGS_PROFILING:STRING=-fprofile-arcs -ftest-coverage - -//Flags used by the linker during the creation of shared libraries -// during RELEASE builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELWITHDEBINFO builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Flags used by the linker during the creation of shared libraries -// during UNDEFINEDSANITIZER builds. -CMAKE_SHARED_LINKER_FLAGS_UNDEFINEDSANITIZER:STRING=-fsanitize=undefined - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries -// during all build types. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of static libraries -// during DEBUG builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of static libraries -// during MINSIZEREL builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELEASE builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELWITHDEBINFO builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Path to include directory for cmocka_platform.h -CMOCKA_PLATFORM_INCLUDE:PATH= - -//Path to the coverage program that CTest uses for performing coverage -// inspection -COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov - -//Extra command line flags to pass to the coverage tool -COVERAGE_EXTRA_FLAGS:STRING=-l - -//Enable to build Debian packages -CPACK_BINARY_DEB:BOOL=OFF - -//Enable to build FreeBSD packages -CPACK_BINARY_FREEBSD:BOOL=OFF - -//Enable to build IFW packages -CPACK_BINARY_IFW:BOOL=OFF - -//Enable to build NSIS packages -CPACK_BINARY_NSIS:BOOL=OFF - -//Enable to build RPM packages -CPACK_BINARY_RPM:BOOL=OFF - -//Enable to build STGZ packages -CPACK_BINARY_STGZ:BOOL=ON - -//Enable to build TBZ2 packages -CPACK_BINARY_TBZ2:BOOL=OFF - -//Enable to build TGZ packages -CPACK_BINARY_TGZ:BOOL=ON - -//Enable to build TXZ packages -CPACK_BINARY_TXZ:BOOL=OFF - -//Enable to build TZ packages -CPACK_BINARY_TZ:BOOL=ON - -//How many times to retry timed-out CTest submissions. -CTEST_SUBMIT_RETRY_COUNT:STRING=3 - -//How long to wait between timed-out CTest submissions. -CTEST_SUBMIT_RETRY_DELAY:STRING=5 - -//Path to a program. -CVSCOMMAND:FILEPATH=CVSCOMMAND-NOTFOUND - -//Options passed to the cvs update command. -CVS_UPDATE_OPTIONS:STRING=-d -A -P - -//Maximum time allowed before CTest will kill the test. -DART_TESTING_TIMEOUT:STRING=1500 - -//Dot tool for use with Doxygen -DOXYGEN_DOT_EXECUTABLE:FILEPATH=DOXYGEN_DOT_EXECUTABLE-NOTFOUND - -//Doxygen documentation generation tool (http://www.doxygen.org) -DOXYGEN_EXECUTABLE:FILEPATH=/usr/bin/doxygen - -//Directory under which to collect all populated content -FETCHCONTENT_BASE_DIR:PATH=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps - -//Disables all attempts to download or update content and assumes -// source dirs already exist -FETCHCONTENT_FULLY_DISCONNECTED:BOOL=OFF - -//Enables QUIET option for all content population -FETCHCONTENT_QUIET:BOOL=ON - -//When not empty, overrides where to find pre-populated content -// for cmocka -FETCHCONTENT_SOURCE_DIR_CMOCKA:PATH= - -//Enables UPDATE_DISCONNECTED behavior for all content population -FETCHCONTENT_UPDATES_DISCONNECTED:BOOL=OFF - -//Enables UPDATE_DISCONNECTED behavior just for population of cmocka -FETCHCONTENT_UPDATES_DISCONNECTED_CMOCKA:BOOL=OFF - -//Path to a program. -GITCOMMAND:FILEPATH=/usr/bin/git - -//Path to a program. -HGCOMMAND:FILEPATH=HGCOMMAND-NOTFOUND - -//Command to build the project -MAKECOMMAND:STRING=/usr/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}" - -//Path to the memory checking command, used for memory error detection. -MEMORYCHECK_COMMAND:FILEPATH=MEMORYCHECK_COMMAND-NOTFOUND - -//File that contains suppressions for the memory checker -MEMORYCHECK_SUPPRESSIONS_FILE:FILEPATH= - -//Path to a program. -P4COMMAND:FILEPATH=P4COMMAND-NOTFOUND - -//Build with picky developer flags -PICKY_DEVELOPER:BOOL=OFF - -//Path to a library. -RT_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/librt.so - -//Name of the computer/site where compile is being run -SITE:STRING=LPPS0065 - -//Path to the SLURM sbatch executable -SLURM_SBATCH_COMMAND:FILEPATH=SLURM_SBATCH_COMMAND-NOTFOUND - -//Path to the SLURM srun executable -SLURM_SRUN_COMMAND:FILEPATH=SLURM_SRUN_COMMAND-NOTFOUND - -//Path to a program. -SVNCOMMAND:FILEPATH=SVNCOMMAND-NOTFOUND - -//Build with unit testing -UNIT_TESTING:BOOL=OFF - -//Install a cmockery header -WITH_CMOCKERY_SUPPORT:BOOL=OFF - -//Build examples -WITH_EXAMPLES:BOOL=OFF - -//Build with a static library -WITH_STATIC_LIB:BOOL=ON - -//Value Computed by CMake -cmocka-header_BINARY_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include - -//Value Computed by CMake -cmocka-header_SOURCE_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include - -//Value Computed by CMake -cmocka-library_BINARY_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src - -//Value Computed by CMake -cmocka-library_SOURCE_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src - -//Value Computed by CMake -cmocka_BINARY_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build - -//The directory containing a CMake configuration file for cmocka. -cmocka_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/cmocka - -//Value Computed by CMake -cmocka_SOURCE_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src - -//Value Computed by CMake -unit_tests_BINARY_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit/build - -//Value Computed by CMake -unit_tests_SOURCE_DIR:STATIC=/home/cseguret/Projects/app-ethereum/tests/unit - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: BZRCOMMAND -BZRCOMMAND-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_ADDR2LINE -CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/cseguret/Projects/app-ethereum/tests/unit/build -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=16 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/usr/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack -//ADVANCED property for variable: CMAKE_CTEST_COMMAND -CMAKE_CTEST_COMMAND-ADVANCED:INTERNAL=1 -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_AR -CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB -CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_DLLTOOL -CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 -//Name of external makefile project generator. -CMAKE_EXTRA_GENERATOR:INTERNAL= -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Generator instance identifier. -CMAKE_GENERATOR_INSTANCE:INTERNAL= -//Name of generator platform. -CMAKE_GENERATOR_PLATFORM:INTERNAL= -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Source directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/cseguret/Projects/app-ethereum/tests/unit -//ADVANCED property for variable: CMAKE_INSTALL_BINDIR -CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_DATADIR -CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR -CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR -CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR -CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_INFODIR -CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR -CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR -CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR -CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR -CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_MANDIR -CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR -CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR -CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR -CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR -CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 -//Install .so files without execute permission. -CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR -CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=5 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//Platform information initialized -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_READELF -CMAKE_READELF-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.16 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//CHECK_TYPE_SIZE: sizeof(unsigned short) -CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=2 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -//cmocka link libraries -CMOCKA_LINK_LIBRARIES:INTERNAL= -//ADVANCED property for variable: CMOCKA_PLATFORM_INCLUDE -CMOCKA_PLATFORM_INCLUDE-ADVANCED:INTERNAL=1 -//cmocka shared library -CMOCKA_SHARED_LIBRARY:INTERNAL=cmocka -//cmocka static library -CMOCKA_STATIC_LIBRARY:INTERNAL=cmocka-static -//ADVANCED property for variable: COVERAGE_COMMAND -COVERAGE_COMMAND-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: COVERAGE_EXTRA_FLAGS -COVERAGE_EXTRA_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CPACK_BINARY_DEB -CPACK_BINARY_DEB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CPACK_BINARY_FREEBSD -CPACK_BINARY_FREEBSD-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CPACK_BINARY_IFW -CPACK_BINARY_IFW-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CPACK_BINARY_NSIS -CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CPACK_BINARY_RPM -CPACK_BINARY_RPM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CPACK_BINARY_STGZ -CPACK_BINARY_STGZ-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CPACK_BINARY_TBZ2 -CPACK_BINARY_TBZ2-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CPACK_BINARY_TGZ -CPACK_BINARY_TGZ-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CPACK_BINARY_TXZ -CPACK_BINARY_TXZ-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CPACK_BINARY_TZ -CPACK_BINARY_TZ-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CTEST_SUBMIT_RETRY_COUNT -CTEST_SUBMIT_RETRY_COUNT-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CTEST_SUBMIT_RETRY_DELAY -CTEST_SUBMIT_RETRY_DELAY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CVSCOMMAND -CVSCOMMAND-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CVS_UPDATE_OPTIONS -CVS_UPDATE_OPTIONS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: DART_TESTING_TIMEOUT -DART_TESTING_TIMEOUT-ADVANCED:INTERNAL=1 -//Default C Compiler Flags -DEFAULT_C_COMPILE_FLAGS:INTERNAL=-std=gnu99;-Wpedantic;-Wall;-Wshadow;-Wmissing-prototypes;-Wcast-align;-Werror=address;-Wstrict-prototypes;-Werror=strict-prototypes;-Wwrite-strings;-Werror=write-strings;-Werror-implicit-function-declaration;-Wpointer-arith;-Werror=pointer-arith;-Wdeclaration-after-statement;-Werror=declaration-after-statement;-Wreturn-type;-Werror=return-type;-Wuninitialized;-Werror=uninitialized;-Wimplicit-fallthrough;-Werror=strict-overflow;-Wstrict-overflow=2;-Wno-format-zero-length;-Wmissing-field-initializers;-Wformat;-Wformat-security;-Werror=format-security;-fno-common;-fstack-protector-strong;-fstack-clash-protection -//Default C Linker Flags -DEFAULT_LINK_FLAGS:INTERNAL= -//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE -DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: DOXYGEN_EXECUTABLE -DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1 -//Details about finding Doxygen -FIND_PACKAGE_MESSAGE_DETAILS_Doxygen:INTERNAL=[/usr/bin/doxygen][cfound components: doxygen missing components: dot][v1.8.17()] -//ADVANCED property for variable: GITCOMMAND -GITCOMMAND-ADVANCED:INTERNAL=1 -//Have include assert.h -HAVE_ASSERT_H:INTERNAL=1 -//Have function calloc -HAVE_CALLOC:INTERNAL=1 -//Have function clock_gettime -HAVE_CLOCK_GETTIME:INTERNAL=1 -//Test HAVE_CLOCK_REALTIME -HAVE_CLOCK_REALTIME:INTERNAL=1 -//Result of TRY_COMPILE -HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT:INTERNAL=TRUE -//Have function exit -HAVE_EXIT:INTERNAL=1 -//Have function fprintf -HAVE_FPRINTF:INTERNAL=1 -//Have function free -HAVE_FREE:INTERNAL=1 -//Test HAVE_GCC_THREAD_LOCAL_STORAGE -HAVE_GCC_THREAD_LOCAL_STORAGE:INTERNAL=1 -//Have include inttypes.h -HAVE_INTTYPES_H:INTERNAL=1 -//Have include io.h -HAVE_IO_H:INTERNAL= -//Have function longjmp -HAVE_LONGJMP:INTERNAL=1 -//Have function malloc -HAVE_MALLOC:INTERNAL=1 -//Have include malloc.h -HAVE_MALLOC_H:INTERNAL=1 -//Have function memcpy -HAVE_MEMCPY:INTERNAL=1 -//Have include memory.h -HAVE_MEMORY_H:INTERNAL=1 -//Have function memset -HAVE_MEMSET:INTERNAL=1 -//Have function printf -HAVE_PRINTF:INTERNAL=1 -//Have function setjmp -HAVE_SETJMP:INTERNAL=1 -//Have include setjmp.h -HAVE_SETJMP_H:INTERNAL=1 -//Have function siglongjmp -HAVE_SIGLONGJMP:INTERNAL=1 -//Have function signal -HAVE_SIGNAL:INTERNAL=1 -//Have include signal.h -HAVE_SIGNAL_H:INTERNAL=1 -//Have function sprintf -HAVE_SNPRINTF:INTERNAL=1 -//Have include stdarg.h -HAVE_STDARG_H:INTERNAL=1 -//Have include stddef.h -HAVE_STDDEF_H:INTERNAL=1 -//Have include stdint.h -HAVE_STDINT_H:INTERNAL=1 -//Have include stdio.h -HAVE_STDIO_H:INTERNAL=1 -//Have include stdlib.h -HAVE_STDLIB_H:INTERNAL=1 -//Have function strcmp -HAVE_STRCMP:INTERNAL=1 -//Have include strings.h -HAVE_STRINGS_H:INTERNAL=1 -//Have include string.h -HAVE_STRING_H:INTERNAL=1 -//Have function strsignal -HAVE_STRSIGNAL:INTERNAL=1 -//Test HAVE_STRUCT_TIMESPEC -HAVE_STRUCT_TIMESPEC:INTERNAL=1 -//Have include sys/stat.h -HAVE_SYS_STAT_H:INTERNAL=1 -//Have include sys/types.h -HAVE_SYS_TYPES_H:INTERNAL=1 -//Have include time.h -HAVE_TIME_H:INTERNAL=1 -//Have include unistd.h -HAVE_UNISTD_H:INTERNAL=1 -//Have function vsnprintf -HAVE_VSNPRINTF:INTERNAL=1 -//Result of TRY_COMPILE -HAVE_WORDS_BIGENDIAN:INTERNAL=TRUE -//ADVANCED property for variable: HGCOMMAND -HGCOMMAND-ADVANCED:INTERNAL=1 -INCLUDE_INSTALL_DIR:INTERNAL=include -LIB_INSTALL_DIR:INTERNAL=lib -//ADVANCED property for variable: MAKECOMMAND -MAKECOMMAND-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: MEMORYCHECK_COMMAND -MEMORYCHECK_COMMAND-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: MEMORYCHECK_SUPPRESSIONS_FILE -MEMORYCHECK_SUPPRESSIONS_FILE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: P4COMMAND -P4COMMAND-ADVANCED:INTERNAL=1 -//Test REQUIRED_FLAGS_WERROR -REQUIRED_FLAGS_WERROR:INTERNAL=1 -//Test REQUIRED_FLAGS_WFORMAT -REQUIRED_FLAGS_WFORMAT:INTERNAL=1 -//ADVANCED property for variable: SITE -SITE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: SLURM_SBATCH_COMMAND -SLURM_SBATCH_COMMAND-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: SLURM_SRUN_COMMAND -SLURM_SRUN_COMMAND-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: SVNCOMMAND -SVNCOMMAND-ADVANCED:INTERNAL=1 -//Test WITH_FNO_COMMON_FLAG -WITH_FNO_COMMON_FLAG:INTERNAL=1 -//Test WITH_STACK_CLASH_PROTECTION -WITH_STACK_CLASH_PROTECTION:INTERNAL=1 -//Test WITH_STACK_PROTECTOR_STRONG -WITH_STACK_PROTECTOR_STRONG:INTERNAL=1 -//Test WITH_STD_GNU99_FLAG -WITH_STD_GNU99_FLAG:INTERNAL=1 -//Test WITH_VISIBILITY_HIDDEN -WITH_VISIBILITY_HIDDEN:INTERNAL=1 -//Test WITH_WALL_FLAG -WITH_WALL_FLAG:INTERNAL=1 -//Test WITH_WCAST_ALIGN_FLAG -WITH_WCAST_ALIGN_FLAG:INTERNAL=1 -//Test WITH_WDECLARATION_AFTER_STATEMENT_FLAG -WITH_WDECLARATION_AFTER_STATEMENT_FLAG:INTERNAL=1 -//Test WITH_WERROR_ADDRESS_FLAG -WITH_WERROR_ADDRESS_FLAG:INTERNAL=1 -//Test WITH_WERROR_DECLARATION_AFTER_STATEMENT_FLAG -WITH_WERROR_DECLARATION_AFTER_STATEMENT_FLAG:INTERNAL=1 -//Test WITH_WERROR_FORMAT_SECURITY_FLAG -WITH_WERROR_FORMAT_SECURITY_FLAG:INTERNAL=1 -//Test WITH_WERROR_IMPLICIT_FUNCTION_DECLARATION_FLAG -WITH_WERROR_IMPLICIT_FUNCTION_DECLARATION_FLAG:INTERNAL=1 -//Test WITH_WERROR_POINTER_ARITH_FLAG -WITH_WERROR_POINTER_ARITH_FLAG:INTERNAL=1 -//Test WITH_WERROR_RETURN_TYPE_FLAG -WITH_WERROR_RETURN_TYPE_FLAG:INTERNAL=1 -//Test WITH_WERROR_STRICT_OVERFLOW_FLAG -WITH_WERROR_STRICT_OVERFLOW_FLAG:INTERNAL=1 -//Test WITH_WERROR_STRICT_PROTOTYPES_FLAG -WITH_WERROR_STRICT_PROTOTYPES_FLAG:INTERNAL=1 -//Test WITH_WERROR_UNINITIALIZED_FLAG -WITH_WERROR_UNINITIALIZED_FLAG:INTERNAL=1 -//Test WITH_WERROR_WRITE_STRINGS_FLAG -WITH_WERROR_WRITE_STRINGS_FLAG:INTERNAL=1 -//Test WITH_WFORMAT_SECURITY_FLAG -WITH_WFORMAT_SECURITY_FLAG:INTERNAL=1 -//Test WITH_WIMPLICIT_FALLTHROUGH_FLAG -WITH_WIMPLICIT_FALLTHROUGH_FLAG:INTERNAL=1 -//Test WITH_WMISSING_FIELD_INITIALIZERS_FLAG -WITH_WMISSING_FIELD_INITIALIZERS_FLAG:INTERNAL=1 -//Test WITH_WMISSING_PROTOTYPES_FLAG -WITH_WMISSING_PROTOTYPES_FLAG:INTERNAL=1 -//Test WITH_WNO_FORMAT_ZERO_LENGTH_FLAG -WITH_WNO_FORMAT_ZERO_LENGTH_FLAG:INTERNAL=1 -//Test WITH_WPEDANTIC_FLAG -WITH_WPEDANTIC_FLAG:INTERNAL=1 -//Test WITH_WPOINTER_ARITH_FLAG -WITH_WPOINTER_ARITH_FLAG:INTERNAL=1 -//Test WITH_WRETURN_TYPE_FLAG -WITH_WRETURN_TYPE_FLAG:INTERNAL=1 -//Test WITH_WSHADOW_FLAG -WITH_WSHADOW_FLAG:INTERNAL=1 -//Test WITH_WSTRICT_OVERFLOW_2_FLAG -WITH_WSTRICT_OVERFLOW_2_FLAG:INTERNAL=1 -//Test WITH_WSTRICT_PROTOTYPES_FLAG -WITH_WSTRICT_PROTOTYPES_FLAG:INTERNAL=1 -//Test WITH_WUNINITIALIZED_FLAG -WITH_WUNINITIALIZED_FLAG:INTERNAL=1 -//Test WITH_WWRITE_STRINGS_FLAG -WITH_WWRITE_STRINGS_FLAG:INTERNAL=1 -//Result of TEST_BIG_ENDIAN -WORDS_BIGENDIAN:INTERNAL=0 -//CMAKE_INSTALL_PREFIX during last run -_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/usr/local - diff --git a/tests/unit/build/CMakeDoxyfile.in b/tests/unit/build/CMakeDoxyfile.in deleted file mode 100644 index 848a3c8..0000000 --- a/tests/unit/build/CMakeDoxyfile.in +++ /dev/null @@ -1,280 +0,0 @@ -# -# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE! -# - -DOXYFILE_ENCODING = @DOXYGEN_DOXYFILE_ENCODING@ -PROJECT_NAME = @DOXYGEN_PROJECT_NAME@ -PROJECT_NUMBER = @DOXYGEN_PROJECT_NUMBER@ -PROJECT_BRIEF = @DOXYGEN_PROJECT_BRIEF@ -PROJECT_LOGO = @DOXYGEN_PROJECT_LOGO@ -OUTPUT_DIRECTORY = @DOXYGEN_OUTPUT_DIRECTORY@ -CREATE_SUBDIRS = @DOXYGEN_CREATE_SUBDIRS@ -ALLOW_UNICODE_NAMES = @DOXYGEN_ALLOW_UNICODE_NAMES@ -OUTPUT_LANGUAGE = @DOXYGEN_OUTPUT_LANGUAGE@ -OUTPUT_TEXT_DIRECTION = @DOXYGEN_OUTPUT_TEXT_DIRECTION@ -BRIEF_MEMBER_DESC = @DOXYGEN_BRIEF_MEMBER_DESC@ -REPEAT_BRIEF = @DOXYGEN_REPEAT_BRIEF@ -ABBREVIATE_BRIEF = @DOXYGEN_ABBREVIATE_BRIEF@ -ALWAYS_DETAILED_SEC = @DOXYGEN_ALWAYS_DETAILED_SEC@ -INLINE_INHERITED_MEMB = @DOXYGEN_INLINE_INHERITED_MEMB@ -FULL_PATH_NAMES = @DOXYGEN_FULL_PATH_NAMES@ -STRIP_FROM_PATH = @DOXYGEN_STRIP_FROM_PATH@ -STRIP_FROM_INC_PATH = @DOXYGEN_STRIP_FROM_INC_PATH@ -SHORT_NAMES = @DOXYGEN_SHORT_NAMES@ -JAVADOC_AUTOBRIEF = @DOXYGEN_JAVADOC_AUTOBRIEF@ -JAVADOC_BANNER = @DOXYGEN_JAVADOC_BANNER@ -QT_AUTOBRIEF = @DOXYGEN_QT_AUTOBRIEF@ -MULTILINE_CPP_IS_BRIEF = @DOXYGEN_MULTILINE_CPP_IS_BRIEF@ -INHERIT_DOCS = @DOXYGEN_INHERIT_DOCS@ -SEPARATE_MEMBER_PAGES = @DOXYGEN_SEPARATE_MEMBER_PAGES@ -TAB_SIZE = @DOXYGEN_TAB_SIZE@ -ALIASES = @DOXYGEN_ALIASES@ -TCL_SUBST = @DOXYGEN_TCL_SUBST@ -OPTIMIZE_OUTPUT_FOR_C = @DOXYGEN_OPTIMIZE_OUTPUT_FOR_C@ -OPTIMIZE_OUTPUT_JAVA = @DOXYGEN_OPTIMIZE_OUTPUT_JAVA@ -OPTIMIZE_FOR_FORTRAN = @DOXYGEN_OPTIMIZE_FOR_FORTRAN@ -OPTIMIZE_OUTPUT_VHDL = @DOXYGEN_OPTIMIZE_OUTPUT_VHDL@ -OPTIMIZE_OUTPUT_SLICE = @DOXYGEN_OPTIMIZE_OUTPUT_SLICE@ -EXTENSION_MAPPING = @DOXYGEN_EXTENSION_MAPPING@ -MARKDOWN_SUPPORT = @DOXYGEN_MARKDOWN_SUPPORT@ -TOC_INCLUDE_HEADINGS = @DOXYGEN_TOC_INCLUDE_HEADINGS@ -AUTOLINK_SUPPORT = @DOXYGEN_AUTOLINK_SUPPORT@ -BUILTIN_STL_SUPPORT = @DOXYGEN_BUILTIN_STL_SUPPORT@ -CPP_CLI_SUPPORT = @DOXYGEN_CPP_CLI_SUPPORT@ -SIP_SUPPORT = @DOXYGEN_SIP_SUPPORT@ -IDL_PROPERTY_SUPPORT = @DOXYGEN_IDL_PROPERTY_SUPPORT@ -DISTRIBUTE_GROUP_DOC = @DOXYGEN_DISTRIBUTE_GROUP_DOC@ -GROUP_NESTED_COMPOUNDS = @DOXYGEN_GROUP_NESTED_COMPOUNDS@ -SUBGROUPING = @DOXYGEN_SUBGROUPING@ -INLINE_GROUPED_CLASSES = @DOXYGEN_INLINE_GROUPED_CLASSES@ -INLINE_SIMPLE_STRUCTS = @DOXYGEN_INLINE_SIMPLE_STRUCTS@ -TYPEDEF_HIDES_STRUCT = @DOXYGEN_TYPEDEF_HIDES_STRUCT@ -LOOKUP_CACHE_SIZE = @DOXYGEN_LOOKUP_CACHE_SIZE@ -EXTRACT_ALL = @DOXYGEN_EXTRACT_ALL@ -EXTRACT_PRIVATE = @DOXYGEN_EXTRACT_PRIVATE@ -EXTRACT_PRIV_VIRTUAL = @DOXYGEN_EXTRACT_PRIV_VIRTUAL@ -EXTRACT_PACKAGE = @DOXYGEN_EXTRACT_PACKAGE@ -EXTRACT_STATIC = @DOXYGEN_EXTRACT_STATIC@ -EXTRACT_LOCAL_CLASSES = @DOXYGEN_EXTRACT_LOCAL_CLASSES@ -EXTRACT_LOCAL_METHODS = @DOXYGEN_EXTRACT_LOCAL_METHODS@ -EXTRACT_ANON_NSPACES = @DOXYGEN_EXTRACT_ANON_NSPACES@ -HIDE_UNDOC_MEMBERS = @DOXYGEN_HIDE_UNDOC_MEMBERS@ -HIDE_UNDOC_CLASSES = @DOXYGEN_HIDE_UNDOC_CLASSES@ -HIDE_FRIEND_COMPOUNDS = @DOXYGEN_HIDE_FRIEND_COMPOUNDS@ -HIDE_IN_BODY_DOCS = @DOXYGEN_HIDE_IN_BODY_DOCS@ -INTERNAL_DOCS = @DOXYGEN_INTERNAL_DOCS@ -CASE_SENSE_NAMES = @DOXYGEN_CASE_SENSE_NAMES@ -HIDE_SCOPE_NAMES = @DOXYGEN_HIDE_SCOPE_NAMES@ -HIDE_COMPOUND_REFERENCE= @DOXYGEN_HIDE_COMPOUND_REFERENCE@ -SHOW_INCLUDE_FILES = @DOXYGEN_SHOW_INCLUDE_FILES@ -SHOW_GROUPED_MEMB_INC = @DOXYGEN_SHOW_GROUPED_MEMB_INC@ -FORCE_LOCAL_INCLUDES = @DOXYGEN_FORCE_LOCAL_INCLUDES@ -INLINE_INFO = @DOXYGEN_INLINE_INFO@ -SORT_MEMBER_DOCS = @DOXYGEN_SORT_MEMBER_DOCS@ -SORT_BRIEF_DOCS = @DOXYGEN_SORT_BRIEF_DOCS@ -SORT_MEMBERS_CTORS_1ST = @DOXYGEN_SORT_MEMBERS_CTORS_1ST@ -SORT_GROUP_NAMES = @DOXYGEN_SORT_GROUP_NAMES@ -SORT_BY_SCOPE_NAME = @DOXYGEN_SORT_BY_SCOPE_NAME@ -STRICT_PROTO_MATCHING = @DOXYGEN_STRICT_PROTO_MATCHING@ -GENERATE_TODOLIST = @DOXYGEN_GENERATE_TODOLIST@ -GENERATE_TESTLIST = @DOXYGEN_GENERATE_TESTLIST@ -GENERATE_BUGLIST = @DOXYGEN_GENERATE_BUGLIST@ -GENERATE_DEPRECATEDLIST= @DOXYGEN_GENERATE_DEPRECATEDLIST@ -ENABLED_SECTIONS = @DOXYGEN_ENABLED_SECTIONS@ -MAX_INITIALIZER_LINES = @DOXYGEN_MAX_INITIALIZER_LINES@ -SHOW_USED_FILES = @DOXYGEN_SHOW_USED_FILES@ -SHOW_FILES = @DOXYGEN_SHOW_FILES@ -SHOW_NAMESPACES = @DOXYGEN_SHOW_NAMESPACES@ -FILE_VERSION_FILTER = @DOXYGEN_FILE_VERSION_FILTER@ -LAYOUT_FILE = @DOXYGEN_LAYOUT_FILE@ -CITE_BIB_FILES = @DOXYGEN_CITE_BIB_FILES@ -QUIET = @DOXYGEN_QUIET@ -WARNINGS = @DOXYGEN_WARNINGS@ -WARN_IF_UNDOCUMENTED = @DOXYGEN_WARN_IF_UNDOCUMENTED@ -WARN_IF_DOC_ERROR = @DOXYGEN_WARN_IF_DOC_ERROR@ -WARN_NO_PARAMDOC = @DOXYGEN_WARN_NO_PARAMDOC@ -WARN_AS_ERROR = @DOXYGEN_WARN_AS_ERROR@ -WARN_FORMAT = @DOXYGEN_WARN_FORMAT@ -WARN_LOGFILE = @DOXYGEN_WARN_LOGFILE@ -INPUT = @DOXYGEN_INPUT@ -INPUT_ENCODING = @DOXYGEN_INPUT_ENCODING@ -FILE_PATTERNS = @DOXYGEN_FILE_PATTERNS@ -RECURSIVE = @DOXYGEN_RECURSIVE@ -EXCLUDE = @DOXYGEN_EXCLUDE@ -EXCLUDE_SYMLINKS = @DOXYGEN_EXCLUDE_SYMLINKS@ -EXCLUDE_PATTERNS = @DOXYGEN_EXCLUDE_PATTERNS@ -EXCLUDE_SYMBOLS = @DOXYGEN_EXCLUDE_SYMBOLS@ -EXAMPLE_PATH = @DOXYGEN_EXAMPLE_PATH@ -EXAMPLE_PATTERNS = @DOXYGEN_EXAMPLE_PATTERNS@ -EXAMPLE_RECURSIVE = @DOXYGEN_EXAMPLE_RECURSIVE@ -IMAGE_PATH = @DOXYGEN_IMAGE_PATH@ -INPUT_FILTER = @DOXYGEN_INPUT_FILTER@ -FILTER_PATTERNS = @DOXYGEN_FILTER_PATTERNS@ -FILTER_SOURCE_FILES = @DOXYGEN_FILTER_SOURCE_FILES@ -FILTER_SOURCE_PATTERNS = @DOXYGEN_FILTER_SOURCE_PATTERNS@ -USE_MDFILE_AS_MAINPAGE = @DOXYGEN_USE_MDFILE_AS_MAINPAGE@ -SOURCE_BROWSER = @DOXYGEN_SOURCE_BROWSER@ -INLINE_SOURCES = @DOXYGEN_INLINE_SOURCES@ -STRIP_CODE_COMMENTS = @DOXYGEN_STRIP_CODE_COMMENTS@ -REFERENCED_BY_RELATION = @DOXYGEN_REFERENCED_BY_RELATION@ -REFERENCES_RELATION = @DOXYGEN_REFERENCES_RELATION@ -REFERENCES_LINK_SOURCE = @DOXYGEN_REFERENCES_LINK_SOURCE@ -SOURCE_TOOLTIPS = @DOXYGEN_SOURCE_TOOLTIPS@ -USE_HTAGS = @DOXYGEN_USE_HTAGS@ -VERBATIM_HEADERS = @DOXYGEN_VERBATIM_HEADERS@ -CLANG_ASSISTED_PARSING = @DOXYGEN_CLANG_ASSISTED_PARSING@ -CLANG_OPTIONS = @DOXYGEN_CLANG_OPTIONS@ -CLANG_DATABASE_PATH = @DOXYGEN_CLANG_DATABASE_PATH@ -ALPHABETICAL_INDEX = @DOXYGEN_ALPHABETICAL_INDEX@ -COLS_IN_ALPHA_INDEX = @DOXYGEN_COLS_IN_ALPHA_INDEX@ -IGNORE_PREFIX = @DOXYGEN_IGNORE_PREFIX@ -GENERATE_HTML = @DOXYGEN_GENERATE_HTML@ -HTML_OUTPUT = @DOXYGEN_HTML_OUTPUT@ -HTML_FILE_EXTENSION = @DOXYGEN_HTML_FILE_EXTENSION@ -HTML_HEADER = @DOXYGEN_HTML_HEADER@ -HTML_FOOTER = @DOXYGEN_HTML_FOOTER@ -HTML_STYLESHEET = @DOXYGEN_HTML_STYLESHEET@ -HTML_EXTRA_STYLESHEET = @DOXYGEN_HTML_EXTRA_STYLESHEET@ -HTML_EXTRA_FILES = @DOXYGEN_HTML_EXTRA_FILES@ -HTML_COLORSTYLE_HUE = @DOXYGEN_HTML_COLORSTYLE_HUE@ -HTML_COLORSTYLE_SAT = @DOXYGEN_HTML_COLORSTYLE_SAT@ -HTML_COLORSTYLE_GAMMA = @DOXYGEN_HTML_COLORSTYLE_GAMMA@ -HTML_TIMESTAMP = @DOXYGEN_HTML_TIMESTAMP@ -HTML_DYNAMIC_MENUS = @DOXYGEN_HTML_DYNAMIC_MENUS@ -HTML_DYNAMIC_SECTIONS = @DOXYGEN_HTML_DYNAMIC_SECTIONS@ -HTML_INDEX_NUM_ENTRIES = @DOXYGEN_HTML_INDEX_NUM_ENTRIES@ -GENERATE_DOCSET = @DOXYGEN_GENERATE_DOCSET@ -DOCSET_FEEDNAME = @DOXYGEN_DOCSET_FEEDNAME@ -DOCSET_BUNDLE_ID = @DOXYGEN_DOCSET_BUNDLE_ID@ -DOCSET_PUBLISHER_ID = @DOXYGEN_DOCSET_PUBLISHER_ID@ -DOCSET_PUBLISHER_NAME = @DOXYGEN_DOCSET_PUBLISHER_NAME@ -GENERATE_HTMLHELP = @DOXYGEN_GENERATE_HTMLHELP@ -CHM_FILE = @DOXYGEN_CHM_FILE@ -HHC_LOCATION = @DOXYGEN_HHC_LOCATION@ -GENERATE_CHI = @DOXYGEN_GENERATE_CHI@ -CHM_INDEX_ENCODING = @DOXYGEN_CHM_INDEX_ENCODING@ -BINARY_TOC = @DOXYGEN_BINARY_TOC@ -TOC_EXPAND = @DOXYGEN_TOC_EXPAND@ -GENERATE_QHP = @DOXYGEN_GENERATE_QHP@ -QCH_FILE = @DOXYGEN_QCH_FILE@ -QHP_NAMESPACE = @DOXYGEN_QHP_NAMESPACE@ -QHP_VIRTUAL_FOLDER = @DOXYGEN_QHP_VIRTUAL_FOLDER@ -QHP_CUST_FILTER_NAME = @DOXYGEN_QHP_CUST_FILTER_NAME@ -QHP_CUST_FILTER_ATTRS = @DOXYGEN_QHP_CUST_FILTER_ATTRS@ -QHP_SECT_FILTER_ATTRS = @DOXYGEN_QHP_SECT_FILTER_ATTRS@ -QHG_LOCATION = @DOXYGEN_QHG_LOCATION@ -GENERATE_ECLIPSEHELP = @DOXYGEN_GENERATE_ECLIPSEHELP@ -ECLIPSE_DOC_ID = @DOXYGEN_ECLIPSE_DOC_ID@ -DISABLE_INDEX = @DOXYGEN_DISABLE_INDEX@ -GENERATE_TREEVIEW = @DOXYGEN_GENERATE_TREEVIEW@ -ENUM_VALUES_PER_LINE = @DOXYGEN_ENUM_VALUES_PER_LINE@ -TREEVIEW_WIDTH = @DOXYGEN_TREEVIEW_WIDTH@ -EXT_LINKS_IN_WINDOW = @DOXYGEN_EXT_LINKS_IN_WINDOW@ -FORMULA_FONTSIZE = @DOXYGEN_FORMULA_FONTSIZE@ -FORMULA_TRANSPARENT = @DOXYGEN_FORMULA_TRANSPARENT@ -FORMULA_MACROFILE = @DOXYGEN_FORMULA_MACROFILE@ -USE_MATHJAX = @DOXYGEN_USE_MATHJAX@ -MATHJAX_FORMAT = @DOXYGEN_MATHJAX_FORMAT@ -MATHJAX_RELPATH = @DOXYGEN_MATHJAX_RELPATH@ -MATHJAX_EXTENSIONS = @DOXYGEN_MATHJAX_EXTENSIONS@ -MATHJAX_CODEFILE = @DOXYGEN_MATHJAX_CODEFILE@ -SEARCHENGINE = @DOXYGEN_SEARCHENGINE@ -SERVER_BASED_SEARCH = @DOXYGEN_SERVER_BASED_SEARCH@ -EXTERNAL_SEARCH = @DOXYGEN_EXTERNAL_SEARCH@ -SEARCHENGINE_URL = @DOXYGEN_SEARCHENGINE_URL@ -SEARCHDATA_FILE = @DOXYGEN_SEARCHDATA_FILE@ -EXTERNAL_SEARCH_ID = @DOXYGEN_EXTERNAL_SEARCH_ID@ -EXTRA_SEARCH_MAPPINGS = @DOXYGEN_EXTRA_SEARCH_MAPPINGS@ -GENERATE_LATEX = @DOXYGEN_GENERATE_LATEX@ -LATEX_OUTPUT = @DOXYGEN_LATEX_OUTPUT@ -LATEX_CMD_NAME = @DOXYGEN_LATEX_CMD_NAME@ -MAKEINDEX_CMD_NAME = @DOXYGEN_MAKEINDEX_CMD_NAME@ -LATEX_MAKEINDEX_CMD = @DOXYGEN_LATEX_MAKEINDEX_CMD@ -COMPACT_LATEX = @DOXYGEN_COMPACT_LATEX@ -PAPER_TYPE = @DOXYGEN_PAPER_TYPE@ -EXTRA_PACKAGES = @DOXYGEN_EXTRA_PACKAGES@ -LATEX_HEADER = @DOXYGEN_LATEX_HEADER@ -LATEX_FOOTER = @DOXYGEN_LATEX_FOOTER@ -LATEX_EXTRA_STYLESHEET = @DOXYGEN_LATEX_EXTRA_STYLESHEET@ -LATEX_EXTRA_FILES = @DOXYGEN_LATEX_EXTRA_FILES@ -PDF_HYPERLINKS = @DOXYGEN_PDF_HYPERLINKS@ -USE_PDFLATEX = @DOXYGEN_USE_PDFLATEX@ -LATEX_BATCHMODE = @DOXYGEN_LATEX_BATCHMODE@ -LATEX_HIDE_INDICES = @DOXYGEN_LATEX_HIDE_INDICES@ -LATEX_SOURCE_CODE = @DOXYGEN_LATEX_SOURCE_CODE@ -LATEX_BIB_STYLE = @DOXYGEN_LATEX_BIB_STYLE@ -LATEX_TIMESTAMP = @DOXYGEN_LATEX_TIMESTAMP@ -LATEX_EMOJI_DIRECTORY = @DOXYGEN_LATEX_EMOJI_DIRECTORY@ -GENERATE_RTF = @DOXYGEN_GENERATE_RTF@ -RTF_OUTPUT = @DOXYGEN_RTF_OUTPUT@ -COMPACT_RTF = @DOXYGEN_COMPACT_RTF@ -RTF_HYPERLINKS = @DOXYGEN_RTF_HYPERLINKS@ -RTF_STYLESHEET_FILE = @DOXYGEN_RTF_STYLESHEET_FILE@ -RTF_EXTENSIONS_FILE = @DOXYGEN_RTF_EXTENSIONS_FILE@ -RTF_SOURCE_CODE = @DOXYGEN_RTF_SOURCE_CODE@ -GENERATE_MAN = @DOXYGEN_GENERATE_MAN@ -MAN_OUTPUT = @DOXYGEN_MAN_OUTPUT@ -MAN_EXTENSION = @DOXYGEN_MAN_EXTENSION@ -MAN_SUBDIR = @DOXYGEN_MAN_SUBDIR@ -MAN_LINKS = @DOXYGEN_MAN_LINKS@ -GENERATE_XML = @DOXYGEN_GENERATE_XML@ -XML_OUTPUT = @DOXYGEN_XML_OUTPUT@ -XML_PROGRAMLISTING = @DOXYGEN_XML_PROGRAMLISTING@ -XML_NS_MEMB_FILE_SCOPE = @DOXYGEN_XML_NS_MEMB_FILE_SCOPE@ -GENERATE_DOCBOOK = @DOXYGEN_GENERATE_DOCBOOK@ -DOCBOOK_OUTPUT = @DOXYGEN_DOCBOOK_OUTPUT@ -DOCBOOK_PROGRAMLISTING = @DOXYGEN_DOCBOOK_PROGRAMLISTING@ -GENERATE_AUTOGEN_DEF = @DOXYGEN_GENERATE_AUTOGEN_DEF@ -GENERATE_PERLMOD = @DOXYGEN_GENERATE_PERLMOD@ -PERLMOD_LATEX = @DOXYGEN_PERLMOD_LATEX@ -PERLMOD_PRETTY = @DOXYGEN_PERLMOD_PRETTY@ -PERLMOD_MAKEVAR_PREFIX = @DOXYGEN_PERLMOD_MAKEVAR_PREFIX@ -ENABLE_PREPROCESSING = @DOXYGEN_ENABLE_PREPROCESSING@ -MACRO_EXPANSION = @DOXYGEN_MACRO_EXPANSION@ -EXPAND_ONLY_PREDEF = @DOXYGEN_EXPAND_ONLY_PREDEF@ -SEARCH_INCLUDES = @DOXYGEN_SEARCH_INCLUDES@ -INCLUDE_PATH = @DOXYGEN_INCLUDE_PATH@ -INCLUDE_FILE_PATTERNS = @DOXYGEN_INCLUDE_FILE_PATTERNS@ -PREDEFINED = @DOXYGEN_PREDEFINED@ -EXPAND_AS_DEFINED = @DOXYGEN_EXPAND_AS_DEFINED@ -SKIP_FUNCTION_MACROS = @DOXYGEN_SKIP_FUNCTION_MACROS@ -TAGFILES = @DOXYGEN_TAGFILES@ -GENERATE_TAGFILE = @DOXYGEN_GENERATE_TAGFILE@ -ALLEXTERNALS = @DOXYGEN_ALLEXTERNALS@ -EXTERNAL_GROUPS = @DOXYGEN_EXTERNAL_GROUPS@ -EXTERNAL_PAGES = @DOXYGEN_EXTERNAL_PAGES@ -CLASS_DIAGRAMS = @DOXYGEN_CLASS_DIAGRAMS@ -DIA_PATH = @DOXYGEN_DIA_PATH@ -HIDE_UNDOC_RELATIONS = @DOXYGEN_HIDE_UNDOC_RELATIONS@ -HAVE_DOT = @DOXYGEN_HAVE_DOT@ -DOT_NUM_THREADS = @DOXYGEN_DOT_NUM_THREADS@ -DOT_FONTNAME = @DOXYGEN_DOT_FONTNAME@ -DOT_FONTSIZE = @DOXYGEN_DOT_FONTSIZE@ -DOT_FONTPATH = @DOXYGEN_DOT_FONTPATH@ -CLASS_GRAPH = @DOXYGEN_CLASS_GRAPH@ -COLLABORATION_GRAPH = @DOXYGEN_COLLABORATION_GRAPH@ -GROUP_GRAPHS = @DOXYGEN_GROUP_GRAPHS@ -UML_LOOK = @DOXYGEN_UML_LOOK@ -UML_LIMIT_NUM_FIELDS = @DOXYGEN_UML_LIMIT_NUM_FIELDS@ -TEMPLATE_RELATIONS = @DOXYGEN_TEMPLATE_RELATIONS@ -INCLUDE_GRAPH = @DOXYGEN_INCLUDE_GRAPH@ -INCLUDED_BY_GRAPH = @DOXYGEN_INCLUDED_BY_GRAPH@ -CALL_GRAPH = @DOXYGEN_CALL_GRAPH@ -CALLER_GRAPH = @DOXYGEN_CALLER_GRAPH@ -GRAPHICAL_HIERARCHY = @DOXYGEN_GRAPHICAL_HIERARCHY@ -DIRECTORY_GRAPH = @DOXYGEN_DIRECTORY_GRAPH@ -DOT_IMAGE_FORMAT = @DOXYGEN_DOT_IMAGE_FORMAT@ -INTERACTIVE_SVG = @DOXYGEN_INTERACTIVE_SVG@ -DOT_PATH = @DOXYGEN_DOT_PATH@ -DOTFILE_DIRS = @DOXYGEN_DOTFILE_DIRS@ -MSCFILE_DIRS = @DOXYGEN_MSCFILE_DIRS@ -DIAFILE_DIRS = @DOXYGEN_DIAFILE_DIRS@ -PLANTUML_JAR_PATH = @DOXYGEN_PLANTUML_JAR_PATH@ -PLANTUML_CFG_FILE = @DOXYGEN_PLANTUML_CFG_FILE@ -PLANTUML_INCLUDE_PATH = @DOXYGEN_PLANTUML_INCLUDE_PATH@ -DOT_GRAPH_MAX_NODES = @DOXYGEN_DOT_GRAPH_MAX_NODES@ -MAX_DOT_GRAPH_DEPTH = @DOXYGEN_MAX_DOT_GRAPH_DEPTH@ -DOT_TRANSPARENT = @DOXYGEN_DOT_TRANSPARENT@ -DOT_MULTI_TARGETS = @DOXYGEN_DOT_MULTI_TARGETS@ -GENERATE_LEGEND = @DOXYGEN_GENERATE_LEGEND@ -DOT_CLEANUP = @DOXYGEN_DOT_CLEANUP@ diff --git a/tests/unit/build/CMakeDoxygenDefaults.cmake b/tests/unit/build/CMakeDoxygenDefaults.cmake deleted file mode 100644 index db28798..0000000 --- a/tests/unit/build/CMakeDoxygenDefaults.cmake +++ /dev/null @@ -1,672 +0,0 @@ -# -# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE! -# - -if(NOT DEFINED DOXYGEN_DOXYFILE_ENCODING) - set(DOXYGEN_DOXYFILE_ENCODING UTF-8) -endif() -if(NOT DEFINED DOXYGEN_PROJECT_NAME) - set(DOXYGEN_PROJECT_NAME "My Project") -endif() -if(NOT DEFINED DOXYGEN_CREATE_SUBDIRS) - set(DOXYGEN_CREATE_SUBDIRS NO) -endif() -if(NOT DEFINED DOXYGEN_ALLOW_UNICODE_NAMES) - set(DOXYGEN_ALLOW_UNICODE_NAMES NO) -endif() -if(NOT DEFINED DOXYGEN_OUTPUT_LANGUAGE) - set(DOXYGEN_OUTPUT_LANGUAGE English) -endif() -if(NOT DEFINED DOXYGEN_OUTPUT_TEXT_DIRECTION) - set(DOXYGEN_OUTPUT_TEXT_DIRECTION None) -endif() -if(NOT DEFINED DOXYGEN_BRIEF_MEMBER_DESC) - set(DOXYGEN_BRIEF_MEMBER_DESC YES) -endif() -if(NOT DEFINED DOXYGEN_REPEAT_BRIEF) - set(DOXYGEN_REPEAT_BRIEF YES) -endif() -if(NOT DEFINED DOXYGEN_ABBREVIATE_BRIEF) - set(DOXYGEN_ABBREVIATE_BRIEF "The $name class" - "The $name widget" - "The $name file" - is - provides - specifies - contains - represents - a - an - the) -endif() -if(NOT DEFINED DOXYGEN_ALWAYS_DETAILED_SEC) - set(DOXYGEN_ALWAYS_DETAILED_SEC NO) -endif() -if(NOT DEFINED DOXYGEN_INLINE_INHERITED_MEMB) - set(DOXYGEN_INLINE_INHERITED_MEMB NO) -endif() -if(NOT DEFINED DOXYGEN_FULL_PATH_NAMES) - set(DOXYGEN_FULL_PATH_NAMES YES) -endif() -if(NOT DEFINED DOXYGEN_SHORT_NAMES) - set(DOXYGEN_SHORT_NAMES NO) -endif() -if(NOT DEFINED DOXYGEN_JAVADOC_AUTOBRIEF) - set(DOXYGEN_JAVADOC_AUTOBRIEF NO) -endif() -if(NOT DEFINED DOXYGEN_JAVADOC_BANNER) - set(DOXYGEN_JAVADOC_BANNER NO) -endif() -if(NOT DEFINED DOXYGEN_QT_AUTOBRIEF) - set(DOXYGEN_QT_AUTOBRIEF NO) -endif() -if(NOT DEFINED DOXYGEN_MULTILINE_CPP_IS_BRIEF) - set(DOXYGEN_MULTILINE_CPP_IS_BRIEF NO) -endif() -if(NOT DEFINED DOXYGEN_INHERIT_DOCS) - set(DOXYGEN_INHERIT_DOCS YES) -endif() -if(NOT DEFINED DOXYGEN_SEPARATE_MEMBER_PAGES) - set(DOXYGEN_SEPARATE_MEMBER_PAGES NO) -endif() -if(NOT DEFINED DOXYGEN_TAB_SIZE) - set(DOXYGEN_TAB_SIZE 4) -endif() -if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_FOR_C) - set(DOXYGEN_OPTIMIZE_OUTPUT_FOR_C NO) -endif() -if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_JAVA) - set(DOXYGEN_OPTIMIZE_OUTPUT_JAVA NO) -endif() -if(NOT DEFINED DOXYGEN_OPTIMIZE_FOR_FORTRAN) - set(DOXYGEN_OPTIMIZE_FOR_FORTRAN NO) -endif() -if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_VHDL) - set(DOXYGEN_OPTIMIZE_OUTPUT_VHDL NO) -endif() -if(NOT DEFINED DOXYGEN_OPTIMIZE_OUTPUT_SLICE) - set(DOXYGEN_OPTIMIZE_OUTPUT_SLICE NO) -endif() -if(NOT DEFINED DOXYGEN_MARKDOWN_SUPPORT) - set(DOXYGEN_MARKDOWN_SUPPORT YES) -endif() -if(NOT DEFINED DOXYGEN_TOC_INCLUDE_HEADINGS) - set(DOXYGEN_TOC_INCLUDE_HEADINGS 5) -endif() -if(NOT DEFINED DOXYGEN_AUTOLINK_SUPPORT) - set(DOXYGEN_AUTOLINK_SUPPORT YES) -endif() -if(NOT DEFINED DOXYGEN_BUILTIN_STL_SUPPORT) - set(DOXYGEN_BUILTIN_STL_SUPPORT NO) -endif() -if(NOT DEFINED DOXYGEN_CPP_CLI_SUPPORT) - set(DOXYGEN_CPP_CLI_SUPPORT NO) -endif() -if(NOT DEFINED DOXYGEN_SIP_SUPPORT) - set(DOXYGEN_SIP_SUPPORT NO) -endif() -if(NOT DEFINED DOXYGEN_IDL_PROPERTY_SUPPORT) - set(DOXYGEN_IDL_PROPERTY_SUPPORT YES) -endif() -if(NOT DEFINED DOXYGEN_DISTRIBUTE_GROUP_DOC) - set(DOXYGEN_DISTRIBUTE_GROUP_DOC NO) -endif() -if(NOT DEFINED DOXYGEN_GROUP_NESTED_COMPOUNDS) - set(DOXYGEN_GROUP_NESTED_COMPOUNDS NO) -endif() -if(NOT DEFINED DOXYGEN_SUBGROUPING) - set(DOXYGEN_SUBGROUPING YES) -endif() -if(NOT DEFINED DOXYGEN_INLINE_GROUPED_CLASSES) - set(DOXYGEN_INLINE_GROUPED_CLASSES NO) -endif() -if(NOT DEFINED DOXYGEN_INLINE_SIMPLE_STRUCTS) - set(DOXYGEN_INLINE_SIMPLE_STRUCTS NO) -endif() -if(NOT DEFINED DOXYGEN_TYPEDEF_HIDES_STRUCT) - set(DOXYGEN_TYPEDEF_HIDES_STRUCT NO) -endif() -if(NOT DEFINED DOXYGEN_LOOKUP_CACHE_SIZE) - set(DOXYGEN_LOOKUP_CACHE_SIZE 0) -endif() -if(NOT DEFINED DOXYGEN_EXTRACT_ALL) - set(DOXYGEN_EXTRACT_ALL NO) -endif() -if(NOT DEFINED DOXYGEN_EXTRACT_PRIVATE) - set(DOXYGEN_EXTRACT_PRIVATE NO) -endif() -if(NOT DEFINED DOXYGEN_EXTRACT_PRIV_VIRTUAL) - set(DOXYGEN_EXTRACT_PRIV_VIRTUAL NO) -endif() -if(NOT DEFINED DOXYGEN_EXTRACT_PACKAGE) - set(DOXYGEN_EXTRACT_PACKAGE NO) -endif() -if(NOT DEFINED DOXYGEN_EXTRACT_STATIC) - set(DOXYGEN_EXTRACT_STATIC NO) -endif() -if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_CLASSES) - set(DOXYGEN_EXTRACT_LOCAL_CLASSES YES) -endif() -if(NOT DEFINED DOXYGEN_EXTRACT_LOCAL_METHODS) - set(DOXYGEN_EXTRACT_LOCAL_METHODS NO) -endif() -if(NOT DEFINED DOXYGEN_EXTRACT_ANON_NSPACES) - set(DOXYGEN_EXTRACT_ANON_NSPACES NO) -endif() -if(NOT DEFINED DOXYGEN_HIDE_UNDOC_MEMBERS) - set(DOXYGEN_HIDE_UNDOC_MEMBERS NO) -endif() -if(NOT DEFINED DOXYGEN_HIDE_UNDOC_CLASSES) - set(DOXYGEN_HIDE_UNDOC_CLASSES NO) -endif() -if(NOT DEFINED DOXYGEN_HIDE_FRIEND_COMPOUNDS) - set(DOXYGEN_HIDE_FRIEND_COMPOUNDS NO) -endif() -if(NOT DEFINED DOXYGEN_HIDE_IN_BODY_DOCS) - set(DOXYGEN_HIDE_IN_BODY_DOCS NO) -endif() -if(NOT DEFINED DOXYGEN_INTERNAL_DOCS) - set(DOXYGEN_INTERNAL_DOCS NO) -endif() -if(NOT DEFINED DOXYGEN_CASE_SENSE_NAMES) - set(DOXYGEN_CASE_SENSE_NAMES YES) -endif() -if(NOT DEFINED DOXYGEN_HIDE_SCOPE_NAMES) - set(DOXYGEN_HIDE_SCOPE_NAMES NO) -endif() -if(NOT DEFINED DOXYGEN_HIDE_COMPOUND_REFERENCE) - set(DOXYGEN_HIDE_COMPOUND_REFERENCE NO) -endif() -if(NOT DEFINED DOXYGEN_SHOW_INCLUDE_FILES) - set(DOXYGEN_SHOW_INCLUDE_FILES YES) -endif() -if(NOT DEFINED DOXYGEN_SHOW_GROUPED_MEMB_INC) - set(DOXYGEN_SHOW_GROUPED_MEMB_INC NO) -endif() -if(NOT DEFINED DOXYGEN_FORCE_LOCAL_INCLUDES) - set(DOXYGEN_FORCE_LOCAL_INCLUDES NO) -endif() -if(NOT DEFINED DOXYGEN_INLINE_INFO) - set(DOXYGEN_INLINE_INFO YES) -endif() -if(NOT DEFINED DOXYGEN_SORT_MEMBER_DOCS) - set(DOXYGEN_SORT_MEMBER_DOCS YES) -endif() -if(NOT DEFINED DOXYGEN_SORT_BRIEF_DOCS) - set(DOXYGEN_SORT_BRIEF_DOCS NO) -endif() -if(NOT DEFINED DOXYGEN_SORT_MEMBERS_CTORS_1ST) - set(DOXYGEN_SORT_MEMBERS_CTORS_1ST NO) -endif() -if(NOT DEFINED DOXYGEN_SORT_GROUP_NAMES) - set(DOXYGEN_SORT_GROUP_NAMES NO) -endif() -if(NOT DEFINED DOXYGEN_SORT_BY_SCOPE_NAME) - set(DOXYGEN_SORT_BY_SCOPE_NAME NO) -endif() -if(NOT DEFINED DOXYGEN_STRICT_PROTO_MATCHING) - set(DOXYGEN_STRICT_PROTO_MATCHING NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_TODOLIST) - set(DOXYGEN_GENERATE_TODOLIST YES) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_TESTLIST) - set(DOXYGEN_GENERATE_TESTLIST YES) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_BUGLIST) - set(DOXYGEN_GENERATE_BUGLIST YES) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_DEPRECATEDLIST) - set(DOXYGEN_GENERATE_DEPRECATEDLIST YES) -endif() -if(NOT DEFINED DOXYGEN_MAX_INITIALIZER_LINES) - set(DOXYGEN_MAX_INITIALIZER_LINES 30) -endif() -if(NOT DEFINED DOXYGEN_SHOW_USED_FILES) - set(DOXYGEN_SHOW_USED_FILES YES) -endif() -if(NOT DEFINED DOXYGEN_SHOW_FILES) - set(DOXYGEN_SHOW_FILES YES) -endif() -if(NOT DEFINED DOXYGEN_SHOW_NAMESPACES) - set(DOXYGEN_SHOW_NAMESPACES YES) -endif() -if(NOT DEFINED DOXYGEN_QUIET) - set(DOXYGEN_QUIET NO) -endif() -if(NOT DEFINED DOXYGEN_WARNINGS) - set(DOXYGEN_WARNINGS YES) -endif() -if(NOT DEFINED DOXYGEN_WARN_IF_UNDOCUMENTED) - set(DOXYGEN_WARN_IF_UNDOCUMENTED YES) -endif() -if(NOT DEFINED DOXYGEN_WARN_IF_DOC_ERROR) - set(DOXYGEN_WARN_IF_DOC_ERROR YES) -endif() -if(NOT DEFINED DOXYGEN_WARN_NO_PARAMDOC) - set(DOXYGEN_WARN_NO_PARAMDOC NO) -endif() -if(NOT DEFINED DOXYGEN_WARN_AS_ERROR) - set(DOXYGEN_WARN_AS_ERROR NO) -endif() -if(NOT DEFINED DOXYGEN_WARN_FORMAT) - set(DOXYGEN_WARN_FORMAT "$file:$line: $text") -endif() -if(NOT DEFINED DOXYGEN_INPUT_ENCODING) - set(DOXYGEN_INPUT_ENCODING UTF-8) -endif() -if(NOT DEFINED DOXYGEN_FILE_PATTERNS) - set(DOXYGEN_FILE_PATTERNS *.c - *.cc - *.cxx - *.cpp - *.c++ - *.java - *.ii - *.ixx - *.ipp - *.i++ - *.inl - *.idl - *.ddl - *.odl - *.h - *.hh - *.hxx - *.hpp - *.h++ - *.cs - *.d - *.php - *.php4 - *.php5 - *.phtml - *.inc - *.m - *.markdown - *.md - *.mm - *.dox - *.doc - *.txt - *.py - *.pyw - *.f90 - *.f95 - *.f03 - *.f08 - *.f - *.for - *.tcl - *.vhd - *.vhdl - *.ucf - *.qsf - *.ice) -endif() -if(NOT DEFINED DOXYGEN_RECURSIVE) - set(DOXYGEN_RECURSIVE NO) -endif() -if(NOT DEFINED DOXYGEN_EXCLUDE_SYMLINKS) - set(DOXYGEN_EXCLUDE_SYMLINKS NO) -endif() -if(NOT DEFINED DOXYGEN_EXAMPLE_PATTERNS) - set(DOXYGEN_EXAMPLE_PATTERNS *) -endif() -if(NOT DEFINED DOXYGEN_EXAMPLE_RECURSIVE) - set(DOXYGEN_EXAMPLE_RECURSIVE NO) -endif() -if(NOT DEFINED DOXYGEN_FILTER_SOURCE_FILES) - set(DOXYGEN_FILTER_SOURCE_FILES NO) -endif() -if(NOT DEFINED DOXYGEN_SOURCE_BROWSER) - set(DOXYGEN_SOURCE_BROWSER NO) -endif() -if(NOT DEFINED DOXYGEN_INLINE_SOURCES) - set(DOXYGEN_INLINE_SOURCES NO) -endif() -if(NOT DEFINED DOXYGEN_STRIP_CODE_COMMENTS) - set(DOXYGEN_STRIP_CODE_COMMENTS YES) -endif() -if(NOT DEFINED DOXYGEN_REFERENCED_BY_RELATION) - set(DOXYGEN_REFERENCED_BY_RELATION NO) -endif() -if(NOT DEFINED DOXYGEN_REFERENCES_RELATION) - set(DOXYGEN_REFERENCES_RELATION NO) -endif() -if(NOT DEFINED DOXYGEN_REFERENCES_LINK_SOURCE) - set(DOXYGEN_REFERENCES_LINK_SOURCE YES) -endif() -if(NOT DEFINED DOXYGEN_SOURCE_TOOLTIPS) - set(DOXYGEN_SOURCE_TOOLTIPS YES) -endif() -if(NOT DEFINED DOXYGEN_USE_HTAGS) - set(DOXYGEN_USE_HTAGS NO) -endif() -if(NOT DEFINED DOXYGEN_VERBATIM_HEADERS) - set(DOXYGEN_VERBATIM_HEADERS YES) -endif() -if(NOT DEFINED DOXYGEN_CLANG_ASSISTED_PARSING) - set(DOXYGEN_CLANG_ASSISTED_PARSING NO) -endif() -if(NOT DEFINED DOXYGEN_ALPHABETICAL_INDEX) - set(DOXYGEN_ALPHABETICAL_INDEX YES) -endif() -if(NOT DEFINED DOXYGEN_COLS_IN_ALPHA_INDEX) - set(DOXYGEN_COLS_IN_ALPHA_INDEX 5) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_HTML) - set(DOXYGEN_GENERATE_HTML YES) -endif() -if(NOT DEFINED DOXYGEN_HTML_OUTPUT) - set(DOXYGEN_HTML_OUTPUT html) -endif() -if(NOT DEFINED DOXYGEN_HTML_FILE_EXTENSION) - set(DOXYGEN_HTML_FILE_EXTENSION .html) -endif() -if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_HUE) - set(DOXYGEN_HTML_COLORSTYLE_HUE 220) -endif() -if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_SAT) - set(DOXYGEN_HTML_COLORSTYLE_SAT 100) -endif() -if(NOT DEFINED DOXYGEN_HTML_COLORSTYLE_GAMMA) - set(DOXYGEN_HTML_COLORSTYLE_GAMMA 80) -endif() -if(NOT DEFINED DOXYGEN_HTML_TIMESTAMP) - set(DOXYGEN_HTML_TIMESTAMP NO) -endif() -if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_MENUS) - set(DOXYGEN_HTML_DYNAMIC_MENUS YES) -endif() -if(NOT DEFINED DOXYGEN_HTML_DYNAMIC_SECTIONS) - set(DOXYGEN_HTML_DYNAMIC_SECTIONS NO) -endif() -if(NOT DEFINED DOXYGEN_HTML_INDEX_NUM_ENTRIES) - set(DOXYGEN_HTML_INDEX_NUM_ENTRIES 100) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_DOCSET) - set(DOXYGEN_GENERATE_DOCSET NO) -endif() -if(NOT DEFINED DOXYGEN_DOCSET_FEEDNAME) - set(DOXYGEN_DOCSET_FEEDNAME "Doxygen generated docs") -endif() -if(NOT DEFINED DOXYGEN_DOCSET_BUNDLE_ID) - set(DOXYGEN_DOCSET_BUNDLE_ID org.doxygen.Project) -endif() -if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_ID) - set(DOXYGEN_DOCSET_PUBLISHER_ID org.doxygen.Publisher) -endif() -if(NOT DEFINED DOXYGEN_DOCSET_PUBLISHER_NAME) - set(DOXYGEN_DOCSET_PUBLISHER_NAME Publisher) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_HTMLHELP) - set(DOXYGEN_GENERATE_HTMLHELP NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_CHI) - set(DOXYGEN_GENERATE_CHI NO) -endif() -if(NOT DEFINED DOXYGEN_BINARY_TOC) - set(DOXYGEN_BINARY_TOC NO) -endif() -if(NOT DEFINED DOXYGEN_TOC_EXPAND) - set(DOXYGEN_TOC_EXPAND NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_QHP) - set(DOXYGEN_GENERATE_QHP NO) -endif() -if(NOT DEFINED DOXYGEN_QHP_NAMESPACE) - set(DOXYGEN_QHP_NAMESPACE org.doxygen.Project) -endif() -if(NOT DEFINED DOXYGEN_QHP_VIRTUAL_FOLDER) - set(DOXYGEN_QHP_VIRTUAL_FOLDER doc) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_ECLIPSEHELP) - set(DOXYGEN_GENERATE_ECLIPSEHELP NO) -endif() -if(NOT DEFINED DOXYGEN_ECLIPSE_DOC_ID) - set(DOXYGEN_ECLIPSE_DOC_ID org.doxygen.Project) -endif() -if(NOT DEFINED DOXYGEN_DISABLE_INDEX) - set(DOXYGEN_DISABLE_INDEX NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_TREEVIEW) - set(DOXYGEN_GENERATE_TREEVIEW NO) -endif() -if(NOT DEFINED DOXYGEN_ENUM_VALUES_PER_LINE) - set(DOXYGEN_ENUM_VALUES_PER_LINE 4) -endif() -if(NOT DEFINED DOXYGEN_TREEVIEW_WIDTH) - set(DOXYGEN_TREEVIEW_WIDTH 250) -endif() -if(NOT DEFINED DOXYGEN_EXT_LINKS_IN_WINDOW) - set(DOXYGEN_EXT_LINKS_IN_WINDOW NO) -endif() -if(NOT DEFINED DOXYGEN_FORMULA_FONTSIZE) - set(DOXYGEN_FORMULA_FONTSIZE 10) -endif() -if(NOT DEFINED DOXYGEN_FORMULA_TRANSPARENT) - set(DOXYGEN_FORMULA_TRANSPARENT YES) -endif() -if(NOT DEFINED DOXYGEN_USE_MATHJAX) - set(DOXYGEN_USE_MATHJAX NO) -endif() -if(NOT DEFINED DOXYGEN_MATHJAX_FORMAT) - set(DOXYGEN_MATHJAX_FORMAT HTML-CSS) -endif() -if(NOT DEFINED DOXYGEN_MATHJAX_RELPATH) - set(DOXYGEN_MATHJAX_RELPATH https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/) -endif() -if(NOT DEFINED DOXYGEN_SEARCHENGINE) - set(DOXYGEN_SEARCHENGINE YES) -endif() -if(NOT DEFINED DOXYGEN_SERVER_BASED_SEARCH) - set(DOXYGEN_SERVER_BASED_SEARCH NO) -endif() -if(NOT DEFINED DOXYGEN_EXTERNAL_SEARCH) - set(DOXYGEN_EXTERNAL_SEARCH NO) -endif() -if(NOT DEFINED DOXYGEN_SEARCHDATA_FILE) - set(DOXYGEN_SEARCHDATA_FILE searchdata.xml) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_LATEX) - set(DOXYGEN_GENERATE_LATEX YES) -endif() -if(NOT DEFINED DOXYGEN_LATEX_OUTPUT) - set(DOXYGEN_LATEX_OUTPUT latex) -endif() -if(NOT DEFINED DOXYGEN_MAKEINDEX_CMD_NAME) - set(DOXYGEN_MAKEINDEX_CMD_NAME makeindex) -endif() -if(NOT DEFINED DOXYGEN_LATEX_MAKEINDEX_CMD) - set(DOXYGEN_LATEX_MAKEINDEX_CMD makeindex) -endif() -if(NOT DEFINED DOXYGEN_COMPACT_LATEX) - set(DOXYGEN_COMPACT_LATEX NO) -endif() -if(NOT DEFINED DOXYGEN_PAPER_TYPE) - set(DOXYGEN_PAPER_TYPE a4) -endif() -if(NOT DEFINED DOXYGEN_PDF_HYPERLINKS) - set(DOXYGEN_PDF_HYPERLINKS YES) -endif() -if(NOT DEFINED DOXYGEN_USE_PDFLATEX) - set(DOXYGEN_USE_PDFLATEX YES) -endif() -if(NOT DEFINED DOXYGEN_LATEX_BATCHMODE) - set(DOXYGEN_LATEX_BATCHMODE NO) -endif() -if(NOT DEFINED DOXYGEN_LATEX_HIDE_INDICES) - set(DOXYGEN_LATEX_HIDE_INDICES NO) -endif() -if(NOT DEFINED DOXYGEN_LATEX_SOURCE_CODE) - set(DOXYGEN_LATEX_SOURCE_CODE NO) -endif() -if(NOT DEFINED DOXYGEN_LATEX_BIB_STYLE) - set(DOXYGEN_LATEX_BIB_STYLE plain) -endif() -if(NOT DEFINED DOXYGEN_LATEX_TIMESTAMP) - set(DOXYGEN_LATEX_TIMESTAMP NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_RTF) - set(DOXYGEN_GENERATE_RTF NO) -endif() -if(NOT DEFINED DOXYGEN_RTF_OUTPUT) - set(DOXYGEN_RTF_OUTPUT rtf) -endif() -if(NOT DEFINED DOXYGEN_COMPACT_RTF) - set(DOXYGEN_COMPACT_RTF NO) -endif() -if(NOT DEFINED DOXYGEN_RTF_HYPERLINKS) - set(DOXYGEN_RTF_HYPERLINKS NO) -endif() -if(NOT DEFINED DOXYGEN_RTF_SOURCE_CODE) - set(DOXYGEN_RTF_SOURCE_CODE NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_MAN) - set(DOXYGEN_GENERATE_MAN NO) -endif() -if(NOT DEFINED DOXYGEN_MAN_OUTPUT) - set(DOXYGEN_MAN_OUTPUT man) -endif() -if(NOT DEFINED DOXYGEN_MAN_EXTENSION) - set(DOXYGEN_MAN_EXTENSION .3) -endif() -if(NOT DEFINED DOXYGEN_MAN_LINKS) - set(DOXYGEN_MAN_LINKS NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_XML) - set(DOXYGEN_GENERATE_XML NO) -endif() -if(NOT DEFINED DOXYGEN_XML_OUTPUT) - set(DOXYGEN_XML_OUTPUT xml) -endif() -if(NOT DEFINED DOXYGEN_XML_PROGRAMLISTING) - set(DOXYGEN_XML_PROGRAMLISTING YES) -endif() -if(NOT DEFINED DOXYGEN_XML_NS_MEMB_FILE_SCOPE) - set(DOXYGEN_XML_NS_MEMB_FILE_SCOPE NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_DOCBOOK) - set(DOXYGEN_GENERATE_DOCBOOK NO) -endif() -if(NOT DEFINED DOXYGEN_DOCBOOK_OUTPUT) - set(DOXYGEN_DOCBOOK_OUTPUT docbook) -endif() -if(NOT DEFINED DOXYGEN_DOCBOOK_PROGRAMLISTING) - set(DOXYGEN_DOCBOOK_PROGRAMLISTING NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_AUTOGEN_DEF) - set(DOXYGEN_GENERATE_AUTOGEN_DEF NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_PERLMOD) - set(DOXYGEN_GENERATE_PERLMOD NO) -endif() -if(NOT DEFINED DOXYGEN_PERLMOD_LATEX) - set(DOXYGEN_PERLMOD_LATEX NO) -endif() -if(NOT DEFINED DOXYGEN_PERLMOD_PRETTY) - set(DOXYGEN_PERLMOD_PRETTY YES) -endif() -if(NOT DEFINED DOXYGEN_ENABLE_PREPROCESSING) - set(DOXYGEN_ENABLE_PREPROCESSING YES) -endif() -if(NOT DEFINED DOXYGEN_MACRO_EXPANSION) - set(DOXYGEN_MACRO_EXPANSION NO) -endif() -if(NOT DEFINED DOXYGEN_EXPAND_ONLY_PREDEF) - set(DOXYGEN_EXPAND_ONLY_PREDEF NO) -endif() -if(NOT DEFINED DOXYGEN_SEARCH_INCLUDES) - set(DOXYGEN_SEARCH_INCLUDES YES) -endif() -if(NOT DEFINED DOXYGEN_SKIP_FUNCTION_MACROS) - set(DOXYGEN_SKIP_FUNCTION_MACROS YES) -endif() -if(NOT DEFINED DOXYGEN_ALLEXTERNALS) - set(DOXYGEN_ALLEXTERNALS NO) -endif() -if(NOT DEFINED DOXYGEN_EXTERNAL_GROUPS) - set(DOXYGEN_EXTERNAL_GROUPS YES) -endif() -if(NOT DEFINED DOXYGEN_EXTERNAL_PAGES) - set(DOXYGEN_EXTERNAL_PAGES YES) -endif() -if(NOT DEFINED DOXYGEN_CLASS_DIAGRAMS) - set(DOXYGEN_CLASS_DIAGRAMS YES) -endif() -if(NOT DEFINED DOXYGEN_HIDE_UNDOC_RELATIONS) - set(DOXYGEN_HIDE_UNDOC_RELATIONS YES) -endif() -if(NOT DEFINED DOXYGEN_HAVE_DOT) - set(DOXYGEN_HAVE_DOT YES) -endif() -if(NOT DEFINED DOXYGEN_DOT_NUM_THREADS) - set(DOXYGEN_DOT_NUM_THREADS 0) -endif() -if(NOT DEFINED DOXYGEN_DOT_FONTNAME) - set(DOXYGEN_DOT_FONTNAME Helvetica) -endif() -if(NOT DEFINED DOXYGEN_DOT_FONTSIZE) - set(DOXYGEN_DOT_FONTSIZE 10) -endif() -if(NOT DEFINED DOXYGEN_CLASS_GRAPH) - set(DOXYGEN_CLASS_GRAPH YES) -endif() -if(NOT DEFINED DOXYGEN_COLLABORATION_GRAPH) - set(DOXYGEN_COLLABORATION_GRAPH YES) -endif() -if(NOT DEFINED DOXYGEN_GROUP_GRAPHS) - set(DOXYGEN_GROUP_GRAPHS YES) -endif() -if(NOT DEFINED DOXYGEN_UML_LOOK) - set(DOXYGEN_UML_LOOK NO) -endif() -if(NOT DEFINED DOXYGEN_UML_LIMIT_NUM_FIELDS) - set(DOXYGEN_UML_LIMIT_NUM_FIELDS 10) -endif() -if(NOT DEFINED DOXYGEN_TEMPLATE_RELATIONS) - set(DOXYGEN_TEMPLATE_RELATIONS NO) -endif() -if(NOT DEFINED DOXYGEN_INCLUDE_GRAPH) - set(DOXYGEN_INCLUDE_GRAPH YES) -endif() -if(NOT DEFINED DOXYGEN_INCLUDED_BY_GRAPH) - set(DOXYGEN_INCLUDED_BY_GRAPH YES) -endif() -if(NOT DEFINED DOXYGEN_CALL_GRAPH) - set(DOXYGEN_CALL_GRAPH NO) -endif() -if(NOT DEFINED DOXYGEN_CALLER_GRAPH) - set(DOXYGEN_CALLER_GRAPH NO) -endif() -if(NOT DEFINED DOXYGEN_GRAPHICAL_HIERARCHY) - set(DOXYGEN_GRAPHICAL_HIERARCHY YES) -endif() -if(NOT DEFINED DOXYGEN_DIRECTORY_GRAPH) - set(DOXYGEN_DIRECTORY_GRAPH YES) -endif() -if(NOT DEFINED DOXYGEN_DOT_IMAGE_FORMAT) - set(DOXYGEN_DOT_IMAGE_FORMAT png) -endif() -if(NOT DEFINED DOXYGEN_INTERACTIVE_SVG) - set(DOXYGEN_INTERACTIVE_SVG NO) -endif() -if(NOT DEFINED DOXYGEN_DOT_GRAPH_MAX_NODES) - set(DOXYGEN_DOT_GRAPH_MAX_NODES 50) -endif() -if(NOT DEFINED DOXYGEN_MAX_DOT_GRAPH_DEPTH) - set(DOXYGEN_MAX_DOT_GRAPH_DEPTH 0) -endif() -if(NOT DEFINED DOXYGEN_DOT_TRANSPARENT) - set(DOXYGEN_DOT_TRANSPARENT NO) -endif() -if(NOT DEFINED DOXYGEN_DOT_MULTI_TARGETS) - set(DOXYGEN_DOT_MULTI_TARGETS NO) -endif() -if(NOT DEFINED DOXYGEN_GENERATE_LEGEND) - set(DOXYGEN_GENERATE_LEGEND YES) -endif() -if(NOT DEFINED DOXYGEN_DOT_CLEANUP) - set(DOXYGEN_DOT_CLEANUP YES) -endif() diff --git a/tests/unit/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake b/tests/unit/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake deleted file mode 100644 index 2692f73..0000000 --- a/tests/unit/build/CMakeFiles/3.16.3/CMakeCCompiler.cmake +++ /dev/null @@ -1,76 +0,0 @@ -set(CMAKE_C_COMPILER "/usr/bin/cc") -set(CMAKE_C_COMPILER_ARG1 "") -set(CMAKE_C_COMPILER_ID "GNU") -set(CMAKE_C_COMPILER_VERSION "9.3.0") -set(CMAKE_C_COMPILER_VERSION_INTERNAL "") -set(CMAKE_C_COMPILER_WRAPPER "") -set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") -set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") -set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") -set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") -set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") - -set(CMAKE_C_PLATFORM_ID "Linux") -set(CMAKE_C_SIMULATE_ID "") -set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") -set(CMAKE_C_SIMULATE_VERSION "") - - - -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_MT "") -set(CMAKE_COMPILER_IS_GNUCC 1) -set(CMAKE_C_COMPILER_LOADED 1) -set(CMAKE_C_COMPILER_WORKS TRUE) -set(CMAKE_C_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW ) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_C_COMPILER_ENV_VAR "CC") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_C_COMPILER_ID_RUN 1) -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_C_LINKER_PREFERENCE 10) - -# Save compiler ABI information. -set(CMAKE_C_SIZEOF_DATA_PTR "8") -set(CMAKE_C_COMPILER_ABI "ELF") -set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") - -if(CMAKE_C_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_C_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -endif() - -if(CMAKE_C_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") -endif() - -set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/tests/unit/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin b/tests/unit/build/CMakeFiles/3.16.3/CMakeDetermineCompilerABI_C.bin deleted file mode 100755 index a3225b1f9d09c95af35231bd3b222dd69d2ccead..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16552 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 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" -# if __SUNPRO_C >= 0x5100 - /* __SUNPRO_C = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# endif - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - /* __HP_cc = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - /* __DECC_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) - -#elif defined(__IBMC__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 -# define COMPILER_ID "XL" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) -# define COMPILER_ID "Fujitsu" - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__TINYC__) -# define COMPILER_ID "TinyCC" - -#elif defined(__BCC__) -# define COMPILER_ID "Bruce" - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" -#if defined(__VISUALDSPVERSION__) - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - -#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) -# define COMPILER_ID "SDCC" -# if defined(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) -# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) -# else - /* SDCC = VRP */ -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(__CRAYXE) || defined(__CRAYXC) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - - -#if !defined(__STDC__) -# if (defined(_MSC_VER) && !defined(__clang__)) \ - || (defined(__ibmxl__) || defined(__IBMC__)) -# define C_DIALECT "90" -# else -# define C_DIALECT -# endif -#elif __STDC_VERSION__ >= 201000L -# define C_DIALECT "11" -#elif __STDC_VERSION__ >= 199901L -# define C_DIALECT "99" -#else -# define C_DIALECT "90" -#endif -const char* info_language_dialect_default = - "INFO" ":" "dialect_default[" C_DIALECT "]"; - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -# if defined(__CLASSIC_C__) -int main(argc, argv) int argc; char *argv[]; -# else -int main(int argc, char* argv[]) -# endif -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(__CRAYXE) || defined(__CRAYXC) - require += info_cray[argc]; -#endif - require += info_language_dialect_default[argc]; - (void)argv; - return require; -} -#endif diff --git a/tests/unit/build/CMakeFiles/3.16.3/CompilerIdC/a.out b/tests/unit/build/CMakeFiles/3.16.3/CompilerIdC/a.out deleted file mode 100755 index 46f1233d9a6b2e660d5d0c5fc3dbde0dfb7e863d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16712 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 Ri&oaZ+NLB{yA)ha@h^*jkRt#9 diff --git a/tests/unit/build/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/unit/build/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index f5ce8d9..0000000 --- a/tests/unit/build/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cseguret/Projects/app-ethereum/tests/unit") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cseguret/Projects/app-ethereum/tests/unit/build") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/unit/build/CMakeFiles/CMakeError.log b/tests/unit/build/CMakeFiles/CMakeError.log deleted file mode 100644 index 1fabe28..0000000 --- a/tests/unit/build/CMakeFiles/CMakeError.log +++ /dev/null @@ -1,19 +0,0 @@ -Determining if the include file io.h exists failed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_0b6ae/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_0b6ae.dir/build.make CMakeFiles/cmTC_0b6ae.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_0b6ae.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_0b6ae.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:10: fatal error: io.h: No such file or directory - 1 | #include - | ^~~~~~ -compilation terminated. -make[2]: *** [CMakeFiles/cmTC_0b6ae.dir/build.make:66: CMakeFiles/cmTC_0b6ae.dir/CheckIncludeFile.c.o] Error 1 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: *** [Makefile:121: cmTC_0b6ae/fast] Error 2 -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - diff --git a/tests/unit/build/CMakeFiles/CMakeOutput.log b/tests/unit/build/CMakeFiles/CMakeOutput.log deleted file mode 100644 index 9c67af9..0000000 --- a/tests/unit/build/CMakeFiles/CMakeOutput.log +++ /dev/null @@ -1,1543 +0,0 @@ -The system is: Linux - 5.13.0-30-generic - x86_64 -Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. -Compiler: /usr/bin/cc -Build flags: -Id flags: - -The output was: -0 - - -Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" - -The C compiler identification is GNU, found in "/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/3.16.3/CompilerIdC/a.out" - -Determining if the C compiler works passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_6bfc2/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_6bfc2.dir/build.make CMakeFiles/cmTC_6bfc2.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_6bfc2.dir/testCCompiler.c.o -/usr/bin/cc -o CMakeFiles/cmTC_6bfc2.dir/testCCompiler.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/testCCompiler.c -Linking C executable cmTC_6bfc2 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6bfc2.dir/link.txt --verbose=1 -/usr/bin/cc CMakeFiles/cmTC_6bfc2.dir/testCCompiler.c.o -o cmTC_6bfc2 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Detecting C compiler ABI info compiled with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_aa8d6/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_aa8d6.dir/build.make CMakeFiles/cmTC_aa8d6.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -/usr/bin/cc -v -o CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccV9ecHq.s -GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) - compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP - -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed" -ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include" -#include "..." search starts here: -#include <...> search starts here: - /usr/lib/gcc/x86_64-linux-gnu/9/include - /usr/local/include - /usr/include/x86_64-linux-gnu - /usr/include -End of search list. -GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu) - compiled by GNU C version 9.3.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP - -GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 -Compiler executable checksum: bbf13931d8de1abe14040c9909cb6969 -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' - as -v --64 -o CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o /tmp/ccV9ecHq.s -GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34 -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' -Linking C executable cmTC_aa8d6 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_aa8d6.dir/link.txt --verbose=1 -/usr/bin/cc -v CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -o cmTC_aa8d6 -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -OFFLOAD_TARGET_NAMES=nvptx-none:hsa -OFFLOAD_TARGET_DEFAULT=1 -Target: x86_64-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu -Thread model: posix -gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) -COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_aa8d6' '-mtune=generic' '-march=x86-64' - /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctdlJPU.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_aa8d6 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_aa8d6' '-mtune=generic' '-march=x86-64' -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Parsed C implicit include dir info from above output: rv=done - found start of include info - found start of implicit include info - add: [/usr/lib/gcc/x86_64-linux-gnu/9/include] - add: [/usr/local/include] - add: [/usr/include/x86_64-linux-gnu] - add: [/usr/include] - end of search list found - collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include] - collapse include dir [/usr/local/include] ==> [/usr/local/include] - collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] - collapse include dir [/usr/include] ==> [/usr/include] - implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] - - -Parsed C implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/make cmTC_aa8d6/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp'] - ignore line: [/usr/bin/make -f CMakeFiles/cmTC_aa8d6.dir/build.make CMakeFiles/cmTC_aa8d6.dir/build] - ignore line: [make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp'] - ignore line: [Building C object CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] - ignore line: [OFFLOAD_TARGET_DEFAULT=1] - ignore line: [Target: x86_64-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccV9ecHq.s] - ignore line: [GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] - ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"] - ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include] - ignore line: [ /usr/local/include] - ignore line: [ /usr/include/x86_64-linux-gnu] - ignore line: [ /usr/include] - ignore line: [End of search list.] - ignore line: [GNU C17 (Ubuntu 9.3.0-17ubuntu1~20.04) version 9.3.0 (x86_64-linux-gnu)] - ignore line: [ compiled by GNU C version 9.3.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP] - ignore line: [] - ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] - ignore line: [Compiler executable checksum: bbf13931d8de1abe14040c9909cb6969] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [ as -v --64 -o CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o /tmp/ccV9ecHq.s] - ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'] - ignore line: [Linking C executable cmTC_aa8d6] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_aa8d6.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -o cmTC_aa8d6 ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] - ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa] - ignore line: [OFFLOAD_TARGET_DEFAULT=1] - ignore line: [Target: x86_64-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) ] - ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_aa8d6' '-mtune=generic' '-march=x86-64'] - link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/cctdlJPU.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_aa8d6 /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] - arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore - arg [-plugin] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore - arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore - arg [-plugin-opt=-fresolution=/tmp/cctdlJPU.res] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [-plugin-opt=-pass-through=-lc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc] ==> ignore - arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [--as-needed] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-pie] ==> ignore - arg [-znow] ==> ignore - arg [-zrelro] ==> ignore - arg [-o] ==> ignore - arg [cmTC_aa8d6] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] - arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] - arg [-L/lib/../lib] ==> dir [/lib/../lib] - arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] - arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] - arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] - arg [CMakeFiles/cmTC_aa8d6.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-lgcc] ==> lib [gcc] - arg [--push-state] ==> ignore - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--pop-state] ==> ignore - arg [-lc] ==> lib [c] - arg [-lgcc] ==> lib [gcc] - arg [--push-state] ==> ignore - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--pop-state] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore - arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib] - collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] - collapse library dir [/lib/../lib] ==> [/lib] - collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] - collapse library dir [/usr/lib/../lib] ==> [/usr/lib] - collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib] - implicit libs: [gcc;gcc_s;c;gcc;gcc_s] - implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] - implicit fwks: [] - - -Performing C SOURCE FILE Test REQUIRED_FLAGS_WERROR succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_614fc/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_614fc.dir/build.make CMakeFiles/cmTC_614fc.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_614fc.dir/src.c.o -/usr/bin/cc -DREQUIRED_FLAGS_WERROR -fPIE -Werror -o CMakeFiles/cmTC_614fc.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_614fc -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_614fc.dir/link.txt --verbose=1 -/usr/bin/cc -DREQUIRED_FLAGS_WERROR --coverage -lgcov CMakeFiles/cmTC_614fc.dir/src.c.o -o cmTC_614fc -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_STD_GNU99_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_4c077/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_4c077.dir/build.make CMakeFiles/cmTC_4c077.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_4c077.dir/src.c.o -/usr/bin/cc -DWITH_STD_GNU99_FLAG -Werror -fPIE -std=gnu99 -o CMakeFiles/cmTC_4c077.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_4c077 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4c077.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_STD_GNU99_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_4c077.dir/src.c.o -o cmTC_4c077 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WPEDANTIC_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_24634/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_24634.dir/build.make CMakeFiles/cmTC_24634.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_24634.dir/src.c.o -/usr/bin/cc -DWITH_WPEDANTIC_FLAG -Werror -fPIE -Wpedantic -o CMakeFiles/cmTC_24634.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_24634 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_24634.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WPEDANTIC_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_24634.dir/src.c.o -o cmTC_24634 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WALL_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_5a86d/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_5a86d.dir/build.make CMakeFiles/cmTC_5a86d.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_5a86d.dir/src.c.o -/usr/bin/cc -DWITH_WALL_FLAG -Werror -fPIE -Wall -o CMakeFiles/cmTC_5a86d.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_5a86d -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5a86d.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WALL_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_5a86d.dir/src.c.o -o cmTC_5a86d -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WSHADOW_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_4eabd/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_4eabd.dir/build.make CMakeFiles/cmTC_4eabd.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_4eabd.dir/src.c.o -/usr/bin/cc -DWITH_WSHADOW_FLAG -Werror -fPIE -Wshadow -o CMakeFiles/cmTC_4eabd.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_4eabd -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4eabd.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WSHADOW_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_4eabd.dir/src.c.o -o cmTC_4eabd -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WMISSING_PROTOTYPES_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_ba167/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_ba167.dir/build.make CMakeFiles/cmTC_ba167.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_ba167.dir/src.c.o -/usr/bin/cc -DWITH_WMISSING_PROTOTYPES_FLAG -Werror -fPIE -Wmissing-prototypes -o CMakeFiles/cmTC_ba167.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_ba167 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ba167.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WMISSING_PROTOTYPES_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_ba167.dir/src.c.o -o cmTC_ba167 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WCAST_ALIGN_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_291ef/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_291ef.dir/build.make CMakeFiles/cmTC_291ef.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_291ef.dir/src.c.o -/usr/bin/cc -DWITH_WCAST_ALIGN_FLAG -Werror -fPIE -Wcast-align -o CMakeFiles/cmTC_291ef.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_291ef -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_291ef.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WCAST_ALIGN_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_291ef.dir/src.c.o -o cmTC_291ef -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WERROR_ADDRESS_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_7971e/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_7971e.dir/build.make CMakeFiles/cmTC_7971e.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_7971e.dir/src.c.o -/usr/bin/cc -DWITH_WERROR_ADDRESS_FLAG -Werror -fPIE -Werror=address -o CMakeFiles/cmTC_7971e.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_7971e -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7971e.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WERROR_ADDRESS_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_7971e.dir/src.c.o -o cmTC_7971e -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WSTRICT_PROTOTYPES_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_529b0/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_529b0.dir/build.make CMakeFiles/cmTC_529b0.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_529b0.dir/src.c.o -/usr/bin/cc -DWITH_WSTRICT_PROTOTYPES_FLAG -Werror -fPIE -Wstrict-prototypes -o CMakeFiles/cmTC_529b0.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_529b0 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_529b0.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WSTRICT_PROTOTYPES_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_529b0.dir/src.c.o -o cmTC_529b0 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WERROR_STRICT_PROTOTYPES_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_52be7/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_52be7.dir/build.make CMakeFiles/cmTC_52be7.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_52be7.dir/src.c.o -/usr/bin/cc -DWITH_WERROR_STRICT_PROTOTYPES_FLAG -Werror -fPIE -Werror=strict-prototypes -o CMakeFiles/cmTC_52be7.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_52be7 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_52be7.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WERROR_STRICT_PROTOTYPES_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_52be7.dir/src.c.o -o cmTC_52be7 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WWRITE_STRINGS_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_e4117/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_e4117.dir/build.make CMakeFiles/cmTC_e4117.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_e4117.dir/src.c.o -/usr/bin/cc -DWITH_WWRITE_STRINGS_FLAG -Werror -fPIE -Wwrite-strings -o CMakeFiles/cmTC_e4117.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_e4117 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e4117.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WWRITE_STRINGS_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_e4117.dir/src.c.o -o cmTC_e4117 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WERROR_WRITE_STRINGS_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_f6acb/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_f6acb.dir/build.make CMakeFiles/cmTC_f6acb.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_f6acb.dir/src.c.o -/usr/bin/cc -DWITH_WERROR_WRITE_STRINGS_FLAG -Werror -fPIE -Werror=write-strings -o CMakeFiles/cmTC_f6acb.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_f6acb -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f6acb.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WERROR_WRITE_STRINGS_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_f6acb.dir/src.c.o -o cmTC_f6acb -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WERROR_IMPLICIT_FUNCTION_DECLARATION_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_9878d/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_9878d.dir/build.make CMakeFiles/cmTC_9878d.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_9878d.dir/src.c.o -/usr/bin/cc -DWITH_WERROR_IMPLICIT_FUNCTION_DECLARATION_FLAG -Werror -fPIE -Werror-implicit-function-declaration -o CMakeFiles/cmTC_9878d.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_9878d -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9878d.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WERROR_IMPLICIT_FUNCTION_DECLARATION_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_9878d.dir/src.c.o -o cmTC_9878d -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WPOINTER_ARITH_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_6bebb/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_6bebb.dir/build.make CMakeFiles/cmTC_6bebb.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_6bebb.dir/src.c.o -/usr/bin/cc -DWITH_WPOINTER_ARITH_FLAG -Werror -fPIE -Wpointer-arith -o CMakeFiles/cmTC_6bebb.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_6bebb -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6bebb.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WPOINTER_ARITH_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_6bebb.dir/src.c.o -o cmTC_6bebb -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WERROR_POINTER_ARITH_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_365f8/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_365f8.dir/build.make CMakeFiles/cmTC_365f8.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_365f8.dir/src.c.o -/usr/bin/cc -DWITH_WERROR_POINTER_ARITH_FLAG -Werror -fPIE -Werror=pointer-arith -o CMakeFiles/cmTC_365f8.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_365f8 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_365f8.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WERROR_POINTER_ARITH_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_365f8.dir/src.c.o -o cmTC_365f8 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WDECLARATION_AFTER_STATEMENT_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_d8b75/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_d8b75.dir/build.make CMakeFiles/cmTC_d8b75.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_d8b75.dir/src.c.o -/usr/bin/cc -DWITH_WDECLARATION_AFTER_STATEMENT_FLAG -Werror -fPIE -Wdeclaration-after-statement -o CMakeFiles/cmTC_d8b75.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_d8b75 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d8b75.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WDECLARATION_AFTER_STATEMENT_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_d8b75.dir/src.c.o -o cmTC_d8b75 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WERROR_DECLARATION_AFTER_STATEMENT_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_7eac4/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_7eac4.dir/build.make CMakeFiles/cmTC_7eac4.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_7eac4.dir/src.c.o -/usr/bin/cc -DWITH_WERROR_DECLARATION_AFTER_STATEMENT_FLAG -Werror -fPIE -Werror=declaration-after-statement -o CMakeFiles/cmTC_7eac4.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_7eac4 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7eac4.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WERROR_DECLARATION_AFTER_STATEMENT_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_7eac4.dir/src.c.o -o cmTC_7eac4 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WRETURN_TYPE_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_d10de/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_d10de.dir/build.make CMakeFiles/cmTC_d10de.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_d10de.dir/src.c.o -/usr/bin/cc -DWITH_WRETURN_TYPE_FLAG -Werror -fPIE -Wreturn-type -o CMakeFiles/cmTC_d10de.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_d10de -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d10de.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WRETURN_TYPE_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_d10de.dir/src.c.o -o cmTC_d10de -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WERROR_RETURN_TYPE_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_8b9f7/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_8b9f7.dir/build.make CMakeFiles/cmTC_8b9f7.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_8b9f7.dir/src.c.o -/usr/bin/cc -DWITH_WERROR_RETURN_TYPE_FLAG -Werror -fPIE -Werror=return-type -o CMakeFiles/cmTC_8b9f7.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_8b9f7 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8b9f7.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WERROR_RETURN_TYPE_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_8b9f7.dir/src.c.o -o cmTC_8b9f7 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WUNINITIALIZED_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_7e8f0/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_7e8f0.dir/build.make CMakeFiles/cmTC_7e8f0.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_7e8f0.dir/src.c.o -/usr/bin/cc -DWITH_WUNINITIALIZED_FLAG -Werror -fPIE -Wuninitialized -o CMakeFiles/cmTC_7e8f0.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_7e8f0 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7e8f0.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WUNINITIALIZED_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_7e8f0.dir/src.c.o -o cmTC_7e8f0 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WERROR_UNINITIALIZED_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_fb3a7/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_fb3a7.dir/build.make CMakeFiles/cmTC_fb3a7.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_fb3a7.dir/src.c.o -/usr/bin/cc -DWITH_WERROR_UNINITIALIZED_FLAG -Werror -fPIE -Werror=uninitialized -o CMakeFiles/cmTC_fb3a7.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_fb3a7 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fb3a7.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WERROR_UNINITIALIZED_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_fb3a7.dir/src.c.o -o cmTC_fb3a7 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WIMPLICIT_FALLTHROUGH_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_3a716/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_3a716.dir/build.make CMakeFiles/cmTC_3a716.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_3a716.dir/src.c.o -/usr/bin/cc -DWITH_WIMPLICIT_FALLTHROUGH_FLAG -Werror -fPIE -Wimplicit-fallthrough -o CMakeFiles/cmTC_3a716.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_3a716 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3a716.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WIMPLICIT_FALLTHROUGH_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_3a716.dir/src.c.o -o cmTC_3a716 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WERROR_STRICT_OVERFLOW_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_79fc6/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_79fc6.dir/build.make CMakeFiles/cmTC_79fc6.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_79fc6.dir/src.c.o -/usr/bin/cc -DWITH_WERROR_STRICT_OVERFLOW_FLAG -Werror -fPIE -Werror=strict-overflow -o CMakeFiles/cmTC_79fc6.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_79fc6 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_79fc6.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WERROR_STRICT_OVERFLOW_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_79fc6.dir/src.c.o -o cmTC_79fc6 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WSTRICT_OVERFLOW_2_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_01048/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_01048.dir/build.make CMakeFiles/cmTC_01048.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_01048.dir/src.c.o -/usr/bin/cc -DWITH_WSTRICT_OVERFLOW_2_FLAG -Werror -fPIE -Wstrict-overflow=2 -o CMakeFiles/cmTC_01048.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_01048 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_01048.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WSTRICT_OVERFLOW_2_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_01048.dir/src.c.o -o cmTC_01048 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WNO_FORMAT_ZERO_LENGTH_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_7516e/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_7516e.dir/build.make CMakeFiles/cmTC_7516e.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_7516e.dir/src.c.o -/usr/bin/cc -DWITH_WNO_FORMAT_ZERO_LENGTH_FLAG -Werror -fPIE -Wno-format-zero-length -o CMakeFiles/cmTC_7516e.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_7516e -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7516e.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WNO_FORMAT_ZERO_LENGTH_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_7516e.dir/src.c.o -o cmTC_7516e -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WMISSING_FIELD_INITIALIZERS_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_60d70/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_60d70.dir/build.make CMakeFiles/cmTC_60d70.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_60d70.dir/src.c.o -/usr/bin/cc -DWITH_WMISSING_FIELD_INITIALIZERS_FLAG -Werror -fPIE -Wmissing-field-initializers -o CMakeFiles/cmTC_60d70.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_60d70 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_60d70.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WMISSING_FIELD_INITIALIZERS_FLAG -Werror --coverage -lgcov CMakeFiles/cmTC_60d70.dir/src.c.o -o cmTC_60d70 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test REQUIRED_FLAGS_WFORMAT succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_86d09/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_86d09.dir/build.make CMakeFiles/cmTC_86d09.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_86d09.dir/src.c.o -/usr/bin/cc -DREQUIRED_FLAGS_WFORMAT -Werror -fPIE -Wformat -o CMakeFiles/cmTC_86d09.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_86d09 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_86d09.dir/link.txt --verbose=1 -/usr/bin/cc -DREQUIRED_FLAGS_WFORMAT -Werror --coverage -lgcov CMakeFiles/cmTC_86d09.dir/src.c.o -o cmTC_86d09 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WFORMAT_SECURITY_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_9d156/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_9d156.dir/build.make CMakeFiles/cmTC_9d156.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_9d156.dir/src.c.o -/usr/bin/cc -DWITH_WFORMAT_SECURITY_FLAG -Werror -Wformat -fPIE -Wformat-security -o CMakeFiles/cmTC_9d156.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_9d156 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9d156.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WFORMAT_SECURITY_FLAG -Werror -Wformat --coverage -lgcov CMakeFiles/cmTC_9d156.dir/src.c.o -o cmTC_9d156 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_WERROR_FORMAT_SECURITY_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_f4a17/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_f4a17.dir/build.make CMakeFiles/cmTC_f4a17.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_f4a17.dir/src.c.o -/usr/bin/cc -DWITH_WERROR_FORMAT_SECURITY_FLAG -Werror -Wformat -fPIE -Werror=format-security -o CMakeFiles/cmTC_f4a17.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_f4a17 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f4a17.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_WERROR_FORMAT_SECURITY_FLAG -Werror -Wformat --coverage -lgcov CMakeFiles/cmTC_f4a17.dir/src.c.o -o cmTC_f4a17 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_FNO_COMMON_FLAG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_215ca/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_215ca.dir/build.make CMakeFiles/cmTC_215ca.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_215ca.dir/src.c.o -/usr/bin/cc -DWITH_FNO_COMMON_FLAG -Werror -Wformat -fPIE -fno-common -o CMakeFiles/cmTC_215ca.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_215ca -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_215ca.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_FNO_COMMON_FLAG -Werror -Wformat --coverage -lgcov CMakeFiles/cmTC_215ca.dir/src.c.o -o cmTC_215ca -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Performing C SOURCE FILE Test WITH_STACK_PROTECTOR_STRONG succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_0daa2/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_0daa2.dir/build.make CMakeFiles/cmTC_0daa2.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_0daa2.dir/src.c.o -/usr/bin/cc -DWITH_STACK_PROTECTOR_STRONG -fstack-protector-strong -fPIE -o CMakeFiles/cmTC_0daa2.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_0daa2 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0daa2.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_STACK_PROTECTOR_STRONG -fstack-protector-strong --coverage -lgcov CMakeFiles/cmTC_0daa2.dir/src.c.o -o cmTC_0daa2 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(int argc, char **argv) { char buffer[256]; return buffer[argc]=0;} -Performing C SOURCE FILE Test WITH_STACK_CLASH_PROTECTION succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_32b5a/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_32b5a.dir/build.make CMakeFiles/cmTC_32b5a.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_32b5a.dir/src.c.o -/usr/bin/cc -DWITH_STACK_CLASH_PROTECTION -fstack-clash-protection -fPIE -o CMakeFiles/cmTC_32b5a.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_32b5a -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_32b5a.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_STACK_CLASH_PROTECTION -fstack-clash-protection --coverage -lgcov CMakeFiles/cmTC_32b5a.dir/src.c.o -o cmTC_32b5a -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(int argc, char **argv) { char buffer[256]; return buffer[argc]=0;} -Performing C SOURCE FILE Test WITH_VISIBILITY_HIDDEN succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_77989/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_77989.dir/build.make CMakeFiles/cmTC_77989.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_77989.dir/src.c.o -/usr/bin/cc -DWITH_VISIBILITY_HIDDEN -fPIE -fvisibility=hidden -o CMakeFiles/cmTC_77989.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_77989 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_77989.dir/link.txt --verbose=1 -/usr/bin/cc -DWITH_VISIBILITY_HIDDEN --coverage -lgcov CMakeFiles/cmTC_77989.dir/src.c.o -o cmTC_77989 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: -int main(void) { return 0; } -Determining if the include file assert.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_e2f40/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_e2f40.dir/build.make CMakeFiles/cmTC_e2f40.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_e2f40.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_e2f40.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_e2f40 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e2f40.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_e2f40.dir/CheckIncludeFile.c.o -o cmTC_e2f40 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file inttypes.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_ac44e/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_ac44e.dir/build.make CMakeFiles/cmTC_ac44e.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_ac44e.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_ac44e.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_ac44e -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ac44e.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_ac44e.dir/CheckIncludeFile.c.o -o cmTC_ac44e -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file malloc.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_807f0/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_807f0.dir/build.make CMakeFiles/cmTC_807f0.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_807f0.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_807f0.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_807f0 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_807f0.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_807f0.dir/CheckIncludeFile.c.o -o cmTC_807f0 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file memory.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_e5bae/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_e5bae.dir/build.make CMakeFiles/cmTC_e5bae.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_e5bae.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_e5bae.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_e5bae -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e5bae.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_e5bae.dir/CheckIncludeFile.c.o -o cmTC_e5bae -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file setjmp.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_26449/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_26449.dir/build.make CMakeFiles/cmTC_26449.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_26449.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_26449.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_26449 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26449.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_26449.dir/CheckIncludeFile.c.o -o cmTC_26449 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file signal.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_008d1/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_008d1.dir/build.make CMakeFiles/cmTC_008d1.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_008d1.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_008d1.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_008d1 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_008d1.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_008d1.dir/CheckIncludeFile.c.o -o cmTC_008d1 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file stdarg.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_8c51c/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_8c51c.dir/build.make CMakeFiles/cmTC_8c51c.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_8c51c.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_8c51c.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_8c51c -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8c51c.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_8c51c.dir/CheckIncludeFile.c.o -o cmTC_8c51c -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file stddef.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_101da/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_101da.dir/build.make CMakeFiles/cmTC_101da.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_101da.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_101da.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_101da -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_101da.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_101da.dir/CheckIncludeFile.c.o -o cmTC_101da -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file stdint.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_f6b2b/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_f6b2b.dir/build.make CMakeFiles/cmTC_f6b2b.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_f6b2b.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_f6b2b.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_f6b2b -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f6b2b.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_f6b2b.dir/CheckIncludeFile.c.o -o cmTC_f6b2b -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file stdio.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_dde0d/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_dde0d.dir/build.make CMakeFiles/cmTC_dde0d.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_dde0d.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_dde0d.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_dde0d -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dde0d.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_dde0d.dir/CheckIncludeFile.c.o -o cmTC_dde0d -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file stdlib.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_64fe4/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_64fe4.dir/build.make CMakeFiles/cmTC_64fe4.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_64fe4.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_64fe4.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_64fe4 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_64fe4.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_64fe4.dir/CheckIncludeFile.c.o -o cmTC_64fe4 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file string.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_6930c/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_6930c.dir/build.make CMakeFiles/cmTC_6930c.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_6930c.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_6930c.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_6930c -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6930c.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_6930c.dir/CheckIncludeFile.c.o -o cmTC_6930c -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file strings.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_fd1a6/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_fd1a6.dir/build.make CMakeFiles/cmTC_fd1a6.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_fd1a6.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_fd1a6.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_fd1a6 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fd1a6.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_fd1a6.dir/CheckIncludeFile.c.o -o cmTC_fd1a6 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file sys/stat.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_847f8/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_847f8.dir/build.make CMakeFiles/cmTC_847f8.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_847f8.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_847f8.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_847f8 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_847f8.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_847f8.dir/CheckIncludeFile.c.o -o cmTC_847f8 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file sys/types.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_28435/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_28435.dir/build.make CMakeFiles/cmTC_28435.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_28435.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_28435.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_28435 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_28435.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_28435.dir/CheckIncludeFile.c.o -o cmTC_28435 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file time.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_eb782/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_eb782.dir/build.make CMakeFiles/cmTC_eb782.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_eb782.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_eb782.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_eb782 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eb782.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_eb782.dir/CheckIncludeFile.c.o -o cmTC_eb782 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the include file unistd.h exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_76c9e/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_76c9e.dir/build.make CMakeFiles/cmTC_76c9e.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_76c9e.dir/CheckIncludeFile.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_76c9e.dir/CheckIncludeFile.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c -Linking C executable cmTC_76c9e -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_76c9e.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_76c9e.dir/CheckIncludeFile.c.o -o cmTC_76c9e -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Performing C SOURCE FILE Test HAVE_STRUCT_TIMESPEC succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_80293/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_80293.dir/build.make CMakeFiles/cmTC_80293.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_80293.dir/src.c.o -/usr/bin/cc -DHAVE_STRUCT_TIMESPEC -fPIE -o CMakeFiles/cmTC_80293.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_80293 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_80293.dir/link.txt --verbose=1 -/usr/bin/cc -DHAVE_STRUCT_TIMESPEC --coverage -lgcov CMakeFiles/cmTC_80293.dir/src.c.o -o cmTC_80293 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: - -#include - -int main() -{ - (void)sizeof(((struct timespec *)0)->tv_sec); - return 0; -} - -Determining if the function calloc exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_87fd1/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_87fd1.dir/build.make CMakeFiles/cmTC_87fd1.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_87fd1.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=calloc -fPIE -o CMakeFiles/cmTC_87fd1.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘calloc’; expected ‘void *(long unsigned int, long unsigned int)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘calloc’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_87fd1 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_87fd1.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=calloc --coverage -lgcov CMakeFiles/cmTC_87fd1.dir/CheckFunctionExists.c.o -o cmTC_87fd1 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function exit exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_48b3f/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_48b3f.dir/build.make CMakeFiles/cmTC_48b3f.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_48b3f.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=exit -fPIE -o CMakeFiles/cmTC_48b3f.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘exit’; expected ‘void(int)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘exit’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_48b3f -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_48b3f.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=exit --coverage -lgcov CMakeFiles/cmTC_48b3f.dir/CheckFunctionExists.c.o -o cmTC_48b3f -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function fprintf exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_9059a/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_9059a.dir/build.make CMakeFiles/cmTC_9059a.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_9059a.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=fprintf -fPIE -o CMakeFiles/cmTC_9059a.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘fprintf’; expected ‘int(void *, const char *, ...)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘fprintf’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_9059a -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9059a.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=fprintf --coverage -lgcov CMakeFiles/cmTC_9059a.dir/CheckFunctionExists.c.o -o cmTC_9059a -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function free exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_8adde/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_8adde.dir/build.make CMakeFiles/cmTC_8adde.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_8adde.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=free -fPIE -o CMakeFiles/cmTC_8adde.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘free’; expected ‘void(void *)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘free’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_8adde -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8adde.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=free --coverage -lgcov CMakeFiles/cmTC_8adde.dir/CheckFunctionExists.c.o -o cmTC_8adde -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function longjmp exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_a4042/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_a4042.dir/build.make CMakeFiles/cmTC_a4042.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_a4042.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=longjmp -fPIE -o CMakeFiles/cmTC_a4042.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -Linking C executable cmTC_a4042 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a4042.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=longjmp --coverage -lgcov CMakeFiles/cmTC_a4042.dir/CheckFunctionExists.c.o -o cmTC_a4042 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function siglongjmp exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_786b6/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_786b6.dir/build.make CMakeFiles/cmTC_786b6.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_786b6.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=siglongjmp -fPIE -o CMakeFiles/cmTC_786b6.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -Linking C executable cmTC_786b6 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_786b6.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=siglongjmp --coverage -lgcov CMakeFiles/cmTC_786b6.dir/CheckFunctionExists.c.o -o cmTC_786b6 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function malloc exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_bf2e7/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_bf2e7.dir/build.make CMakeFiles/cmTC_bf2e7.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_bf2e7.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=malloc -fPIE -o CMakeFiles/cmTC_bf2e7.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘malloc’; expected ‘void *(long unsigned int)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘malloc’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_bf2e7 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_bf2e7.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=malloc --coverage -lgcov CMakeFiles/cmTC_bf2e7.dir/CheckFunctionExists.c.o -o cmTC_bf2e7 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function memcpy exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_b7f45/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_b7f45.dir/build.make CMakeFiles/cmTC_b7f45.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_b7f45.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=memcpy -fPIE -o CMakeFiles/cmTC_b7f45.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘memcpy’; expected ‘void *(void *, const void *, long unsigned int)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘memcpy’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_b7f45 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b7f45.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=memcpy --coverage -lgcov CMakeFiles/cmTC_b7f45.dir/CheckFunctionExists.c.o -o cmTC_b7f45 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function memset exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_a9169/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_a9169.dir/build.make CMakeFiles/cmTC_a9169.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_a9169.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=memset -fPIE -o CMakeFiles/cmTC_a9169.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘memset’; expected ‘void *(void *, int, long unsigned int)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘memset’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_a9169 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a9169.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=memset --coverage -lgcov CMakeFiles/cmTC_a9169.dir/CheckFunctionExists.c.o -o cmTC_a9169 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function printf exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_13388/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_13388.dir/build.make CMakeFiles/cmTC_13388.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_13388.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=printf -fPIE -o CMakeFiles/cmTC_13388.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘printf’; expected ‘int(const char *, ...)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘printf’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_13388 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_13388.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=printf --coverage -lgcov CMakeFiles/cmTC_13388.dir/CheckFunctionExists.c.o -o cmTC_13388 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function setjmp exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_d8718/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_d8718.dir/build.make CMakeFiles/cmTC_d8718.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_d8718.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=setjmp -fPIE -o CMakeFiles/cmTC_d8718.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -Linking C executable cmTC_d8718 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d8718.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=setjmp --coverage -lgcov CMakeFiles/cmTC_d8718.dir/CheckFunctionExists.c.o -o cmTC_d8718 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function signal exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_9e76c/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_9e76c.dir/build.make CMakeFiles/cmTC_9e76c.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_9e76c.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=signal -fPIE -o CMakeFiles/cmTC_9e76c.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -Linking C executable cmTC_9e76c -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9e76c.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=signal --coverage -lgcov CMakeFiles/cmTC_9e76c.dir/CheckFunctionExists.c.o -o cmTC_9e76c -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function strsignal exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_8ca94/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_8ca94.dir/build.make CMakeFiles/cmTC_8ca94.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_8ca94.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=strsignal -fPIE -o CMakeFiles/cmTC_8ca94.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -Linking C executable cmTC_8ca94 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8ca94.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=strsignal --coverage -lgcov CMakeFiles/cmTC_8ca94.dir/CheckFunctionExists.c.o -o cmTC_8ca94 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function strcmp exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_f38ea/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_f38ea.dir/build.make CMakeFiles/cmTC_f38ea.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_f38ea.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=strcmp -fPIE -o CMakeFiles/cmTC_f38ea.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘strcmp’; expected ‘int(const char *, const char *)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘strcmp’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_f38ea -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f38ea.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=strcmp --coverage -lgcov CMakeFiles/cmTC_f38ea.dir/CheckFunctionExists.c.o -o cmTC_f38ea -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function clock_gettime exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_8d98e/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_8d98e.dir/build.make CMakeFiles/cmTC_8d98e.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_8d98e.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=clock_gettime -fPIE -o CMakeFiles/cmTC_8d98e.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -Linking C executable cmTC_8d98e -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8d98e.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=clock_gettime --coverage -lgcov CMakeFiles/cmTC_8d98e.dir/CheckFunctionExists.c.o -o cmTC_8d98e -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function sprintf exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_5a24b/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_5a24b.dir/build.make CMakeFiles/cmTC_5a24b.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_5a24b.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=sprintf -fPIE -o CMakeFiles/cmTC_5a24b.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘sprintf’; expected ‘int(char *, const char *, ...)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘sprintf’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_5a24b -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5a24b.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=sprintf --coverage -lgcov CMakeFiles/cmTC_5a24b.dir/CheckFunctionExists.c.o -o cmTC_5a24b -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the function vsnprintf exists passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_b21d4/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_b21d4.dir/build.make CMakeFiles/cmTC_b21d4.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_b21d4.dir/CheckFunctionExists.c.o -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=vsnprintf -fPIE -o CMakeFiles/cmTC_b21d4.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c -: warning: conflicting types for built-in function ‘vsnprintf’; expected ‘int(char *, long unsigned int, const char *, __va_list_tag *)’ [-Wbuiltin-declaration-mismatch] -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:7:3: note: in expansion of macro ‘CHECK_FUNCTION_EXISTS’ - 7 | CHECK_FUNCTION_EXISTS(void); - | ^~~~~~~~~~~~~~~~~~~~~ -/usr/share/cmake-3.16/Modules/CheckFunctionExists.c:1:1: note: ‘vsnprintf’ is declared in header ‘’ - +++ |+#include - 1 | #ifdef CHECK_FUNCTION_EXISTS -Linking C executable cmTC_b21d4 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b21d4.dir/link.txt --verbose=1 -/usr/bin/cc -DCHECK_FUNCTION_EXISTS=vsnprintf --coverage -lgcov CMakeFiles/cmTC_b21d4.dir/CheckFunctionExists.c.o -o cmTC_b21d4 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Performing C SOURCE FILE Test HAVE_GCC_THREAD_LOCAL_STORAGE succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_a88ab/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_a88ab.dir/build.make CMakeFiles/cmTC_a88ab.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_a88ab.dir/src.c.o -/usr/bin/cc -DHAVE_GCC_THREAD_LOCAL_STORAGE -fPIE -o CMakeFiles/cmTC_a88ab.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_a88ab -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a88ab.dir/link.txt --verbose=1 -/usr/bin/cc -DHAVE_GCC_THREAD_LOCAL_STORAGE --coverage -lgcov CMakeFiles/cmTC_a88ab.dir/src.c.o -o cmTC_a88ab -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: - -__thread int tls; - -int main(void) { - return 0; -} -Performing C SOURCE FILE Test HAVE_CLOCK_REALTIME succeeded with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_adb72/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_adb72.dir/build.make CMakeFiles/cmTC_adb72.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_adb72.dir/src.c.o -/usr/bin/cc -DHAVE_CLOCK_REALTIME -fPIE -o CMakeFiles/cmTC_adb72.dir/src.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/src.c -Linking C executable cmTC_adb72 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_adb72.dir/link.txt --verbose=1 -/usr/bin/cc -DHAVE_CLOCK_REALTIME --coverage -lgcov CMakeFiles/cmTC_adb72.dir/src.c.o -o cmTC_adb72 /usr/lib/x86_64-linux-gnu/librt.so -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -Source file was: - -#include - -int main(void) { - struct timespec ts; - - clock_gettime(CLOCK_REALTIME, &ts); - - return 0; -} -Determining size of unsigned short passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_287c7/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_287c7.dir/build.make CMakeFiles/cmTC_287c7.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_287c7.dir/CMAKE_SIZEOF_UNSIGNED_SHORT.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_287c7.dir/CMAKE_SIZEOF_UNSIGNED_SHORT.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.c -Linking C executable cmTC_287c7 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_287c7.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_287c7.dir/CMAKE_SIZEOF_UNSIGNED_SHORT.c.o -o cmTC_287c7 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - - -Determining if the system is big endian passed with the following output: -Change Dir: /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_9cd40/fast && make[1]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -/usr/bin/make -f CMakeFiles/cmTC_9cd40.dir/build.make CMakeFiles/cmTC_9cd40.dir/build -make[2]: Entering directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -Building C object CMakeFiles/cmTC_9cd40.dir/TestEndianess.c.o -/usr/bin/cc -fPIE -o CMakeFiles/cmTC_9cd40.dir/TestEndianess.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp/TestEndianess.c -Linking C executable cmTC_9cd40 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9cd40.dir/link.txt --verbose=1 -/usr/bin/cc --coverage -lgcov CMakeFiles/cmTC_9cd40.dir/TestEndianess.c.o -o cmTC_9cd40 -make[2]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' -make[1]: Leaving directory '/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/CMakeTmp' - - -TestEndianess.c: -/* A 16 bit integer is required. */ -typedef unsigned short cmakeint16; - -/* On a little endian machine, these 16bit ints will give "THIS IS LITTLE ENDIAN." - On a big endian machine the characters will be exchanged pairwise. */ -const cmakeint16 info_little[] = {0x4854, 0x5349, 0x4920, 0x2053, 0x494c, 0x5454, 0x454c, 0x4520, 0x444e, 0x4149, 0x2e4e, 0x0000}; - -/* on a big endian machine, these 16bit ints will give "THIS IS BIG ENDIAN." - On a little endian machine the characters will be exchanged pairwise. */ -const cmakeint16 info_big[] = {0x5448, 0x4953, 0x2049, 0x5320, 0x4249, 0x4720, 0x454e, 0x4449, 0x414e, 0x2e2e, 0x0000}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_little[argc]; - require += info_big[argc]; - (void)argv; - return require; -} - - diff --git a/tests/unit/build/CMakeFiles/CMakeRuleHashes.txt b/tests/unit/build/CMakeFiles/CMakeRuleHashes.txt deleted file mode 100644 index fa5007e..0000000 --- a/tests/unit/build/CMakeFiles/CMakeRuleHashes.txt +++ /dev/null @@ -1,31 +0,0 @@ -# Hashes of file build rules. -4755c15275b3465ff7f54cc86d8e699b CMakeFiles/Continuous -234804855383f58c207089e852c4df6f CMakeFiles/ContinuousBuild -5f61f8a3c1c3f131fed14798447c34e0 CMakeFiles/ContinuousConfigure -68c4240ed8067e7a58d9ec96606d40d7 CMakeFiles/ContinuousCoverage -11a13af4e40ac9b4e6bc8fc71003029e CMakeFiles/ContinuousMemCheck -7011ee1f8fd4873541102c8cde62a383 CMakeFiles/ContinuousStart -1d916a57aebea1faa9583dcb5f8b6626 CMakeFiles/ContinuousSubmit -305cd16040b748eff2554107964c004b CMakeFiles/ContinuousTest -d8f1b00d7e9e698aee7aedc62a941a41 CMakeFiles/ContinuousUpdate -8ae9788e639a65a9bafa0c79397fc3d7 CMakeFiles/Experimental -4f666eaf6b8ccdb501c71f18358d76d3 CMakeFiles/ExperimentalBuild -be64ce5828fe24fea5e75db267d43767 CMakeFiles/ExperimentalConfigure -c00ddbf1a5064e99bd1c004bb1eaa81e CMakeFiles/ExperimentalCoverage -ddef60be4a5c35da9f26717b85bbb9c4 CMakeFiles/ExperimentalMemCheck -598520994eb706ccee9f48bd43ac8ff4 CMakeFiles/ExperimentalStart -aab53f774ee6ab34b74907542976de04 CMakeFiles/ExperimentalSubmit -eec188f43554a725b58a81d329c4deb4 CMakeFiles/ExperimentalTest -f1a75d2148d64ab991129d1b31b54dff CMakeFiles/ExperimentalUpdate -58d421fc55b33a898022f7bb4b72018a CMakeFiles/Nightly -ec771c3a9720917bc38e8cff130c8690 CMakeFiles/NightlyBuild -1084bf2d6e443225665114796005d5f9 CMakeFiles/NightlyConfigure -84aa68f3489e0f45df17b9cde8292d80 CMakeFiles/NightlyCoverage -e5bd6a17cfe4cd35db1c155eaaf29bea CMakeFiles/NightlyMemCheck -06771389174f8e32fe7875107a8896af CMakeFiles/NightlyMemoryCheck -bba06aaae0904b4c667f48814a35177a CMakeFiles/NightlyStart -88038e1d0c5fc8d973f51f7217fd0b15 CMakeFiles/NightlySubmit -4426f7cd8f1ee0f9b2649e98916a2eaf CMakeFiles/NightlyTest -9d2cd5f76be6898497f6cecb641d8537 CMakeFiles/NightlyUpdate -c431900d656c8296c618d0bf85e30906 _deps/cmocka-build/CMakeFiles/dist -9a50455849641a4d852d19512cca575d _deps/cmocka-build/doc/CMakeFiles/docs diff --git a/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.bin b/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.bin deleted file mode 100755 index df4ac84d54ad964631b8ea80b0fa531dfa38acc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16552 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 Sob#5qzqeItY;YJjMDcgYBrB)@ diff --git a/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.c b/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.c deleted file mode 100644 index 9554bbc..0000000 --- a/tests/unit/build/CMakeFiles/CheckTypeSize/CMAKE_SIZEOF_UNSIGNED_SHORT.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(unsigned short)) -static char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/tests/unit/build/CMakeFiles/Continuous.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/Continuous.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/Continuous.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/Continuous.dir/build.make b/tests/unit/build/CMakeFiles/Continuous.dir/build.make deleted file mode 100644 index 2e80bad..0000000 --- a/tests/unit/build/CMakeFiles/Continuous.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for Continuous. - -# Include the progress variables for this target. -include CMakeFiles/Continuous.dir/progress.make - -CMakeFiles/Continuous: - /usr/bin/ctest -D Continuous - -Continuous: CMakeFiles/Continuous -Continuous: CMakeFiles/Continuous.dir/build.make - -.PHONY : Continuous - -# Rule to build all files generated by this target. -CMakeFiles/Continuous.dir/build: Continuous - -.PHONY : CMakeFiles/Continuous.dir/build - -CMakeFiles/Continuous.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/Continuous.dir/cmake_clean.cmake -.PHONY : CMakeFiles/Continuous.dir/clean - -CMakeFiles/Continuous.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Continuous.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/Continuous.dir/depend - diff --git a/tests/unit/build/CMakeFiles/Continuous.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/Continuous.dir/cmake_clean.cmake deleted file mode 100644 index 7e1791c..0000000 --- a/tests/unit/build/CMakeFiles/Continuous.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/Continuous" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/Continuous.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/Continuous.dir/progress.make b/tests/unit/build/CMakeFiles/Continuous.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/Continuous.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/build.make deleted file mode 100644 index 7d7de85..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ContinuousBuild. - -# Include the progress variables for this target. -include CMakeFiles/ContinuousBuild.dir/progress.make - -CMakeFiles/ContinuousBuild: - /usr/bin/ctest -D ContinuousBuild - -ContinuousBuild: CMakeFiles/ContinuousBuild -ContinuousBuild: CMakeFiles/ContinuousBuild.dir/build.make - -.PHONY : ContinuousBuild - -# Rule to build all files generated by this target. -CMakeFiles/ContinuousBuild.dir/build: ContinuousBuild - -.PHONY : CMakeFiles/ContinuousBuild.dir/build - -CMakeFiles/ContinuousBuild.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ContinuousBuild.dir/clean - -CMakeFiles/ContinuousBuild.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousBuild.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ContinuousBuild.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake deleted file mode 100644 index afccd13..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousBuild" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousBuild.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousBuild.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/build.make deleted file mode 100644 index ff6beeb..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ContinuousConfigure. - -# Include the progress variables for this target. -include CMakeFiles/ContinuousConfigure.dir/progress.make - -CMakeFiles/ContinuousConfigure: - /usr/bin/ctest -D ContinuousConfigure - -ContinuousConfigure: CMakeFiles/ContinuousConfigure -ContinuousConfigure: CMakeFiles/ContinuousConfigure.dir/build.make - -.PHONY : ContinuousConfigure - -# Rule to build all files generated by this target. -CMakeFiles/ContinuousConfigure.dir/build: ContinuousConfigure - -.PHONY : CMakeFiles/ContinuousConfigure.dir/build - -CMakeFiles/ContinuousConfigure.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ContinuousConfigure.dir/clean - -CMakeFiles/ContinuousConfigure.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ContinuousConfigure.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake deleted file mode 100644 index eb51e20..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousConfigure" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousConfigure.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/build.make deleted file mode 100644 index 0f152f0..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ContinuousCoverage. - -# Include the progress variables for this target. -include CMakeFiles/ContinuousCoverage.dir/progress.make - -CMakeFiles/ContinuousCoverage: - /usr/bin/ctest -D ContinuousCoverage - -ContinuousCoverage: CMakeFiles/ContinuousCoverage -ContinuousCoverage: CMakeFiles/ContinuousCoverage.dir/build.make - -.PHONY : ContinuousCoverage - -# Rule to build all files generated by this target. -CMakeFiles/ContinuousCoverage.dir/build: ContinuousCoverage - -.PHONY : CMakeFiles/ContinuousCoverage.dir/build - -CMakeFiles/ContinuousCoverage.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ContinuousCoverage.dir/clean - -CMakeFiles/ContinuousCoverage.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ContinuousCoverage.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake deleted file mode 100644 index 6115f89..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousCoverage" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousCoverage.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/build.make deleted file mode 100644 index db80c5c..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ContinuousMemCheck. - -# Include the progress variables for this target. -include CMakeFiles/ContinuousMemCheck.dir/progress.make - -CMakeFiles/ContinuousMemCheck: - /usr/bin/ctest -D ContinuousMemCheck - -ContinuousMemCheck: CMakeFiles/ContinuousMemCheck -ContinuousMemCheck: CMakeFiles/ContinuousMemCheck.dir/build.make - -.PHONY : ContinuousMemCheck - -# Rule to build all files generated by this target. -CMakeFiles/ContinuousMemCheck.dir/build: ContinuousMemCheck - -.PHONY : CMakeFiles/ContinuousMemCheck.dir/build - -CMakeFiles/ContinuousMemCheck.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ContinuousMemCheck.dir/clean - -CMakeFiles/ContinuousMemCheck.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ContinuousMemCheck.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake deleted file mode 100644 index ad69e7f..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousMemCheck" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousStart.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousStart.dir/build.make deleted file mode 100644 index 0c7f966..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousStart.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ContinuousStart. - -# Include the progress variables for this target. -include CMakeFiles/ContinuousStart.dir/progress.make - -CMakeFiles/ContinuousStart: - /usr/bin/ctest -D ContinuousStart - -ContinuousStart: CMakeFiles/ContinuousStart -ContinuousStart: CMakeFiles/ContinuousStart.dir/build.make - -.PHONY : ContinuousStart - -# Rule to build all files generated by this target. -CMakeFiles/ContinuousStart.dir/build: ContinuousStart - -.PHONY : CMakeFiles/ContinuousStart.dir/build - -CMakeFiles/ContinuousStart.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ContinuousStart.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ContinuousStart.dir/clean - -CMakeFiles/ContinuousStart.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousStart.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ContinuousStart.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake deleted file mode 100644 index 13d5b2b..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousStart.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousStart" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousStart.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousStart.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousStart.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousStart.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/build.make deleted file mode 100644 index 1966621..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ContinuousSubmit. - -# Include the progress variables for this target. -include CMakeFiles/ContinuousSubmit.dir/progress.make - -CMakeFiles/ContinuousSubmit: - /usr/bin/ctest -D ContinuousSubmit - -ContinuousSubmit: CMakeFiles/ContinuousSubmit -ContinuousSubmit: CMakeFiles/ContinuousSubmit.dir/build.make - -.PHONY : ContinuousSubmit - -# Rule to build all files generated by this target. -CMakeFiles/ContinuousSubmit.dir/build: ContinuousSubmit - -.PHONY : CMakeFiles/ContinuousSubmit.dir/build - -CMakeFiles/ContinuousSubmit.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ContinuousSubmit.dir/clean - -CMakeFiles/ContinuousSubmit.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ContinuousSubmit.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake deleted file mode 100644 index cc66ba3..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousSubmit" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousSubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousSubmit.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousTest.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousTest.dir/build.make deleted file mode 100644 index a455fbf..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousTest.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ContinuousTest. - -# Include the progress variables for this target. -include CMakeFiles/ContinuousTest.dir/progress.make - -CMakeFiles/ContinuousTest: - /usr/bin/ctest -D ContinuousTest - -ContinuousTest: CMakeFiles/ContinuousTest -ContinuousTest: CMakeFiles/ContinuousTest.dir/build.make - -.PHONY : ContinuousTest - -# Rule to build all files generated by this target. -CMakeFiles/ContinuousTest.dir/build: ContinuousTest - -.PHONY : CMakeFiles/ContinuousTest.dir/build - -CMakeFiles/ContinuousTest.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ContinuousTest.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ContinuousTest.dir/clean - -CMakeFiles/ContinuousTest.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousTest.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ContinuousTest.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake deleted file mode 100644 index ff11d48..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousTest.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousTest" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousTest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousTest.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousTest.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousTest.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/build.make b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/build.make deleted file mode 100644 index 753a1d9..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ContinuousUpdate. - -# Include the progress variables for this target. -include CMakeFiles/ContinuousUpdate.dir/progress.make - -CMakeFiles/ContinuousUpdate: - /usr/bin/ctest -D ContinuousUpdate - -ContinuousUpdate: CMakeFiles/ContinuousUpdate -ContinuousUpdate: CMakeFiles/ContinuousUpdate.dir/build.make - -.PHONY : ContinuousUpdate - -# Rule to build all files generated by this target. -CMakeFiles/ContinuousUpdate.dir/build: ContinuousUpdate - -.PHONY : CMakeFiles/ContinuousUpdate.dir/build - -CMakeFiles/ContinuousUpdate.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ContinuousUpdate.dir/clean - -CMakeFiles/ContinuousUpdate.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ContinuousUpdate.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake deleted file mode 100644 index 7a77a24..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ContinuousUpdate" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ContinuousUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/progress.make b/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ContinuousUpdate.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/Experimental.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/Experimental.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/Experimental.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/Experimental.dir/build.make b/tests/unit/build/CMakeFiles/Experimental.dir/build.make deleted file mode 100644 index 39f5fd6..0000000 --- a/tests/unit/build/CMakeFiles/Experimental.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for Experimental. - -# Include the progress variables for this target. -include CMakeFiles/Experimental.dir/progress.make - -CMakeFiles/Experimental: - /usr/bin/ctest -D Experimental - -Experimental: CMakeFiles/Experimental -Experimental: CMakeFiles/Experimental.dir/build.make - -.PHONY : Experimental - -# Rule to build all files generated by this target. -CMakeFiles/Experimental.dir/build: Experimental - -.PHONY : CMakeFiles/Experimental.dir/build - -CMakeFiles/Experimental.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/Experimental.dir/cmake_clean.cmake -.PHONY : CMakeFiles/Experimental.dir/clean - -CMakeFiles/Experimental.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Experimental.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/Experimental.dir/depend - diff --git a/tests/unit/build/CMakeFiles/Experimental.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/Experimental.dir/cmake_clean.cmake deleted file mode 100644 index 799e708..0000000 --- a/tests/unit/build/CMakeFiles/Experimental.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/Experimental" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/Experimental.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/Experimental.dir/progress.make b/tests/unit/build/CMakeFiles/Experimental.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/Experimental.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/build.make deleted file mode 100644 index f155026..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ExperimentalBuild. - -# Include the progress variables for this target. -include CMakeFiles/ExperimentalBuild.dir/progress.make - -CMakeFiles/ExperimentalBuild: - /usr/bin/ctest -D ExperimentalBuild - -ExperimentalBuild: CMakeFiles/ExperimentalBuild -ExperimentalBuild: CMakeFiles/ExperimentalBuild.dir/build.make - -.PHONY : ExperimentalBuild - -# Rule to build all files generated by this target. -CMakeFiles/ExperimentalBuild.dir/build: ExperimentalBuild - -.PHONY : CMakeFiles/ExperimentalBuild.dir/build - -CMakeFiles/ExperimentalBuild.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ExperimentalBuild.dir/clean - -CMakeFiles/ExperimentalBuild.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ExperimentalBuild.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake deleted file mode 100644 index 3354e3f..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalBuild" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalBuild.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/build.make deleted file mode 100644 index 1478e1a..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ExperimentalConfigure. - -# Include the progress variables for this target. -include CMakeFiles/ExperimentalConfigure.dir/progress.make - -CMakeFiles/ExperimentalConfigure: - /usr/bin/ctest -D ExperimentalConfigure - -ExperimentalConfigure: CMakeFiles/ExperimentalConfigure -ExperimentalConfigure: CMakeFiles/ExperimentalConfigure.dir/build.make - -.PHONY : ExperimentalConfigure - -# Rule to build all files generated by this target. -CMakeFiles/ExperimentalConfigure.dir/build: ExperimentalConfigure - -.PHONY : CMakeFiles/ExperimentalConfigure.dir/build - -CMakeFiles/ExperimentalConfigure.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ExperimentalConfigure.dir/clean - -CMakeFiles/ExperimentalConfigure.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ExperimentalConfigure.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake deleted file mode 100644 index 69e4a71..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalConfigure" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/build.make deleted file mode 100644 index dd6d226..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ExperimentalCoverage. - -# Include the progress variables for this target. -include CMakeFiles/ExperimentalCoverage.dir/progress.make - -CMakeFiles/ExperimentalCoverage: - /usr/bin/ctest -D ExperimentalCoverage - -ExperimentalCoverage: CMakeFiles/ExperimentalCoverage -ExperimentalCoverage: CMakeFiles/ExperimentalCoverage.dir/build.make - -.PHONY : ExperimentalCoverage - -# Rule to build all files generated by this target. -CMakeFiles/ExperimentalCoverage.dir/build: ExperimentalCoverage - -.PHONY : CMakeFiles/ExperimentalCoverage.dir/build - -CMakeFiles/ExperimentalCoverage.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ExperimentalCoverage.dir/clean - -CMakeFiles/ExperimentalCoverage.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ExperimentalCoverage.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake deleted file mode 100644 index b8d6597..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalCoverage" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/build.make deleted file mode 100644 index 095e686..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ExperimentalMemCheck. - -# Include the progress variables for this target. -include CMakeFiles/ExperimentalMemCheck.dir/progress.make - -CMakeFiles/ExperimentalMemCheck: - /usr/bin/ctest -D ExperimentalMemCheck - -ExperimentalMemCheck: CMakeFiles/ExperimentalMemCheck -ExperimentalMemCheck: CMakeFiles/ExperimentalMemCheck.dir/build.make - -.PHONY : ExperimentalMemCheck - -# Rule to build all files generated by this target. -CMakeFiles/ExperimentalMemCheck.dir/build: ExperimentalMemCheck - -.PHONY : CMakeFiles/ExperimentalMemCheck.dir/build - -CMakeFiles/ExperimentalMemCheck.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ExperimentalMemCheck.dir/clean - -CMakeFiles/ExperimentalMemCheck.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ExperimentalMemCheck.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake deleted file mode 100644 index ed3f7bc..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalMemCheck" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/build.make deleted file mode 100644 index b997ad4..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ExperimentalStart. - -# Include the progress variables for this target. -include CMakeFiles/ExperimentalStart.dir/progress.make - -CMakeFiles/ExperimentalStart: - /usr/bin/ctest -D ExperimentalStart - -ExperimentalStart: CMakeFiles/ExperimentalStart -ExperimentalStart: CMakeFiles/ExperimentalStart.dir/build.make - -.PHONY : ExperimentalStart - -# Rule to build all files generated by this target. -CMakeFiles/ExperimentalStart.dir/build: ExperimentalStart - -.PHONY : CMakeFiles/ExperimentalStart.dir/build - -CMakeFiles/ExperimentalStart.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ExperimentalStart.dir/clean - -CMakeFiles/ExperimentalStart.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalStart.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ExperimentalStart.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake deleted file mode 100644 index 4e2736b..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalStart" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalStart.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalStart.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalStart.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/build.make deleted file mode 100644 index 409b234..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ExperimentalSubmit. - -# Include the progress variables for this target. -include CMakeFiles/ExperimentalSubmit.dir/progress.make - -CMakeFiles/ExperimentalSubmit: - /usr/bin/ctest -D ExperimentalSubmit - -ExperimentalSubmit: CMakeFiles/ExperimentalSubmit -ExperimentalSubmit: CMakeFiles/ExperimentalSubmit.dir/build.make - -.PHONY : ExperimentalSubmit - -# Rule to build all files generated by this target. -CMakeFiles/ExperimentalSubmit.dir/build: ExperimentalSubmit - -.PHONY : CMakeFiles/ExperimentalSubmit.dir/build - -CMakeFiles/ExperimentalSubmit.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ExperimentalSubmit.dir/clean - -CMakeFiles/ExperimentalSubmit.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ExperimentalSubmit.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake deleted file mode 100644 index d130e45..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalSubmit" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalSubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/build.make deleted file mode 100644 index 7bc13bf..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ExperimentalTest. - -# Include the progress variables for this target. -include CMakeFiles/ExperimentalTest.dir/progress.make - -CMakeFiles/ExperimentalTest: - /usr/bin/ctest -D ExperimentalTest - -ExperimentalTest: CMakeFiles/ExperimentalTest -ExperimentalTest: CMakeFiles/ExperimentalTest.dir/build.make - -.PHONY : ExperimentalTest - -# Rule to build all files generated by this target. -CMakeFiles/ExperimentalTest.dir/build: ExperimentalTest - -.PHONY : CMakeFiles/ExperimentalTest.dir/build - -CMakeFiles/ExperimentalTest.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ExperimentalTest.dir/clean - -CMakeFiles/ExperimentalTest.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalTest.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ExperimentalTest.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake deleted file mode 100644 index 4348aa3..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalTest" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalTest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalTest.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalTest.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/build.make b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/build.make deleted file mode 100644 index 3ba8ffd..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for ExperimentalUpdate. - -# Include the progress variables for this target. -include CMakeFiles/ExperimentalUpdate.dir/progress.make - -CMakeFiles/ExperimentalUpdate: - /usr/bin/ctest -D ExperimentalUpdate - -ExperimentalUpdate: CMakeFiles/ExperimentalUpdate -ExperimentalUpdate: CMakeFiles/ExperimentalUpdate.dir/build.make - -.PHONY : ExperimentalUpdate - -# Rule to build all files generated by this target. -CMakeFiles/ExperimentalUpdate.dir/build: ExperimentalUpdate - -.PHONY : CMakeFiles/ExperimentalUpdate.dir/build - -CMakeFiles/ExperimentalUpdate.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake -.PHONY : CMakeFiles/ExperimentalUpdate.dir/clean - -CMakeFiles/ExperimentalUpdate.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/ExperimentalUpdate.dir/depend - diff --git a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake deleted file mode 100644 index 2319049..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ExperimentalUpdate" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/ExperimentalUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/progress.make b/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/Makefile.cmake b/tests/unit/build/CMakeFiles/Makefile.cmake deleted file mode 100644 index fc49e97..0000000 --- a/tests/unit/build/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,134 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "../CMakeLists.txt" - "CMakeDoxyfile.in" - "CMakeDoxygenDefaults.cmake" - "CMakeFiles/3.16.3/CMakeCCompiler.cmake" - "CMakeFiles/3.16.3/CMakeSystem.cmake" - "_deps/cmocka-src/CMakeLists.txt" - "_deps/cmocka-src/CPackConfig.cmake" - "_deps/cmocka-src/CTestConfig.cmake" - "_deps/cmocka-src/CompilerChecks.cmake" - "_deps/cmocka-src/ConfigureChecks.cmake" - "_deps/cmocka-src/DefineOptions.cmake" - "_deps/cmocka-src/cmake/Modules/AddCCompilerFlag.cmake" - "_deps/cmocka-src/cmake/Modules/AddCMockaTest.cmake" - "_deps/cmocka-src/cmake/Modules/CheckCCompilerFlagSSP.cmake" - "_deps/cmocka-src/cmake/Modules/DefineCMakeDefaults.cmake" - "_deps/cmocka-src/cmake/Modules/DefineCompilerFlags.cmake" - "_deps/cmocka-src/cmake/Modules/DefinePlatformDefaults.cmake" - "_deps/cmocka-src/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake" - "_deps/cmocka-src/cmocka-config.cmake.in" - "_deps/cmocka-src/cmocka.pc.cmake" - "_deps/cmocka-src/config.h.cmake" - "_deps/cmocka-src/doc/CMakeLists.txt" - "_deps/cmocka-src/include/CMakeLists.txt" - "_deps/cmocka-src/src/CMakeLists.txt" - "/usr/lib/x86_64-linux-gnu/cmake/cmocka/cmocka-config-version.cmake" - "/usr/lib/x86_64-linux-gnu/cmake/cmocka/cmocka-config.cmake" - "/usr/share/cmake-3.16/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in" - "/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake" - "/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake" - "/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake" - "/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake" - "/usr/share/cmake-3.16/Modules/CMakePackageConfigHelpers.cmake" - "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake" - "/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.16/Modules/CPack.cmake" - "/usr/share/cmake-3.16/Modules/CPackComponent.cmake" - "/usr/share/cmake-3.16/Modules/CTest.cmake" - "/usr/share/cmake-3.16/Modules/CTestTargets.cmake" - "/usr/share/cmake-3.16/Modules/CTestUseLaunchers.cmake" - "/usr/share/cmake-3.16/Modules/CheckCCompilerFlag.cmake" - "/usr/share/cmake-3.16/Modules/CheckCSourceCompiles.cmake" - "/usr/share/cmake-3.16/Modules/CheckCXXSourceCompiles.cmake" - "/usr/share/cmake-3.16/Modules/CheckFunctionExists.cmake" - "/usr/share/cmake-3.16/Modules/CheckIncludeFile.cmake" - "/usr/share/cmake-3.16/Modules/CheckIncludeFileCXX.cmake" - "/usr/share/cmake-3.16/Modules/CheckLibraryExists.cmake" - "/usr/share/cmake-3.16/Modules/CheckStructHasMember.cmake" - "/usr/share/cmake-3.16/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-3.16/Modules/CheckTypeSize.cmake" - "/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.16/Modules/DartConfiguration.tcl.in" - "/usr/share/cmake-3.16/Modules/FetchContent.cmake" - "/usr/share/cmake-3.16/Modules/FetchContent/CMakeLists.cmake.in" - "/usr/share/cmake-3.16/Modules/FindDoxygen.cmake" - "/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake" - "/usr/share/cmake-3.16/Modules/FindPackageMessage.cmake" - "/usr/share/cmake-3.16/Modules/GNUInstallDirs.cmake" - "/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake" - "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake" - "/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake" - "/usr/share/cmake-3.16/Modules/Platform/Linux.cmake" - "/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake" - "/usr/share/cmake-3.16/Modules/TestBigEndian.cmake" - "/usr/share/cmake-3.16/Modules/WriteBasicConfigVersionFile.cmake" - "/usr/share/cmake-3.16/Templates/CPackConfig.cmake.in" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "DartConfiguration.tcl" - "_deps/cmocka-subbuild/CMakeLists.txt" - "CMakeFiles/CMakeDirectoryInformation.cmake" - "_deps/cmocka-build/CMakeFiles/CMakeDirectoryInformation.cmake" - "_deps/cmocka-build/include/CMakeFiles/CMakeDirectoryInformation.cmake" - "_deps/cmocka-build/src/CMakeFiles/CMakeDirectoryInformation.cmake" - "_deps/cmocka-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake" - "CMakeFiles/NightlyTest.dir/DependInfo.cmake" - "CMakeFiles/ContinuousConfigure.dir/DependInfo.cmake" - "CMakeFiles/ContinuousBuild.dir/DependInfo.cmake" - "CMakeFiles/NightlyConfigure.dir/DependInfo.cmake" - "CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake" - "CMakeFiles/ExperimentalTest.dir/DependInfo.cmake" - "CMakeFiles/ContinuousUpdate.dir/DependInfo.cmake" - "CMakeFiles/NightlyUpdate.dir/DependInfo.cmake" - "CMakeFiles/ExperimentalMemCheck.dir/DependInfo.cmake" - "CMakeFiles/ExperimentalSubmit.dir/DependInfo.cmake" - "CMakeFiles/Experimental.dir/DependInfo.cmake" - "CMakeFiles/ContinuousCoverage.dir/DependInfo.cmake" - "CMakeFiles/ExperimentalConfigure.dir/DependInfo.cmake" - "CMakeFiles/Continuous.dir/DependInfo.cmake" - "CMakeFiles/test_utils.dir/DependInfo.cmake" - "CMakeFiles/utils.dir/DependInfo.cmake" - "CMakeFiles/Nightly.dir/DependInfo.cmake" - "CMakeFiles/NightlySubmit.dir/DependInfo.cmake" - "CMakeFiles/NightlyStart.dir/DependInfo.cmake" - "CMakeFiles/ExperimentalCoverage.dir/DependInfo.cmake" - "CMakeFiles/NightlyCoverage.dir/DependInfo.cmake" - "CMakeFiles/ExperimentalStart.dir/DependInfo.cmake" - "CMakeFiles/NightlyBuild.dir/DependInfo.cmake" - "CMakeFiles/ExperimentalBuild.dir/DependInfo.cmake" - "CMakeFiles/ExperimentalUpdate.dir/DependInfo.cmake" - "CMakeFiles/ContinuousStart.dir/DependInfo.cmake" - "CMakeFiles/ContinuousMemCheck.dir/DependInfo.cmake" - "CMakeFiles/ContinuousTest.dir/DependInfo.cmake" - "CMakeFiles/ContinuousSubmit.dir/DependInfo.cmake" - "_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake" - "_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake" - "_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake" - "_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake" - ) diff --git a/tests/unit/build/CMakeFiles/Makefile2 b/tests/unit/build/CMakeFiles/Makefile2 deleted file mode 100644 index b65ccbd..0000000 --- a/tests/unit/build/CMakeFiles/Makefile2 +++ /dev/null @@ -1,1111 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -#============================================================================= -# Directory level rules for the build root directory - -# The main recursive "all" target. -all: CMakeFiles/test_utils.dir/all -all: CMakeFiles/utils.dir/all -all: _deps/cmocka-build/all - -.PHONY : all - -# The main recursive "preinstall" target. -preinstall: _deps/cmocka-build/preinstall - -.PHONY : preinstall - -# The main recursive "clean" target. -clean: CMakeFiles/NightlyMemCheck.dir/clean -clean: CMakeFiles/NightlyTest.dir/clean -clean: CMakeFiles/ContinuousConfigure.dir/clean -clean: CMakeFiles/ContinuousBuild.dir/clean -clean: CMakeFiles/NightlyConfigure.dir/clean -clean: CMakeFiles/NightlyMemoryCheck.dir/clean -clean: CMakeFiles/ExperimentalTest.dir/clean -clean: CMakeFiles/ContinuousUpdate.dir/clean -clean: CMakeFiles/NightlyUpdate.dir/clean -clean: CMakeFiles/ExperimentalMemCheck.dir/clean -clean: CMakeFiles/ExperimentalSubmit.dir/clean -clean: CMakeFiles/Experimental.dir/clean -clean: CMakeFiles/ContinuousCoverage.dir/clean -clean: CMakeFiles/ExperimentalConfigure.dir/clean -clean: CMakeFiles/Continuous.dir/clean -clean: CMakeFiles/test_utils.dir/clean -clean: CMakeFiles/utils.dir/clean -clean: CMakeFiles/Nightly.dir/clean -clean: CMakeFiles/NightlySubmit.dir/clean -clean: CMakeFiles/NightlyStart.dir/clean -clean: CMakeFiles/ExperimentalCoverage.dir/clean -clean: CMakeFiles/NightlyCoverage.dir/clean -clean: CMakeFiles/ExperimentalStart.dir/clean -clean: CMakeFiles/NightlyBuild.dir/clean -clean: CMakeFiles/ExperimentalBuild.dir/clean -clean: CMakeFiles/ExperimentalUpdate.dir/clean -clean: CMakeFiles/ContinuousStart.dir/clean -clean: CMakeFiles/ContinuousMemCheck.dir/clean -clean: CMakeFiles/ContinuousTest.dir/clean -clean: CMakeFiles/ContinuousSubmit.dir/clean -clean: _deps/cmocka-build/clean - -.PHONY : clean - -#============================================================================= -# Directory level rules for directory _deps/cmocka-build - -# Recursive "all" directory target. -_deps/cmocka-build/all: _deps/cmocka-build/include/all -_deps/cmocka-build/all: _deps/cmocka-build/src/all -_deps/cmocka-build/all: _deps/cmocka-build/doc/all - -.PHONY : _deps/cmocka-build/all - -# Recursive "preinstall" directory target. -_deps/cmocka-build/preinstall: _deps/cmocka-build/include/preinstall -_deps/cmocka-build/preinstall: _deps/cmocka-build/src/preinstall -_deps/cmocka-build/preinstall: _deps/cmocka-build/doc/preinstall - -.PHONY : _deps/cmocka-build/preinstall - -# Recursive "clean" directory target. -_deps/cmocka-build/clean: _deps/cmocka-build/CMakeFiles/dist.dir/clean -_deps/cmocka-build/clean: _deps/cmocka-build/include/clean -_deps/cmocka-build/clean: _deps/cmocka-build/src/clean -_deps/cmocka-build/clean: _deps/cmocka-build/doc/clean - -.PHONY : _deps/cmocka-build/clean - -#============================================================================= -# Directory level rules for directory _deps/cmocka-build/doc - -# Recursive "all" directory target. -_deps/cmocka-build/doc/all: - -.PHONY : _deps/cmocka-build/doc/all - -# Recursive "preinstall" directory target. -_deps/cmocka-build/doc/preinstall: - -.PHONY : _deps/cmocka-build/doc/preinstall - -# Recursive "clean" directory target. -_deps/cmocka-build/doc/clean: _deps/cmocka-build/doc/CMakeFiles/docs.dir/clean - $(CMAKE_COMMAND) -P _deps/cmocka-build/doc/CMakeFiles/cmake_directory_clean.cmake -.PHONY : _deps/cmocka-build/doc/clean - -#============================================================================= -# Directory level rules for directory _deps/cmocka-build/include - -# Recursive "all" directory target. -_deps/cmocka-build/include/all: - -.PHONY : _deps/cmocka-build/include/all - -# Recursive "preinstall" directory target. -_deps/cmocka-build/include/preinstall: - -.PHONY : _deps/cmocka-build/include/preinstall - -# Recursive "clean" directory target. -_deps/cmocka-build/include/clean: - -.PHONY : _deps/cmocka-build/include/clean - -#============================================================================= -# Directory level rules for directory _deps/cmocka-build/src - -# Recursive "all" directory target. -_deps/cmocka-build/src/all: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/all -_deps/cmocka-build/src/all: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/all - -.PHONY : _deps/cmocka-build/src/all - -# Recursive "preinstall" directory target. -_deps/cmocka-build/src/preinstall: - -.PHONY : _deps/cmocka-build/src/preinstall - -# Recursive "clean" directory target. -_deps/cmocka-build/src/clean: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean -_deps/cmocka-build/src/clean: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean - -.PHONY : _deps/cmocka-build/src/clean - -#============================================================================= -# Target rules for target CMakeFiles/NightlyMemCheck.dir - -# All Build rule for target. -CMakeFiles/NightlyMemCheck.dir/all: - $(MAKE) -f CMakeFiles/NightlyMemCheck.dir/build.make CMakeFiles/NightlyMemCheck.dir/depend - $(MAKE) -f CMakeFiles/NightlyMemCheck.dir/build.make CMakeFiles/NightlyMemCheck.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyMemCheck" -.PHONY : CMakeFiles/NightlyMemCheck.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/NightlyMemCheck.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyMemCheck.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/NightlyMemCheck.dir/rule - -# Convenience name for target. -NightlyMemCheck: CMakeFiles/NightlyMemCheck.dir/rule - -.PHONY : NightlyMemCheck - -# clean rule for target. -CMakeFiles/NightlyMemCheck.dir/clean: - $(MAKE) -f CMakeFiles/NightlyMemCheck.dir/build.make CMakeFiles/NightlyMemCheck.dir/clean -.PHONY : CMakeFiles/NightlyMemCheck.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/NightlyTest.dir - -# All Build rule for target. -CMakeFiles/NightlyTest.dir/all: - $(MAKE) -f CMakeFiles/NightlyTest.dir/build.make CMakeFiles/NightlyTest.dir/depend - $(MAKE) -f CMakeFiles/NightlyTest.dir/build.make CMakeFiles/NightlyTest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyTest" -.PHONY : CMakeFiles/NightlyTest.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/NightlyTest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyTest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/NightlyTest.dir/rule - -# Convenience name for target. -NightlyTest: CMakeFiles/NightlyTest.dir/rule - -.PHONY : NightlyTest - -# clean rule for target. -CMakeFiles/NightlyTest.dir/clean: - $(MAKE) -f CMakeFiles/NightlyTest.dir/build.make CMakeFiles/NightlyTest.dir/clean -.PHONY : CMakeFiles/NightlyTest.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ContinuousConfigure.dir - -# All Build rule for target. -CMakeFiles/ContinuousConfigure.dir/all: - $(MAKE) -f CMakeFiles/ContinuousConfigure.dir/build.make CMakeFiles/ContinuousConfigure.dir/depend - $(MAKE) -f CMakeFiles/ContinuousConfigure.dir/build.make CMakeFiles/ContinuousConfigure.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousConfigure" -.PHONY : CMakeFiles/ContinuousConfigure.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ContinuousConfigure.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousConfigure.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ContinuousConfigure.dir/rule - -# Convenience name for target. -ContinuousConfigure: CMakeFiles/ContinuousConfigure.dir/rule - -.PHONY : ContinuousConfigure - -# clean rule for target. -CMakeFiles/ContinuousConfigure.dir/clean: - $(MAKE) -f CMakeFiles/ContinuousConfigure.dir/build.make CMakeFiles/ContinuousConfigure.dir/clean -.PHONY : CMakeFiles/ContinuousConfigure.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ContinuousBuild.dir - -# All Build rule for target. -CMakeFiles/ContinuousBuild.dir/all: - $(MAKE) -f CMakeFiles/ContinuousBuild.dir/build.make CMakeFiles/ContinuousBuild.dir/depend - $(MAKE) -f CMakeFiles/ContinuousBuild.dir/build.make CMakeFiles/ContinuousBuild.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousBuild" -.PHONY : CMakeFiles/ContinuousBuild.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ContinuousBuild.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousBuild.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ContinuousBuild.dir/rule - -# Convenience name for target. -ContinuousBuild: CMakeFiles/ContinuousBuild.dir/rule - -.PHONY : ContinuousBuild - -# clean rule for target. -CMakeFiles/ContinuousBuild.dir/clean: - $(MAKE) -f CMakeFiles/ContinuousBuild.dir/build.make CMakeFiles/ContinuousBuild.dir/clean -.PHONY : CMakeFiles/ContinuousBuild.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/NightlyConfigure.dir - -# All Build rule for target. -CMakeFiles/NightlyConfigure.dir/all: - $(MAKE) -f CMakeFiles/NightlyConfigure.dir/build.make CMakeFiles/NightlyConfigure.dir/depend - $(MAKE) -f CMakeFiles/NightlyConfigure.dir/build.make CMakeFiles/NightlyConfigure.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyConfigure" -.PHONY : CMakeFiles/NightlyConfigure.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/NightlyConfigure.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyConfigure.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/NightlyConfigure.dir/rule - -# Convenience name for target. -NightlyConfigure: CMakeFiles/NightlyConfigure.dir/rule - -.PHONY : NightlyConfigure - -# clean rule for target. -CMakeFiles/NightlyConfigure.dir/clean: - $(MAKE) -f CMakeFiles/NightlyConfigure.dir/build.make CMakeFiles/NightlyConfigure.dir/clean -.PHONY : CMakeFiles/NightlyConfigure.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/NightlyMemoryCheck.dir - -# All Build rule for target. -CMakeFiles/NightlyMemoryCheck.dir/all: - $(MAKE) -f CMakeFiles/NightlyMemoryCheck.dir/build.make CMakeFiles/NightlyMemoryCheck.dir/depend - $(MAKE) -f CMakeFiles/NightlyMemoryCheck.dir/build.make CMakeFiles/NightlyMemoryCheck.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyMemoryCheck" -.PHONY : CMakeFiles/NightlyMemoryCheck.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/NightlyMemoryCheck.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyMemoryCheck.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/NightlyMemoryCheck.dir/rule - -# Convenience name for target. -NightlyMemoryCheck: CMakeFiles/NightlyMemoryCheck.dir/rule - -.PHONY : NightlyMemoryCheck - -# clean rule for target. -CMakeFiles/NightlyMemoryCheck.dir/clean: - $(MAKE) -f CMakeFiles/NightlyMemoryCheck.dir/build.make CMakeFiles/NightlyMemoryCheck.dir/clean -.PHONY : CMakeFiles/NightlyMemoryCheck.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ExperimentalTest.dir - -# All Build rule for target. -CMakeFiles/ExperimentalTest.dir/all: - $(MAKE) -f CMakeFiles/ExperimentalTest.dir/build.make CMakeFiles/ExperimentalTest.dir/depend - $(MAKE) -f CMakeFiles/ExperimentalTest.dir/build.make CMakeFiles/ExperimentalTest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalTest" -.PHONY : CMakeFiles/ExperimentalTest.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ExperimentalTest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalTest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ExperimentalTest.dir/rule - -# Convenience name for target. -ExperimentalTest: CMakeFiles/ExperimentalTest.dir/rule - -.PHONY : ExperimentalTest - -# clean rule for target. -CMakeFiles/ExperimentalTest.dir/clean: - $(MAKE) -f CMakeFiles/ExperimentalTest.dir/build.make CMakeFiles/ExperimentalTest.dir/clean -.PHONY : CMakeFiles/ExperimentalTest.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ContinuousUpdate.dir - -# All Build rule for target. -CMakeFiles/ContinuousUpdate.dir/all: - $(MAKE) -f CMakeFiles/ContinuousUpdate.dir/build.make CMakeFiles/ContinuousUpdate.dir/depend - $(MAKE) -f CMakeFiles/ContinuousUpdate.dir/build.make CMakeFiles/ContinuousUpdate.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousUpdate" -.PHONY : CMakeFiles/ContinuousUpdate.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ContinuousUpdate.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousUpdate.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ContinuousUpdate.dir/rule - -# Convenience name for target. -ContinuousUpdate: CMakeFiles/ContinuousUpdate.dir/rule - -.PHONY : ContinuousUpdate - -# clean rule for target. -CMakeFiles/ContinuousUpdate.dir/clean: - $(MAKE) -f CMakeFiles/ContinuousUpdate.dir/build.make CMakeFiles/ContinuousUpdate.dir/clean -.PHONY : CMakeFiles/ContinuousUpdate.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/NightlyUpdate.dir - -# All Build rule for target. -CMakeFiles/NightlyUpdate.dir/all: - $(MAKE) -f CMakeFiles/NightlyUpdate.dir/build.make CMakeFiles/NightlyUpdate.dir/depend - $(MAKE) -f CMakeFiles/NightlyUpdate.dir/build.make CMakeFiles/NightlyUpdate.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyUpdate" -.PHONY : CMakeFiles/NightlyUpdate.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/NightlyUpdate.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyUpdate.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/NightlyUpdate.dir/rule - -# Convenience name for target. -NightlyUpdate: CMakeFiles/NightlyUpdate.dir/rule - -.PHONY : NightlyUpdate - -# clean rule for target. -CMakeFiles/NightlyUpdate.dir/clean: - $(MAKE) -f CMakeFiles/NightlyUpdate.dir/build.make CMakeFiles/NightlyUpdate.dir/clean -.PHONY : CMakeFiles/NightlyUpdate.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ExperimentalMemCheck.dir - -# All Build rule for target. -CMakeFiles/ExperimentalMemCheck.dir/all: - $(MAKE) -f CMakeFiles/ExperimentalMemCheck.dir/build.make CMakeFiles/ExperimentalMemCheck.dir/depend - $(MAKE) -f CMakeFiles/ExperimentalMemCheck.dir/build.make CMakeFiles/ExperimentalMemCheck.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalMemCheck" -.PHONY : CMakeFiles/ExperimentalMemCheck.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ExperimentalMemCheck.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalMemCheck.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ExperimentalMemCheck.dir/rule - -# Convenience name for target. -ExperimentalMemCheck: CMakeFiles/ExperimentalMemCheck.dir/rule - -.PHONY : ExperimentalMemCheck - -# clean rule for target. -CMakeFiles/ExperimentalMemCheck.dir/clean: - $(MAKE) -f CMakeFiles/ExperimentalMemCheck.dir/build.make CMakeFiles/ExperimentalMemCheck.dir/clean -.PHONY : CMakeFiles/ExperimentalMemCheck.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ExperimentalSubmit.dir - -# All Build rule for target. -CMakeFiles/ExperimentalSubmit.dir/all: - $(MAKE) -f CMakeFiles/ExperimentalSubmit.dir/build.make CMakeFiles/ExperimentalSubmit.dir/depend - $(MAKE) -f CMakeFiles/ExperimentalSubmit.dir/build.make CMakeFiles/ExperimentalSubmit.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalSubmit" -.PHONY : CMakeFiles/ExperimentalSubmit.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ExperimentalSubmit.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalSubmit.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ExperimentalSubmit.dir/rule - -# Convenience name for target. -ExperimentalSubmit: CMakeFiles/ExperimentalSubmit.dir/rule - -.PHONY : ExperimentalSubmit - -# clean rule for target. -CMakeFiles/ExperimentalSubmit.dir/clean: - $(MAKE) -f CMakeFiles/ExperimentalSubmit.dir/build.make CMakeFiles/ExperimentalSubmit.dir/clean -.PHONY : CMakeFiles/ExperimentalSubmit.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/Experimental.dir - -# All Build rule for target. -CMakeFiles/Experimental.dir/all: - $(MAKE) -f CMakeFiles/Experimental.dir/build.make CMakeFiles/Experimental.dir/depend - $(MAKE) -f CMakeFiles/Experimental.dir/build.make CMakeFiles/Experimental.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target Experimental" -.PHONY : CMakeFiles/Experimental.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/Experimental.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/Experimental.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/Experimental.dir/rule - -# Convenience name for target. -Experimental: CMakeFiles/Experimental.dir/rule - -.PHONY : Experimental - -# clean rule for target. -CMakeFiles/Experimental.dir/clean: - $(MAKE) -f CMakeFiles/Experimental.dir/build.make CMakeFiles/Experimental.dir/clean -.PHONY : CMakeFiles/Experimental.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ContinuousCoverage.dir - -# All Build rule for target. -CMakeFiles/ContinuousCoverage.dir/all: - $(MAKE) -f CMakeFiles/ContinuousCoverage.dir/build.make CMakeFiles/ContinuousCoverage.dir/depend - $(MAKE) -f CMakeFiles/ContinuousCoverage.dir/build.make CMakeFiles/ContinuousCoverage.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousCoverage" -.PHONY : CMakeFiles/ContinuousCoverage.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ContinuousCoverage.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousCoverage.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ContinuousCoverage.dir/rule - -# Convenience name for target. -ContinuousCoverage: CMakeFiles/ContinuousCoverage.dir/rule - -.PHONY : ContinuousCoverage - -# clean rule for target. -CMakeFiles/ContinuousCoverage.dir/clean: - $(MAKE) -f CMakeFiles/ContinuousCoverage.dir/build.make CMakeFiles/ContinuousCoverage.dir/clean -.PHONY : CMakeFiles/ContinuousCoverage.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ExperimentalConfigure.dir - -# All Build rule for target. -CMakeFiles/ExperimentalConfigure.dir/all: - $(MAKE) -f CMakeFiles/ExperimentalConfigure.dir/build.make CMakeFiles/ExperimentalConfigure.dir/depend - $(MAKE) -f CMakeFiles/ExperimentalConfigure.dir/build.make CMakeFiles/ExperimentalConfigure.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalConfigure" -.PHONY : CMakeFiles/ExperimentalConfigure.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ExperimentalConfigure.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalConfigure.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ExperimentalConfigure.dir/rule - -# Convenience name for target. -ExperimentalConfigure: CMakeFiles/ExperimentalConfigure.dir/rule - -.PHONY : ExperimentalConfigure - -# clean rule for target. -CMakeFiles/ExperimentalConfigure.dir/clean: - $(MAKE) -f CMakeFiles/ExperimentalConfigure.dir/build.make CMakeFiles/ExperimentalConfigure.dir/clean -.PHONY : CMakeFiles/ExperimentalConfigure.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/Continuous.dir - -# All Build rule for target. -CMakeFiles/Continuous.dir/all: - $(MAKE) -f CMakeFiles/Continuous.dir/build.make CMakeFiles/Continuous.dir/depend - $(MAKE) -f CMakeFiles/Continuous.dir/build.make CMakeFiles/Continuous.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target Continuous" -.PHONY : CMakeFiles/Continuous.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/Continuous.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/Continuous.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/Continuous.dir/rule - -# Convenience name for target. -Continuous: CMakeFiles/Continuous.dir/rule - -.PHONY : Continuous - -# clean rule for target. -CMakeFiles/Continuous.dir/clean: - $(MAKE) -f CMakeFiles/Continuous.dir/build.make CMakeFiles/Continuous.dir/clean -.PHONY : CMakeFiles/Continuous.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/test_utils.dir - -# All Build rule for target. -CMakeFiles/test_utils.dir/all: CMakeFiles/utils.dir/all -CMakeFiles/test_utils.dir/all: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/all - $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/depend - $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=6,7 "Built target test_utils" -.PHONY : CMakeFiles/test_utils.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/test_utils.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 6 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/test_utils.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/test_utils.dir/rule - -# Convenience name for target. -test_utils: CMakeFiles/test_utils.dir/rule - -.PHONY : test_utils - -# clean rule for target. -CMakeFiles/test_utils.dir/clean: - $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/clean -.PHONY : CMakeFiles/test_utils.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/utils.dir - -# All Build rule for target. -CMakeFiles/utils.dir/all: - $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/depend - $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=8,9 "Built target utils" -.PHONY : CMakeFiles/utils.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/utils.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 2 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/utils.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/utils.dir/rule - -# Convenience name for target. -utils: CMakeFiles/utils.dir/rule - -.PHONY : utils - -# clean rule for target. -CMakeFiles/utils.dir/clean: - $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/clean -.PHONY : CMakeFiles/utils.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/Nightly.dir - -# All Build rule for target. -CMakeFiles/Nightly.dir/all: - $(MAKE) -f CMakeFiles/Nightly.dir/build.make CMakeFiles/Nightly.dir/depend - $(MAKE) -f CMakeFiles/Nightly.dir/build.make CMakeFiles/Nightly.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target Nightly" -.PHONY : CMakeFiles/Nightly.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/Nightly.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/Nightly.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/Nightly.dir/rule - -# Convenience name for target. -Nightly: CMakeFiles/Nightly.dir/rule - -.PHONY : Nightly - -# clean rule for target. -CMakeFiles/Nightly.dir/clean: - $(MAKE) -f CMakeFiles/Nightly.dir/build.make CMakeFiles/Nightly.dir/clean -.PHONY : CMakeFiles/Nightly.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/NightlySubmit.dir - -# All Build rule for target. -CMakeFiles/NightlySubmit.dir/all: - $(MAKE) -f CMakeFiles/NightlySubmit.dir/build.make CMakeFiles/NightlySubmit.dir/depend - $(MAKE) -f CMakeFiles/NightlySubmit.dir/build.make CMakeFiles/NightlySubmit.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlySubmit" -.PHONY : CMakeFiles/NightlySubmit.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/NightlySubmit.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlySubmit.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/NightlySubmit.dir/rule - -# Convenience name for target. -NightlySubmit: CMakeFiles/NightlySubmit.dir/rule - -.PHONY : NightlySubmit - -# clean rule for target. -CMakeFiles/NightlySubmit.dir/clean: - $(MAKE) -f CMakeFiles/NightlySubmit.dir/build.make CMakeFiles/NightlySubmit.dir/clean -.PHONY : CMakeFiles/NightlySubmit.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/NightlyStart.dir - -# All Build rule for target. -CMakeFiles/NightlyStart.dir/all: - $(MAKE) -f CMakeFiles/NightlyStart.dir/build.make CMakeFiles/NightlyStart.dir/depend - $(MAKE) -f CMakeFiles/NightlyStart.dir/build.make CMakeFiles/NightlyStart.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyStart" -.PHONY : CMakeFiles/NightlyStart.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/NightlyStart.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyStart.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/NightlyStart.dir/rule - -# Convenience name for target. -NightlyStart: CMakeFiles/NightlyStart.dir/rule - -.PHONY : NightlyStart - -# clean rule for target. -CMakeFiles/NightlyStart.dir/clean: - $(MAKE) -f CMakeFiles/NightlyStart.dir/build.make CMakeFiles/NightlyStart.dir/clean -.PHONY : CMakeFiles/NightlyStart.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ExperimentalCoverage.dir - -# All Build rule for target. -CMakeFiles/ExperimentalCoverage.dir/all: - $(MAKE) -f CMakeFiles/ExperimentalCoverage.dir/build.make CMakeFiles/ExperimentalCoverage.dir/depend - $(MAKE) -f CMakeFiles/ExperimentalCoverage.dir/build.make CMakeFiles/ExperimentalCoverage.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalCoverage" -.PHONY : CMakeFiles/ExperimentalCoverage.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ExperimentalCoverage.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalCoverage.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ExperimentalCoverage.dir/rule - -# Convenience name for target. -ExperimentalCoverage: CMakeFiles/ExperimentalCoverage.dir/rule - -.PHONY : ExperimentalCoverage - -# clean rule for target. -CMakeFiles/ExperimentalCoverage.dir/clean: - $(MAKE) -f CMakeFiles/ExperimentalCoverage.dir/build.make CMakeFiles/ExperimentalCoverage.dir/clean -.PHONY : CMakeFiles/ExperimentalCoverage.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/NightlyCoverage.dir - -# All Build rule for target. -CMakeFiles/NightlyCoverage.dir/all: - $(MAKE) -f CMakeFiles/NightlyCoverage.dir/build.make CMakeFiles/NightlyCoverage.dir/depend - $(MAKE) -f CMakeFiles/NightlyCoverage.dir/build.make CMakeFiles/NightlyCoverage.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyCoverage" -.PHONY : CMakeFiles/NightlyCoverage.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/NightlyCoverage.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyCoverage.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/NightlyCoverage.dir/rule - -# Convenience name for target. -NightlyCoverage: CMakeFiles/NightlyCoverage.dir/rule - -.PHONY : NightlyCoverage - -# clean rule for target. -CMakeFiles/NightlyCoverage.dir/clean: - $(MAKE) -f CMakeFiles/NightlyCoverage.dir/build.make CMakeFiles/NightlyCoverage.dir/clean -.PHONY : CMakeFiles/NightlyCoverage.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ExperimentalStart.dir - -# All Build rule for target. -CMakeFiles/ExperimentalStart.dir/all: - $(MAKE) -f CMakeFiles/ExperimentalStart.dir/build.make CMakeFiles/ExperimentalStart.dir/depend - $(MAKE) -f CMakeFiles/ExperimentalStart.dir/build.make CMakeFiles/ExperimentalStart.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalStart" -.PHONY : CMakeFiles/ExperimentalStart.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ExperimentalStart.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalStart.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ExperimentalStart.dir/rule - -# Convenience name for target. -ExperimentalStart: CMakeFiles/ExperimentalStart.dir/rule - -.PHONY : ExperimentalStart - -# clean rule for target. -CMakeFiles/ExperimentalStart.dir/clean: - $(MAKE) -f CMakeFiles/ExperimentalStart.dir/build.make CMakeFiles/ExperimentalStart.dir/clean -.PHONY : CMakeFiles/ExperimentalStart.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/NightlyBuild.dir - -# All Build rule for target. -CMakeFiles/NightlyBuild.dir/all: - $(MAKE) -f CMakeFiles/NightlyBuild.dir/build.make CMakeFiles/NightlyBuild.dir/depend - $(MAKE) -f CMakeFiles/NightlyBuild.dir/build.make CMakeFiles/NightlyBuild.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target NightlyBuild" -.PHONY : CMakeFiles/NightlyBuild.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/NightlyBuild.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/NightlyBuild.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/NightlyBuild.dir/rule - -# Convenience name for target. -NightlyBuild: CMakeFiles/NightlyBuild.dir/rule - -.PHONY : NightlyBuild - -# clean rule for target. -CMakeFiles/NightlyBuild.dir/clean: - $(MAKE) -f CMakeFiles/NightlyBuild.dir/build.make CMakeFiles/NightlyBuild.dir/clean -.PHONY : CMakeFiles/NightlyBuild.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ExperimentalBuild.dir - -# All Build rule for target. -CMakeFiles/ExperimentalBuild.dir/all: - $(MAKE) -f CMakeFiles/ExperimentalBuild.dir/build.make CMakeFiles/ExperimentalBuild.dir/depend - $(MAKE) -f CMakeFiles/ExperimentalBuild.dir/build.make CMakeFiles/ExperimentalBuild.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalBuild" -.PHONY : CMakeFiles/ExperimentalBuild.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ExperimentalBuild.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalBuild.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ExperimentalBuild.dir/rule - -# Convenience name for target. -ExperimentalBuild: CMakeFiles/ExperimentalBuild.dir/rule - -.PHONY : ExperimentalBuild - -# clean rule for target. -CMakeFiles/ExperimentalBuild.dir/clean: - $(MAKE) -f CMakeFiles/ExperimentalBuild.dir/build.make CMakeFiles/ExperimentalBuild.dir/clean -.PHONY : CMakeFiles/ExperimentalBuild.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ExperimentalUpdate.dir - -# All Build rule for target. -CMakeFiles/ExperimentalUpdate.dir/all: - $(MAKE) -f CMakeFiles/ExperimentalUpdate.dir/build.make CMakeFiles/ExperimentalUpdate.dir/depend - $(MAKE) -f CMakeFiles/ExperimentalUpdate.dir/build.make CMakeFiles/ExperimentalUpdate.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ExperimentalUpdate" -.PHONY : CMakeFiles/ExperimentalUpdate.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ExperimentalUpdate.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ExperimentalUpdate.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ExperimentalUpdate.dir/rule - -# Convenience name for target. -ExperimentalUpdate: CMakeFiles/ExperimentalUpdate.dir/rule - -.PHONY : ExperimentalUpdate - -# clean rule for target. -CMakeFiles/ExperimentalUpdate.dir/clean: - $(MAKE) -f CMakeFiles/ExperimentalUpdate.dir/build.make CMakeFiles/ExperimentalUpdate.dir/clean -.PHONY : CMakeFiles/ExperimentalUpdate.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ContinuousStart.dir - -# All Build rule for target. -CMakeFiles/ContinuousStart.dir/all: - $(MAKE) -f CMakeFiles/ContinuousStart.dir/build.make CMakeFiles/ContinuousStart.dir/depend - $(MAKE) -f CMakeFiles/ContinuousStart.dir/build.make CMakeFiles/ContinuousStart.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousStart" -.PHONY : CMakeFiles/ContinuousStart.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ContinuousStart.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousStart.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ContinuousStart.dir/rule - -# Convenience name for target. -ContinuousStart: CMakeFiles/ContinuousStart.dir/rule - -.PHONY : ContinuousStart - -# clean rule for target. -CMakeFiles/ContinuousStart.dir/clean: - $(MAKE) -f CMakeFiles/ContinuousStart.dir/build.make CMakeFiles/ContinuousStart.dir/clean -.PHONY : CMakeFiles/ContinuousStart.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ContinuousMemCheck.dir - -# All Build rule for target. -CMakeFiles/ContinuousMemCheck.dir/all: - $(MAKE) -f CMakeFiles/ContinuousMemCheck.dir/build.make CMakeFiles/ContinuousMemCheck.dir/depend - $(MAKE) -f CMakeFiles/ContinuousMemCheck.dir/build.make CMakeFiles/ContinuousMemCheck.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousMemCheck" -.PHONY : CMakeFiles/ContinuousMemCheck.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ContinuousMemCheck.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousMemCheck.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ContinuousMemCheck.dir/rule - -# Convenience name for target. -ContinuousMemCheck: CMakeFiles/ContinuousMemCheck.dir/rule - -.PHONY : ContinuousMemCheck - -# clean rule for target. -CMakeFiles/ContinuousMemCheck.dir/clean: - $(MAKE) -f CMakeFiles/ContinuousMemCheck.dir/build.make CMakeFiles/ContinuousMemCheck.dir/clean -.PHONY : CMakeFiles/ContinuousMemCheck.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ContinuousTest.dir - -# All Build rule for target. -CMakeFiles/ContinuousTest.dir/all: - $(MAKE) -f CMakeFiles/ContinuousTest.dir/build.make CMakeFiles/ContinuousTest.dir/depend - $(MAKE) -f CMakeFiles/ContinuousTest.dir/build.make CMakeFiles/ContinuousTest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousTest" -.PHONY : CMakeFiles/ContinuousTest.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ContinuousTest.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousTest.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ContinuousTest.dir/rule - -# Convenience name for target. -ContinuousTest: CMakeFiles/ContinuousTest.dir/rule - -.PHONY : ContinuousTest - -# clean rule for target. -CMakeFiles/ContinuousTest.dir/clean: - $(MAKE) -f CMakeFiles/ContinuousTest.dir/build.make CMakeFiles/ContinuousTest.dir/clean -.PHONY : CMakeFiles/ContinuousTest.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/ContinuousSubmit.dir - -# All Build rule for target. -CMakeFiles/ContinuousSubmit.dir/all: - $(MAKE) -f CMakeFiles/ContinuousSubmit.dir/build.make CMakeFiles/ContinuousSubmit.dir/depend - $(MAKE) -f CMakeFiles/ContinuousSubmit.dir/build.make CMakeFiles/ContinuousSubmit.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target ContinuousSubmit" -.PHONY : CMakeFiles/ContinuousSubmit.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/ContinuousSubmit.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/ContinuousSubmit.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : CMakeFiles/ContinuousSubmit.dir/rule - -# Convenience name for target. -ContinuousSubmit: CMakeFiles/ContinuousSubmit.dir/rule - -.PHONY : ContinuousSubmit - -# clean rule for target. -CMakeFiles/ContinuousSubmit.dir/clean: - $(MAKE) -f CMakeFiles/ContinuousSubmit.dir/build.make CMakeFiles/ContinuousSubmit.dir/clean -.PHONY : CMakeFiles/ContinuousSubmit.dir/clean - -#============================================================================= -# Target rules for target _deps/cmocka-build/CMakeFiles/dist.dir - -# All Build rule for target. -_deps/cmocka-build/CMakeFiles/dist.dir/all: - $(MAKE) -f _deps/cmocka-build/CMakeFiles/dist.dir/build.make _deps/cmocka-build/CMakeFiles/dist.dir/depend - $(MAKE) -f _deps/cmocka-build/CMakeFiles/dist.dir/build.make _deps/cmocka-build/CMakeFiles/dist.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num= "Built target dist" -.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/all - -# Build rule for subdir invocation for target. -_deps/cmocka-build/CMakeFiles/dist.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 - $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/CMakeFiles/dist.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/rule - -# Convenience name for target. -dist: _deps/cmocka-build/CMakeFiles/dist.dir/rule - -.PHONY : dist - -# clean rule for target. -_deps/cmocka-build/CMakeFiles/dist.dir/clean: - $(MAKE) -f _deps/cmocka-build/CMakeFiles/dist.dir/build.make _deps/cmocka-build/CMakeFiles/dist.dir/clean -.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/clean - -#============================================================================= -# Target rules for target _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir - -# All Build rule for target. -_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/all: - $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend - $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=3,4 "Built target cmocka-static" -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/all - -# Build rule for subdir invocation for target. -_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 2 - $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/rule - -# Convenience name for target. -cmocka-static: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/rule - -.PHONY : cmocka-static - -# clean rule for target. -_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean: - $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean - -#============================================================================= -# Target rules for target _deps/cmocka-build/src/CMakeFiles/cmocka.dir - -# All Build rule for target. -_deps/cmocka-build/src/CMakeFiles/cmocka.dir/all: - $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend - $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=1,2 "Built target cmocka" -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/all - -# Build rule for subdir invocation for target. -_deps/cmocka-build/src/CMakeFiles/cmocka.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 2 - $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/src/CMakeFiles/cmocka.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/rule - -# Convenience name for target. -cmocka: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/rule - -.PHONY : cmocka - -# clean rule for target. -_deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean: - $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean - -#============================================================================= -# Target rules for target _deps/cmocka-build/doc/CMakeFiles/docs.dir - -# All Build rule for target. -_deps/cmocka-build/doc/CMakeFiles/docs.dir/all: - $(MAKE) -f _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make _deps/cmocka-build/doc/CMakeFiles/docs.dir/depend - $(MAKE) -f _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make _deps/cmocka-build/doc/CMakeFiles/docs.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=5 "Built target docs" -.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/all - -# Build rule for subdir invocation for target. -_deps/cmocka-build/doc/CMakeFiles/docs.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 1 - $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/CMakeFiles/docs.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/rule - -# Convenience name for target. -docs: _deps/cmocka-build/doc/CMakeFiles/docs.dir/rule - -.PHONY : docs - -# clean rule for target. -_deps/cmocka-build/doc/CMakeFiles/docs.dir/clean: - $(MAKE) -f _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make _deps/cmocka-build/doc/CMakeFiles/docs.dir/clean -.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/tests/unit/build/CMakeFiles/Nightly.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/Nightly.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/Nightly.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/Nightly.dir/build.make b/tests/unit/build/CMakeFiles/Nightly.dir/build.make deleted file mode 100644 index fec2d39..0000000 --- a/tests/unit/build/CMakeFiles/Nightly.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for Nightly. - -# Include the progress variables for this target. -include CMakeFiles/Nightly.dir/progress.make - -CMakeFiles/Nightly: - /usr/bin/ctest -D Nightly - -Nightly: CMakeFiles/Nightly -Nightly: CMakeFiles/Nightly.dir/build.make - -.PHONY : Nightly - -# Rule to build all files generated by this target. -CMakeFiles/Nightly.dir/build: Nightly - -.PHONY : CMakeFiles/Nightly.dir/build - -CMakeFiles/Nightly.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/Nightly.dir/cmake_clean.cmake -.PHONY : CMakeFiles/Nightly.dir/clean - -CMakeFiles/Nightly.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Nightly.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/Nightly.dir/depend - diff --git a/tests/unit/build/CMakeFiles/Nightly.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/Nightly.dir/cmake_clean.cmake deleted file mode 100644 index 99a4ac1..0000000 --- a/tests/unit/build/CMakeFiles/Nightly.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/Nightly" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/Nightly.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/Nightly.dir/progress.make b/tests/unit/build/CMakeFiles/Nightly.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/Nightly.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyBuild.dir/build.make b/tests/unit/build/CMakeFiles/NightlyBuild.dir/build.make deleted file mode 100644 index a8f2804..0000000 --- a/tests/unit/build/CMakeFiles/NightlyBuild.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for NightlyBuild. - -# Include the progress variables for this target. -include CMakeFiles/NightlyBuild.dir/progress.make - -CMakeFiles/NightlyBuild: - /usr/bin/ctest -D NightlyBuild - -NightlyBuild: CMakeFiles/NightlyBuild -NightlyBuild: CMakeFiles/NightlyBuild.dir/build.make - -.PHONY : NightlyBuild - -# Rule to build all files generated by this target. -CMakeFiles/NightlyBuild.dir/build: NightlyBuild - -.PHONY : CMakeFiles/NightlyBuild.dir/build - -CMakeFiles/NightlyBuild.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/NightlyBuild.dir/cmake_clean.cmake -.PHONY : CMakeFiles/NightlyBuild.dir/clean - -CMakeFiles/NightlyBuild.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyBuild.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/NightlyBuild.dir/depend - diff --git a/tests/unit/build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake deleted file mode 100644 index 7aa38a7..0000000 --- a/tests/unit/build/CMakeFiles/NightlyBuild.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyBuild" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyBuild.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyBuild.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyBuild.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/NightlyBuild.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/build.make b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/build.make deleted file mode 100644 index dc65ad7..0000000 --- a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for NightlyConfigure. - -# Include the progress variables for this target. -include CMakeFiles/NightlyConfigure.dir/progress.make - -CMakeFiles/NightlyConfigure: - /usr/bin/ctest -D NightlyConfigure - -NightlyConfigure: CMakeFiles/NightlyConfigure -NightlyConfigure: CMakeFiles/NightlyConfigure.dir/build.make - -.PHONY : NightlyConfigure - -# Rule to build all files generated by this target. -CMakeFiles/NightlyConfigure.dir/build: NightlyConfigure - -.PHONY : CMakeFiles/NightlyConfigure.dir/build - -CMakeFiles/NightlyConfigure.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake -.PHONY : CMakeFiles/NightlyConfigure.dir/clean - -CMakeFiles/NightlyConfigure.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyConfigure.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/NightlyConfigure.dir/depend - diff --git a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake deleted file mode 100644 index 080c729..0000000 --- a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyConfigure" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyConfigure.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyConfigure.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/NightlyConfigure.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/build.make b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/build.make deleted file mode 100644 index b0a4b48..0000000 --- a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for NightlyCoverage. - -# Include the progress variables for this target. -include CMakeFiles/NightlyCoverage.dir/progress.make - -CMakeFiles/NightlyCoverage: - /usr/bin/ctest -D NightlyCoverage - -NightlyCoverage: CMakeFiles/NightlyCoverage -NightlyCoverage: CMakeFiles/NightlyCoverage.dir/build.make - -.PHONY : NightlyCoverage - -# Rule to build all files generated by this target. -CMakeFiles/NightlyCoverage.dir/build: NightlyCoverage - -.PHONY : CMakeFiles/NightlyCoverage.dir/build - -CMakeFiles/NightlyCoverage.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake -.PHONY : CMakeFiles/NightlyCoverage.dir/clean - -CMakeFiles/NightlyCoverage.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyCoverage.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/NightlyCoverage.dir/depend - diff --git a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake deleted file mode 100644 index d6cba89..0000000 --- a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyCoverage" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyCoverage.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyCoverage.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/NightlyCoverage.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/build.make b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/build.make deleted file mode 100644 index 8d22fa6..0000000 --- a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for NightlyMemCheck. - -# Include the progress variables for this target. -include CMakeFiles/NightlyMemCheck.dir/progress.make - -CMakeFiles/NightlyMemCheck: - /usr/bin/ctest -D NightlyMemCheck - -NightlyMemCheck: CMakeFiles/NightlyMemCheck -NightlyMemCheck: CMakeFiles/NightlyMemCheck.dir/build.make - -.PHONY : NightlyMemCheck - -# Rule to build all files generated by this target. -CMakeFiles/NightlyMemCheck.dir/build: NightlyMemCheck - -.PHONY : CMakeFiles/NightlyMemCheck.dir/build - -CMakeFiles/NightlyMemCheck.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake -.PHONY : CMakeFiles/NightlyMemCheck.dir/clean - -CMakeFiles/NightlyMemCheck.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/NightlyMemCheck.dir/depend - diff --git a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake deleted file mode 100644 index 3c0e881..0000000 --- a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyMemCheck" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyMemCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/NightlyMemCheck.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/build.make b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/build.make deleted file mode 100644 index c3de2f3..0000000 --- a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for NightlyMemoryCheck. - -# Include the progress variables for this target. -include CMakeFiles/NightlyMemoryCheck.dir/progress.make - -CMakeFiles/NightlyMemoryCheck: - /usr/bin/ctest -D NightlyMemoryCheck - -NightlyMemoryCheck: CMakeFiles/NightlyMemoryCheck -NightlyMemoryCheck: CMakeFiles/NightlyMemoryCheck.dir/build.make - -.PHONY : NightlyMemoryCheck - -# Rule to build all files generated by this target. -CMakeFiles/NightlyMemoryCheck.dir/build: NightlyMemoryCheck - -.PHONY : CMakeFiles/NightlyMemoryCheck.dir/build - -CMakeFiles/NightlyMemoryCheck.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake -.PHONY : CMakeFiles/NightlyMemoryCheck.dir/clean - -CMakeFiles/NightlyMemoryCheck.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/NightlyMemoryCheck.dir/depend - diff --git a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake deleted file mode 100644 index 8846611..0000000 --- a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyMemoryCheck" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyMemoryCheck.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyStart.dir/build.make b/tests/unit/build/CMakeFiles/NightlyStart.dir/build.make deleted file mode 100644 index c099100..0000000 --- a/tests/unit/build/CMakeFiles/NightlyStart.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for NightlyStart. - -# Include the progress variables for this target. -include CMakeFiles/NightlyStart.dir/progress.make - -CMakeFiles/NightlyStart: - /usr/bin/ctest -D NightlyStart - -NightlyStart: CMakeFiles/NightlyStart -NightlyStart: CMakeFiles/NightlyStart.dir/build.make - -.PHONY : NightlyStart - -# Rule to build all files generated by this target. -CMakeFiles/NightlyStart.dir/build: NightlyStart - -.PHONY : CMakeFiles/NightlyStart.dir/build - -CMakeFiles/NightlyStart.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/NightlyStart.dir/cmake_clean.cmake -.PHONY : CMakeFiles/NightlyStart.dir/clean - -CMakeFiles/NightlyStart.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyStart.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/NightlyStart.dir/depend - diff --git a/tests/unit/build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake deleted file mode 100644 index 6a2c6c6..0000000 --- a/tests/unit/build/CMakeFiles/NightlyStart.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyStart" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyStart.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyStart.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyStart.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/NightlyStart.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlySubmit.dir/build.make b/tests/unit/build/CMakeFiles/NightlySubmit.dir/build.make deleted file mode 100644 index a0511d1..0000000 --- a/tests/unit/build/CMakeFiles/NightlySubmit.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for NightlySubmit. - -# Include the progress variables for this target. -include CMakeFiles/NightlySubmit.dir/progress.make - -CMakeFiles/NightlySubmit: - /usr/bin/ctest -D NightlySubmit - -NightlySubmit: CMakeFiles/NightlySubmit -NightlySubmit: CMakeFiles/NightlySubmit.dir/build.make - -.PHONY : NightlySubmit - -# Rule to build all files generated by this target. -CMakeFiles/NightlySubmit.dir/build: NightlySubmit - -.PHONY : CMakeFiles/NightlySubmit.dir/build - -CMakeFiles/NightlySubmit.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/NightlySubmit.dir/cmake_clean.cmake -.PHONY : CMakeFiles/NightlySubmit.dir/clean - -CMakeFiles/NightlySubmit.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlySubmit.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/NightlySubmit.dir/depend - diff --git a/tests/unit/build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake deleted file mode 100644 index 6f88ccc..0000000 --- a/tests/unit/build/CMakeFiles/NightlySubmit.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlySubmit" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlySubmit.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlySubmit.dir/progress.make b/tests/unit/build/CMakeFiles/NightlySubmit.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/NightlySubmit.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyTest.dir/build.make b/tests/unit/build/CMakeFiles/NightlyTest.dir/build.make deleted file mode 100644 index ead962c..0000000 --- a/tests/unit/build/CMakeFiles/NightlyTest.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for NightlyTest. - -# Include the progress variables for this target. -include CMakeFiles/NightlyTest.dir/progress.make - -CMakeFiles/NightlyTest: - /usr/bin/ctest -D NightlyTest - -NightlyTest: CMakeFiles/NightlyTest -NightlyTest: CMakeFiles/NightlyTest.dir/build.make - -.PHONY : NightlyTest - -# Rule to build all files generated by this target. -CMakeFiles/NightlyTest.dir/build: NightlyTest - -.PHONY : CMakeFiles/NightlyTest.dir/build - -CMakeFiles/NightlyTest.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/NightlyTest.dir/cmake_clean.cmake -.PHONY : CMakeFiles/NightlyTest.dir/clean - -CMakeFiles/NightlyTest.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyTest.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/NightlyTest.dir/depend - diff --git a/tests/unit/build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake deleted file mode 100644 index 8f40bb8..0000000 --- a/tests/unit/build/CMakeFiles/NightlyTest.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyTest" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyTest.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyTest.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyTest.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/NightlyTest.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/build.make b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/build.make deleted file mode 100644 index da9ae7a..0000000 --- a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for NightlyUpdate. - -# Include the progress variables for this target. -include CMakeFiles/NightlyUpdate.dir/progress.make - -CMakeFiles/NightlyUpdate: - /usr/bin/ctest -D NightlyUpdate - -NightlyUpdate: CMakeFiles/NightlyUpdate -NightlyUpdate: CMakeFiles/NightlyUpdate.dir/build.make - -.PHONY : NightlyUpdate - -# Rule to build all files generated by this target. -CMakeFiles/NightlyUpdate.dir/build: NightlyUpdate - -.PHONY : CMakeFiles/NightlyUpdate.dir/build - -CMakeFiles/NightlyUpdate.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake -.PHONY : CMakeFiles/NightlyUpdate.dir/clean - -CMakeFiles/NightlyUpdate.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyUpdate.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/NightlyUpdate.dir/depend - diff --git a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake deleted file mode 100644 index 0f10e82..0000000 --- a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/NightlyUpdate" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/NightlyUpdate.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/progress.make b/tests/unit/build/CMakeFiles/NightlyUpdate.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/CMakeFiles/NightlyUpdate.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/CMakeFiles/TargetDirectories.txt b/tests/unit/build/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index e2b7ed0..0000000 --- a/tests/unit/build/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,79 +0,0 @@ -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/install/strip.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/install/local.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/list_install_components.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/rebuild_cache.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/package_source.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/edit_cache.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyMemCheck.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyTest.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousConfigure.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousBuild.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyConfigure.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyMemoryCheck.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalTest.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousUpdate.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyUpdate.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalMemCheck.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalSubmit.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Experimental.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousCoverage.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalConfigure.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Continuous.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test_utils.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/utils.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/Nightly.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlySubmit.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/install.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyStart.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalCoverage.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyCoverage.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalStart.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/package.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/NightlyBuild.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalBuild.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ExperimentalUpdate.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousStart.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousMemCheck.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousTest.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/ContinuousSubmit.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/install/strip.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/install/local.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/edit_cache.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/test.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/package_source.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/install.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/list_install_components.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/rebuild_cache.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/package.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/install/strip.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/install/local.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/edit_cache.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/test.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/package_source.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/install.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/list_install_components.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/rebuild_cache.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/package.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/install/local.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/edit_cache.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/test.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/package_source.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/install.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/list_install_components.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/rebuild_cache.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/package.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/install/strip.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/install/strip.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/install/local.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/edit_cache.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/test.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/package_source.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/install.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/list_install_components.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/rebuild_cache.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/package.dir -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir diff --git a/tests/unit/build/CMakeFiles/TestEndianess.bin b/tests/unit/build/CMakeFiles/TestEndianess.bin deleted file mode 100755 index 67ed3e2495c257a22db9a0913670c5ce7ac4b798..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16544 zcmeHOUu+yl8K1ke6Q@nimo$IeBs2@8Qe5iGB~4tX)a1_g*?Z_>xAB>#qUq**ceYQu zKjv9dBPxx<8FPI_MNtjHy)*W3$kq^cK49R3m@8h_W6QQBMSwJT!+&MCZsKQ;sLb z1g|cNr;}>RieT#0J3@L++DCd!(FdmC*Ua?0@%Iqv>6$bnob*8j3#RPvVbGItA^yK3 z+{}l`-%9Nep!hST@QU5J>}cn{-MMr}E?cNfbxd`2c69CwmW#o?(lyo#ePEv&7#tB` zW)3k5qil?)XAq$wyl5mVYY!jQ3ez0bCxW7$G7 zmwh4wMPwOeGg&f?d@@@Q1Myf-udz3{H@IIIvBV)GohfC;vt=_=N*wCV6$_a}ax{mU zPRN_L;M{i*U$Edj1`uDg;Pk3P*iCK(+z7Z4a3kPGz>R<#0XG6} z1l~~u{?dBa-}RYmE&A!^pYIkzKRIW5YnSwyAGTbO`nCNp0DQf6_g8?l?hq&srSHj7 zpOED}e~wizKdx7Qr_cO;;h{u)w)qP%_0?zB?U1DVJXor2DuK#h&*-z=UxbW4+x$5s z2Numu;Cc}A;CfB%YU_>@==cIrkk3l_{i8_QZ|T(q{ru|(_4A89-Sd)u`Ifm64BSly zT54CvT6aLbSRdwOVaH4Y!w?Z^EkEa};!K z`hPqQOf)nCdetYd>D9{Bi_sfc&C}6q`dNK;BR<(a2+wqmjoW#)Yx5pw%C?Y`xv0ZUo#2xDjw8;6~v8Gy)#m*G3@{dTdyOzj!Q>h)1>PU|%dU z$lszN26|#R7SpuhSdTU^7>)G}MuL*-+2;EoezV2zURU0z)h2nzy7mAmL$Ex*9+gzP@J zjsY$Kf1uyr_TkpskGGr<2e&?O&wV@PXGzq53@)AJAdd-cnsBv4orVyI`UB5+d)KY< z_Je0|1JLK;ItKg<^85XP&w6A2w$J#Yer>iX>fiP0=01PunN_;KYi9L;KV0y4Mf{+!es_yaxu7WuvLSD=0h?6}|SFpzF?Bj85Bjer{gHv(=1+z7Z4a3kPG;C~eX z-q*bNmDvYnATFNhvC;lGRsQxQG*Nf8524P}_9jTF>??{UV%_7Iy8NkVSmCUkPfgMIEv2<+1F!M$V z4{ns<&_=pwjOU7@$()fki>0!WtW1eiF+Z8hn3;62E7TckEQCi!vPQC0N=_S@f?1jt zW2Iz1W27tj{4}UoN(M-pHqk_;Y(@*|Y!d2FhPoL>|KZ4?r~yA{8*p^Qu8;%94}OYlcnNhrescApwUVePF!Wv1Vwsc9cFS|Nb!kec|ru!(*#$($+h791}^#>`B?9s3wa7G)y@GZWOSCeonKC8e*r zm(t)o7*FQ2DX0#%VG!aeg3z_|&|RJ5At5y0PuIW*Uw*9}bB zzd9SYw9a6&Nyy-uf%SP^!SoCX;xl5L`T6-hoCORYne}=8$duP5AR-gmu%?ee0oMqu z&+|;Cyx!vavmDc>Kp)o}T;};GQ;nQC>rb$lg$%}&^?BaPbdChszw`N@13o?z^YLGs zOhkG8N2v70d8A*0%c`%D9#b~QI$UP@f5rCH=2E^uwgU^xKXGbK3isL!am0 zOnH6G{+<2z9O-lXg+`J@`>Dvp>Hqt{z$&u7t|>{T52|AQ?)3j-;8^ufX-bsoLS0j3 zxcwRa8Dww{O~byvKH&4TPI)dfeHC_tX)UVSOv*zGD>)vq2izIF9dyi|fPhzcqky-EI2#j{%b3 YVVwOcF3yD;>koD*30xmolcOm935gdrbN~PV diff --git a/tests/unit/build/CMakeFiles/cmake.check_cache b/tests/unit/build/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd73..0000000 --- a/tests/unit/build/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/tests/unit/build/CMakeFiles/progress.marks b/tests/unit/build/CMakeFiles/progress.marks deleted file mode 100644 index 45a4fb7..0000000 --- a/tests/unit/build/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/tests/unit/build/CMakeFiles/test_main.dir/C.includecache b/tests/unit/build/CMakeFiles/test_main.dir/C.includecache deleted file mode 100644 index 0628e2a..0000000 --- a/tests/unit/build/CMakeFiles/test_main.dir/C.includecache +++ /dev/null @@ -1,20 +0,0 @@ -#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c -stdarg.h -- -stddef.h -- -setjmp.h -- -cmocka.h -- - -_deps/cmocka-src/include/cmocka.h - diff --git a/tests/unit/build/CMakeFiles/test_main.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/test_main.dir/DependInfo.cmake deleted file mode 100644 index 3e1ec8b..0000000 --- a/tests/unit/build/CMakeFiles/test_main.dir/DependInfo.cmake +++ /dev/null @@ -1,31 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c" "/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.o" - ) -set(CMAKE_C_COMPILER_ID "GNU") - -# Preprocessor definitions for this target. -set(CMAKE_TARGET_DEFINITIONS_C - "DEBUG=0" - "SKIP_FOR_CMOCKA" - "TEST" - ) - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - "../../../src" - "../../../src_common" - "_deps/cmocka-src/include" - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake" - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/test_main.dir/build.make b/tests/unit/build/CMakeFiles/test_main.dir/build.make deleted file mode 100644 index db6e1e3..0000000 --- a/tests/unit/build/CMakeFiles/test_main.dir/build.make +++ /dev/null @@ -1,99 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Include any dependencies generated for this target. -include CMakeFiles/test_main.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/test_main.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/test_main.dir/flags.make - -CMakeFiles/test_main.dir/tests/main.c.o: CMakeFiles/test_main.dir/flags.make -CMakeFiles/test_main.dir/tests/main.c.o: ../tests/main.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/test_main.dir/tests/main.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/test_main.dir/tests/main.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c - -CMakeFiles/test_main.dir/tests/main.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/test_main.dir/tests/main.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c > CMakeFiles/test_main.dir/tests/main.c.i - -CMakeFiles/test_main.dir/tests/main.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/test_main.dir/tests/main.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c -o CMakeFiles/test_main.dir/tests/main.c.s - -# Object files for target test_main -test_main_OBJECTS = \ -"CMakeFiles/test_main.dir/tests/main.c.o" - -# External object files for target test_main -test_main_EXTERNAL_OBJECTS = - -test_main: CMakeFiles/test_main.dir/tests/main.c.o -test_main: CMakeFiles/test_main.dir/build.make -test_main: _deps/cmocka-build/src/libcmocka.so.0.7.0 -test_main: CMakeFiles/test_main.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable test_main" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/test_main.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/test_main.dir/build: test_main - -.PHONY : CMakeFiles/test_main.dir/build - -CMakeFiles/test_main.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/test_main.dir/cmake_clean.cmake -.PHONY : CMakeFiles/test_main.dir/clean - -CMakeFiles/test_main.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test_main.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/test_main.dir/depend - diff --git a/tests/unit/build/CMakeFiles/test_main.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/test_main.dir/cmake_clean.cmake deleted file mode 100644 index debcd71..0000000 --- a/tests/unit/build/CMakeFiles/test_main.dir/cmake_clean.cmake +++ /dev/null @@ -1,10 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/test_main.dir/tests/main.c.o" - "test_main" - "test_main.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/test_main.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/test_main.dir/depend.internal b/tests/unit/build/CMakeFiles/test_main.dir/depend.internal deleted file mode 100644 index c9d62f3..0000000 --- a/tests/unit/build/CMakeFiles/test_main.dir/depend.internal +++ /dev/null @@ -1,6 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -CMakeFiles/test_main.dir/tests/main.c.o - /home/cseguret/Projects/app-ethereum/tests/unit/tests/main.c - _deps/cmocka-src/include/cmocka.h diff --git a/tests/unit/build/CMakeFiles/test_main.dir/depend.make b/tests/unit/build/CMakeFiles/test_main.dir/depend.make deleted file mode 100644 index 9e141ec..0000000 --- a/tests/unit/build/CMakeFiles/test_main.dir/depend.make +++ /dev/null @@ -1,6 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -CMakeFiles/test_main.dir/tests/main.c.o: ../tests/main.c -CMakeFiles/test_main.dir/tests/main.c.o: _deps/cmocka-src/include/cmocka.h - diff --git a/tests/unit/build/CMakeFiles/test_main.dir/flags.make b/tests/unit/build/CMakeFiles/test_main.dir/flags.make deleted file mode 100644 index ca77fb7..0000000 --- a/tests/unit/build/CMakeFiles/test_main.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# compile C with /usr/bin/cc -C_FLAGS = -g -Wall -pedantic -g -O0 --coverage -std=gnu11 - -C_DEFINES = -DDEBUG=0 -DSKIP_FOR_CMOCKA -DTEST - -C_INCLUDES = -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src_common -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include - diff --git a/tests/unit/build/CMakeFiles/test_main.dir/link.txt b/tests/unit/build/CMakeFiles/test_main.dir/link.txt deleted file mode 100644 index 5a51f51..0000000 --- a/tests/unit/build/CMakeFiles/test_main.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -g -Wall -pedantic -g -O0 --coverage --coverage -lgcov CMakeFiles/test_main.dir/tests/main.c.o -o test_main -Wl,-rpath,/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src _deps/cmocka-build/src/libcmocka.so.0.7.0 -lgcov diff --git a/tests/unit/build/CMakeFiles/test_main.dir/progress.make b/tests/unit/build/CMakeFiles/test_main.dir/progress.make deleted file mode 100644 index 8808896..0000000 --- a/tests/unit/build/CMakeFiles/test_main.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = 6 -CMAKE_PROGRESS_2 = 7 - diff --git a/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcda b/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcda deleted file mode 100644 index 0bcaaa7ef02202839a4df5e9759fbe18fe042d45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmYdHNlw=?wsgE1*%89Pz_5@BNU%ULkYZ#860eI2*i^QDdh^q3a}7`lBa%E=El>#v XfYmN)TFBeC{ooF}O}h`^QOf`TmPZtO diff --git a/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcno b/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.gcno deleted file mode 100644 index dcc38b81dedde31e2bab7183bfcddd0e8b5a26d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 808 zcmd1LOHS7^wsgE1*%89Wz`&rNk)NBYpIn@pURsn|q90I{pOup-UHC4L7NwGD-mTfXn~^YWaf)Xcj-%L^#1H4`eQCTFBeC{ooF}O}h_(+>}?E zlM@dLi1^~tcFe6do`D00qCNlmGw# diff --git a/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.o b/tests/unit/build/CMakeFiles/test_main.dir/tests/main.c.o deleted file mode 100644 index 69163c548355acb5f81452993366415337c66290..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8016 zcmb_hdyJG<6~Eui&ho+RV_;bxrO*Le9<}pWL0ZbA!(*4B<)IX6Ya}1v%zQgD?94aY z?*Y47Eh*Ya5vBh${6Q1jm`07p#A<~$sVHgD#6*%N22E^?Mx(JY3NfK-g6G_O&hEE& zXH#f;!hH9f-#Pc3d(V9@PY>=MiW!DrGQ<`!DKRRBeV%c`4#CUn!pIxMww5 zo*cX}aB;eQ@w5tea_|bUt(!M*g5}lX<-tEl|Ca|9@Pb37+(<^snDD0J%qu}!<~X3N428x0GUmLHbOj_(U;iH*Ho zzooF=sN}Zqu}7Stdc*N$AWO!n)V(QTv(<9N#u!ohyEoc-_m8i=_x{7LK81KJs=NjM z`pB#5!aVH)E!pr5zoKx*G_RVkzlQYGQZIbD%;e&chIXvoiP*=J9x9_Sb-&4L=c| z)sH-wq4pg7q*m*Bt0xH+}%vD8Ja@n9&Km=ve@KFLH^hnZn9SIAZp00!`A~ z2HzA0{xmSk&0I8JooJZmD}c>IDbY0Nra&OcH5aV_$yBlUo3S z;q3($CK(|nVYpl*d!N>k2+HgKjgk{Rh&^jS8le-BX-93%G@*|=p=!j`c819Ihw6u;w;Or zR{^jBkmC_uhY-pO;JB?MGGew$Gzbe5iP(zy2_u&2OQg2Eo>*#LPjtny{eXP3FSZe~ zT5YsScEf7eaAXbJaL!aL+xHzW5Po0>4#YibH$)u{x;mIK*0lW*>zM6ZzJ1iGv^n)G z3tDcK!eMX#95RiTTTO>9bi;KjY1~$~?>Pv555Q?T6uRZ0-g4ozw7p8}m}?CKB2$4` z2uGDX;nfQ4s@S>rV0!z&Kzc)VZ8o3IG=tD}Hdh_j@#7r%76R7 z%nvG?VZ@VRzf<8Ha;wcJ+dXF~T_-K}H-y98%3 zC?OT)kqmeU;C9gRz%Lj=7*doWqcv7T&p=Tgj>uw4CNQ$v1syOwNij%MuS6jfu5ZIO+tv_eRlpsD7JjY7ui zZj~q66r4cIagPd~LSpCk?GL6`A1sA#5USzM4BQ_|ao|gz$Y=BG)+iWv5Lgf*1wUL2 zFhy|jTto~OjU;)B0B3xDzc9v9#*(gC<{4ORcLIh#BzYtZ_N1PTZSU@k?E(v>+oaS& zo;nly7bo3AnTu5MQ(sltH*?Rzk>KyoY;3+%6O(O0~txjalDWa z$JPBmcxoeUKoAI5>Js=dUH~46{qR2dh=Ql#qZ-bBzAyv+Oa#aFa62w*ILG@H;n>cl z@MHh)MC?(=JI=c^;MWL8JIodPiPQSW{=#K=0#~m^{ubFE)NqUJKda%NA^B+yPm}zjhCf1nzN6vaC;2rE zw@JpoT_JJa)+te3p^|ZY5+m_?Vf-A$T}*n$Un2Qq8qRl_yoSF@@_r3}f#ky){tn5m zhCfU4QyTuVYQA_*!@oiJSq)!F`1dq?g!+3y!%qYd_IHpXy6$*Qp(;gs-Om<^uj6U5$1oI1A_WcSejV0u z-XD%@IPVW4>yJ0#`2=O)sj|kL=QQkW;EV+#Td@OMWJ~au)2!E0g480L1uolYmEnX% z)|SS|k%*_JWqY1Io|OkU!NY*Jfh$fatXg$;$?BO%*BcL?+z_H|c zz%C2K=zn3M;b${>2f*`&?OAbyF2=l`@UDP$@&1p*=M1hd#Pt`)Aw3XQ0@C6807IX8 z{ljFK23?eRUNbfT44OvgEb6%a1r#F0?Pq8UFj!xYpC*UL*^tV#CgVM(UH;C{Vmw3k zm_HmNj?ejf6tH&jze(}Os6H2IW~jvTsa^au9l}Mj!}u6mk6!`|UpIRH7ZJerU?PcS zE)N0PE`E*Tb3ZXY?sZ&`@o~U#s_F65w-_Jq#_i%CZxbKyB6@rrADU{wP10(LzeAf? zy6q{b(k}j4ia$nvu>Y86JwCplbe{l;243EP9@dnaD1HDoI)?RLqYWXCLWFeN?}Dyf z`&06d7?bxXY(GwEz5SN}(|rOY{zCC]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c -stdarg.h -- -stddef.h -- -setjmp.h -- -cmocka.h -- - -_deps/cmocka-src/include/cmocka.h - diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/test_utils.dir/DependInfo.cmake deleted file mode 100644 index f63fe2a..0000000 --- a/tests/unit/build/CMakeFiles/test_utils.dir/DependInfo.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c" "/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.o" - ) -set(CMAKE_C_COMPILER_ID "GNU") - -# Preprocessor definitions for this target. -set(CMAKE_TARGET_DEFINITIONS_C - "DEBUG=0" - "SKIP_FOR_CMOCKA" - "TEST" - ) - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - "../../../src" - "../../../src_common" - "_deps/cmocka-src/include" - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake" - "/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake" - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/build.make b/tests/unit/build/CMakeFiles/test_utils.dir/build.make deleted file mode 100644 index 01577ed..0000000 --- a/tests/unit/build/CMakeFiles/test_utils.dir/build.make +++ /dev/null @@ -1,100 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Include any dependencies generated for this target. -include CMakeFiles/test_utils.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/test_utils.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/test_utils.dir/flags.make - -CMakeFiles/test_utils.dir/tests/utils.c.o: CMakeFiles/test_utils.dir/flags.make -CMakeFiles/test_utils.dir/tests/utils.c.o: ../tests/utils.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/test_utils.dir/tests/utils.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/test_utils.dir/tests/utils.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c - -CMakeFiles/test_utils.dir/tests/utils.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/test_utils.dir/tests/utils.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c > CMakeFiles/test_utils.dir/tests/utils.c.i - -CMakeFiles/test_utils.dir/tests/utils.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/test_utils.dir/tests/utils.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c -o CMakeFiles/test_utils.dir/tests/utils.c.s - -# Object files for target test_utils -test_utils_OBJECTS = \ -"CMakeFiles/test_utils.dir/tests/utils.c.o" - -# External object files for target test_utils -test_utils_EXTERNAL_OBJECTS = - -test_utils: CMakeFiles/test_utils.dir/tests/utils.c.o -test_utils: CMakeFiles/test_utils.dir/build.make -test_utils: _deps/cmocka-build/src/libcmocka.so.0.7.0 -test_utils: libutils.so -test_utils: CMakeFiles/test_utils.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable test_utils" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/test_utils.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/test_utils.dir/build: test_utils - -.PHONY : CMakeFiles/test_utils.dir/build - -CMakeFiles/test_utils.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/test_utils.dir/cmake_clean.cmake -.PHONY : CMakeFiles/test_utils.dir/clean - -CMakeFiles/test_utils.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/test_utils.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/test_utils.dir/depend - diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/test_utils.dir/cmake_clean.cmake deleted file mode 100644 index 5a628a9..0000000 --- a/tests/unit/build/CMakeFiles/test_utils.dir/cmake_clean.cmake +++ /dev/null @@ -1,10 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/test_utils.dir/tests/utils.c.o" - "test_utils" - "test_utils.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/test_utils.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/depend.internal b/tests/unit/build/CMakeFiles/test_utils.dir/depend.internal deleted file mode 100644 index 78b465b..0000000 --- a/tests/unit/build/CMakeFiles/test_utils.dir/depend.internal +++ /dev/null @@ -1,6 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -CMakeFiles/test_utils.dir/tests/utils.c.o - /home/cseguret/Projects/app-ethereum/tests/unit/tests/utils.c - _deps/cmocka-src/include/cmocka.h diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/depend.make b/tests/unit/build/CMakeFiles/test_utils.dir/depend.make deleted file mode 100644 index b310f36..0000000 --- a/tests/unit/build/CMakeFiles/test_utils.dir/depend.make +++ /dev/null @@ -1,6 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -CMakeFiles/test_utils.dir/tests/utils.c.o: ../tests/utils.c -CMakeFiles/test_utils.dir/tests/utils.c.o: _deps/cmocka-src/include/cmocka.h - diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/flags.make b/tests/unit/build/CMakeFiles/test_utils.dir/flags.make deleted file mode 100644 index ca77fb7..0000000 --- a/tests/unit/build/CMakeFiles/test_utils.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# compile C with /usr/bin/cc -C_FLAGS = -g -Wall -pedantic -g -O0 --coverage -std=gnu11 - -C_DEFINES = -DDEBUG=0 -DSKIP_FOR_CMOCKA -DTEST - -C_INCLUDES = -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src_common -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include - diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/link.txt b/tests/unit/build/CMakeFiles/test_utils.dir/link.txt deleted file mode 100644 index 375537d..0000000 --- a/tests/unit/build/CMakeFiles/test_utils.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/cc -g -Wall -pedantic -g -O0 --coverage --coverage -lgcov CMakeFiles/test_utils.dir/tests/utils.c.o -o test_utils -Wl,-rpath,/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src:/home/cseguret/Projects/app-ethereum/tests/unit/build _deps/cmocka-build/src/libcmocka.so.0.7.0 -lgcov libutils.so diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/progress.make b/tests/unit/build/CMakeFiles/test_utils.dir/progress.make deleted file mode 100644 index 8808896..0000000 --- a/tests/unit/build/CMakeFiles/test_utils.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = 6 -CMAKE_PROGRESS_2 = 7 - diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.gcda b/tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.gcda deleted file mode 100644 index 84b70877eba1e760bdd280515a7e8bb1d586e631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmYdHNlw=?wsf2j*%89Pz_5@BNU%aNkYZ#860eI2*ovN*>i+cFTmw|X$bygus|9jF g0IW8A`w^)M%Znu)9hEOZYPowvc|AGGA||xDEI+W`Y#s#!2W>$ zU?YBko%c*8I)%+byl``qbDwkWfmID-?iL%L{>rk#ls zeJUw`i*%K=N9y_xIV>>7Mtr%pjG^~ReIIf7@P-c<;$57J_jtR8k8?dDen2^>0SWaT z;C#2P_;c`Mx?aD|4<80^rm7x4FjHoeWDFw4+DfUkZo)&%u|~DP=_YBL&u-mgaXvAx z=hJiOxrPszx9vRugLayjwh#Hhfw>tYzEAg%`v4E?q`wmJJ$ks=!|eR8`rrc+VwW4P WRCBud!71dw>SHgE5cTm7die$l*71G- diff --git a/tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.o b/tests/unit/build/CMakeFiles/test_utils.dir/tests/utils.c.o deleted file mode 100644 index 5908e6cea84509feab2d83b61cca876038e3d399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8512 zcmb_gZ;V`36~Aw0XZMxaKhrK-x?szczXhB>E2U6q%d};eDQPJ}D`LdgH#2W%hR(bh z-k-8-Kx&GlYiUw6(SCp!KS+=m{a}=q56y-WT4PicKNyWjA|w#}01_i05zo2zoY}W` zXQ)j$*?sq%-#Pc3d(VCEo_puf$(>U%!w^h{*di7rMunIkU*HRpEr>N@wRnGI%}0BS zb8i+8{UcSJd*p-SkpyashvtpqoMcaxQ9imE;kWQnJTfMmLob4fVvnC(hKi#~I`i@; zK*hN;WWL0sEsf9N@qz`9r)0dI{*L|XbYvR&O7TeFmFuwg+~fxn^Gjz`JgP=CH~9*% zAN?1{I{ByKnaS5>oHLVZ+-D}=mGaTaSGJx&?j$~5!0Z<1UOq=gj_mrNQoMdpjw47& zhmlc6vUz`J?9%A|(->rde7g|_Am(bVrjslCPBrwLAa|G7dcY|Me$H;UGfq%*JSS}C z0>=j^bn5}LLA~K;%fdb&+_2HG(7^J;a@p~HA+0&m`T8$~^+qMPeV4u8nW{G&Uk0>7 z8Lv|J7RS$4%N1PnPoa0bcE9(=4Ve$``1!+V7W)+2ZmN5qf9c|xjlT~LAD(?1^>T%~ z8EV+I*Kgb!g^t~Kcu!RRtoU=yrvL_hGMI@km>ARpe@DU!jhO?;#QJ0tH)E!pZeL%b z?goOSSW5bnn%Jc)9O%%GpIiw40~ve>^I$x&>lN{VG33DvwNJsnG#gR5jGJ-n ziC?8S+qc&IE3~p(-_;}cA*h6P%Wea{poD8u=%uI}^kvq(4O0KJ@c0n^rE?*Y<|iNw zUI5b@!Uq7i$mePhVn#pkVt6I+BgiGHW(qqi;Q@1G6KIm=Hh88m@E3tmZkD6@xk4j&M%s~vOgvZPj z=0geJGRH8=g=l6BCD4lL8Dfm5`e41~ZfOj!z7Y7>lLgU_BSnEyGmJ(nv5R32v5PYu z7Z)kbRhYHdlQpnfZd^G$nv4%$GQ8YaF^~d-*cBp~+yW3R?+CE)k`ZD;K30nO@Xg6v zk{gpdVCemZv18N#W?-$@F`5HgbJR#Cl>y?*h9dSif&PL~BR(9pNMa21H8^HmJ&t{b z65tC~@G9AiP{f3am_jQRb9u)V=&<7o3MNf4*ywr{T>`g`ZyJYOWsO_Mc?#$Wr(Ia} zy=^k|7-oGW?{H$I#-W(Oog~85t$bniqFG81P?UZ*&1ffviy1#04o4F9?|s)q1*tD zTT>zW9 zrfsM_70dR0#|wlX*ntC~57-S+hay-9Gsc>>zu$Vu_ATE&;8eO)L(77}TcvRNyi-I~ zml7fUpqoa^t)@d4^58m^G;Yk>ckP8y?SUFR6}si1-g2P^+g_#hkZVl?BARyH#WaR( zC3nVT1$I^3e&^ow_KAt~#_aXkd^*z%Lf6?`bzH}*mqE0>a&0rbDwz%I)0wLL+YM%Z zP}vOc4D`!Px4qUhBrF4_K8QH*Ou2Qy@$9MtvhB~h<(k)WTcMu`-G}OKB@@^ssP3SI zM3(nwz(WA%j+O_0!4Sfbq73U%V>QeS6y@oNEEZ(~BdaOOcO_Ero6nsujyj+!#u6;u~McXY=c?Q7~;I@Lh-$eh=^u3yt5Pw(+lTsNr@%t#HYv4`)u*F>x}*Op z>1C;5{Vu7Nz8@yNEV`_pQhHJ?X<%q@o_P;z`x1(Gy`kV-dA5tY#OY+T7)5(|xLE{a z*^fp1bGgI=i2;7nWWA2s%Lyk@t^xCLAx|GH$~F&ABZ9LZRK~Sxff$~+(7u2I5Zm7i zJdU%8i2{4M7>Ocz`pO}gM%TbEK?KrQb=@kLot26zU=??k5~0CdBT_rR|Md5?i++*$8x^3sA1sh;l7EY)quoJ7=YQfHEIS+xv#~^2<=TE(mtk|onOIH7t2&llsW5=0nR#ahcqBOSNy4)L?t8qatx+)U zhl}uQBRK8?ALCCBKsmzE$0ZSb1L5rF3X-?>z;{P*^pF0KzNVVaSU9djIQz#FBvM;7 zo$)iydn($a|7~RVO=|V=A10jruP6DtJ@6k!@aXt|N;vw*9P{{p5wSwE9sVQT(*v(Y{9Fol>}Muo z50{G${z$}rZ3KTJf?pQFft7@6^uv@U25}xELIr#P>Gu01s&KSVlg#fA+RIBd;WN}S zULcuwSi~{UHNw->BF;QQx__2YhlKXHHe9C=Lt>ok5m!pAT=LQ^trmXAKpd+DUfz+o z(lBl-Slx+%XM80F2jU9BaTO}WHN>DjpOFyCM{tb$EXg-&`19xxs34yUaqp$LcWQW? z@Vy$okMOT(IKR)2YIvIDr!{;h`T4PizeDmbHT(x8pVn~RA70V$H)y`EY53C=cbxQ` z|G$xZxrV<${qfF=#P;uze7A=Gk>q_EzMSH^8vYW=4{P}AGMW(I*6`mDeq6(^BK#*B z-k`WAHT*HcU)FGPBVN_;zmVcJ!m&XYe6IMHX8&7~FQz!0H{K7|63%`&?t0DsVp2rE zJN~9nl_I_F=T?fZ<7u+TFceB61r6tU?bC4H9}a3b?++sD&o<#Q32or1w#J<2H0*5P z%mgA^u>)IVOYrM-)@vz2YLU$Xmz9STP+}JbNyKx7WqY1Io0aDsf~NuR0#}?;ScPNF zbPJ+N-Y%6q=K%XwkY~G9_z8vLNeq65akvZ2KxE6UX48R-W7dVcaTYFba5sj75Xo@& z&cdy^4L?xKk{_pLO?!B0{R}7#K5#AhJz$pwV)S3EX!+Spo{_NLustiz(hGEgUIsi% zVPBIBxX$4Bg}8om`-2{c`spy9htQ|q|8+7fQa^6e%uqW4Et*E(SyXZVU!xEq9zR1{ zfWiKH{CRSCkPWF#Yw|{ryXEg79cYh{J?0PBh~snq?g6Y@`~nS#>pZy;X=bR!`qV9c zii#oU594EOJ$?x=yd~=MKS2Q7gNY=TxxF9IZt=fN@p+yYANM-$$M`H@c$d}V&;OtC z1L)f=e!EM2yd~@LaeXlVI-RBXw`nhyZhHhec8hiFP F_#fw>8Grx) diff --git a/tests/unit/build/CMakeFiles/utils.dir/C.includecache b/tests/unit/build/CMakeFiles/utils.dir/C.includecache deleted file mode 100644 index 3218800..0000000 --- a/tests/unit/build/CMakeFiles/utils.dir/C.includecache +++ /dev/null @@ -1,12 +0,0 @@ -#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/cseguret/Projects/app-ethereum/src/utils2.c -string.h -- - diff --git a/tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake b/tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake deleted file mode 100644 index 9d636be..0000000 --- a/tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake +++ /dev/null @@ -1,30 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/home/cseguret/Projects/app-ethereum/src/utils2.c" "/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o" - ) -set(CMAKE_C_COMPILER_ID "GNU") - -# Preprocessor definitions for this target. -set(CMAKE_TARGET_DEFINITIONS_C - "DEBUG=0" - "SKIP_FOR_CMOCKA" - "TEST" - "utils_EXPORTS" - ) - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - "../../../src" - "../../../src_common" - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/CMakeFiles/utils.dir/build.make b/tests/unit/build/CMakeFiles/utils.dir/build.make deleted file mode 100644 index dc4fe7c..0000000 --- a/tests/unit/build/CMakeFiles/utils.dir/build.make +++ /dev/null @@ -1,98 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Include any dependencies generated for this target. -include CMakeFiles/utils.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/utils.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/utils.dir/flags.make - -CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o: CMakeFiles/utils.dir/flags.make -CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o: /home/cseguret/Projects/app-ethereum/src/utils2.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o -c /home/cseguret/Projects/app-ethereum/src/utils2.c - -CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.i" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/cseguret/Projects/app-ethereum/src/utils2.c > CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.i - -CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.s" - /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/cseguret/Projects/app-ethereum/src/utils2.c -o CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.s - -# Object files for target utils -utils_OBJECTS = \ -"CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o" - -# External object files for target utils -utils_EXTERNAL_OBJECTS = - -libutils.so: CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o -libutils.so: CMakeFiles/utils.dir/build.make -libutils.so: CMakeFiles/utils.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C shared library libutils.so" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/utils.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/utils.dir/build: libutils.so - -.PHONY : CMakeFiles/utils.dir/build - -CMakeFiles/utils.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/utils.dir/cmake_clean.cmake -.PHONY : CMakeFiles/utils.dir/clean - -CMakeFiles/utils.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/utils.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/utils.dir/depend - diff --git a/tests/unit/build/CMakeFiles/utils.dir/cmake_clean.cmake b/tests/unit/build/CMakeFiles/utils.dir/cmake_clean.cmake deleted file mode 100644 index c2c7276..0000000 --- a/tests/unit/build/CMakeFiles/utils.dir/cmake_clean.cmake +++ /dev/null @@ -1,10 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o" - "libutils.pdb" - "libutils.so" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/utils.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/CMakeFiles/utils.dir/depend.internal b/tests/unit/build/CMakeFiles/utils.dir/depend.internal deleted file mode 100644 index d025476..0000000 --- a/tests/unit/build/CMakeFiles/utils.dir/depend.internal +++ /dev/null @@ -1,5 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o - /home/cseguret/Projects/app-ethereum/src/utils2.c diff --git a/tests/unit/build/CMakeFiles/utils.dir/depend.make b/tests/unit/build/CMakeFiles/utils.dir/depend.make deleted file mode 100644 index 56fa001..0000000 --- a/tests/unit/build/CMakeFiles/utils.dir/depend.make +++ /dev/null @@ -1,5 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o: /home/cseguret/Projects/app-ethereum/src/utils2.c - diff --git a/tests/unit/build/CMakeFiles/utils.dir/flags.make b/tests/unit/build/CMakeFiles/utils.dir/flags.make deleted file mode 100644 index 44b97df..0000000 --- a/tests/unit/build/CMakeFiles/utils.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# compile C with /usr/bin/cc -C_FLAGS = -g -Wall -pedantic -g -O0 --coverage -fPIC -std=gnu11 - -C_DEFINES = -DDEBUG=0 -DSKIP_FOR_CMOCKA -DTEST -Dutils_EXPORTS - -C_INCLUDES = -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src -I/home/cseguret/Projects/app-ethereum/tests/unit/../../src_common - diff --git a/tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcda b/tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcda deleted file mode 100644 index ec89764a3574af53e3b9f063adc8882f174077c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmYdHNlw=?wsiE4>gV_M+WDW@c diff --git a/tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcno b/tests/unit/build/CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.gcno deleted file mode 100644 index befddfa56a32776df312314c56690d1d0dc5104f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 892 zcmb_YyG{c!5VQ%8AP5bj;t!C(5>%8Yl!}IehAIli${o7go&2b2^Ec^G3aI!BB+~FD z%*dFNq7>+0q`CFZt!LL;S9)@CahYA;&2A5b5Gt>yMrmgz!5Xh_Z2f4ocWT@;r^e^T znlM$~I7p!?yt)rX`G9*8WH`p>>HQ`9e0_WVST5$9$je%f%aQX|=axmp0Q^-iXSE8x zDBby)#+@Fx1@42fXC@hUK_RXr{}US^dnb+gHpsiw7+K32GU_;ddr<5D=+T!os~*hh z!x?tKoqh8EG2y@;-!+(C=znfBk+ TbKTpM_Me_~(~VYJYJ&>OIJ-O9UAvhL zGqW{$@YF{i?-`;}1*ISKllVnNK|!jh6e_5n)Nd;K#Xk_x5B>ouwxH+SIcN9g?gRpQ z$m~7mcmCbE_ntF1j}#7#rwl_d8DhWaNQ??`YM{f9NOnYQ5&sastlje4WO4qx;>jN} z#rc0P&j0vW;oIVZg(k(5XN}@~%q|obi}N2WB0OKX_(9=3a^K&wFnPX+D&v#2Z;D-o zZ(Eml`z{pDe}82+e6n!f0M*{Y#o(b-h+?koI7uCGLYfa}OF9fLN*P~pi zRc};sV|Td6z43a(12n2PLc3BARum}=%CW}{cG<3$E3Q7RYj4~=s$#d_``9s6{;T+; zGoi-DMeC73TAKE&O5|TxfK+-FN~x3_%pR-mM*#n!5A()OOST`}0+9*UX z0O{B`23GCREYbihu~@wp@=ic7aXro(9w8vHLhAAT9 zAYrW;L`$KSE_S<`A#B-gI50DK3sJ7QfdIblSH+4#=`BVyJii*%gg7`hwkNY~vefdU zR=fw<;hS4h9DewQyq({%J%-~`gypsl9xN)@IXru35##>10eB?iUq^*8yUy6$zbbtS zPS@W7!v{&0XJKI7|59UXdQ<-ei&*#1SS>EYk@a^-we-D@^lMf9c&sN?*MQBXNBs1A zmjVDY@ymrczs*uFlRB1)UIK!l;84$PGUL|MmXWyv9z(&mDOyv+jYfeaYihNP;0}0F z5Q$rzTr+8n^T$~&r7;lE{sn^N8WL}cuI?)}rcgfOWQ&6-Pk;gtYl`*VptQ$M)lH_j zv>OD(6wq1|$Q0`8b_`6hsUs+y8J{Et5n>ReL0AVSUcaLN;JMZbDkKqaE`vY14F32s zc&C>-P8Hf!-d_PCh@J&pUbHpm-~Z!@@au=qAfR(S-Hm@Jzc=nmNQW^i1 z6kL&vkKzP?xWafoF)GA%V$hyrB9vEf%=;ezrqgZrs2K&i6U?ar5&H#;cY}zRH7VI%2Z6szEsfqkZ zING5v_XO?}*AQ-!9S=Vp_n(b$|ZEaUKrC=a=Q3z+lYf{JDJ5c@N97cfclKTH0zY)E59lkWsMY5tkM z*ifB6=H~pot|h>*Kj`bXi(ZKB<7gd!#_tD3QvMp{=RA0Ra7o#Z@j1Y--|P8DR+v8m z-=zGHCgjI&iJt!yV6@c0b*M=B-{?S+(`^?3P0D|o@*g1we1BYLJ^yon=`jHk7byQT zC@7@cz6LrSL-SL#p!)gOZC?W0r1>w>hnM|v{`h^==YI|`JtjcnEaiV11%-6m_du7F zf8(0iiO&h<$6L6b|6{-~CeIUCNk=g#(8F3n7J2*vY?Ayx!D0uxE*{#y?8oCbpkcmk z1k45US25&u+g|{~|C(sK(Ih5n=oyx2_xxxx. - - -set(CPACK_BINARY_7Z "") -set(CPACK_BINARY_BUNDLE "") -set(CPACK_BINARY_CYGWIN "") -set(CPACK_BINARY_DEB "OFF") -set(CPACK_BINARY_DRAGNDROP "") -set(CPACK_BINARY_FREEBSD "OFF") -set(CPACK_BINARY_IFW "OFF") -set(CPACK_BINARY_NSIS "OFF") -set(CPACK_BINARY_NUGET "") -set(CPACK_BINARY_OSXX11 "") -set(CPACK_BINARY_PACKAGEMAKER "") -set(CPACK_BINARY_PRODUCTBUILD "") -set(CPACK_BINARY_RPM "OFF") -set(CPACK_BINARY_STGZ "ON") -set(CPACK_BINARY_TBZ2 "OFF") -set(CPACK_BINARY_TGZ "ON") -set(CPACK_BINARY_TXZ "OFF") -set(CPACK_BINARY_TZ "ON") -set(CPACK_BINARY_WIX "") -set(CPACK_BINARY_ZIP "") -set(CPACK_BUILD_SOURCE_DIRS "/home/cseguret/Projects/app-ethereum/tests/unit;/home/cseguret/Projects/app-ethereum/tests/unit/build") -set(CPACK_CMAKE_GENERATOR "Unix Makefiles") -set(CPACK_COMPONENTS_ALL "") -set(CPACK_COMPONENT_HEADERS_DEPENDS "libraries") -set(CPACK_COMPONENT_HEADERS_DESCRIPTION "C/C++ header files for use with cmocka") -set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers") -set(CPACK_COMPONENT_HEADERS_GROUP "Development") -set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION "Libraries used to build programs which use cmocka") -set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries") -set(CPACK_COMPONENT_LIBRARIES_GROUP "Development") -set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") -set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") -set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.16/Templates/CPack.GenericDescription.txt") -set(CPACK_GENERATOR "STGZ;TGZ;TZ") -set(CPACK_INSTALL_CMAKE_PROJECTS "/home/cseguret/Projects/app-ethereum/tests/unit/build;unit_tests;ALL;/") -set(CPACK_INSTALL_PREFIX "/usr/local") -set(CPACK_MODULE_PATH "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/cmake/Modules") -set(CPACK_NSIS_DISPLAY_NAME "cmocka") -set(CPACK_NSIS_INSTALLER_ICON_CODE "") -set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") -set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") -set(CPACK_NSIS_PACKAGE_NAME "cmocka") -set(CPACK_OUTPUT_CONFIG_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackConfig.cmake") -set(CPACK_PACKAGE_DEFAULT_LOCATION "/") -set(CPACK_PACKAGE_DESCRIPTION_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/README.md") -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Unit testing framework for C with mock objects") -set(CPACK_PACKAGE_FILE_NAME "cmocka-1.1.5") -set(CPACK_PACKAGE_INSTALL_DIRECTORY "cmocka") -set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "cmocka") -set(CPACK_PACKAGE_NAME "cmocka") -set(CPACK_PACKAGE_RELOCATABLE "true") -set(CPACK_PACKAGE_VENDOR "Andreas Schneider") -set(CPACK_PACKAGE_VERSION "1.1.5") -set(CPACK_PACKAGE_VERSION_MAJOR "0") -set(CPACK_PACKAGE_VERSION_MINOR "1") -set(CPACK_RESOURCE_FILE_LICENSE "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/COPYING") -set(CPACK_RESOURCE_FILE_README "/usr/share/cmake-3.16/Templates/CPack.GenericDescription.txt") -set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake-3.16/Templates/CPack.GenericWelcome.txt") -set(CPACK_SET_DESTDIR "OFF") -set(CPACK_SOURCE_7Z "") -set(CPACK_SOURCE_CYGWIN "") -set(CPACK_SOURCE_GENERATOR "TXZ") -set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/obj*;tags;cscope.*;.ycm_extra_conf.pyc") -set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake") -set(CPACK_SOURCE_PACKAGE_FILE_NAME "cmocka-1.1.5") -set(CPACK_SOURCE_RPM "") -set(CPACK_SOURCE_TBZ2 "") -set(CPACK_SOURCE_TGZ "") -set(CPACK_SOURCE_TXZ "") -set(CPACK_SOURCE_TZ "") -set(CPACK_SOURCE_ZIP "") -set(CPACK_SYSTEM_NAME "Linux") -set(CPACK_TOPLEVEL_TAG "Linux") -set(CPACK_WIX_SIZEOF_VOID_P "8") - -if(NOT CPACK_PROPERTIES_FILE) - set(CPACK_PROPERTIES_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackProperties.cmake") -endif() - -if(EXISTS ${CPACK_PROPERTIES_FILE}) - include(${CPACK_PROPERTIES_FILE}) -endif() diff --git a/tests/unit/build/CPackSourceConfig.cmake b/tests/unit/build/CPackSourceConfig.cmake deleted file mode 100644 index 3de0d72..0000000 --- a/tests/unit/build/CPackSourceConfig.cmake +++ /dev/null @@ -1,100 +0,0 @@ -# This file will be configured to contain variables for CPack. These variables -# should be set in the CMake list file of the project before CPack module is -# included. The list of available CPACK_xxx variables and their associated -# documentation may be obtained using -# cpack --help-variable-list -# -# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME) -# and some are specific to a generator -# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables -# usually begin with CPACK__xxxx. - - -set(CPACK_BINARY_7Z "") -set(CPACK_BINARY_BUNDLE "") -set(CPACK_BINARY_CYGWIN "") -set(CPACK_BINARY_DEB "OFF") -set(CPACK_BINARY_DRAGNDROP "") -set(CPACK_BINARY_FREEBSD "OFF") -set(CPACK_BINARY_IFW "OFF") -set(CPACK_BINARY_NSIS "OFF") -set(CPACK_BINARY_NUGET "") -set(CPACK_BINARY_OSXX11 "") -set(CPACK_BINARY_PACKAGEMAKER "") -set(CPACK_BINARY_PRODUCTBUILD "") -set(CPACK_BINARY_RPM "OFF") -set(CPACK_BINARY_STGZ "ON") -set(CPACK_BINARY_TBZ2 "OFF") -set(CPACK_BINARY_TGZ "ON") -set(CPACK_BINARY_TXZ "OFF") -set(CPACK_BINARY_TZ "ON") -set(CPACK_BINARY_WIX "") -set(CPACK_BINARY_ZIP "") -set(CPACK_BUILD_SOURCE_DIRS "/home/cseguret/Projects/app-ethereum/tests/unit;/home/cseguret/Projects/app-ethereum/tests/unit/build") -set(CPACK_CMAKE_GENERATOR "Unix Makefiles") -set(CPACK_COMPONENTS_ALL "") -set(CPACK_COMPONENT_HEADERS_DEPENDS "libraries") -set(CPACK_COMPONENT_HEADERS_DESCRIPTION "C/C++ header files for use with cmocka") -set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers") -set(CPACK_COMPONENT_HEADERS_GROUP "Development") -set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION "Libraries used to build programs which use cmocka") -set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries") -set(CPACK_COMPONENT_LIBRARIES_GROUP "Development") -set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") -set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") -set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake-3.16/Templates/CPack.GenericDescription.txt") -set(CPACK_GENERATOR "TXZ") -set(CPACK_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/obj*;tags;cscope.*;.ycm_extra_conf.pyc") -set(CPACK_INSTALLED_DIRECTORIES "/home/cseguret/Projects/app-ethereum/tests/unit;/") -set(CPACK_INSTALL_CMAKE_PROJECTS "") -set(CPACK_INSTALL_PREFIX "/usr/local") -set(CPACK_MODULE_PATH "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/cmake/Modules") -set(CPACK_NSIS_DISPLAY_NAME "cmocka") -set(CPACK_NSIS_INSTALLER_ICON_CODE "") -set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") -set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES") -set(CPACK_NSIS_PACKAGE_NAME "cmocka") -set(CPACK_OUTPUT_CONFIG_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackConfig.cmake") -set(CPACK_PACKAGE_DEFAULT_LOCATION "/") -set(CPACK_PACKAGE_DESCRIPTION_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/README.md") -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Unit testing framework for C with mock objects") -set(CPACK_PACKAGE_FILE_NAME "cmocka-1.1.5") -set(CPACK_PACKAGE_INSTALL_DIRECTORY "cmocka") -set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "cmocka") -set(CPACK_PACKAGE_NAME "cmocka") -set(CPACK_PACKAGE_RELOCATABLE "true") -set(CPACK_PACKAGE_VENDOR "Andreas Schneider") -set(CPACK_PACKAGE_VERSION "1.1.5") -set(CPACK_PACKAGE_VERSION_MAJOR "0") -set(CPACK_PACKAGE_VERSION_MINOR "1") -set(CPACK_RESOURCE_FILE_LICENSE "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/COPYING") -set(CPACK_RESOURCE_FILE_README "/usr/share/cmake-3.16/Templates/CPack.GenericDescription.txt") -set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake-3.16/Templates/CPack.GenericWelcome.txt") -set(CPACK_RPM_PACKAGE_SOURCES "ON") -set(CPACK_SET_DESTDIR "OFF") -set(CPACK_SOURCE_7Z "") -set(CPACK_SOURCE_CYGWIN "") -set(CPACK_SOURCE_GENERATOR "TXZ") -set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/obj*;tags;cscope.*;.ycm_extra_conf.pyc") -set(CPACK_SOURCE_INSTALLED_DIRECTORIES "/home/cseguret/Projects/app-ethereum/tests/unit;/") -set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake") -set(CPACK_SOURCE_PACKAGE_FILE_NAME "cmocka-1.1.5") -set(CPACK_SOURCE_RPM "") -set(CPACK_SOURCE_TBZ2 "") -set(CPACK_SOURCE_TGZ "") -set(CPACK_SOURCE_TOPLEVEL_TAG "Linux-Source") -set(CPACK_SOURCE_TXZ "") -set(CPACK_SOURCE_TZ "") -set(CPACK_SOURCE_ZIP "") -set(CPACK_STRIP_FILES "") -set(CPACK_SYSTEM_NAME "Linux") -set(CPACK_TOPLEVEL_TAG "Linux-Source") -set(CPACK_WIX_SIZEOF_VOID_P "8") - -if(NOT CPACK_PROPERTIES_FILE) - set(CPACK_PROPERTIES_FILE "/home/cseguret/Projects/app-ethereum/tests/unit/build/CPackProperties.cmake") -endif() - -if(EXISTS ${CPACK_PROPERTIES_FILE}) - include(${CPACK_PROPERTIES_FILE}) -endif() diff --git a/tests/unit/build/CTestTestfile.cmake b/tests/unit/build/CTestTestfile.cmake deleted file mode 100644 index 23b8722..0000000 --- a/tests/unit/build/CTestTestfile.cmake +++ /dev/null @@ -1,9 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/cseguret/Projects/app-ethereum/tests/unit -# Build directory: /home/cseguret/Projects/app-ethereum/tests/unit/build -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. -add_test(test_utils "test_utils") -set_tests_properties(test_utils PROPERTIES _BACKTRACE_TRIPLES "/home/cseguret/Projects/app-ethereum/tests/unit/CMakeLists.txt;63;add_test;/home/cseguret/Projects/app-ethereum/tests/unit/CMakeLists.txt;0;") -subdirs("_deps/cmocka-build") diff --git a/tests/unit/build/DartConfiguration.tcl b/tests/unit/build/DartConfiguration.tcl deleted file mode 100644 index 1d39e60..0000000 --- a/tests/unit/build/DartConfiguration.tcl +++ /dev/null @@ -1,105 +0,0 @@ -# This file is configured by CMake automatically as DartConfiguration.tcl -# If you choose not to use CMake, this file may be hand configured, by -# filling in the required variables. - - -# Configuration directories and files -SourceDirectory: /home/cseguret/Projects/app-ethereum/tests/unit -BuildDirectory: /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Where to place the cost data store -CostDataFile: - -# Site is something like machine.domain, i.e. pragmatic.crd -Site: LPPS0065 - -# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ -BuildName: Linux-cc - -# Subprojects -LabelsForSubprojects: - -# Submission information -SubmitURL: http:// - -# Dashboard start time -NightlyStartTime: 00:00:00 EDT - -# Commands for the build/test/submit cycle -ConfigureCommand: "/usr/bin/cmake" "/home/cseguret/Projects/app-ethereum/tests/unit" -MakeCommand: /usr/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}" -DefaultCTestConfigurationType: Release - -# version control -UpdateVersionOnly: - -# CVS options -# Default is "-d -P -A" -CVSCommand: CVSCOMMAND-NOTFOUND -CVSUpdateOptions: -d -A -P - -# Subversion options -SVNCommand: SVNCOMMAND-NOTFOUND -SVNOptions: -SVNUpdateOptions: - -# Git options -GITCommand: /usr/bin/git -GITInitSubmodules: -GITUpdateOptions: -GITUpdateCustom: - -# Perforce options -P4Command: P4COMMAND-NOTFOUND -P4Client: -P4Options: -P4UpdateOptions: -P4UpdateCustom: - -# Generic update command -UpdateCommand: /usr/bin/git -UpdateOptions: -UpdateType: git - -# Compiler info -Compiler: -CompilerVersion: - -# Dynamic analysis (MemCheck) -PurifyCommand: -ValgrindCommand: -ValgrindCommandOptions: -MemoryCheckType: -MemoryCheckSanitizerOptions: -MemoryCheckCommand: MEMORYCHECK_COMMAND-NOTFOUND -MemoryCheckCommandOptions: -MemoryCheckSuppressionFile: - -# Coverage -CoverageCommand: /usr/bin/gcov -CoverageExtraFlags: -l - -# Cluster commands -SlurmBatchCommand: SLURM_SBATCH_COMMAND-NOTFOUND -SlurmRunCommand: SLURM_SRUN_COMMAND-NOTFOUND - -# Testing options -# TimeOut is the amount of time in seconds to wait for processes -# to complete during testing. After TimeOut seconds, the -# process will be summarily terminated. -# Currently set to 25 minutes -TimeOut: 1500 - -# During parallel testing CTest will not start a new test if doing -# so would cause the system load to exceed this value. -TestLoad: - -UseLaunchers: -CurlOptions: -# warning, if you add new options here that have to do with submit, -# you have to update cmCTestSubmitCommand.cxx - -# For CTest submissions that timeout, these options -# specify behavior for retrying the submission -CTestSubmitRetryDelay: 5 -CTestSubmitRetryCount: 3 diff --git a/tests/unit/build/Makefile b/tests/unit/build/Makefile deleted file mode 100644 index a075b21..0000000 --- a/tests/unit/build/Makefile +++ /dev/null @@ -1,756 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\" \"cmocka-header\" \"cmocka-library\" \"devel\" \"pkgconfig\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components - -.PHONY : list_install_components/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache - -.PHONY : rebuild_cache/fast - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test - -.PHONY : test/fast - -# Special rule for the target package_source -package_source: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." - /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake -.PHONY : package_source - -# Special rule for the target package_source -package_source/fast: package_source - -.PHONY : package_source/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache - -.PHONY : edit_cache/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target package -package: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." - /usr/bin/cpack --config ./CPackConfig.cmake -.PHONY : package - -# Special rule for the target package -package/fast: package - -.PHONY : package/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles/progress.marks - $(MAKE) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean - -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named NightlyMemCheck - -# Build rule for target. -NightlyMemCheck: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyMemCheck -.PHONY : NightlyMemCheck - -# fast build rule for target. -NightlyMemCheck/fast: - $(MAKE) -f CMakeFiles/NightlyMemCheck.dir/build.make CMakeFiles/NightlyMemCheck.dir/build -.PHONY : NightlyMemCheck/fast - -#============================================================================= -# Target rules for targets named NightlyTest - -# Build rule for target. -NightlyTest: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyTest -.PHONY : NightlyTest - -# fast build rule for target. -NightlyTest/fast: - $(MAKE) -f CMakeFiles/NightlyTest.dir/build.make CMakeFiles/NightlyTest.dir/build -.PHONY : NightlyTest/fast - -#============================================================================= -# Target rules for targets named ContinuousConfigure - -# Build rule for target. -ContinuousConfigure: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousConfigure -.PHONY : ContinuousConfigure - -# fast build rule for target. -ContinuousConfigure/fast: - $(MAKE) -f CMakeFiles/ContinuousConfigure.dir/build.make CMakeFiles/ContinuousConfigure.dir/build -.PHONY : ContinuousConfigure/fast - -#============================================================================= -# Target rules for targets named ContinuousBuild - -# Build rule for target. -ContinuousBuild: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousBuild -.PHONY : ContinuousBuild - -# fast build rule for target. -ContinuousBuild/fast: - $(MAKE) -f CMakeFiles/ContinuousBuild.dir/build.make CMakeFiles/ContinuousBuild.dir/build -.PHONY : ContinuousBuild/fast - -#============================================================================= -# Target rules for targets named NightlyConfigure - -# Build rule for target. -NightlyConfigure: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyConfigure -.PHONY : NightlyConfigure - -# fast build rule for target. -NightlyConfigure/fast: - $(MAKE) -f CMakeFiles/NightlyConfigure.dir/build.make CMakeFiles/NightlyConfigure.dir/build -.PHONY : NightlyConfigure/fast - -#============================================================================= -# Target rules for targets named NightlyMemoryCheck - -# Build rule for target. -NightlyMemoryCheck: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyMemoryCheck -.PHONY : NightlyMemoryCheck - -# fast build rule for target. -NightlyMemoryCheck/fast: - $(MAKE) -f CMakeFiles/NightlyMemoryCheck.dir/build.make CMakeFiles/NightlyMemoryCheck.dir/build -.PHONY : NightlyMemoryCheck/fast - -#============================================================================= -# Target rules for targets named ExperimentalTest - -# Build rule for target. -ExperimentalTest: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalTest -.PHONY : ExperimentalTest - -# fast build rule for target. -ExperimentalTest/fast: - $(MAKE) -f CMakeFiles/ExperimentalTest.dir/build.make CMakeFiles/ExperimentalTest.dir/build -.PHONY : ExperimentalTest/fast - -#============================================================================= -# Target rules for targets named ContinuousUpdate - -# Build rule for target. -ContinuousUpdate: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousUpdate -.PHONY : ContinuousUpdate - -# fast build rule for target. -ContinuousUpdate/fast: - $(MAKE) -f CMakeFiles/ContinuousUpdate.dir/build.make CMakeFiles/ContinuousUpdate.dir/build -.PHONY : ContinuousUpdate/fast - -#============================================================================= -# Target rules for targets named NightlyUpdate - -# Build rule for target. -NightlyUpdate: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyUpdate -.PHONY : NightlyUpdate - -# fast build rule for target. -NightlyUpdate/fast: - $(MAKE) -f CMakeFiles/NightlyUpdate.dir/build.make CMakeFiles/NightlyUpdate.dir/build -.PHONY : NightlyUpdate/fast - -#============================================================================= -# Target rules for targets named ExperimentalMemCheck - -# Build rule for target. -ExperimentalMemCheck: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalMemCheck -.PHONY : ExperimentalMemCheck - -# fast build rule for target. -ExperimentalMemCheck/fast: - $(MAKE) -f CMakeFiles/ExperimentalMemCheck.dir/build.make CMakeFiles/ExperimentalMemCheck.dir/build -.PHONY : ExperimentalMemCheck/fast - -#============================================================================= -# Target rules for targets named ExperimentalSubmit - -# Build rule for target. -ExperimentalSubmit: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalSubmit -.PHONY : ExperimentalSubmit - -# fast build rule for target. -ExperimentalSubmit/fast: - $(MAKE) -f CMakeFiles/ExperimentalSubmit.dir/build.make CMakeFiles/ExperimentalSubmit.dir/build -.PHONY : ExperimentalSubmit/fast - -#============================================================================= -# Target rules for targets named Experimental - -# Build rule for target. -Experimental: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Experimental -.PHONY : Experimental - -# fast build rule for target. -Experimental/fast: - $(MAKE) -f CMakeFiles/Experimental.dir/build.make CMakeFiles/Experimental.dir/build -.PHONY : Experimental/fast - -#============================================================================= -# Target rules for targets named ContinuousCoverage - -# Build rule for target. -ContinuousCoverage: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousCoverage -.PHONY : ContinuousCoverage - -# fast build rule for target. -ContinuousCoverage/fast: - $(MAKE) -f CMakeFiles/ContinuousCoverage.dir/build.make CMakeFiles/ContinuousCoverage.dir/build -.PHONY : ContinuousCoverage/fast - -#============================================================================= -# Target rules for targets named ExperimentalConfigure - -# Build rule for target. -ExperimentalConfigure: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalConfigure -.PHONY : ExperimentalConfigure - -# fast build rule for target. -ExperimentalConfigure/fast: - $(MAKE) -f CMakeFiles/ExperimentalConfigure.dir/build.make CMakeFiles/ExperimentalConfigure.dir/build -.PHONY : ExperimentalConfigure/fast - -#============================================================================= -# Target rules for targets named Continuous - -# Build rule for target. -Continuous: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Continuous -.PHONY : Continuous - -# fast build rule for target. -Continuous/fast: - $(MAKE) -f CMakeFiles/Continuous.dir/build.make CMakeFiles/Continuous.dir/build -.PHONY : Continuous/fast - -#============================================================================= -# Target rules for targets named test_utils - -# Build rule for target. -test_utils: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 test_utils -.PHONY : test_utils - -# fast build rule for target. -test_utils/fast: - $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/build -.PHONY : test_utils/fast - -#============================================================================= -# Target rules for targets named utils - -# Build rule for target. -utils: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 utils -.PHONY : utils - -# fast build rule for target. -utils/fast: - $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/build -.PHONY : utils/fast - -#============================================================================= -# Target rules for targets named Nightly - -# Build rule for target. -Nightly: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 Nightly -.PHONY : Nightly - -# fast build rule for target. -Nightly/fast: - $(MAKE) -f CMakeFiles/Nightly.dir/build.make CMakeFiles/Nightly.dir/build -.PHONY : Nightly/fast - -#============================================================================= -# Target rules for targets named NightlySubmit - -# Build rule for target. -NightlySubmit: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlySubmit -.PHONY : NightlySubmit - -# fast build rule for target. -NightlySubmit/fast: - $(MAKE) -f CMakeFiles/NightlySubmit.dir/build.make CMakeFiles/NightlySubmit.dir/build -.PHONY : NightlySubmit/fast - -#============================================================================= -# Target rules for targets named NightlyStart - -# Build rule for target. -NightlyStart: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyStart -.PHONY : NightlyStart - -# fast build rule for target. -NightlyStart/fast: - $(MAKE) -f CMakeFiles/NightlyStart.dir/build.make CMakeFiles/NightlyStart.dir/build -.PHONY : NightlyStart/fast - -#============================================================================= -# Target rules for targets named ExperimentalCoverage - -# Build rule for target. -ExperimentalCoverage: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalCoverage -.PHONY : ExperimentalCoverage - -# fast build rule for target. -ExperimentalCoverage/fast: - $(MAKE) -f CMakeFiles/ExperimentalCoverage.dir/build.make CMakeFiles/ExperimentalCoverage.dir/build -.PHONY : ExperimentalCoverage/fast - -#============================================================================= -# Target rules for targets named NightlyCoverage - -# Build rule for target. -NightlyCoverage: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyCoverage -.PHONY : NightlyCoverage - -# fast build rule for target. -NightlyCoverage/fast: - $(MAKE) -f CMakeFiles/NightlyCoverage.dir/build.make CMakeFiles/NightlyCoverage.dir/build -.PHONY : NightlyCoverage/fast - -#============================================================================= -# Target rules for targets named ExperimentalStart - -# Build rule for target. -ExperimentalStart: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalStart -.PHONY : ExperimentalStart - -# fast build rule for target. -ExperimentalStart/fast: - $(MAKE) -f CMakeFiles/ExperimentalStart.dir/build.make CMakeFiles/ExperimentalStart.dir/build -.PHONY : ExperimentalStart/fast - -#============================================================================= -# Target rules for targets named NightlyBuild - -# Build rule for target. -NightlyBuild: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 NightlyBuild -.PHONY : NightlyBuild - -# fast build rule for target. -NightlyBuild/fast: - $(MAKE) -f CMakeFiles/NightlyBuild.dir/build.make CMakeFiles/NightlyBuild.dir/build -.PHONY : NightlyBuild/fast - -#============================================================================= -# Target rules for targets named ExperimentalBuild - -# Build rule for target. -ExperimentalBuild: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalBuild -.PHONY : ExperimentalBuild - -# fast build rule for target. -ExperimentalBuild/fast: - $(MAKE) -f CMakeFiles/ExperimentalBuild.dir/build.make CMakeFiles/ExperimentalBuild.dir/build -.PHONY : ExperimentalBuild/fast - -#============================================================================= -# Target rules for targets named ExperimentalUpdate - -# Build rule for target. -ExperimentalUpdate: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ExperimentalUpdate -.PHONY : ExperimentalUpdate - -# fast build rule for target. -ExperimentalUpdate/fast: - $(MAKE) -f CMakeFiles/ExperimentalUpdate.dir/build.make CMakeFiles/ExperimentalUpdate.dir/build -.PHONY : ExperimentalUpdate/fast - -#============================================================================= -# Target rules for targets named ContinuousStart - -# Build rule for target. -ContinuousStart: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousStart -.PHONY : ContinuousStart - -# fast build rule for target. -ContinuousStart/fast: - $(MAKE) -f CMakeFiles/ContinuousStart.dir/build.make CMakeFiles/ContinuousStart.dir/build -.PHONY : ContinuousStart/fast - -#============================================================================= -# Target rules for targets named ContinuousMemCheck - -# Build rule for target. -ContinuousMemCheck: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousMemCheck -.PHONY : ContinuousMemCheck - -# fast build rule for target. -ContinuousMemCheck/fast: - $(MAKE) -f CMakeFiles/ContinuousMemCheck.dir/build.make CMakeFiles/ContinuousMemCheck.dir/build -.PHONY : ContinuousMemCheck/fast - -#============================================================================= -# Target rules for targets named ContinuousTest - -# Build rule for target. -ContinuousTest: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousTest -.PHONY : ContinuousTest - -# fast build rule for target. -ContinuousTest/fast: - $(MAKE) -f CMakeFiles/ContinuousTest.dir/build.make CMakeFiles/ContinuousTest.dir/build -.PHONY : ContinuousTest/fast - -#============================================================================= -# Target rules for targets named ContinuousSubmit - -# Build rule for target. -ContinuousSubmit: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 ContinuousSubmit -.PHONY : ContinuousSubmit - -# fast build rule for target. -ContinuousSubmit/fast: - $(MAKE) -f CMakeFiles/ContinuousSubmit.dir/build.make CMakeFiles/ContinuousSubmit.dir/build -.PHONY : ContinuousSubmit/fast - -#============================================================================= -# Target rules for targets named dist - -# Build rule for target. -dist: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 dist -.PHONY : dist - -# fast build rule for target. -dist/fast: - $(MAKE) -f _deps/cmocka-build/CMakeFiles/dist.dir/build.make _deps/cmocka-build/CMakeFiles/dist.dir/build -.PHONY : dist/fast - -#============================================================================= -# Target rules for targets named cmocka-static - -# Build rule for target. -cmocka-static: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cmocka-static -.PHONY : cmocka-static - -# fast build rule for target. -cmocka-static/fast: - $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build -.PHONY : cmocka-static/fast - -#============================================================================= -# Target rules for targets named cmocka - -# Build rule for target. -cmocka: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 cmocka -.PHONY : cmocka - -# fast build rule for target. -cmocka/fast: - $(MAKE) -f _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build -.PHONY : cmocka/fast - -#============================================================================= -# Target rules for targets named docs - -# Build rule for target. -docs: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 docs -.PHONY : docs - -# fast build rule for target. -docs/fast: - $(MAKE) -f _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make _deps/cmocka-build/doc/CMakeFiles/docs.dir/build -.PHONY : docs/fast - -home/cseguret/Projects/app-ethereum/src/utils2.o: home/cseguret/Projects/app-ethereum/src/utils2.c.o - -.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.o - -# target to build an object file -home/cseguret/Projects/app-ethereum/src/utils2.c.o: - $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.o -.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.c.o - -home/cseguret/Projects/app-ethereum/src/utils2.i: home/cseguret/Projects/app-ethereum/src/utils2.c.i - -.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.i - -# target to preprocess a source file -home/cseguret/Projects/app-ethereum/src/utils2.c.i: - $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.i -.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.c.i - -home/cseguret/Projects/app-ethereum/src/utils2.s: home/cseguret/Projects/app-ethereum/src/utils2.c.s - -.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.s - -# target to generate assembly for a file -home/cseguret/Projects/app-ethereum/src/utils2.c.s: - $(MAKE) -f CMakeFiles/utils.dir/build.make CMakeFiles/utils.dir/home/cseguret/Projects/app-ethereum/src/utils2.c.s -.PHONY : home/cseguret/Projects/app-ethereum/src/utils2.c.s - -tests/utils.o: tests/utils.c.o - -.PHONY : tests/utils.o - -# target to build an object file -tests/utils.c.o: - $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/tests/utils.c.o -.PHONY : tests/utils.c.o - -tests/utils.i: tests/utils.c.i - -.PHONY : tests/utils.i - -# target to preprocess a source file -tests/utils.c.i: - $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/tests/utils.c.i -.PHONY : tests/utils.c.i - -tests/utils.s: tests/utils.c.s - -.PHONY : tests/utils.s - -# target to generate assembly for a file -tests/utils.c.s: - $(MAKE) -f CMakeFiles/test_utils.dir/build.make CMakeFiles/test_utils.dir/tests/utils.c.s -.PHONY : tests/utils.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... install/strip" - @echo "... install/local" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... test" - @echo "... package_source" - @echo "... edit_cache" - @echo "... NightlyMemCheck" - @echo "... NightlyTest" - @echo "... ContinuousConfigure" - @echo "... ContinuousBuild" - @echo "... NightlyConfigure" - @echo "... NightlyMemoryCheck" - @echo "... ExperimentalTest" - @echo "... ContinuousUpdate" - @echo "... NightlyUpdate" - @echo "... ExperimentalMemCheck" - @echo "... ExperimentalSubmit" - @echo "... Experimental" - @echo "... ContinuousCoverage" - @echo "... ExperimentalConfigure" - @echo "... Continuous" - @echo "... test_utils" - @echo "... utils" - @echo "... Nightly" - @echo "... NightlySubmit" - @echo "... install" - @echo "... NightlyStart" - @echo "... ExperimentalCoverage" - @echo "... NightlyCoverage" - @echo "... ExperimentalStart" - @echo "... package" - @echo "... NightlyBuild" - @echo "... ExperimentalBuild" - @echo "... ExperimentalUpdate" - @echo "... ContinuousStart" - @echo "... ContinuousMemCheck" - @echo "... ContinuousTest" - @echo "... ContinuousSubmit" - @echo "... dist" - @echo "... cmocka-static" - @echo "... cmocka" - @echo "... docs" - @echo "... home/cseguret/Projects/app-ethereum/src/utils2.o" - @echo "... home/cseguret/Projects/app-ethereum/src/utils2.i" - @echo "... home/cseguret/Projects/app-ethereum/src/utils2.s" - @echo "... tests/utils.o" - @echo "... tests/utils.i" - @echo "... tests/utils.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/tests/unit/build/Testing/Temporary/CTestCostData.txt b/tests/unit/build/Testing/Temporary/CTestCostData.txt deleted file mode 100644 index 0d8c40c..0000000 --- a/tests/unit/build/Testing/Temporary/CTestCostData.txt +++ /dev/null @@ -1,3 +0,0 @@ -test_main 4 0.000297836 -test_utils 5 0.000234637 ---- diff --git a/tests/unit/build/Testing/Temporary/LastTest.log b/tests/unit/build/Testing/Temporary/LastTest.log deleted file mode 100644 index ca19ecd..0000000 --- a/tests/unit/build/Testing/Temporary/LastTest.log +++ /dev/null @@ -1,23 +0,0 @@ -Start testing: Mar 04 11:47 CET ----------------------------------------------------------- -1/1 Testing: test_utils -1/1 Test: test_utils -Command: "/home/cseguret/Projects/app-ethereum/tests/unit/build/test_utils" -Directory: /home/cseguret/Projects/app-ethereum/tests/unit/build -"test_utils" start time: Mar 04 11:47 CET -Output: ----------------------------------------------------------- -[==========] Running 1 test(s). -[ RUN ] null_test_success -[ OK ] null_test_success -[==========] 1 test(s) run. -[ PASSED ] 1 test(s). - -Test time = 0.00 sec ----------------------------------------------------------- -Test Passed. -"test_utils" end time: Mar 04 11:47 CET -"test_utils" time elapsed: 00:00:00 ----------------------------------------------------------- - -End testing: Mar 04 11:47 CET diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/unit/build/_deps/cmocka-build/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index f5ce8d9..0000000 --- a/tests/unit/build/_deps/cmocka-build/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cseguret/Projects/app-ethereum/tests/unit") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cseguret/Projects/app-ethereum/tests/unit/build") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/build.make b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/build.make deleted file mode 100644 index 37b87cc..0000000 --- a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/build.make +++ /dev/null @@ -1,76 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for dist. - -# Include the progress variables for this target. -include _deps/cmocka-build/CMakeFiles/dist.dir/progress.make - -_deps/cmocka-build/CMakeFiles/dist: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build && /usr/bin/make package_source - -dist: _deps/cmocka-build/CMakeFiles/dist -dist: _deps/cmocka-build/CMakeFiles/dist.dir/build.make - -.PHONY : dist - -# Rule to build all files generated by this target. -_deps/cmocka-build/CMakeFiles/dist.dir/build: dist - -.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/build - -_deps/cmocka-build/CMakeFiles/dist.dir/clean: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build && $(CMAKE_COMMAND) -P CMakeFiles/dist.dir/cmake_clean.cmake -.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/clean - -_deps/cmocka-build/CMakeFiles/dist.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/depend - diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/cmake_clean.cmake b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/cmake_clean.cmake deleted file mode 100644 index 656ce9f..0000000 --- a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/dist" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/dist.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/progress.make b/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/tests/unit/build/_deps/cmocka-build/CMakeFiles/dist.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/tests/unit/build/_deps/cmocka-build/CMakeFiles/progress.marks b/tests/unit/build/_deps/cmocka-build/CMakeFiles/progress.marks deleted file mode 100644 index b8626c4..0000000 --- a/tests/unit/build/_deps/cmocka-build/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/tests/unit/build/_deps/cmocka-build/CTestTestfile.cmake b/tests/unit/build/_deps/cmocka-build/CTestTestfile.cmake deleted file mode 100644 index 99d1e6e..0000000 --- a/tests/unit/build/_deps/cmocka-build/CTestTestfile.cmake +++ /dev/null @@ -1,9 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src -# Build directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. -subdirs("include") -subdirs("src") -subdirs("doc") diff --git a/tests/unit/build/_deps/cmocka-build/DartConfiguration.tcl b/tests/unit/build/_deps/cmocka-build/DartConfiguration.tcl deleted file mode 100644 index ef33874..0000000 --- a/tests/unit/build/_deps/cmocka-build/DartConfiguration.tcl +++ /dev/null @@ -1,105 +0,0 @@ -# This file is configured by CMake automatically as DartConfiguration.tcl -# If you choose not to use CMake, this file may be hand configured, by -# filling in the required variables. - - -# Configuration directories and files -SourceDirectory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src -BuildDirectory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build - -# Where to place the cost data store -CostDataFile: - -# Site is something like machine.domain, i.e. pragmatic.crd -Site: LPPS0065 - -# Build name is osname-revision-compiler, i.e. Linux-2.4.2-2smp-c++ -BuildName: Linux-cc - -# Subprojects -LabelsForSubprojects: - -# Submission information -SubmitURL: http:// - -# Dashboard start time -NightlyStartTime: 00:00:00 EDT - -# Commands for the build/test/submit cycle -ConfigureCommand: "/usr/bin/cmake" "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" -MakeCommand: /usr/bin/cmake --build . --config "${CTEST_CONFIGURATION_TYPE}" -DefaultCTestConfigurationType: Release - -# version control -UpdateVersionOnly: - -# CVS options -# Default is "-d -P -A" -CVSCommand: CVSCOMMAND-NOTFOUND -CVSUpdateOptions: -d -A -P - -# Subversion options -SVNCommand: SVNCOMMAND-NOTFOUND -SVNOptions: -SVNUpdateOptions: - -# Git options -GITCommand: /usr/bin/git -GITInitSubmodules: -GITUpdateOptions: -GITUpdateCustom: - -# Perforce options -P4Command: P4COMMAND-NOTFOUND -P4Client: -P4Options: -P4UpdateOptions: -P4UpdateCustom: - -# Generic update command -UpdateCommand: /usr/bin/git -UpdateOptions: -UpdateType: true - -# Compiler info -Compiler: -CompilerVersion: - -# Dynamic analysis (MemCheck) -PurifyCommand: -ValgrindCommand: -ValgrindCommandOptions: -MemoryCheckType: -MemoryCheckSanitizerOptions: -MemoryCheckCommand: MEMORYCHECK_COMMAND-NOTFOUND -MemoryCheckCommandOptions: -MemoryCheckSuppressionFile: - -# Coverage -CoverageCommand: /usr/bin/gcov -CoverageExtraFlags: -l - -# Cluster commands -SlurmBatchCommand: SLURM_SBATCH_COMMAND-NOTFOUND -SlurmRunCommand: SLURM_SRUN_COMMAND-NOTFOUND - -# Testing options -# TimeOut is the amount of time in seconds to wait for processes -# to complete during testing. After TimeOut seconds, the -# process will be summarily terminated. -# Currently set to 25 minutes -TimeOut: 1500 - -# During parallel testing CTest will not start a new test if doing -# so would cause the system load to exceed this value. -TestLoad: - -UseLaunchers: -CurlOptions: -# warning, if you add new options here that have to do with submit, -# you have to update cmCTestSubmitCommand.cxx - -# For CTest submissions that timeout, these options -# specify behavior for retrying the submission -CTestSubmitRetryDelay: 5 -CTestSubmitRetryCount: 3 diff --git a/tests/unit/build/_deps/cmocka-build/Makefile b/tests/unit/build/_deps/cmocka-build/Makefile deleted file mode 100644 index 3aef2a8..0000000 --- a/tests/unit/build/_deps/cmocka-build/Makefile +++ /dev/null @@ -1,236 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache - -.PHONY : edit_cache/fast - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test - -.PHONY : test/fast - -# Special rule for the target package_source -package_source: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake -.PHONY : package_source - -# Special rule for the target package_source -package_source/fast: package_source - -.PHONY : package_source/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\" \"cmocka-header\" \"cmocka-library\" \"devel\" \"pkgconfig\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components - -.PHONY : list_install_components/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache - -.PHONY : rebuild_cache/fast - -# Special rule for the target package -package: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackConfig.cmake -.PHONY : package - -# Special rule for the target package -package/fast: package - -.PHONY : package/fast - -# The main all target -all: cmake_check_build_system - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/CMakeFiles/progress.marks - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/clean -.PHONY : clean - -# The main clean target -clean/fast: clean - -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -# Convenience name for target. -_deps/cmocka-build/CMakeFiles/dist.dir/rule: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/CMakeFiles/dist.dir/rule -.PHONY : _deps/cmocka-build/CMakeFiles/dist.dir/rule - -# Convenience name for target. -dist: _deps/cmocka-build/CMakeFiles/dist.dir/rule - -.PHONY : dist - -# fast build rule for target. -dist/fast: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f _deps/cmocka-build/CMakeFiles/dist.dir/build.make _deps/cmocka-build/CMakeFiles/dist.dir/build -.PHONY : dist/fast - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... install/strip" - @echo "... install/local" - @echo "... edit_cache" - @echo "... test" - @echo "... package_source" - @echo "... install" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... package" - @echo "... dist" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/tests/unit/build/_deps/cmocka-build/cmake_install.cmake b/tests/unit/build/_deps/cmocka-build/cmake_install.cmake deleted file mode 100644 index 7186233..0000000 --- a/tests/unit/build/_deps/cmocka-build/cmake_install.cmake +++ /dev/null @@ -1,58 +0,0 @@ -# Install script for directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "Debug") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Install shared libraries without execute permission? -if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - set(CMAKE_INSTALL_SO_NO_EXE "1") -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xpkgconfigx" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" TYPE FILE FILES "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/cmocka.pc") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xdevelx" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/cmocka" TYPE FILE FILES - "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/cmocka-config.cmake" - "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/cmocka-config-version.cmake" - ) -endif() - -if(NOT CMAKE_INSTALL_LOCAL_ONLY) - # Include the install script for each subdirectory. - include("/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/cmake_install.cmake") - include("/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/cmake_install.cmake") - include("/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/cmake_install.cmake") - -endif() - diff --git a/tests/unit/build/_deps/cmocka-build/cmocka-config-version.cmake b/tests/unit/build/_deps/cmocka-build/cmocka-config-version.cmake deleted file mode 100644 index 4f9f442..0000000 --- a/tests/unit/build/_deps/cmocka-build/cmocka-config-version.cmake +++ /dev/null @@ -1,37 +0,0 @@ -# This is a basic version file for the Config-mode of find_package(). -# It is used by write_basic_package_version_file() as input file for configure_file() -# to create a version-file which can be installed along a config.cmake file. -# -# The created file sets PACKAGE_VERSION_EXACT if the current version string and -# the requested version string are exactly the same and it sets -# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. -# The variable CVF_VERSION must be set before calling configure_file(). - -set(PACKAGE_VERSION "1.1.5") - -if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) -else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() -endif() - - -# if the installed project requested no architecture check, don't perform the check -if("FALSE") - return() -endif() - -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "") - return() -endif() - -# check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8") - math(EXPR installedBits "8 * 8") - set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() diff --git a/tests/unit/build/_deps/cmocka-build/cmocka-config.cmake b/tests/unit/build/_deps/cmocka-build/cmocka-config.cmake deleted file mode 100644 index eb8f592..0000000 --- a/tests/unit/build/_deps/cmocka-build/cmocka-config.cmake +++ /dev/null @@ -1,39 +0,0 @@ - -####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### -####### Any changes to this file will be overwritten by the next CMake run #### -####### The input file was cmocka-config.cmake.in ######## - -get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) - -macro(set_and_check _var _file) - set(${_var} "${_file}") - if(NOT EXISTS "${_file}") - message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") - endif() -endmacro() - -macro(check_required_components _NAME) - foreach(comp ${${_NAME}_FIND_COMPONENTS}) - if(NOT ${_NAME}_${comp}_FOUND) - if(${_NAME}_FIND_REQUIRED_${comp}) - set(${_NAME}_FOUND FALSE) - endif() - endif() - endforeach() -endmacro() - -#################################################################################### - -get_filename_component(CMOCKA_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) - -if (EXISTS "${CMOCKA_CMAKE_DIR}/CMakeCache.txt") - # In build tree - include(${CMOCKA_CMAKE_DIR}/cmocka-build-tree-settings.cmake) -else() - set(CMOCKA_INCLUDE_DIR ${PACKAGE_PREFIX_DIR}/include) -endif() - -set(CMOCKA_LIBRARY ${PACKAGE_PREFIX_DIR}/lib/libcmocka.so) -set(CMOCKA_LIBRARIES ${PACKAGE_PREFIX_DIR}/lib/libcmocka.so) - -mark_as_advanced(CMOCKA_LIBRARY CMOCKA_INCLUDE_DIR) diff --git a/tests/unit/build/_deps/cmocka-build/cmocka.pc b/tests/unit/build/_deps/cmocka-build/cmocka.pc deleted file mode 100644 index 0906145..0000000 --- a/tests/unit/build/_deps/cmocka-build/cmocka.pc +++ /dev/null @@ -1,5 +0,0 @@ -Name: cmocka -Description: The cmocka unit testing library -Version: 1.1.5 -Libs: -L/usr/local/lib -lcmocka -Cflags: -I/usr/local/include diff --git a/tests/unit/build/_deps/cmocka-build/config.h b/tests/unit/build/_deps/cmocka-build/config.h deleted file mode 100644 index 75ca415..0000000 --- a/tests/unit/build/_deps/cmocka-build/config.h +++ /dev/null @@ -1,169 +0,0 @@ -/* Name of package */ -#define PACKAGE "cmocka" - -/* Version number of package */ -#define VERSION "1.1.5" - -/* #undef LOCALEDIR */ -/* #undef DATADIR */ -#define LIBDIR "lib" -#define PLUGINDIR "-0" -/* #undef SYSCONFDIR */ -#define BINARYDIR "/home/cseguret/Projects/app-ethereum/tests/unit/build" -#define SOURCEDIR "/home/cseguret/Projects/app-ethereum/tests/unit" - -/************************** HEADER FILES *************************/ - -/* Define to 1 if you have the header file. */ -#define HAVE_ASSERT_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DLFCN_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_IO_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_MALLOC_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SETJMP_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SIGNAL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDARG_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDDEF_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDIO_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_TIME_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/**************************** STRUCTS ****************************/ - -#define HAVE_STRUCT_TIMESPEC 1 - -/*************************** FUNCTIONS ***************************/ - -/* Define to 1 if you have the `calloc' function. */ -#define HAVE_CALLOC 1 - -/* Define to 1 if you have the `exit' function. */ -#define HAVE_EXIT 1 - -/* Define to 1 if you have the `fprintf' function. */ -#define HAVE_FPRINTF 1 - -/* Define to 1 if you have the `snprintf' function. */ -#define HAVE_SNPRINTF 1 - -/* Define to 1 if you have the `_snprintf' function. */ -/* #undef HAVE__SNPRINTF */ - -/* Define to 1 if you have the `_snprintf_s' function. */ -/* #undef HAVE__SNPRINTF_S */ - -/* Define to 1 if you have the `vsnprintf' function. */ -#define HAVE_VSNPRINTF 1 - -/* Define to 1 if you have the `_vsnprintf' function. */ -/* #undef HAVE__VSNPRINTF */ - -/* Define to 1 if you have the `_vsnprintf_s' function. */ -/* #undef HAVE__VSNPRINTF_S */ - -/* Define to 1 if you have the `free' function. */ -#define HAVE_FREE 1 - -/* Define to 1 if you have the `longjmp' function. */ -#define HAVE_LONGJMP 1 - -/* Define to 1 if you have the `siglongjmp' function. */ -#define HAVE_SIGLONGJMP 1 - -/* Define to 1 if you have the `malloc' function. */ -#define HAVE_MALLOC 1 - -/* Define to 1 if you have the `memcpy' function. */ -#define HAVE_MEMCPY 1 - -/* Define to 1 if you have the `memset' function. */ -#define HAVE_MEMSET 1 - -/* Define to 1 if you have the `printf' function. */ -#define HAVE_PRINTF 1 - -/* Define to 1 if you have the `setjmp' function. */ -#define HAVE_SETJMP 1 - -/* Define to 1 if you have the `signal' function. */ -#define HAVE_SIGNAL 1 - -/* Define to 1 if you have the `snprintf' function. */ -#define HAVE_SNPRINTF 1 - -/* Define to 1 if you have the `strcmp' function. */ -#define HAVE_STRCMP 1 - -/* Define to 1 if you have the `strcpy' function. */ -/* #undef HAVE_STRCPY */ - -/* Define to 1 if you have the `vsnprintf' function. */ -#define HAVE_VSNPRINTF 1 - -/* Define to 1 if you have the `strsignal' function. */ -#define HAVE_STRSIGNAL 1 - -/* Define to 1 if you have the `clock_gettime' function. */ -#define HAVE_CLOCK_GETTIME 1 - -/**************************** OPTIONS ****************************/ - -/* Check if we have TLS support with GCC */ -#define HAVE_GCC_THREAD_LOCAL_STORAGE 1 - -/* Check if we have TLS support with MSVC */ -/* #undef HAVE_MSVC_THREAD_LOCAL_STORAGE */ - -/* Check if we have CLOCK_REALTIME for clock_gettime() */ -#define HAVE_CLOCK_REALTIME 1 - -/*************************** ENDIAN *****************************/ - -#define WORDS_SIZEOF_VOID_P 8 - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -/* #undef WORDS_BIGENDIAN */ diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index f5ce8d9..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cseguret/Projects/app-ethereum/tests/unit") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cseguret/Projects/app-ethereum/tests/unit/build") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/cmake_directory_clean.cmake b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/cmake_directory_clean.cmake deleted file mode 100644 index 4c35bb4..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/cmake_directory_clean.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "_deps/cmocka-build/doc/html" -) diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake deleted file mode 100644 index 19fab21..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) -# The set of files for implicit dependencies of each language: - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make deleted file mode 100644 index a93207c..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make +++ /dev/null @@ -1,78 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Utility rule file for docs. - -# Include the progress variables for this target. -include _deps/cmocka-build/doc/CMakeFiles/docs.dir/progress.make - -_deps/cmocka-build/doc/CMakeFiles/docs: _deps/cmocka-build/doc/Doxyfile.docs - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generate API documentation for docs" - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc && /usr/bin/cmake -E make_directory /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc && /usr/bin/doxygen /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/Doxyfile.docs - -docs: _deps/cmocka-build/doc/CMakeFiles/docs -docs: _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make - -.PHONY : docs - -# Rule to build all files generated by this target. -_deps/cmocka-build/doc/CMakeFiles/docs.dir/build: docs - -.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/build - -_deps/cmocka-build/doc/CMakeFiles/docs.dir/clean: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc && $(CMAKE_COMMAND) -P CMakeFiles/docs.dir/cmake_clean.cmake -.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/clean - -_deps/cmocka-build/doc/CMakeFiles/docs.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/depend - diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/cmake_clean.cmake b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/cmake_clean.cmake deleted file mode 100644 index ae753a3..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/docs" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/docs.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/progress.make b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/progress.make deleted file mode 100644 index b9ea7bd..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/docs.dir/progress.make +++ /dev/null @@ -1,2 +0,0 @@ -CMAKE_PROGRESS_1 = 5 - diff --git a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/progress.marks b/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/progress.marks deleted file mode 100644 index 573541a..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/tests/unit/build/_deps/cmocka-build/doc/CTestTestfile.cmake b/tests/unit/build/_deps/cmocka-build/doc/CTestTestfile.cmake deleted file mode 100644 index a452292..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/CTestTestfile.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc -# Build directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. diff --git a/tests/unit/build/_deps/cmocka-build/doc/Doxyfile.docs b/tests/unit/build/_deps/cmocka-build/doc/Doxyfile.docs deleted file mode 100644 index cd04d36..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/Doxyfile.docs +++ /dev/null @@ -1,280 +0,0 @@ -# -# DO NOT EDIT! THIS FILE WAS GENERATED BY CMAKE! -# - -DOXYFILE_ENCODING = UTF-8 -PROJECT_NAME = cmocka -PROJECT_NUMBER = 1.1.5 -PROJECT_BRIEF = "Unit testing library with mock support" -PROJECT_LOGO = -OUTPUT_DIRECTORY = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc -CREATE_SUBDIRS = NO -ALLOW_UNICODE_NAMES = NO -OUTPUT_LANGUAGE = English -OUTPUT_TEXT_DIRECTION = None -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = YES -ABBREVIATE_BRIEF = "The $name class" "The $name widget" "The $name file" is provides specifies contains represents a an the -ALWAYS_DETAILED_SEC = NO -INLINE_INHERITED_MEMB = NO -FULL_PATH_NAMES = YES -STRIP_FROM_PATH = -STRIP_FROM_INC_PATH = -SHORT_NAMES = NO -JAVADOC_AUTOBRIEF = NO -JAVADOC_BANNER = NO -QT_AUTOBRIEF = NO -MULTILINE_CPP_IS_BRIEF = NO -INHERIT_DOCS = YES -SEPARATE_MEMBER_PAGES = NO -TAB_SIZE = 4 -ALIASES = -TCL_SUBST = -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = NO -OPTIMIZE_FOR_FORTRAN = NO -OPTIMIZE_OUTPUT_VHDL = NO -OPTIMIZE_OUTPUT_SLICE = NO -EXTENSION_MAPPING = -MARKDOWN_SUPPORT = YES -TOC_INCLUDE_HEADINGS = 5 -AUTOLINK_SUPPORT = YES -BUILTIN_STL_SUPPORT = NO -CPP_CLI_SUPPORT = NO -SIP_SUPPORT = NO -IDL_PROPERTY_SUPPORT = YES -DISTRIBUTE_GROUP_DOC = NO -GROUP_NESTED_COMPOUNDS = NO -SUBGROUPING = YES -INLINE_GROUPED_CLASSES = NO -INLINE_SIMPLE_STRUCTS = NO -TYPEDEF_HIDES_STRUCT = NO -LOOKUP_CACHE_SIZE = 0 -EXTRACT_ALL = NO -EXTRACT_PRIVATE = NO -EXTRACT_PRIV_VIRTUAL = NO -EXTRACT_PACKAGE = NO -EXTRACT_STATIC = NO -EXTRACT_LOCAL_CLASSES = YES -EXTRACT_LOCAL_METHODS = NO -EXTRACT_ANON_NSPACES = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = NO -CASE_SENSE_NAMES = YES -HIDE_SCOPE_NAMES = NO -HIDE_COMPOUND_REFERENCE= NO -SHOW_INCLUDE_FILES = YES -SHOW_GROUPED_MEMB_INC = NO -FORCE_LOCAL_INCLUDES = NO -INLINE_INFO = YES -SORT_MEMBER_DOCS = YES -SORT_BRIEF_DOCS = NO -SORT_MEMBERS_CTORS_1ST = NO -SORT_GROUP_NAMES = NO -SORT_BY_SCOPE_NAME = NO -STRICT_PROTO_MATCHING = NO -GENERATE_TODOLIST = YES -GENERATE_TESTLIST = YES -GENERATE_BUGLIST = YES -GENERATE_DEPRECATEDLIST= YES -ENABLED_SECTIONS = -MAX_INITIALIZER_LINES = 30 -SHOW_USED_FILES = YES -SHOW_FILES = YES -SHOW_NAMESPACES = YES -FILE_VERSION_FILTER = -LAYOUT_FILE = -CITE_BIB_FILES = -QUIET = NO -WARNINGS = YES -WARN_IF_UNDOCUMENTED = YES -WARN_IF_DOC_ERROR = YES -WARN_NO_PARAMDOC = NO -WARN_AS_ERROR = NO -WARN_FORMAT = "$file:$line: $text" -WARN_LOGFILE = -INPUT = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc -INPUT_ENCODING = UTF-8 -FILE_PATTERNS = *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.idl *.ddl *.odl *.h *.hh *.hxx *.hpp *.h++ *.cs *.d *.php *.php4 *.php5 *.phtml *.inc *.m *.markdown *.md *.mm *.dox *.doc *.txt *.py *.pyw *.f90 *.f95 *.f03 *.f08 *.f *.for *.tcl *.vhd *.vhdl *.ucf *.qsf *.ice -RECURSIVE = YES -EXCLUDE = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style -EXCLUDE_SYMLINKS = NO -EXCLUDE_PATTERNS = */.git/* */.svn/* */.hg/* */CMakeFiles/* */_CPack_Packages/* DartConfiguration.tcl CMakeLists.txt CMakeCache.txt -EXCLUDE_SYMBOLS = -EXAMPLE_PATH = -EXAMPLE_PATTERNS = * -EXAMPLE_RECURSIVE = NO -IMAGE_PATH = -INPUT_FILTER = -FILTER_PATTERNS = -FILTER_SOURCE_FILES = NO -FILTER_SOURCE_PATTERNS = -USE_MDFILE_AS_MAINPAGE = -SOURCE_BROWSER = NO -INLINE_SOURCES = NO -STRIP_CODE_COMMENTS = YES -REFERENCED_BY_RELATION = NO -REFERENCES_RELATION = NO -REFERENCES_LINK_SOURCE = YES -SOURCE_TOOLTIPS = YES -USE_HTAGS = NO -VERBATIM_HEADERS = YES -CLANG_ASSISTED_PARSING = NO -CLANG_OPTIONS = -CLANG_DATABASE_PATH = -ALPHABETICAL_INDEX = YES -COLS_IN_ALPHA_INDEX = 5 -IGNORE_PREFIX = -GENERATE_HTML = YES -HTML_OUTPUT = html -HTML_FILE_EXTENSION = .html -HTML_HEADER = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/header.html -HTML_FOOTER = -HTML_STYLESHEET = -HTML_EXTRA_STYLESHEET = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/that_style.css -HTML_EXTRA_FILES = /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/nav_edge_left.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/nav_edge_right.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/nav_edge_inter.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/sync_off.png /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/sync_on.png /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/splitbar_handle.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/doc.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/mag_glass.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/folderclosed.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/img/folderopen.svg /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc/that_style/js/striped_bg.js -HTML_COLORSTYLE_HUE = 220 -HTML_COLORSTYLE_SAT = 100 -HTML_COLORSTYLE_GAMMA = 80 -HTML_TIMESTAMP = NO -HTML_DYNAMIC_MENUS = YES -HTML_DYNAMIC_SECTIONS = NO -HTML_INDEX_NUM_ENTRIES = 100 -GENERATE_DOCSET = NO -DOCSET_FEEDNAME = "Doxygen generated docs" -DOCSET_BUNDLE_ID = org.doxygen.Project -DOCSET_PUBLISHER_ID = org.doxygen.Publisher -DOCSET_PUBLISHER_NAME = Publisher -GENERATE_HTMLHELP = NO -CHM_FILE = -HHC_LOCATION = -GENERATE_CHI = NO -CHM_INDEX_ENCODING = -BINARY_TOC = NO -TOC_EXPAND = NO -GENERATE_QHP = NO -QCH_FILE = -QHP_NAMESPACE = org.doxygen.Project -QHP_VIRTUAL_FOLDER = doc -QHP_CUST_FILTER_NAME = -QHP_CUST_FILTER_ATTRS = -QHP_SECT_FILTER_ATTRS = -QHG_LOCATION = -GENERATE_ECLIPSEHELP = NO -ECLIPSE_DOC_ID = org.doxygen.Project -DISABLE_INDEX = NO -GENERATE_TREEVIEW = NO -ENUM_VALUES_PER_LINE = 4 -TREEVIEW_WIDTH = 250 -EXT_LINKS_IN_WINDOW = NO -FORMULA_FONTSIZE = 10 -FORMULA_TRANSPARENT = YES -FORMULA_MACROFILE = -USE_MATHJAX = NO -MATHJAX_FORMAT = HTML-CSS -MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/ -MATHJAX_EXTENSIONS = -MATHJAX_CODEFILE = -SEARCHENGINE = YES -SERVER_BASED_SEARCH = NO -EXTERNAL_SEARCH = NO -SEARCHENGINE_URL = -SEARCHDATA_FILE = searchdata.xml -EXTERNAL_SEARCH_ID = -EXTRA_SEARCH_MAPPINGS = -GENERATE_LATEX = NO -LATEX_OUTPUT = latex -LATEX_CMD_NAME = -MAKEINDEX_CMD_NAME = makeindex -LATEX_MAKEINDEX_CMD = makeindex -COMPACT_LATEX = NO -PAPER_TYPE = a4 -EXTRA_PACKAGES = -LATEX_HEADER = -LATEX_FOOTER = -LATEX_EXTRA_STYLESHEET = -LATEX_EXTRA_FILES = -PDF_HYPERLINKS = YES -USE_PDFLATEX = YES -LATEX_BATCHMODE = NO -LATEX_HIDE_INDICES = NO -LATEX_SOURCE_CODE = NO -LATEX_BIB_STYLE = plain -LATEX_TIMESTAMP = NO -LATEX_EMOJI_DIRECTORY = -GENERATE_RTF = NO -RTF_OUTPUT = rtf -COMPACT_RTF = NO -RTF_HYPERLINKS = NO -RTF_STYLESHEET_FILE = -RTF_EXTENSIONS_FILE = -RTF_SOURCE_CODE = NO -GENERATE_MAN = NO -MAN_OUTPUT = man -MAN_EXTENSION = .3 -MAN_SUBDIR = -MAN_LINKS = NO -GENERATE_XML = NO -XML_OUTPUT = xml -XML_PROGRAMLISTING = YES -XML_NS_MEMB_FILE_SCOPE = NO -GENERATE_DOCBOOK = NO -DOCBOOK_OUTPUT = docbook -DOCBOOK_PROGRAMLISTING = NO -GENERATE_AUTOGEN_DEF = NO -GENERATE_PERLMOD = NO -PERLMOD_LATEX = NO -PERLMOD_PRETTY = YES -PERLMOD_MAKEVAR_PREFIX = -ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = NO -EXPAND_ONLY_PREDEF = NO -SEARCH_INCLUDES = YES -INCLUDE_PATH = -INCLUDE_FILE_PATTERNS = -PREDEFINED = DOXYGEN CMOCKA_PRINTF_ATTRIBUTE ( x,y ) -EXPAND_AS_DEFINED = -SKIP_FUNCTION_MACROS = YES -TAGFILES = -GENERATE_TAGFILE = -ALLEXTERNALS = NO -EXTERNAL_GROUPS = YES -EXTERNAL_PAGES = YES -CLASS_DIAGRAMS = YES -DIA_PATH = -HIDE_UNDOC_RELATIONS = YES -HAVE_DOT = NO -DOT_NUM_THREADS = 0 -DOT_FONTNAME = Helvetica -DOT_FONTSIZE = 10 -DOT_FONTPATH = -CLASS_GRAPH = YES -COLLABORATION_GRAPH = YES -GROUP_GRAPHS = YES -UML_LOOK = NO -UML_LIMIT_NUM_FIELDS = 10 -TEMPLATE_RELATIONS = NO -INCLUDE_GRAPH = YES -INCLUDED_BY_GRAPH = YES -CALL_GRAPH = NO -CALLER_GRAPH = NO -GRAPHICAL_HIERARCHY = YES -DIRECTORY_GRAPH = YES -DOT_IMAGE_FORMAT = png -INTERACTIVE_SVG = NO -DOT_PATH = -DOTFILE_DIRS = -MSCFILE_DIRS = -DIAFILE_DIRS = -PLANTUML_JAR_PATH = -PLANTUML_CFG_FILE = -PLANTUML_INCLUDE_PATH = -DOT_GRAPH_MAX_NODES = 50 -MAX_DOT_GRAPH_DEPTH = 0 -DOT_TRANSPARENT = NO -DOT_MULTI_TARGETS = YES -GENERATE_LEGEND = YES -DOT_CLEANUP = YES diff --git a/tests/unit/build/_deps/cmocka-build/doc/Makefile b/tests/unit/build/_deps/cmocka-build/doc/Makefile deleted file mode 100644 index 003c4e1..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/Makefile +++ /dev/null @@ -1,236 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache - -.PHONY : edit_cache/fast - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test - -.PHONY : test/fast - -# Special rule for the target package_source -package_source: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake -.PHONY : package_source - -# Special rule for the target package_source -package_source/fast: package_source - -.PHONY : package_source/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\" \"cmocka-header\" \"cmocka-library\" \"devel\" \"pkgconfig\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components - -.PHONY : list_install_components/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache - -.PHONY : rebuild_cache/fast - -# Special rule for the target package -package: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackConfig.cmake -.PHONY : package - -# Special rule for the target package -package/fast: package - -.PHONY : package/fast - -# The main all target -all: cmake_check_build_system - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/doc/CMakeFiles/progress.marks - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/clean -.PHONY : clean - -# The main clean target -clean/fast: clean - -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -# Convenience name for target. -_deps/cmocka-build/doc/CMakeFiles/docs.dir/rule: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/doc/CMakeFiles/docs.dir/rule -.PHONY : _deps/cmocka-build/doc/CMakeFiles/docs.dir/rule - -# Convenience name for target. -docs: _deps/cmocka-build/doc/CMakeFiles/docs.dir/rule - -.PHONY : docs - -# fast build rule for target. -docs/fast: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f _deps/cmocka-build/doc/CMakeFiles/docs.dir/build.make _deps/cmocka-build/doc/CMakeFiles/docs.dir/build -.PHONY : docs/fast - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... install/strip" - @echo "... install/local" - @echo "... edit_cache" - @echo "... test" - @echo "... package_source" - @echo "... install" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... package" - @echo "... docs" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/tests/unit/build/_deps/cmocka-build/doc/cmake_install.cmake b/tests/unit/build/_deps/cmocka-build/doc/cmake_install.cmake deleted file mode 100644 index d58a1b9..0000000 --- a/tests/unit/build/_deps/cmocka-build/doc/cmake_install.cmake +++ /dev/null @@ -1,39 +0,0 @@ -# Install script for directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/doc - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "Debug") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Install shared libraries without execute permission? -if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - set(CMAKE_INSTALL_SO_NO_EXE "1") -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - diff --git a/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index f5ce8d9..0000000 --- a/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cseguret/Projects/app-ethereum/tests/unit") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cseguret/Projects/app-ethereum/tests/unit/build") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/progress.marks b/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/progress.marks deleted file mode 100644 index 573541a..0000000 --- a/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/tests/unit/build/_deps/cmocka-build/include/CTestTestfile.cmake b/tests/unit/build/_deps/cmocka-build/include/CTestTestfile.cmake deleted file mode 100644 index 957df3d..0000000 --- a/tests/unit/build/_deps/cmocka-build/include/CTestTestfile.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include -# Build directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. diff --git a/tests/unit/build/_deps/cmocka-build/include/Makefile b/tests/unit/build/_deps/cmocka-build/include/Makefile deleted file mode 100644 index c10e71d..0000000 --- a/tests/unit/build/_deps/cmocka-build/include/Makefile +++ /dev/null @@ -1,220 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache - -.PHONY : edit_cache/fast - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test - -.PHONY : test/fast - -# Special rule for the target package_source -package_source: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool for source..." - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/cseguret/Projects/app-ethereum/tests/unit/build/CPackSourceConfig.cmake -.PHONY : package_source - -# Special rule for the target package_source -package_source/fast: package_source - -.PHONY : package_source/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Available install components are: \"Unspecified\" \"cmocka-header\" \"cmocka-library\" \"devel\" \"pkgconfig\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components - -.PHONY : list_install_components/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache - -.PHONY : rebuild_cache/fast - -# Special rule for the target package -package: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Run CPack packaging tool..." - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && /usr/bin/cpack --config ./CPackConfig.cmake -.PHONY : package - -# Special rule for the target package -package/fast: package - -.PHONY : package/fast - -# The main all target -all: cmake_check_build_system - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/include/CMakeFiles/progress.marks - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/include/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/include/clean -.PHONY : clean - -# The main clean target -clean/fast: clean - -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/include/preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(MAKE) -f CMakeFiles/Makefile2 _deps/cmocka-build/include/preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... install/strip" - @echo "... install/local" - @echo "... edit_cache" - @echo "... test" - @echo "... package_source" - @echo "... install" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... package" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/tests/unit/build/_deps/cmocka-build/include/cmake_install.cmake b/tests/unit/build/_deps/cmocka-build/include/cmake_install.cmake deleted file mode 100644 index 4238370..0000000 --- a/tests/unit/build/_deps/cmocka-build/include/cmake_install.cmake +++ /dev/null @@ -1,46 +0,0 @@ -# Install script for directory: /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "Debug") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Install shared libraries without execute permission? -if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - set(CMAKE_INSTALL_SO_NO_EXE "1") -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - -if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xcmocka-headerx" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include" TYPE FILE FILES - "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include/cmocka.h" - "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include/cmocka_pbc.h" - ) -endif() - diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/CMakeDirectoryInformation.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index f5ce8d9..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cseguret/Projects/app-ethereum/tests/unit") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cseguret/Projects/app-ethereum/tests/unit/build") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/C.includecache b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/C.includecache deleted file mode 100644 index 80ddede..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/C.includecache +++ /dev/null @@ -1,58 +0,0 @@ -#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c -config.h -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/config.h -malloc.h -- -inttypes.h -- -signal.h -- -strings.h -- -stdint.h -- -setjmp.h -- -stdarg.h -- -stddef.h -- -stdio.h -- -stdlib.h -- -string.h -- -time.h -- -float.h -- -cmocka_platform.h -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka_platform.h -cmocka.h -- -cmocka_private.h -- - -_deps/cmocka-build/config.h - -_deps/cmocka-src/include/cmocka.h - -_deps/cmocka-src/include/cmocka_private.h -config.h -_deps/cmocka-src/include/config.h -stdint.h -- -windows.h -- -stdio.h -- - diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake deleted file mode 100644 index a64255c..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c" "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o" - ) -set(CMAKE_C_COMPILER_ID "GNU") - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - "_deps/cmocka-build/src" - "_deps/cmocka-src/src" - "_deps/cmocka-build" - "_deps/cmocka-src/include" - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make deleted file mode 100644 index bd94af6..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make +++ /dev/null @@ -1,99 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Include any dependencies generated for this target. -include _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend.make - -# Include the progress variables for this target. -include _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/progress.make - -# Include the compile flags for this target's objects. -include _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/flags.make - -_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/flags.make -_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o: _deps/cmocka-src/src/cmocka.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o" - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/cmocka-static.dir/cmocka.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c - -_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/cmocka-static.dir/cmocka.c.i" - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c > CMakeFiles/cmocka-static.dir/cmocka.c.i - -_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/cmocka-static.dir/cmocka.c.s" - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c -o CMakeFiles/cmocka-static.dir/cmocka.c.s - -# Object files for target cmocka-static -cmocka__static_OBJECTS = \ -"CMakeFiles/cmocka-static.dir/cmocka.c.o" - -# External object files for target cmocka-static -cmocka__static_EXTERNAL_OBJECTS = - -_deps/cmocka-build/src/libcmocka-static.a: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o -_deps/cmocka-build/src/libcmocka-static.a: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build.make -_deps/cmocka-build/src/libcmocka-static.a: _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C static library libcmocka-static.a" - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -P CMakeFiles/cmocka-static.dir/cmake_clean_target.cmake - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cmocka-static.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build: _deps/cmocka-build/src/libcmocka-static.a - -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/build - -_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -P CMakeFiles/cmocka-static.dir/cmake_clean.cmake -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/clean - -_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/depend - diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean.cmake deleted file mode 100644 index 588e3f0..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean.cmake +++ /dev/null @@ -1,10 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/cmocka-static.dir/cmocka.c.o" - "libcmocka-static.a" - "libcmocka-static.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/cmocka-static.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean_target.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean_target.cmake deleted file mode 100644 index 4f5f336..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "libcmocka-static.a" -) diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.gcno b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.gcno deleted file mode 100644 index 64f874cbb118a49130c71e93e8d2e242c9d0e3a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183608 zcmeI537ntP_5bIKqC)MvkY%zVVu?LsiCCi4zUy>MCdn|FiCGY}FSS%qTTxrpu8L4= zYpZ=bsmJ&)utN!QxJ#*%Jzt>3&bsqKeKd;x#GtYVMb3f;vd+xdCp67YKX>Dm3 zzw9b&u0LSsqqbeBrlw}tgw~0T!y4Kf$9J|hb`0CHt#yyahK}}O^^+zIZS0uP*w)xN zaac!VyRbT2nmUH<-r3YVc39om#!2nN8YZ?j>{&llS?z5N(p*i6f8dr9Hi+*0fsZNaC0+7@+0Rc^oG zTm8Hr@aOHiZ$UXKseJI~lY$KMOG#ybPyJK|>MS6I`Z*4KtDjz@Kk(5F_nB@uM?VlY zmf~=}h!hV8{-Ry=my)B&%>D2elj7Y6e{m_)OXcGn{t{i+mh8H2HV7Y{$xeSb2Rr3) zJ|yAMZf_||ckz~yqmtSqeCksVENqH8{iGmYA1P2@J;=X$Umy9aR*Kz+Jk&{fT%(=- zQjn4MsAp}!&+BtOKnnGdi+iX~Tkr=;$=l)@{6SLqd$1I{4?OtrxX-XTPy5Y%oTDr5 zT~-P_!{&TBDYP+6inUK2_{&T2Dv^C}kxn zD@$2L%IZ?ql(M#z3XLu?FLj*bqr?XWrGaA;%nmYM>&`}esP!^Ihd@mP}KNu z;$Y%up(xBv9ZX^aC<=4)43o9!yJf^U%q;|S%M2IWC9Z*@`npwy$+|(j1Vv$PEtuO# z**3$bzrC<=EE z2a~-Q6ool4!(^|-o(_t{Y!Td6DIHQKWint_>>Z&f89E(I_M}i0=H3}5woG54D9p)% zxnG70CfHCE?g1GlYXAj`!aPtg50Y|lhE0Fje?U>#hd7v)n~1_ZJi|o4edwf66y_0v z`4cHeX4u$M-!gI>_ECa)Y=%pp$;m)beV!ti$4fab!^W=qmyzSJPjE2V<3myXJ;}iw zppaphr#hJAz@Vsp{=&f|w+2OFo|$1XZ^+$2QJCil=D8Uzwo85xio(s;05HirLQ$CK zXZ=LKZZwz|%ls~_| z_`i9UQ+~H0d8;8xmJ=iy%yX0>B9lJn(svq03eTQ{@fXj%?AaLgIY&--+^5f<^m(E2 zy=(BepOW6kJ@CkjbF^ovJa6Io2lw$zLS@wF%JAW(^*QG`0`zz za$0_mfTQ(+>*OqHn>-@-SljU7nJmc1Iq`<^IAU|;Z*JuRi>|K7AoC zl-CCvK5+HvB$PsMl9Ysyq1btbN9Xb7F7m z*?zgd{0-SY%VgntE(>*QrO@U8DJdR&c*tUHaGtjT4*M(G7$U{m;6C{5gYs*PBYf(o z?Q@>DPydMZX@j=8*W`hp*XJDjrtVNF+(&(II47>n+u|C0Vo&}~aX5!hjL3bfN>S1_ z;SK9qy7vBpDDn0E^1-BRw!u(2m%WGD*z zUI)|S^eD^+GE8hZjrAkmIebtsAIfmiFZ%>2s;>__nCwHKD9lGQOl%k|C<^m2!Th6? zCo=3lg2_G#ioyo-NhwcBd0NUdQl6DkA&qI+yFpQM{7Eoh$Z*+%u`h(8aQ`frFG_hy z%3m^k#-2SW6ovn?V7@Bll?--CGD!R%A+bDVDf?qK!}#+;U6qF2l1M2+Wrg89Cbe@OX2%7;=a zq<*=77b8lBj|6jihKn872IGD#nE#UUiIo3j`1p$f!T2O=OW7O-*Yb5y`kqxVzmwtO zlgZIRQMeu^xj!fhb9Sen2Xk$O48t7cV2%jJ9PD7OQz)jsZ*tGHN8A7X$y0Y;H06YTJXh;}-y~R;Q4;I( z9BYak_4%T{Z=&(OzSn^WJa4pTlGNuMIpJ}x_s;x%6RXejEAFx9oBW;f?40LKw9j)2 zYo9jY^Ss2`;K*|#p4(8Ly417w;pg=^w`WVVpSHz0TOiuPJPeyU@Zse+T!T-}Kfi`7 z@X5`mIGmHe_Ue;MPy4}r)Ft;!ed6d;F8Jh!xkk>`u7M37KVjJLsFU)z#yR=VTpq5$ zCnxD$gHPU&Yvk_?oBQCy^X`LB&W&rtt?7O6;n4>CbUfjcPvSm%e*k?LFRjo0@YzFq zGQcOdz_tETOa|~Q=Rg~V(?|a5D`tZq7r1d%PBL$*;yGDJ^Ycn3_$Uv#7(VPQw z4T|#h_<)Tu>~7Nh88SjqxSKkd=oKmwQ^zC@GuLe&>0k6Sd@#pI*-Xm!rEDu@dnpyt zF^+zwzmtP$em822cg`^J4bji^!SwpdIs--Z)x%`{f}$`RGX3I@jTMDC)&R;qE9RO0 zI0rNOnf`bOGy0kS1P3$vxw?lL{an4t>1Xsabq_Q8nYxF`yo93Wr-vE+EPW4WJfokR zw>X&5&&*phOx81EXDDhs+XS;C!^O`>KO^sSFu{eQ`npesiGC?i6y{{X+%LnmeN80p z{tjmJbMgZn%;@Ljhd7vhP^?hYm>%k2vL}S1Fui`V=Y)#HWG@RvVIJ$~mc24m3}#Jf zfMEUjhRz*+{CNK-Z(d{ZvFzdM^w((JpT3Qf>!%Xnvu9mLbfS3z&Do6+p5?swi@bsE zr!_CfIeU6|+^75dndj`lp*}}Sejhx`-LaQcc{Fbbe-kMt19;T2Jd)*9(%c;}gSA21 z?AsW6c3!f>F3)h_QHMUJJY<1K8)g%n=ep+{{UZZ$jMeA(Rp;(#lQoXD z6hzTw@bHmoefaQFY|i^jp+0rdwb=>$ zS}D|DL5j77y~1Bk3N%0u-M>FEsO#L?;rc)+IR;qphe}Ch;{L%>y!!C-`a^`b>p@|7t@&BuhVrc?GJ6jA1TG_D}35Y`^x!xUA(+4`0G2@&>Q>>rKEb;K+Z== z$@@xu_<4QKxd$38C2foIjilslQ3w9UQusTS865bVbX{XS;c>pH6xuQ#=iEyvD&Nlf zeIg4~H;pd!m%ot_!goh}S8$SGo-E}QDW^*Lxs=nSoG#@IDd$M3kmlG_S8+1^(!td6 zkHb9A!JNIT<59Z*m4i7)Fy=)L=A6Np7iXBP>8y!Rlx{B(%p8|EgZL1N!o4)>E11TL z!o17?%01ILN<0fiVgA~|oJS$UFt2bhqjT?9I+)S9_p2OC_6<Ft2kk zqx1dOJDAb={u?q(Vp#TPP?T8)$*W1%83*&jnu zn0IF5$yyqn_rF^(@5^wpqv*W<{SGF$P?UZjb1=~{6ovW63={uAfub;<5X>i~Je^^q z-{{=`vkoS?87Qj1&pDWV%7}58e{wMU24g<&V3M z4kphop(xD34(57g#5l~M4(9s7n5#LM_FOhfx2rptqrQfIZum7|jt<6L)6p%@%%Q09 zT+6}aSv(YlIid=)ro{gIyoayb_7A&%@6X%z-f114?Iy43wYD@C^Z(PYA^QzPJ6ewV zeu2KHr#al7eOt>jV!gNL@9FW(o_q9t0=ga)Md7JRzdH2ERnXz{bKF@Z!#xtu_ zPWU{3_3neuRt%ZYkKKp7@OkFOeY~S#b$H$gk7s~sefZR;p1spSot(!xGFm;3ob%kv zlMz18r@U+Md5*+2o;#R4vE6=%mJ@W_&hi9?t>2w?Sp0G$`L-#A-K=_&pGu} zu3~;K8e3mm%DPfEl(Mmu3h8rdl{?N4Y?@(`+g82AVs0t8n@QO`!)MQ{_7;b~Rfb6( zh4~Cc`P;1pbDIp8zTzvODBPVK%;@)7cFi!+Z}j^ty9wqGGhFl={XR>BgK4a&F&%3F z7><1JPCsoqkHQ?6VKS!C@3V{-%n2DTeT{ynWe*3FwGfKZ@5Brf{j%0VQJ9kivpvH_ zztQitbYz(HHTu04F!#-H>1*`6EjcF73!>j`IZ*mJS<3!Sf3YPf%BBv=Fd5tEcUuk? z%tJC<^h}%wMfLRv!TgDoqcUvlD*8Q_YRsC_K*3!5>`^;!GjPNiXP-3tg2WZc{%w3) zYv-i8aZUSnbhb6hr7}h7rMKvV^=LIYYCNrbIE{6BwuiHL-}W=a!Ni5ew|L%o94UFM z56|{+7VC4K#`@UkEK;CIoeXg7Bs#ty=wL?2_d^{_#sP}b@2U=FbWC53SyLJ${TsBw zk)uyrWQ+Iixp2fK#M#Llv>ZxZYg_e9jMB*+68tg`mlWNk^H87N_G}*7oJ!{*_LI*; z>=+(8*Rj_2ZT=b0&hZ7*XV_FWtq-4=J*}VSO!E0{Ig_+L_uC$a_S0*eqZ3bl_{6kn zean@2^)0WG`XbAjP=A0F>l#agB5QuBTV{xje{Vxe2ZrCT+pz z{W#j{BgL+P4Zp9HRGvN=k89N7J+NFJuE7V>y9U43xdt};fl^ZJ0U3{L)WLUn?ZY43 zb!~Y$rhS9IoD^%H;}9v!O3B+o9{72E&bbGoeQS&QoDa=-oFjwEQOs|x;m7W0Qg>4^ zxv>WwO!Nvx`D_nU$0QCj*DZ4H0+n)7FhB%$G7u zd|h;I3{0=DCQ4LaJxtbLC<^m$)~PZ|F}bm~9Zcc|D5{_DIGE8nDi1R{NA<4L&*=Qr zGzT*}KjmRY=cYW&=-iZt$sB>A=F0odct+=>{^4Lo=c7JwFr)KOA3B)&tUhi$J*nBo(_t_{KUZ|?uClP>{CW87L&a$R8&8)S@zIS zB<82in6f{IqHt%mfVPaH@h1CzC<=473={nhC?m#U&LNm{X1Mr2au-lkU*~c#$%#Nw zm~%UrnB=ygDBUjM=$70WR19WK37=cH>VqBk zTyoxQ)5l!BKRLaIiFNIb4P%?ejYE<+S*{je%zpG{Icly@p8=-%Met{lqB%8vZ;^B4 z^zxU+PusA1Mdl;v+x1c^G`d8LgnUrc_}(a(H%a+@hK(Oq9mZi-W7d@V3ufcwKFe(K z`kb$>*6V?L!57==XrGi?SDZX2iw@Y^TqVcUzEm|md$wh^W6y)7;V6CKrUF^l^;n z0_-VrR3D>jv#wvh@8lXjDD_LslW4z$tj9`0)`ZHsT&(5fj^|fDbt^}g9gXcBh3N7K zkqccOCCC4DT_Wp|Qjj&F(m*+R>3|oP{li=r{sLX%0}{KO*x24)KfbZ9wX8Vs9Vo|Ce{+|C{khFrH>0?lZ4B~rq&86(JiH!4s(jpNg}34ZEZz@t4~W3@i* zVRsgjrS;+G^(}7l>f_hb`m}|7@Kk=)1Lw%5au@S11LM<*Fx^zly9|3}n5?_1i@0^B zO)%RtT-IG3_c+{+43oZ^y++NuPQlze!!077+9$&-BA(h;FehiYMZ{D4WtjBUSW)Bp zV*%LTKm^aex50NnQMmZ;gv#;GGaaLMTl2EI&e?D5^-Jv8)|5JXySt^SeL~kwQF5&> zaIKjQiSe0{EStO20VuJ1YV9Z(b|{yU-a`Z9i- zk6T91^3ckk+;Pi$&ic~cQQv0Uzc9Imid?KO>&h`*UsNAoe*Z#uX%F8G(Z76sQM{h* zUue(P23ud?Y5Us7=dCY!8|nIDIcbwyWh-Wn!WgUsa5ojRhOCld7O{p57tB>N+#=SH z)iTT?){xZ&a}5VKdJS1qFxSd(i&#U}&M=EuLq-VZIvH*eYY6@_p;E1!OdI@{@u!}8 z;KK*>`|Hj4s_y+ld*|+*EluIRd_j>3U%s3i)qm+;LEjnneL3~XMe*#Id+@E0`r68V zfO?RvleRCQK0cUIxnHs1(XRPzjuh4cuRi>|{)~J&?GO{;!)c4*&^}l19jKSfMO|>X z&-y{X*i(6O!O!JFAAFDI)rX(fM@O6^hss#Yx`I6{N@u%CaczvFVx7eVbMXw9IjQ=N zi?No-F!4W(KNQv1B?WV-441xQ%TN?*{Be;b8aE0_Z^T*g%MOL6u)FvG-tZHmb1#oZ-?}{52GXJH)|cJ%FMx zi2)KSzdyA73CGsnFzBoyea>xZ#}{|UCmr>ZtZtM%FUo{veCHRrbPd$lWM;oJNPS`x z-aD$S;gxm7e5`$2V&Br(UXFE+dvy)y**-I`4+efUU*~DlViW#Ozai&5k4=Onq;V0x zE5$)hhKuj4Qd!fO1YM}!v<>DbytF>&UQ9xrG$tV)Oxwa1`QA#`XKkN4xjdYkKcaq$ z%{e-NR~aj93qJj|_Nl{IVQaZw(FOceKh$T8`JTtCZ{NdT9w=&Vy(XBiJGiRvINUb`^UVwwf2!jUhx^wIleNQqL6naFCYWz!xb!tT=6XBB zq_5Gr;Aw*SUWQ9wjTNQi_YFX>Z0^`H7KQnNVE!}1O#H9KnNj`xu3*lU;i6ygpeWp4876(T*g6VxZo!-b(PIhlurIAz7l`@f*dt|)xDC&I2u#SEmIM4ZD9#j;Y=2IP}c!xi7V2{!Z-} zpT<0aqQ;eeJX)paVr&?_B~+@Fll8{j)v>|5lYhSG#(l2Ewz_?qjB3l+`nIuMH$>@T zs>sBcJ}Ad@Of^>U$CUbv5iv|} z-|{}xN9Ect%`c^SpA;Jm>ay&3IPi0vH2;&fMgQ0%lfFjhRemp+H)pu?H9EI)i-T#bsByi`0HlBRzMF-=QJA-9n2f3U=_t%U z2<9CbE@K*)DKAHLlTy9ht+5scpiaSZn+H1>HK+H8nanEX7Z&mTizCRX)7Hc&TS6cGdydHb7ZA{ z-j?-2`%z3Bhz*|1pmb9)d#h6%Ox0nWKRC_7R9lO~Jl(;Jj{nZcFpG%)ej%7=Ww=Ge ze`hD5lo z+li|+=Up9EhsFIzh9}3WRu>e-|A*!b${Qq@5JV=8>4(!Z;_3$Jxq@2*bXb>`uT5Syq@lvkXzfG z`TLEuNg1#1(-VCAy|xsGw%`wulJ+(Izk<^G*a*M>JV*-sfnCQwUB_BEDyiM{k(0hskg1;( zCA|i}zZ6ei>T(U4Qhelv4?g#quD~52C2x!R@TqV8gNNLC8=Mc8;7NfRuq!21!{?N`;D9 zLzd4l&Hj-iYHe6iFjvlSnR{wqak#5EnD~Dvs;|Qx%sCV?40Ck{lXVM<>gO5`rm>4rcToe=`RYn}womcS{E|`rTCzGy1(% z50ls*iqh>?j&7s>&!Mdy%;^7fXd4HUISNJTb_WL&e*{Hg?&x5$cY~rZ>oZL7Y|j&g zxw~MFmC~4DGp5o1_t5wZlQHch1&ZqL1i{=R!=xa}DxeI?fcMPYUd<~|uNeI=g)Md9w}V3MbSqA+uR zNI!>^5sSqnzXV0~^8iP;v78xsRdT^rU-NfbpE~5Z&=bgjBWFA3L{hZUmG*%SmcMYK2vtshRb2*sNdEQ8sy9Tdz@DKhK!5&ghtS{Wm{dm80zXZIOp@eNT?x zH3w7m7&oSj zWkO{eoBN1;C;qk9m}@f|t8yMuHujXrgN^-Jj{jF}j6OaiEO%${WG2{%Es;!d9blR$}zPuc($+RubKHV^H-@K!w(ui z^>OgLYt(^Xw2!0z4@!ARN`;ECzlR-6^aDkW_oEpmd1YO*;xHciT6mbwY@+ZfIE--3qe;&hRTJ;tx(_+@RM`%?S1wfdW2 z`}F?|DQ8KkP%*ZDu7eqE`{y~B(YB9mB~G*v%Pn*sW^Yf@hb^qBsZC;=JRbHQSQU>`v zqkZ_aL9ySlM9)y9evd(@ZYpLT9h+g|&!gwj6u~?$!{zx|^jtbV!=$eor^Jox34-~v z441w}=TuL0FpU*u!zUYn^v`~$#L{w6nE0cFN(1F&+^|aydhwjek6n8CFE>WdxW~Gt zado>lw>IqAURU2N$NG-Ov36gSYzK&J#0Ni-qxurf$*IU+-e)pDDfCU-ow?6sUQw`h z?&F>`=73LI`8DboMv=Y{y&a@V5(%JUeBr?kCOUzlY~&CJGujUx>R?9u!NVO)YzvCg zE%Pp+(f~O*aJSz3EON!No%6nS`VRDYTw7yf#UpgNh_0KWv3ew(Vsz8L?pXNFlsEHzOuTQb}tVyQ_PChvlp z4MfeGHo@FWN{5ur44*z5D+)jFGnmow4L%~Fa(pxF?xprSW$Zn>@4WMmFT#h8ZEBy? zTt9h6ZY<2dZZ5L%eaTokrhe?Jcz5T^_%WVqnf3>|}ZYO2O3>zIs$6h--n8u3g?=A*Vw&T$y)}(0v{3F5K zO-h}VA7=Q>U5)AD?5bWcbK7Ekqu=rIFr(k`X~^_TKcnCAsm81+4HC?c-rabYr zpy^|--XD<~CNwteSvRS*simXvHFzTtfbYjPkz=|B+Zv?%{Fy(0OV>E+Q}DrQ8@Apl zMlrt?NZ&R_!QE6$9PeR9uSwOIHRb2Je`q|X_ghMIdVR^%KU z#nQDcIxfTp`b(*mG6)5BQ!(>!u!E`N5VxLsm^uz|n9Di+jE)VLcQB)4!l4-^@sY8j z{Md>Du!@0{?N@C#IxZaUU`EG+t2&s`ao`#bW^^35W`>C!MaO|71asXCm-th29dW*4 z{VL3wQa`~wV&19qZT0u}{(0_M1E;fIXk0)hTTX>GP~F5);@O zXzLpCr)wR)mO6F>hdNdtK4Z<%c*umE>)N2P2EGi{!DHU3ym}3OPhx=_n|5*>&dqOP z_o-YniUp9Dwy_$J#S)bqIy984YaIGg_{!z8Dm zV-|-wT`)h9@*gRmX88EJ=-8kn6J!=9NjK?!&qRsxFS82fY#A=!h8imh_d5dcJt^}@ znOjOPDHSRvUYOUxjE)!bF)ku+B5&kjM#l;ZWj4fmz`6lN&7DOAb5SXa zRbgxXV%JCJ7}@{uUI$D$`ryUz(;BBVr0I(=x&9)~3V-#c{G)5X#wzN=dX~RP*MEFI z>oNV{Z;G~C$zQLjX+`r61mH9TYkoop|(E)0BLH<$O*7>IU?Eh}Q(HGjZ zc-ZEd9rJ7O(Z6>eeB`7~dLM1W$Bn6ts?3~IkHWkuBF09S{OI|u2-HoAtvZOa<=X}G z4k>qK*usFcT~JTB!4DNjkMkp7->^xS@0 zFrSg~td!@Z{7FiMG#)iplun*EfHJUR+7e$3ruwv-79QQZ@u~Vz_U-lF@^M@FoxRE@ z^}PU!wquO`L8}L^$)0rJiPI+Rn9F|$bAg_)Sob~s1HTym400BjAyhjL2n6_ z`pe0a`?jsM|E6<2JblX2zd~n>Xa2Eblpc;2c^J=Y?hs3QYDcX&dM< z?Kf>${)&4o-lY!r>Al7L9zElHtd!%W{7lM;QYxgr40)j_TRYjo)Uk`h{JDdvV-bgW zMuu5LehSQAWVr01*`!s|y^==zP?L4kmsHiW<|4 z9n9!_)MXAP{uGMp=j9G&bUx~e46}%Q)K!8xRSIi-Lgm=wv6rT-KkLoYuYTjr-JZi2 zH#hCxkiAY5rvLp#9`t>P9Ca=H{8*AT%3{fMO@*JXsYS$)$bV3kPK#Mbt1)Xz{iN@& z?04WkZ*8(?>H5P~JRe<@$FcJGGi(eyrT@&+{jxFCSi+AVZ4A@#Dk6t~touqq)`ZIX zo2B3Gn>S3n{uJgxxBil}Y?Kdb5m}f6?Q;Ak&H?1#t4g26%zOU@q+0(&foS`WDuEwk> z)e6>ub3Hxzw#WDS?M{1d^EQ31t8Z^_Z0o3NY3-V{pFW%I7h(6Ci9Fc&c5?hS+CBZ>Qp#3Rww6+%V(i|- zjJEr2oPI{zJ@%DQX@Hz8v-?(k&z!p1W7s`5Xm;P_^V{lM#y8qMQ9fV;kqhii<@mp5 z|3$=C^natOu_?yxJt*!-Fz z6E?q|9KVe=Pyg4c8kb^h-ouQx`H@aPqir6$N~knYPDZSL$4(Qjo3JM~&t>!V6B{SC zwoNXF`Hg#Z);HUIQT~3IfMffs$?@B0`}BWh2B4dYv3(CS+V+P#{fxGK>?)yhob%pE zkB#{EAr0Tje-IG?|?$cF9rm*cn5_UV70s_`kt_C3sK+wbf2GurmC ztAxrv|FE_#1V)sSZ{A?lA^U-9-)Hvevy&3`1vZ==oA{|~+f zoA)rIZT>^2pV2mtT_seu`CDe2yXDCV=WX%W!8^{E#y4$^9i440bq%d!8_Tyu+5BB1 z6Jq^c{z+|qX1|le`~18&!+qSN@8;O|KK5>#T4F5>&7X9e?58Ez5ZCq3_AMt`65X9qL-+oYEqOneU%Wy`NPn9<)R zz3N~_f1C80gBks8l81?JhoZ*wuTDQ%GoUEUw;W9U_Balc7$l+cJDfv~-MaU{cg9`t z(F0RAWDT(VPe)s4qt%Vl!S6*LM7l%%(e+oqgHkbj_UAKf5r#b^0GSH10d8vBCa3$S8RZ6?qWpGWkd6l&*U-%L!l$ z>34GJ9OWAGlzvc%f3;m*6X8*ZV}2ieWZ{_l7uthwKEd|xoa3`-%l6K8&2j@C4*LLa z4-RgcE6C-uTmkj+YiX{)Vnmarh+IJt-#1|^M@adJlp`6CZYstf9-U$Gy)xqqMa_?6 z1oK!aQ!?x#eByBqrm>>>d%OXZwOWi%{F#FpogX;S!HmuioZ(l2CcSbahk5*d@*$_cwlXkC>oNBc!_e zmdWL+Q99pGWI>#R}OP;abpX1LZ$w4a^Ff#`<->?h|BDE zbj^np;Xi&L@*vW7@=t1Os)wHCLAeh*`a0JH`mqfi>84`*2YO4WR4XTI{&|aqZawn$ z%WoL<{vpiSt`M#3Gd=kUn$Ah(TcTpMwM8c4{>|i=j;V_J#mAIBn4ie~2iM@)F}DTy z@Klaseq)yYuPP5vX;_+T}xBX7N?IDL>|`B)#RAY18mZK6@Pt`*HQYoqLh`TRH&GBbQQr| zRm$)TyNGoZ?1ajGx9^*q&oj%AX@_~SxPC9EcSQN!ej*cMEi3<|_NMdxi~C)CE+zG! zMf^S`{TL`^FrDe9V*Dn$OQ<}qL$|1%bk?cA{&Mi7X4GYOXQR7;~e5D`r zNm+o-bW<^7itZ9BkLe>LFW%(7E%v|0##HBPI-+rNbykswxjLsDqsFv|xk^9gkTScJ z??|aoG2>c|SyT4IBX%4-`kd{y{?z=i?NiB&>|Nj7{eoK5e4Q?V8>;wJj!|P<#BZh1 zk54oR?Hbl%#uU9JRGzD|9y#kmn{RQ=$<=eUdPJkf^F5J=x%z<|zsciCKmJjr+hWGE z8dKNPN$>TVZQFBSFUP>doi;~{n4hnU4w#>Oxcp5XPx|qOQ;+djoGzx^SM4ew)|X|b+jvoU&!yO-XQXjzrRzCQRCT1 z+9&S`MXe$9;}$8mO1VwS?Na_Ar9#DwFM3R+o8$Nuq&pzX=p0!cB`L)Qz z`g)BV(=k?2zj&^Y`)2fv#`xeU*630ZdszB-g_Pe&xe5WhshDw}>R@UvHqPd&F*PQi z^^dpr>O5eb9jl*#6k})SiVm=|i{F#1(TPM4wZ6PhF`=xA=q0&<=A`4lQx@w?uSRdW$RSs zd2Z^};{0rr$V5!kBFA(te3k1|5zqbTN3)bYrBtXGTdu~`IQO-e?;cXyGHN+nt8`q8 z8Pgw$4j9u$IewGJlzucw*t%$m|55n$ap-dJ0+{L`J zjs7>6@&gq_(4k`9HQQ1!x014ThF!$FX4^QJ#)`7_T*vfNW3{+-(Zj@!p{RatZ;C9V zsGp1e?sW$TGy1#NogB>Q?_PJQ!mKF`6dez_?l&Fh-23d$H~Rj>5sYn@KQG*uFDJ6$ zw@1lQeVBevsNYojxdMD4z8w3|u6@>*(ty^XXhe59u}gjRmfya?v(**~jJAkO4m5!I}*4z|DD_ z)2?C`vvx4vL!}H;;RGEjX6;x}FjtbYa)w>R+Odj*X{;!pI@|!dbX>&RvAToFe1W3+ zncEWmj9xoD%;>daEl0P}YscCSX7q0+jBqeDwvV%+kq#z)6pFIj^&HIT-%Qw`3bUp( zNcy+k<5E@?cVKE#g)=o0Y&>m2K$ zt%F_F8s8<-Jh>t!9oVmH4g^MasHa^SKRx)PY-{4r)QQSu95$DsBwH_TX|8iHx`Oq7d{rnGaqIb zS=0HTao)_=1;)&LypCV>ev$51R8YzNG5?jX_4%81A#Kmr7~3aWebx-_FM7>DPoHQf z1sy78u6URxMwH$D#{iOk+BimGCWg|jTgD!W!u*bPN@2<|+cFz`viIsYP1$7P%ZFdf z9I*NMb4gvG&7FEe9OU%o}1IEFl)*&DhAPRn0u@Mgcf-BIM4d7H?_ zynI29>AXb$wr=qkdnfIN&b@Rm#eK{ z@Y4ErKQRc`$##aUKbd>VA#yNX&lZkrPC;0p(u(iRF zT&njwy4(jpug^L6KnqAo+v0pdDIPZbw7;~^IXY3j6qCorw(gK}Cqi~pF?rm(1@j&$ z_hr~c z%X$w*VLo4lsm}w>-LZA-M)%+P=HQR6z8l|Lj$hlqp63Bqh*T2MjXn?1ICJKC zA7UfAN3ocZwc7an4WDz1?WhZ%qw%a>k?|G%zDmke6{IXpQMsI}9ZX|I+2OSYQ0{3l z`^9QZ-MbyL<1za@zRN+4*naokt-bhn9M2PdVE32G@!Mqg^!t1%7f7j4F?o^;9ZX|I z+5II3Q0{Coc3+KIQyL=J8y>gj_jedGX8ap(_CB3BRR8bko_PMawdoYm4RhdZIi_AC=qHAja_u{o!Gm93cHtw$%PsStt;DXz*IHx^)? zp5Yd;-#){^WGtYlIeC_Ysqscpm^G!r(!bKu_iTJ*^J@U|MRh7&-xV_YS76~9eatMkH6ZwrMC~v ze&42xU3BOZCmT+txkS-Lwt(>`$!?j?`h#NL%=TEpLw;?EOIEWhx_#2Vsi7?%U)92 z5WJg;iJ?7A6C-MVNnaq?c-o-JRIkL_H!_q%TUyqdYJeMs3=VA z2wwz6V*c3CZ**SX!^GD@QGLxZ(QkBK9?SzA{YK~JJiWZ@%sv4yLi9`ualyDEC$KMjETe>Gwy1xx0gl9Y9fiZ4k`H43~UWbgabuOQ^he zJm~l1mfm>E)W@c;-~UlAn|~<(E=E`7C_Strfav=Ba{RJ>0h#sQFTZ!peZ>EoA3#qV z($Q`z#t(RyCPtJ^ZQ-ZV+^U=k>3oIH{xYp^xmDUHpI~y)K6#C_eR$MKd9=kjdvw}J^Qc@) z-;vI*vA?!>K9`Gg_J+vA{*<;&Cuz<#*BAG&zoULW25Ig!zeYRc%DHb*DN3qS_}CiP zn1`k#`UigzDc&{sHg9u0Fc#~&FTVzVM)zSmOU&Rt_}+bto5`)R7xSCW%%i_Zd0EP9 z2+>W&_|ew|^NkFbdn;?f-#MHyjm|%Nn9+IXIh}q+=bh(qFo|oRsPSCD z!PIvS;xHFvxlvl*xImXSEVR9ZjrTywx5%u?m<5P zHynwTk&k7HZshwU<5SP}k+w&qK75YEzly2*VEFJj+TNIR)?8KBXZO-MHnAnK9&O~; z@;$Xw5z;noPwn-`_SW9DbdR0lp#$4vr~RQX>7JT;oO3V5-U*I=cE-5h4tO^elQX{~ z!z|+W^Y0YQyQJJL<(>?md9LFVH`niVFr)W=_dA%;`@IJp%;>$|!wzQjUeCjf-se5y z^fP*&_k@EPz0Z5v!HnMLJzIrYQyM5f;lpV=t$XCSOHSzZ^2LuZZ}k5`7}wfX*W5U+ zqjhijIW7Ibrptdut3mIPo?#EPY4vBcKGPptpVRu>Z*zw|uIg3e z09&8EzA_Hfr>$JBH1}=elIFZk){1WRnF2Ug-*Vk1EAq2v150Hr<{29{ce<1_5TKii zi4T6^V5*Md*5|V_O!7QB2633@2R-O|v0UzI#{E2eICd<(T?zUAzB#-%XpU@`~@a{l59zp7?J3OWGFqq`sRN zS>@N91GbATai7KQhL`&A{61^}o`**}Gr9&JJ$m=SC${Ap>trgYO!5meStQF;T8zsM=T6MO>UyFPOV$xV&Sh z@j)DJgJ6!8GA_er4UArk#tUXshKrw$UXMJ?==Erite@yNdOg}xFehfX=r?*zYH={l zPe#qzy&O#ZCKQFaw}Tm-+wd@>a~u0O{fy3SOm;A%a~rw;Wv)c$Hi(T9Dh-j7_x2hz z*GK!^bmBdy-?S2Qbtds!-MF^aiODuR%+@y%IkD~S)HU6G9wEbe<<41>Mq--YT`*gmWirHIl z;b2C`HCs8Dj13g!m$!B>qhpyZ9n9!B#v9M*IEMM3P^nf<4%~VBA769ozotFVym|{` zJ6`_ljrPeCcW-UhU8dEK8t-{UCf54(`UlUB`8D|1 zns=Z1DC*?*VJnOs_t`s}wl9N^pY_^=&l=&i37@!&`z()aZT4ip>9uM5O|GT;P0WHg z#J;IAoOGXQYpGphJtwE`;ZT=60kTs^$5q!E_;w#{fz3JgMSW|ZJ{vFBH+=ivEWZYy z_k(GRcXkaMIqiG1TxMjTE^)od0MEWNqrS=YdEb{+@{ig#&MSLC<#CQ&DqAt@7xQcZ zDGN$jh|YCWG3(dD4yNilZY^2F!PK#g!(24OWc;Jouf+s&i43=hy?Bm^&yHThmXv-j zC8f8NrJX)&OdB`8%Ve0$<>)cVKc7L`}AQBro|RfG3JU6X7oD;}J$3^vXxPu866ot8l zgBkrzn1>ntP1u@FKcl}1Tie03{YBJxu9IQ1#zcP;2Ij~N7hgnyqWZdS6=qGTRBX7<^P%eFflywPrA=a z_rvg2&DGCey**gEAGZBgx(~LP!>$qgpetm^aj5HELl*edSDA}>9?H1>-5$CMc2Unm z-*GUb_g(L1nD~(Beb+R>d_Tj*e?;%Sa!lg4=-lCl($9ZN`N-*S^!{tQgBiW&$}zF0 z=snjb($D`meU094ed=JE--}uYXQ^5TH6MhJgrYE6-x4aXy_>$b)?P22J$2hR-rVgu z{6$wDx}|<%V|(4i`i_PPdPkH@FNp5Z^-FTpwL#Zj^_TwIOE(xYj_TvI9_K}`G06XC zgz2VYa(mU7HKhT9|LhT`Z#3lZuYdI1l9$%wgU7WsHd-Jxv3^q3!-c5vd`NVG9X}<< zbUf8Z`s2wMqC&>ciz|#zJ&LxgZBd`TruIS|cpNQm;hZ%hZ=bf|r*=b5&4x5mPmc)5 zqf#C-Fu}F&!4gi8J7 zWaS%oX{9+{xtx|5Q!mcUL$<`Nd*#G0@n=d``#>3J%*)q1Q zg*ZK2CbBRmua#puCw0%H^8yhN`HT2i=CqFCXWui+=c&z4o0I80WlY#N8aDHkIhnW5 zx!EauTf?S)o}+?i`7gyPCZB|^e}f{sshC**3J2446*a%EbTD;H;%qs`BxZ`9(^pA9 zr#gL&j@7&|)payZzaD0E9_hDLx>aALuQ!&2jR}N;hZ>q*r zo4RwO5p!H{;ZKHcGSAuNSCBL&mIO$bKB8>u6zM} zpLC??fxOGHa!h?vI`CjymT0%tq(;7hm(R zJ+mWp$+@;$z4tUebuGUG&(=QUabC1NqLcllR7iizPGybr?FR_vfl?02u#3p$AM9W< z9#E9+9qM34uVvMk8gI_E`VVG5;ujA;aln{uKkS}+^5T;AKCb^0rT@&mPC2G?Pj&F$ z%{^~^*?d$Vr|nxk#V^L+)9)5%?4##bYlgXu=w5XZH^!3$b1x}vQre|-NU4ynbJ6px z8ndR2LHL7$=zHrA)}MS=XX%zZz3*|Am%2w|VRSo$lm48Twwf z{ic?tj;8wNru`brLlU*-Z7Vv!_IH+JYWq3{zR$-_QJvYV#YUXdhPE@h)JOg{6-Uay zoq%jFWd|ucO4&(Dg^ID`YRsBatqAb?)$44#_fqGbvTW@(3u0FtjrDC~TlZu7B6 zXlfa6GDhiUBhdqUwXNisj_sGtAJGTK7~7!GCg+w9f=3%F)RBIcsjQP6`ThZw!HV;K%uHs-u``qCUX0*@sFg5;))9o5gKk+qC)OfD#U`Bsi zF~Y&b7eZ0}^f2+UP!#4!r=R-$U>xRp4rcUs?CU$2(ciBVb0k!%m6PA>xT%g(>_&WT}%wo*TIaAA^JI((J@4S2QxZ`sC6)- zV~7C`W^@dJA4sUwPfkjsCXG1x=Zg>T``|zMx#F6Jy7rE?0=}txSsW5;?2;l=>YMa8 z1!lfi!|u7q_GXqhvU6;dqU~y1+{14q=$z607q3)(() zQXbdRy;=HuXIvwWvOOAlNZW^>wne|F!#>t9Ii`Cu(}&4#do$|Ue#`cZtiP!)XrDTH z`@`t^FLbnfQc-!}M9#AW4uR$Jqw=K6+4 zIW1Gvc>hk;9oCtbupUTFyuBp9FhFkB7@?XCexmYu=kfVzD z)jm(6U)t_x-)~N@VH4O5zLTTb3UzWG=V=_ly_|!iSjE^By1QHf1sN)4egBPvN&Eyw z*@=g#<5Vmr_5c;x&*=5s({1#6UX58(8YnvLb?a?&-@5Iq(^zZhbMkCEb4`pu+!&lM z_RX4eu^iRZznNcz&XA*urS_${;-2L~xX)}Tw=Zm0+wEBlLw&Ptj-2C98Iv@}!8MCzylboh zmK#asLr(Z9kG4MV`Ey>MxDUO7O)lU1Nc-^9`tYod)+=USF}BAjphy4}Gp~Lsm{T&` zBIcEcskRh1mydJ$iOoV$bM|KrW^|n8VMfPUCprC$&Y7I-VB#B~sPR0-!HjXk} diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka-static.dir/cmocka.c.o deleted file mode 100644 index e42f94b1b119722c38b82829e68d871a3d911433..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217456 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]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c -config.h -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/config.h -malloc.h -- -inttypes.h -- -signal.h -- -strings.h -- -stdint.h -- -setjmp.h -- -stdarg.h -- -stddef.h -- -stdio.h -- -stdlib.h -- -string.h -- -time.h -- -float.h -- -cmocka_platform.h -/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka_platform.h -cmocka.h -- -cmocka_private.h -- - -_deps/cmocka-build/config.h - -_deps/cmocka-src/include/cmocka.h - -_deps/cmocka-src/include/cmocka_private.h -config.h -_deps/cmocka-src/include/config.h -stdint.h -- -windows.h -- -stdio.h -- - diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake deleted file mode 100644 index 2318ce4..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake +++ /dev/null @@ -1,36 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c" "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o" - ) -set(CMAKE_C_COMPILER_ID "GNU") - -# Preprocessor definitions for this target. -set(CMAKE_TARGET_DEFINITIONS_C - "cmocka_EXPORTS" - ) - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - "_deps/cmocka-build/src" - "_deps/cmocka-src/src" - "_deps/cmocka-build" - "_deps/cmocka-src/include" - ) - -# Pairs of files generated by the same build rule. -set(CMAKE_MULTIPLE_OUTPUT_PAIRS - "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/libcmocka.so" "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0.7.0" - "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0" "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0.7.0" - ) - - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make deleted file mode 100644 index e97391e..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make +++ /dev/null @@ -1,105 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.16 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/cseguret/Projects/app-ethereum/tests/unit - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/cseguret/Projects/app-ethereum/tests/unit/build - -# Include any dependencies generated for this target. -include _deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend.make - -# Include the progress variables for this target. -include _deps/cmocka-build/src/CMakeFiles/cmocka.dir/progress.make - -# Include the compile flags for this target's objects. -include _deps/cmocka-build/src/CMakeFiles/cmocka.dir/flags.make - -_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/flags.make -_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o: _deps/cmocka-src/src/cmocka.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object _deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o" - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/cmocka.dir/cmocka.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c - -_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/cmocka.dir/cmocka.c.i" - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c > CMakeFiles/cmocka.dir/cmocka.c.i - -_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/cmocka.dir/cmocka.c.s" - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c -o CMakeFiles/cmocka.dir/cmocka.c.s - -# Object files for target cmocka -cmocka_OBJECTS = \ -"CMakeFiles/cmocka.dir/cmocka.c.o" - -# External object files for target cmocka -cmocka_EXTERNAL_OBJECTS = - -_deps/cmocka-build/src/libcmocka.so.0.7.0: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o -_deps/cmocka-build/src/libcmocka.so.0.7.0: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build.make -_deps/cmocka-build/src/libcmocka.so.0.7.0: _deps/cmocka-build/src/CMakeFiles/cmocka.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/cseguret/Projects/app-ethereum/tests/unit/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C shared library libcmocka.so" - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cmocka.dir/link.txt --verbose=$(VERBOSE) - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -E cmake_symlink_library libcmocka.so.0.7.0 libcmocka.so.0 libcmocka.so - -_deps/cmocka-build/src/libcmocka.so.0: _deps/cmocka-build/src/libcmocka.so.0.7.0 - @$(CMAKE_COMMAND) -E touch_nocreate _deps/cmocka-build/src/libcmocka.so.0 - -_deps/cmocka-build/src/libcmocka.so: _deps/cmocka-build/src/libcmocka.so.0.7.0 - @$(CMAKE_COMMAND) -E touch_nocreate _deps/cmocka-build/src/libcmocka.so - -# Rule to build all files generated by this target. -_deps/cmocka-build/src/CMakeFiles/cmocka.dir/build: _deps/cmocka-build/src/libcmocka.so - -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/build - -_deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src && $(CMAKE_COMMAND) -P CMakeFiles/cmocka.dir/cmake_clean.cmake -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/clean - -_deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend: - cd /home/cseguret/Projects/app-ethereum/tests/unit/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/cseguret/Projects/app-ethereum/tests/unit /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src /home/cseguret/Projects/app-ethereum/tests/unit/build /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : _deps/cmocka-build/src/CMakeFiles/cmocka.dir/depend - diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmake_clean.cmake b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmake_clean.cmake deleted file mode 100644 index c2d08a3..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmake_clean.cmake +++ /dev/null @@ -1,12 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/cmocka.dir/cmocka.c.o" - "libcmocka.pdb" - "libcmocka.so" - "libcmocka.so.0" - "libcmocka.so.0.7.0" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/cmocka.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcda b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcda deleted file mode 100644 index 3210d01c333e834034448f0f990914dd09f031fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10500 zcmeHM3s_BA8*^twjMAB3f^EmO)g}*C5 zAu>r)jD*lsBQlgQ_(kP1I=P;~`1e}*9@}=#vGOsfZ=n-!O$4z&WmzonQR&RsE@*(hU|U$3qpG{$-T7Pb*3z zy;oeYyi_*ISc3XQT=05Dy+G?06_6dZw{@x>+L=n=p-SKZy|TJ8Jr$?S4)j#13{SOV zTL=CRNrE4b)r&pW5hwk0uX~#Kj74K*MKl1GZVX_rOajk`+QAMa*b{XeYkn-(*JB{> zUs;6t~h-*%%?y78VM&GbIsg;|q$|hQ)cI+uHub44Q`p-qa^a)4k zhYD48Xy0C;{jKJ`I~?n0n%&h$@0lH`ahSUmd_XR!lF9(>R6VJVeMB8~v!2}bti!8{ zW9`UC55fSjR0&wnLtTNy+)qqPd!(kWs*Sd|TZXv%Dlq(nDjdUE8wdSTo6JE2a>5p) z7>I}2|5Cv*?$gY%2|ke2Tk1GD62+*YIzo&o-@o7H5T|OLbK#M4gh6XcLBX~yM@0G) z+LovFnL3~t*_slDFb82QK`P+DDrg6(%#Ma0$5fj5mB3|v`KAJknp+SPa8o4>&d!?P zm@+1>vAg5TT};lYf>^L^P=N+tuh_S&7=gQlubm35GpKivn;#X*_ zb&0-Oz3DGV2HnS;1Va(+LiDqUajg7W{%F{A1oQafrkwuZi23QAE7P zb*x3|9Dq7tv=f$v-sK94$r#|JO27<$tYP40?A*Ry_qH7QVRB|j+t<+VOlano(ut2^ znPSBk223yx*er5B^@4ajZdKD}ka&_Q&edbt)#*2~m)GUxZ=DKUu&;n5VU*ost`r$x z*YJD0NWD8-yn#y@K!qN2ZSQ^0K1EXLH*@BSornv?0`X9#3a)pW07odXj}Y$^vxa_U zG2}B1*nkAvlm6KeiQ8+d_%-}x5YId0ovYw@67&jtxc}PzEGKgyo=>D0I>+9D#y-A0 z*Ui~7o*OM)yV?l#gU)km!D;RJwkD68eyKL=-Pv)~sb4YKzkcpS@;ZjK2$BdF$GS20 z=y!?>Q2HPmtn>p;F#cMJaJ&#cV*-?Avisx1C zltrOmm+p8*#=c{vxYB`r*wgXaKlF3iV2^RM!!8AF6V|O36U%t3nxSGpA4`kl9kfnl zGVo!*j^{OnlVA($56;Tzm; z5OelmQVaQPMdG90V*aY(!BLr~czfvZhc#*#l_#FaXLFXi+B&S?tkmZVnZ#z^>Za3m zkSvZ)Y@?S4x@Q*0?xSO?XS;W4-qLX;bZpQ1O&C!nTvL3)A94|kRSL~VG{?_vDK5dY4#0_%$&3%Bb)7>8nIGpp8aEE+LURb zJj6jdk5Ts#Hg&xB9NqrJY*gg9h=3ZS>BtA2GjiF4;3a#CcOPVeF>FweTvGKq{(;YB zGvtTK881D~kLPqm>JoY@9)AyFg3aX#EkYX-x~E6P*CW5gq5e}8oXei+$zM&WE^oDc ze&7t0b{n$tS{9vyQuz;vp#uueYS@;uYL9D41&czA_p z8Jj&sC%97osgcR&T}#$tzxHgh@#kakczB$g<13iapyPk>WG%__6RfZZFo zw|1RFzR>q}*yBKc?6i=0aew{0O3Wq|PSw)--b#pKK;M_({S>6K7)b4yE9SVLhrz^o zG3VOl-ytq^1_pm1m2q`ePvXb1_%xdLc^-9SW9613!%-~gOb_vbRN)hI41Z#yS(N%h zRukeBhB$~9`oB`aeMpd8k5F&+GiVYCcA-A}5$|Gc3)jP$;x>*5(erhq&lu5yR9mXZyXGaUfv=LLDSvG1(nC8*;(5^|xNE+QKh5)F_QzpVxNmZrv7`A<&+z*DGydx}t-sOprdp1h*Kymc zD5stIZ{rI~&d^ulUk1?G6P~W*jW)4P?J05`ZH@dg*%N&B=Gd2e-jXP;8{<8fjXvzx^*gvVau; diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcno b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.gcno deleted file mode 100644 index be21a1ce99373f808a6c68d4a1c9e2b1256f00ec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183608 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 b;?tn0exBrD;wzyj%#$6==x492rAGe`8TXNH diff --git a/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o b/tests/unit/build/_deps/cmocka-build/src/CMakeFiles/cmocka.dir/cmocka.c.o deleted file mode 100644 index 0413e29bdf60e009a5dbe26d9798e7035c78c187..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217456 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

U;*xcV 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 T0CrnqSNlgD11*ysWHtJKl5AZz diff --git a/tests/unit/build/_deps/cmocka-build/src/libcmocka.so b/tests/unit/build/_deps/cmocka-build/src/libcmocka.so deleted file mode 120000 index 550d968..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/libcmocka.so +++ /dev/null @@ -1 +0,0 @@ -libcmocka.so.0 \ No newline at end of file diff --git a/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0 b/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0 deleted file mode 120000 index 9ec2ce5..0000000 --- a/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0 +++ /dev/null @@ -1 +0,0 @@ -libcmocka.so.0.7.0 \ No newline at end of file diff --git a/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0.7.0 b/tests/unit/build/_deps/cmocka-build/src/libcmocka.so.0.7.0 deleted file mode 100755 index ff3168249e6acff0193ece17dc9fe67c02ccb0ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161280 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 S7Rffj`E~-iA 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 m+YVFm-v`z)*U!(+Ml/ (i.e. origin/master) we must strip -# the remote from the tag. -if("${show_ref_output}" MATCHES "refs/remotes/cmocka-1.1.5") - string(REGEX MATCH "^([^/]+)/(.+)$" _unused "cmocka-1.1.5") - set(git_remote "${CMAKE_MATCH_1}") - set(git_tag "${CMAKE_MATCH_2}") -else() - set(git_remote "origin") - set(git_tag "cmocka-1.1.5") -endif() - -# This will fail if the tag does not exist (it probably has not been fetched -# yet). -execute_process( - COMMAND "/usr/bin/git" rev-list --max-count=1 cmocka-1.1.5 - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - RESULT_VARIABLE error_code - OUTPUT_VARIABLE tag_sha - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - -# Is the hash checkout out that we want? -if(error_code OR is_remote_ref OR NOT ("${tag_sha}" STREQUAL "${head_sha}")) - execute_process( - COMMAND "/usr/bin/git" fetch - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - RESULT_VARIABLE error_code - ) - if(error_code) - message(FATAL_ERROR "Failed to fetch repository 'https://git.cryptomilk.org/projects/cmocka.git'") - endif() - - if(is_remote_ref) - # Check if stash is needed - execute_process( - COMMAND "/usr/bin/git" status --porcelain - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - RESULT_VARIABLE error_code - OUTPUT_VARIABLE repo_status - ) - if(error_code) - message(FATAL_ERROR "Failed to get the status") - endif() - string(LENGTH "${repo_status}" need_stash) - - # If not in clean state, stash changes in order to be able to be able to - # perform git pull --rebase - if(need_stash) - execute_process( - COMMAND "/usr/bin/git" stash save --all;--quiet - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - RESULT_VARIABLE error_code - ) - if(error_code) - message(FATAL_ERROR "Failed to stash changes") - endif() - endif() - - # Pull changes from the remote branch - execute_process( - COMMAND "/usr/bin/git" rebase ${git_remote}/${git_tag} - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - RESULT_VARIABLE error_code - ) - if(error_code) - # Rebase failed: Restore previous state. - execute_process( - COMMAND "/usr/bin/git" rebase --abort - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - ) - if(need_stash) - execute_process( - COMMAND "/usr/bin/git" stash pop --index --quiet - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - ) - endif() - message(FATAL_ERROR "\nFailed to rebase in: '/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/'.\nYou will have to resolve the conflicts manually") - endif() - - if(need_stash) - execute_process( - COMMAND "/usr/bin/git" stash pop --index --quiet - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - RESULT_VARIABLE error_code - ) - if(error_code) - # Stash pop --index failed: Try again dropping the index - execute_process( - COMMAND "/usr/bin/git" reset --hard --quiet - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - RESULT_VARIABLE error_code - ) - execute_process( - COMMAND "/usr/bin/git" stash pop --quiet - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - RESULT_VARIABLE error_code - ) - if(error_code) - # Stash pop failed: Restore previous state. - execute_process( - COMMAND "/usr/bin/git" reset --hard --quiet ${head_sha} - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - ) - execute_process( - COMMAND "/usr/bin/git" stash pop --index --quiet - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - ) - message(FATAL_ERROR "\nFailed to unstash changes in: '/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/'.\nYou will have to resolve the conflicts manually") - endif() - endif() - endif() - else() - execute_process( - COMMAND "/usr/bin/git" checkout cmocka-1.1.5 - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src" - RESULT_VARIABLE error_code - ) - if(error_code) - message(FATAL_ERROR "Failed to checkout tag: 'cmocka-1.1.5'") - endif() - endif() - - set(init_submodules TRUE) - if(init_submodules) - execute_process( - COMMAND "/usr/bin/git" submodule update --recursive --init - WORKING_DIRECTORY "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/" - RESULT_VARIABLE error_code - ) - endif() - if(error_code) - message(FATAL_ERROR "Failed to update submodules in: '/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/'") - endif() -endif() - diff --git a/tests/unit/build/cmake_install.cmake b/tests/unit/build/cmake_install.cmake deleted file mode 100644 index 200a7b6..0000000 --- a/tests/unit/build/cmake_install.cmake +++ /dev/null @@ -1,55 +0,0 @@ -# Install script for directory: /home/cseguret/Projects/app-ethereum/tests/unit - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "Debug") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Install shared libraries without execute permission? -if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - set(CMAKE_INSTALL_SO_NO_EXE "1") -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - -if(NOT CMAKE_INSTALL_LOCAL_ONLY) - # Include the install script for each subdirectory. - include("/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/cmake_install.cmake") - -endif() - -if(CMAKE_INSTALL_COMPONENT) - set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") -else() - set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") -endif() - -string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT - "${CMAKE_INSTALL_MANIFEST_FILES}") -file(WRITE "/home/cseguret/Projects/app-ethereum/tests/unit/build/${CMAKE_INSTALL_MANIFEST}" - "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/tests/unit/build/compile_commands.json b/tests/unit/build/compile_commands.json deleted file mode 100644 index e3cdaf9..0000000 --- a/tests/unit/build/compile_commands.json +++ /dev/null @@ -1,12 +0,0 @@ -[ -{ - "directory": "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src", - "command": "/usr/bin/cc -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include -g -Wall -pedantic -g -O0 --coverage -fPIC -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Wimplicit-fallthrough -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat -Wformat-security -Werror=format-security -fno-common -fstack-protector-strong -fstack-clash-protection -DHAVE_CONFIG_H -std=gnu11 -o CMakeFiles/cmocka-static.dir/cmocka.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c", - "file": "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c" -}, -{ - "directory": "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src", - "command": "/usr/bin/cc -Dcmocka_EXPORTS -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build/src -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-build -I/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/include -g -Wall -pedantic -g -O0 --coverage -fPIC -std=gnu99 -Wpedantic -Wall -Wshadow -Wmissing-prototypes -Wcast-align -Werror=address -Wstrict-prototypes -Werror=strict-prototypes -Wwrite-strings -Werror=write-strings -Werror-implicit-function-declaration -Wpointer-arith -Werror=pointer-arith -Wdeclaration-after-statement -Werror=declaration-after-statement -Wreturn-type -Werror=return-type -Wuninitialized -Werror=uninitialized -Wimplicit-fallthrough -Werror=strict-overflow -Wstrict-overflow=2 -Wno-format-zero-length -Wmissing-field-initializers -Wformat -Wformat-security -Werror=format-security -fno-common -fstack-protector-strong -fstack-clash-protection -DHAVE_CONFIG_H -std=gnu11 -o CMakeFiles/cmocka.dir/cmocka.c.o -c /home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c", - "file": "/home/cseguret/Projects/app-ethereum/tests/unit/build/_deps/cmocka-src/src/cmocka.c" -} -] \ No newline at end of file diff --git a/tests/unit/build/libutils.so b/tests/unit/build/libutils.so deleted file mode 100755 index e23bb2304c55b64fa9e1bca1b26f3a1be08deba1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24792 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 diff --git a/tests/unit/build/test_main b/tests/unit/build/test_main deleted file mode 100755 index b12a8b55bed409e9ee7a055834375506d3e502a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26448 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 From ef07f77d8a2620c9a06249271606e9d82f167b57 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 4 Mar 2022 13:55:33 +0100 Subject: [PATCH 05/69] fix: lint --- tests/unit/tests/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/tests/utils.c b/tests/unit/tests/utils.c index eb703e6..b2424d7 100644 --- a/tests/unit/tests/utils.c +++ b/tests/unit/tests/utils.c @@ -7,7 +7,7 @@ int local_strchr(char *string, char ch); static void null_test_success(void **state) { assert_int_equal(local_strchr("salut", 'c'), -1); - assert_int_equal(local_strchr("av", 'a'), 0); + assert_int_equal(local_strchr("av", 'a'), 0); } int main(void) { From f103e2a02305e9ca3ef5ae27b8a426320ead3e1a Mon Sep 17 00:00:00 2001 From: Coline Date: Thu, 10 Mar 2022 10:43:40 +0100 Subject: [PATCH 06/69] docs: readme unit tests --- tests/unit/README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/unit/README.md b/tests/unit/README.md index eb89951..68a98f2 100644 --- a/tests/unit/README.md +++ b/tests/unit/README.md @@ -11,6 +11,12 @@ We use the library [**cmocka**](https://cmocka.org/#features) Don't worry, you don't necessarily need to install the `cmocka library` because the **cmakelist automatically fetches** the library +## Add new test + +Create new file into `tests` folder and follow [this initiation](https://cmocka.org/talks/cmocka_unit_testing_and_mocking.pdf) + +Now go to the `CMakeLists.txt` file and add your test with the specific file you want to test. + ## Usage ### Build From ebc0e2458994b8cd3b742e2ebee3017e1b391cf1 Mon Sep 17 00:00:00 2001 From: Coline Date: Thu, 10 Mar 2022 11:18:02 +0100 Subject: [PATCH 07/69] fix: .PHONY in unit makefile --- tests/unit/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/Makefile b/tests/unit/Makefile index c7762cb..71d8a14 100644 --- a/tests/unit/Makefile +++ b/tests/unit/Makefile @@ -39,4 +39,4 @@ clean: @if [ -d coverage ]; then $(ECHO) -e "${RED}[ RM ]${RESET}" coverage && $(RM) -r coverage ; fi; @if [ -f coverage.info ]; then $(ECHO) -e "${RED}[ RM ]${RESET}" coverage.info && $(RM) -r coverage.info ; fi; -.PHONY: all tests clean \ No newline at end of file +.PHONY: all coverage clean \ No newline at end of file From 18b74a582c72584ec321a671080fd5c3bb63e49b Mon Sep 17 00:00:00 2001 From: Coline Date: Thu, 10 Mar 2022 14:53:45 +0100 Subject: [PATCH 08/69] fix: Makefile .gitignore into functional tests --- tests/functional/.gitignore | 4 ++++ tests/functional/Makefile | 8 ++++++++ 2 files changed, 12 insertions(+) create mode 100644 tests/functional/.gitignore create mode 100644 tests/functional/Makefile diff --git a/tests/functional/.gitignore b/tests/functional/.gitignore new file mode 100644 index 0000000..826d3f0 --- /dev/null +++ b/tests/functional/.gitignore @@ -0,0 +1,4 @@ +/node_modules +/snapshots-tmp +/elfs +/lib \ No newline at end of file diff --git a/tests/functional/Makefile b/tests/functional/Makefile new file mode 100644 index 0000000..82d7706 --- /dev/null +++ b/tests/functional/Makefile @@ -0,0 +1,8 @@ +MAKEFLAGS += --no-print-directory + +all: + ./build_local_test_elfs.sh + yarn install + yarn test + +.PHONY: all \ No newline at end of file From 3bb18078582c41ecf682d6e60ccb90b2bd5738c2 Mon Sep 17 00:00:00 2001 From: Coline Date: Tue, 5 Apr 2022 15:27:57 +0200 Subject: [PATCH 09/69] docs: apdu into .md --- doc/apdu.md | 550 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 550 insertions(+) create mode 100644 doc/apdu.md diff --git a/doc/apdu.md b/doc/apdu.md new file mode 100644 index 0000000..20954b4 --- /dev/null +++ b/doc/apdu.md @@ -0,0 +1,550 @@ +# APDU Documentation + + - [GET](#get) + - [GET APP CONFIGURATION](#get-app-configuration) + - [GET ETH PUBLIC ADDRESS](#get-eth-public-address) + - [GET ETH2 PUBLIC KEY](#get-eth2-public-key) + - [SIGN](#sign) + - [SIGN ETH TRANSACTION](#sign-eth-transaction) + - [SIGN ETH PERSONAL MESSAGE](#sign-eth-personal-message) + - [SIGN ETH EIP 712](#sign-eth-eip-712) + - [SET](#set) + - [SET EXTERNAL PLUGIN](#set-external-plugin) + - [SET PLUGIN](#set-plugin) + - [SET ETH2 WITHDRAWAL INDEX](#set-eth2-withdrawal-index) + - [Provide](#provide) + - [PROVIDE ERC 20 TOKEN INFORMATION](#provide-erc-20-token-information) + - [PROVIDE NFT INFORMATION](#provide-nft-information) + +
+
+
+ +## Global Instruction + +|Name|INS| +|----|---| +|[GET PUBLIC ADDRESS](#get-eth-public-address)|0x02| +|[SIGN](#sign-eth-transaction)|0x04| +|[GET APP CONFIGURATION](#get-app-configuration)|0x06| +|[SIGN PERSONAL MESSAGE](#sign-eth-personal-message)|0x08| +|[PROVIDE ERC 20 TOKEN INFORMATION](#provide-erc-20-token-information)|0x0A| +|[SIGN EIP 712 MESSAGE](#sign-eth-eip-712)|0x0C| +|[GET ETH2 PUBLIC KEY](#get-eth2-public-key)|0x0E| +|[SET ETH2 WITHDRAWAL INDEX](#set-eth2-withdrawal-index)|0x10| +|[SET EXTERNAL PLUGIN](#set-external-plugin)|0x12| +|[PROVIDE NFT INFORMATION](#provide-nft-information)|0x14| +|[SET PLUGIN](#set-plugin)|0x16| + +
+
+ +## GET + +### GET APP CONFIGURATION +

+ +Description + +This command returns specific application configuration + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|06|00|00|00|04| + +:inbox_tray: input data + +None + +:outbox_tray: output data + +|Description|Length| +|-----------|------| +|0x01 : arbitrary data signature enabled by user
0x02 : ERC 20 Token information needs to be provided externally|1| +|Application major version|1| +|Application minor version|1| +|Application patch version|1| +
+ +
+ +### GET ETH PUBLIC ADDRESS + +
+ +Description + +This command returns the public key and Ethereum address for the given BIP 32 path. +The address can be optionally checked on the device before being returned. + +Usefull link: +- [HD Wallet by ledger](https://www.ledger.com/academy/crypto/what-are-hierarchical-deterministic-hd-wallets) +- [BIP-044](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) + +|CLA|INS|P1 |P2 |Lc |Le | +|---|---|-------------------------------------------------|--------------------------------|----------|----------| +|E0 |02 |00 : return address |00: do not return the chain code| variable | variable | +| | |01 : display address and confirm before returning|01 : return the chain code| | | | + +:inbox_tray: input data + +|Description|Length| +|-----------|------| +|Number of BIP 32 derivations to perform (max 10)| 1| +|First derivation index (big endian)| 4| +| ... | 4| +| Last derivation index (big endian) | 4| + +:outbox_tray: output data + +|Description|Length| +|-----------|------| +|Public Key length|1| +|Uncompressed address length|var| +|Ethereum address length|1| +|Ethereum address|var| +|Chain code if requested|32| + +Exemple: +With path `"44'/60'/1'/0/0"` + +CLA: E0 +INS: 02 +P1 : 00 +P2 : 00 +Lc : 11 (17 in hex) +Le : + - 04 (number BIP 32 derivations) + - 80 00 00 2c + - 80 00 00 3C + - 00 00 00 00 + - 00 00 00 00 + +|CLA|INS|P1|P2|Lc|Le - BIP number|First derivation|Second derivation|Third derivation|Fourth derivation| +|-|-|-|-|-|-|-|-|-|-| +| | | | | | |`44'` |`60'` |`0` |`0` | +|E0|02|00|00|11|04|8000002C|8000003C|00000000|00000000| + +-> E0 02 00 00 11 04 8000002C 8000003C 00000000 00000000 + +
+ +
+ +### GET ETH2 PUBLIC KEY + +
+ +Description + +This command returns an Ethereum 2 BLS12-381 public key derived following EIP 2333 specification (https://eips.ethereum.org/EIPS/eip-2333) + +This command has been supported since firmware version 1.6.0 + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|0E|00 : return public key|00|variable|variable| +|||01 : display public key and confirm before returning|||| +||||||| + +:inbox_tray: input data + +|Description|Length| +|-----------|------| +|Number of BIP 32 derivations to perform (max 10)|1| +|First derivation index (big endian)|4| +|...|4| +|Last derivation index (big endian)|4| + +:outbox_tray: output data + +|Description|Length| +|-----------|------| +|Public key|48| +
+ + +
+
+
+ +## SIGN + +### SIGN ETH TRANSACTION + +
+ +Description + +This command signs an Ethereum transaction after having the user validate the following parameters + + - Gas price + - Gas limit + - Recipient address + - Value + +The input data is the RLP encoded transaction, without v/r/s present, streamed to the device in 255 bytes maximum data chunks. + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|04|00 : first transaction data block|00|variable|variable| +|||80 : subsequent transaction data block|||| +||||||| + +:inbox_tray: input data (first transaction data block) + +|Description|Length| +|-----------|------| +|Number of BIP 32 derivations to perform (max 10)|1| +|First derivation index (big endian)|4| +|...|4| +|Last derivation index (big endian)|4| +|RLP transaction chunk|variable| + +:inbox_tray: input data (other transaction data block) + +|Description|Length| +|-----------|------| +|RLP transaction chunk|variable| + +:outbox_tray: output data + +|Description|Length| +|-----------|------| +|v|1| +|r|32| +|s|32| + +
+ +
+ +### SIGN ETH PERSONAL MESSAGE + +
+ +Description + +This command signs an Ethereum message following the personal_sign specification (https://github.com/ethereum/go-ethereum/pull/2940) after having the user validate the SHA-256 hash of the message being signed. + +This command has been supported since firmware version 1.0.8 + +The input data is the message to sign, streamed to the device in 255 bytes maximum data chunks + + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|08|00 : first message data block|00|variable|variable| +|||80 : subsequent message data block|||| +||||||| + +:inbox_tray: input data (first message data block) + +|Description|Length| +|-----------|------| +|Number of BIP 32 derivations to perform (max 10)|1| +|First derivation index (big endian)|4| +|...|4| +|Last derivation index (big endian)|4| +|Message length|4| +|Message chunk|variable| + +:inbox_tray: input data (other transaction data block) + +|Description|Length| +|-----------|------| +|Message chunk|variable| + +:outbox_tray: output data + +|Description|Length| +|-----------|------| +|v|1| +|r|32| +|s|32| + +
+ +
+ +### SIGN ETH EIP 712 + +
+ +Description + +This command signs an Ethereum message following the EIP 712 specification (https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) + +For implementation version 0, the domain hash and message hash are provided to the device, which displays them and returns the signature + +This command has been supported since firmware version 1.5.0 + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|0C|00|implementation version: 00|variable|variable| + +:inbox_tray: input data + +|Description|Length| +|-----------|------| +|Number of BIP 32 derivations to perform (max 10)|1| +|First derivation index (big endian)|4| +|...|4| +|Last derivation index (big endian)|4| +|Domain hash|32| +|Message hash|32| + +:outbox_tray: output data + +|Description|Length| +|-----------|------| +|v|1| +|r|32| +|s|32| + +
+ +
+
+
+ +## SET + +### SET EXTERNAL PLUGIN + +
+ +Description + +This commands provides the name of a trusted binding of a plugin with a contract address and a supported method selector. This plugin will be called to interpret contract data in the following transaction signing command. + +It shall be run immediately before performing a transaction involving a contract supported by this plugin to display the proper information to the user if necessary. + +The function returns an error sw (0x6984) if the plugin requested is not installed on the device, 0x9000 otherwise. + +The signature is computed on + +len(pluginName) || pluginName || contractAddress || methodSelector + +signed by the following secp256k1 public key 0482bbf2f34f367b2e5bc21847b6566f21f0976b22d3388a9a5e446ac62d25cf725b62a2555b2dd464a4da0ab2f4d506820543af1d242470b1b1a969a27578f353 + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|12|00|00|variable|00| + +:inbox_tray: input data + +|Description|Length| +|-----------|------| +|Length of plugin name|1| +|plugin name|variable| +|contract address|20| +|method selector|4| +|signature|variable| + +:outbox_tray: output data + +None + +
+ +
+ +### SET PLUGIN + +
+ +Description + +This commands provides the name of a trusted binding of a plugin with a contract address and a supported method selector. This plugin will be called to interpret contract data in the following transaction signing command. + +It can be used to set both internal and external plugins. + +It shall be run immediately before performing a transaction involving a contract supported by this plugin to display the proper information to the user if necessary. + +The function returns an error sw (0x6984) if the plugin requested is not installed on the device, 0x9000 otherwise. + +The plugin names `ERC20`, `ERC721` and `ERC1155` are reserved. Additional plugin names might be added to this list in the future. + +The signature is computed on + +type || version || len(pluginName) || pluginName || address || selector || chainId || keyId || algorithmId || len(signature) || signature + + + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|16|00|00|variable|00| + +:inbox_tray: input data + +|Description|Length| +|-----------|------| +|Type|1| +|Version|1| +|Plugin Name Length|1| +|Plugin Name|variable| +|Address|20| +|Selector|4| +|Chain ID|8| +|KeyID|1| +|Algorithm|1| +|Signature Length|1| +|Signature|variable| + +:outbox_tray: output data + +None + +
+ +
+ +### SET ETH2 WITHDRAWAL INDEX + +
+ +Description + +This command sets the index of the Withdrawal key used as withdrawal credentials in an ETH2 deposit contract call signature. The path of the Withdrawal key is defined as m/12381/3600/index/0 according to EIP 2334 (https://eips.ethereum.org/EIPS/eip-2334) + +The default index used is 0 if this method isn’t called before the deposit contract transaction is sent to the device to be signed + +This command has been supported since firmware version 1.5.0 + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|10|00|00|variable|variable| + +:inbox_tray: input data + +|Description|Length| +|-----------|------| +|Withdrawal key index (big endian)|4| + +:outbox_tray: output data + +None + +
+ +
+
+
+ +## Provide + +### PROVIDE ERC 20 TOKEN INFORMATION + +
+ +Description + +This commands provides a trusted description of an ERC 20 token to associate a contract address with a ticker and number of decimals. + +It shall be run immediately before performing a transaction involving a contract calling this contract address to display the proper token information to the user if necessary, as marked in GET APP CONFIGURATION flags. + +The signature is computed on + +ticker || address || number of decimals (uint4be) || chainId (uint4be) + +signed by the following secp256k1 public key 0482bbf2f34f367b2e5bc21847b6566f21f0976b22d3388a9a5e446ac62d25cf725b62a2555b2dd4This command returns an Ethereum 2 BLS12-381 public key derived following EIP 2333 specification (https://eips.ethereum.org/EIPS/eip-2333) + +This command has been supported since firmware version 1.6.064a4da0ab2f4d506820543af1d242470b1b1a969a27578f353 + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|0A|00|00|variable|00| + +:inbox_tray: input data + +|Description|Length| +|-----------|------| +|Length of ERC 20 ticker|1| +|ERC 20 ticker|variable| +|ERC 20 contract address|20| +|Number of decimals (big endian encoded)|4| +|Chain ID (big endian encoded)|4| +|Token information signature|variable| + +:outbox_tray: output data + +none + +
+ +
+ +### PROVIDE NFT INFORMATION + +
+ +Description + +This commands provides a trusted description of an NFT to associate a contract address with a collectionName. + +It shall be run immediately before performing a transaction involving a contract calling this contract address to display the proper nft information to the user if necessary, as marked in GET APP CONFIGURATION flags. + +The signature is computed on: + +type || version || len(collectionName) || collectionName || address || chainId || keyId || algorithmId + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|14|00|00|variable|00| + +:inbox_tray: input data + +|Description|Length| +|-----------|------| +|Type|1| +|Version|1| +|Collection Name Length|1| +|Collection Name|variable| +|Address|20| +|Chain ID|8| +|KeyID|1| +|Algorithm ID|1| +|Signature Length|1| +|Signature|variable| + +:outbox_tray: output data + +None + +
+ +
+
+
+ +[//]: # (## Command name) +[//]: # () +[//]: # (
) +[//]: # () +[//]: # (Description ) +[//]: # () +[//]: # () +[//]: # (|CLA|INS|P1|P2|Lc|Le|) +[//]: # (|---|---|--|--|--|--|) +[//]: # (|||||||) +[//]: # (|||||||) +[//]: # (|||||||) +[//]: # () +[//]: # (:inbox_tray: input data) +[//]: # () +[//]: # (|Description|Length|) +[//]: # (|-----------|------|) +[//]: # (|||) +[//]: # (|||) +[//]: # (|||) +[//]: # () +[//]: # (:outbox_tray: output data) +[//]: # () +[//]: # (|Description|Length|) +[//]: # (|-----------|------|) +[//]: # (|||) +[//]: # (|||) +[//]: # (|||) +[//]: # () +[//]: # (
) \ No newline at end of file From 104bfee2a97a0f749da8bd0240bdc76634bd4f57 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 8 Apr 2022 09:57:12 +0200 Subject: [PATCH 10/69] feat: first test with speculos --- doc/apdu.md | 27 +++ tests/speculos/.gitignore | 25 +++ tests/speculos/README.md | 39 ++++ tests/speculos/boilerplate_client/__init__.py | 0 .../boilerplate_client/boilerplate_cmd.py | 107 ++++++++++ .../boilerplate_cmd_builder.py | 187 ++++++++++++++++++ .../boilerplate_client/exception/__init__.py | 35 ++++ .../exception/device_exception.py | 38 ++++ .../boilerplate_client/exception/errors.py | 58 ++++++ .../boilerplate_client/transaction.py | 47 +++++ tests/speculos/boilerplate_client/utils.py | 75 +++++++ tests/speculos/conftest.py | 27 +++ tests/speculos/requirements.txt | 5 + tests/speculos/setup.cfg | 20 ++ tests/speculos/test_configuration_cmd.py | 3 + tests/speculos/test_pubkey_cmd.py | 37 ++++ tests/speculos/test_version_cmd.py | 10 + 17 files changed, 740 insertions(+) create mode 100644 tests/speculos/.gitignore create mode 100644 tests/speculos/README.md create mode 100644 tests/speculos/boilerplate_client/__init__.py create mode 100644 tests/speculos/boilerplate_client/boilerplate_cmd.py create mode 100644 tests/speculos/boilerplate_client/boilerplate_cmd_builder.py create mode 100644 tests/speculos/boilerplate_client/exception/__init__.py create mode 100644 tests/speculos/boilerplate_client/exception/device_exception.py create mode 100644 tests/speculos/boilerplate_client/exception/errors.py create mode 100644 tests/speculos/boilerplate_client/transaction.py create mode 100644 tests/speculos/boilerplate_client/utils.py create mode 100644 tests/speculos/conftest.py create mode 100644 tests/speculos/requirements.txt create mode 100644 tests/speculos/setup.cfg create mode 100644 tests/speculos/test_configuration_cmd.py create mode 100644 tests/speculos/test_pubkey_cmd.py create mode 100644 tests/speculos/test_version_cmd.py diff --git a/doc/apdu.md b/doc/apdu.md index 20954b4..9ee325d 100644 --- a/doc/apdu.md +++ b/doc/apdu.md @@ -215,6 +215,33 @@ The input data is the RLP encoded transaction, without v/r/s present, streamed t |r|32| |s|32| +Exemple: +With path `"44'/60'/1'/0/0"` + +CLA: E0 +INS: 04 +P1 : 00 (First transaction block) +P2 : 00 +Lc : ? +Le : + - 04 (number BIP 32 derivations) + - 80 00 00 2c + - 80 00 00 3c + - 00 00 00 00 + - 00 00 00 00 + - RLP chunk + +
+ +CLA: E0 +INS: 04 +P1 : 80 (subsequent transaction block) +P2 : 00 +Lc : ? +Le : + - RLP chunk + +
diff --git a/tests/speculos/.gitignore b/tests/speculos/.gitignore new file mode 100644 index 0000000..94026aa --- /dev/null +++ b/tests/speculos/.gitignore @@ -0,0 +1,25 @@ +__pycache__/ +*.py[cod] +*$py.class + + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# generated by pip +pip-wheel-metadata/ + +# pytest debug logs generated via --debug +pytestdebug.log +.cache +.pytest_cache +.mypy_cache +.coverage +.coverage.* +coverage.xml \ No newline at end of file diff --git a/tests/speculos/README.md b/tests/speculos/README.md new file mode 100644 index 0000000..0a33a8a --- /dev/null +++ b/tests/speculos/README.md @@ -0,0 +1,39 @@ +# Speculos functional tests + +These tests are implemented in Python with the `SpeculosClient` interface which allows easy execution on the [Speculos](https://github.com/LedgerHQ/speculos) emulator. + +## Requirements + +- [python >= 3.8](https://www.python.org/downloads/) +- [pip](https://pip.pypa.io/en/stable/installation/) + +### Dependencies +Python dependencies are listed in [requirements.txt](requirements.txt) + +```shell +python3 -m pip install --extra-index-url https://test.pypi.org/simple/ -r requirements.txt +``` +> The extra index allows to fetch the latest version of Speculos. + +## Usage + +Given the requirements are installed, just do: + +``` +pytest tests/speculos/ +``` + +## Tests by APDU + +you will find the list of apdu [here](../../doc/apdu.md) + +- Get + - GET APP CONFIGURATIOn + - [X] Simple test + - GET ETH PUBLIC ADDRESS + - [X] Test get key of coin (Ether, Dai) + - [ ] Test get key of coin (Ether, Dai) with display + - [ ] Test without chain code + - GET ETH2 PUBLIC KEY + - [ ] Test get key + - [ ] Test get key with display \ No newline at end of file diff --git a/tests/speculos/boilerplate_client/__init__.py b/tests/speculos/boilerplate_client/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd.py b/tests/speculos/boilerplate_client/boilerplate_cmd.py new file mode 100644 index 0000000..ec5f5d9 --- /dev/null +++ b/tests/speculos/boilerplate_client/boilerplate_cmd.py @@ -0,0 +1,107 @@ +import struct +from typing import Tuple + +from speculos.client import SpeculosClient, ApduException + +from boilerplate_client.boilerplate_cmd_builder import BoilerplateCommandBuilder, InsType +from boilerplate_client.exception import DeviceException +from boilerplate_client.transaction import Transaction + + +class BoilerplateCommand: + def __init__(self, + client: SpeculosClient, + debug: bool = False) -> None: + self.client = client + self.builder = BoilerplateCommandBuilder(debug=debug) + self.debug = debug + + def get_configuration(self) -> Tuple[int, int, int, int]: + try: + response = self.client._apdu_exchange( + self.builder.get_configuration() + ) # type: int, bytes + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_GET_VERSION) + + # response = MAJOR (1) || MINOR (1) || PATCH (1) + assert len(response) == 4 + + info, major, minor, patch = struct.unpack( + "BBBB", + response + ) # type: int, int, int + + return info, major, minor, patch + + def get_public_key(self, bip32_path: str, display: bool = False) -> Tuple[bytes, bytes, bytes]: + try: + response = self.client._apdu_exchange( + self.builder.get_public_key(bip32_path=bip32_path, + display=display) + ) # type: int, bytes + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_GET_PUBLIC_KEY) + + # response = pub_key_len (1) || + # pub_key (var) || + # chain_code_len (1) || + # chain_code (var) + offset: int = 0 + + pub_key_len: int = response[offset] + offset += 1 + + uncompressed_addr_len: bytes = response[offset:offset + pub_key_len] + offset += pub_key_len + + eth_addr_len: int = response[offset] + offset += 1 + + eth_addr: bytes = response[offset:offset + eth_addr_len] + offset += eth_addr_len + + chain_code: bytes = response[offset:] + + assert len(response) == 1 + pub_key_len + 1 + eth_addr_len + 32 # 32 -> chain_code_len + + return uncompressed_addr_len, eth_addr, chain_code + + def sign_tx(self, bip32_path: str, transaction: Transaction) -> Tuple[int, bytes]: + sw: int + response: bytes = b"" + + for is_last, chunk in self.builder.sign_tx(bip32_path=bip32_path, transaction=transaction): + if is_last: + with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], + p1=chunk[2], p2=chunk[3], + data=chunk[5:]) as exchange: + # Review Transaction + self.client.press_and_release('right') + # Address 1/3, 2/3, 3/3 + self.client.press_and_release('right') + self.client.press_and_release('right') + self.client.press_and_release('right') + # Amount + self.client.press_and_release('right') + # Approve + self.client.press_and_release('both') + response = exchange.receive() + else: + response = self.client._apdu_exchange(chunk) + print(response) + + # response = der_sig_len (1) || + # der_sig (var) || + # v (1) + offset: int = 0 + der_sig_len: int = response[offset] + offset += 1 + der_sig: bytes = response[offset:offset + der_sig_len] + offset += der_sig_len + v: int = response[offset] + offset += 1 + + assert len(response) == 1 + der_sig_len + 1 + + return v, der_sig diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py b/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py new file mode 100644 index 0000000..619e09a --- /dev/null +++ b/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py @@ -0,0 +1,187 @@ +import enum +import logging +import struct +from typing import List, Tuple, Union, Iterator, cast + +from boilerplate_client.transaction import Transaction +from boilerplate_client.utils import bip32_path_from_string + +MAX_APDU_LEN: int = 255 + + +def chunkify(data: bytes, chunk_len: int) -> Iterator[Tuple[bool, bytes]]: + size: int = len(data) + + if size <= chunk_len: + yield True, data + return + + chunk: int = size // chunk_len + remaining: int = size % chunk_len + offset: int = 0 + + for i in range(chunk): + yield False, data[offset:offset + chunk_len] + offset += chunk_len + + if remaining: + yield True, data[offset:] + + +class InsType(enum.IntEnum): + INS_GET_PUBLIC_KEY = 0x02 + INS_SIGN_TX = 0x04 + INS_GET_CONFIGURATION = 0x06 + + +class BoilerplateCommandBuilder: + """APDU command builder for the Boilerplate application. + + Parameters + ---------- + debug: bool + Whether you want to see logging or not. + + Attributes + ---------- + debug: bool + Whether you want to see logging or not. + + """ + CLA: int = 0xE0 + + def __init__(self, debug: bool = False): + """Init constructor.""" + self.debug = debug + + def serialize(self, + cla: int, + ins: Union[int, enum.IntEnum], + p1: int = 0, + p2: int = 0, + cdata: bytes = b"") -> bytes: + """Serialize the whole APDU command (header + data). + + Parameters + ---------- + cla : int + Instruction class: CLA (1 byte) + ins : Union[int, IntEnum] + Instruction code: INS (1 byte) + p1 : int + Instruction parameter 1: P1 (1 byte). + p2 : int + Instruction parameter 2: P2 (1 byte). + cdata : bytes + Bytes of command data. + + Returns + ------- + bytes + Bytes of a complete APDU command. + + """ + ins = cast(int, ins.value) if isinstance(ins, enum.IntEnum) else cast(int, ins) + + header: bytes = struct.pack("BBBBB", + cla, + ins, + p1, + p2, + len(cdata)) # add Lc to APDU header + + if self.debug: + logging.info("header: %s", header.hex()) + logging.info("cdata: %s", cdata.hex()) + + return header + cdata + + def get_configuration(self) -> bytes: + """Command builder for GET_CONFIGURATON + + Returns + ------- + bytes + APDU command for GET_CONFIGURATON + + """ + return self.serialize(cla=self.CLA, + ins=InsType.INS_GET_CONFIGURATION, + p1=0x00, + p2=0x00, + cdata=b"") + + def get_public_key(self, bip32_path: str, display: bool = False) -> bytes: + """Command builder for GET_PUBLIC_KEY. + + Parameters + ---------- + bip32_path: str + String representation of BIP32 path. + display : bool + Whether you want to display the address on the device. + + Returns + ------- + bytes + APDU command for GET_PUBLIC_KEY. + + """ + bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) + + cdata: bytes = b"".join([ + len(bip32_paths).to_bytes(1, byteorder="big"), + *bip32_paths + ]) + + return self.serialize(cla=self.CLA, + ins=InsType.INS_GET_PUBLIC_KEY, + p1=0x01 if display else 0x00, + p2=0x01, + cdata=cdata) + + def sign_tx(self, bip32_path: str, transaction: Transaction) -> Iterator[Tuple[bool, bytes]]: + """Command builder for INS_SIGN_TX. + + Parameters + ---------- + bip32_path : str + String representation of BIP32 path. + transaction : Transaction + Representation of the transaction to be signed. + + Yields + ------- + bytes + APDU command chunk for INS_SIGN_TX. + + """ + bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) + + cdata: bytes = b"".join([ + len(bip32_paths).to_bytes(1, byteorder="big"), + *bip32_paths + ]) + + yield False, self.serialize(cla=self.CLA, + ins=InsType.INS_SIGN_TX, + p1=0x00, + p2=0x00, + cdata=cdata) + + tx: bytes = transaction.serialize() + + for i, (is_last, chunk) in enumerate(chunkify(tx, MAX_APDU_LEN)): + if is_last: + yield True, self.serialize(cla=self.CLA, + ins=InsType.INS_SIGN_TX, + p1=0x00, + p2=0x00, + cdata=chunk) + return + else: + yield False, self.serialize(cla=self.CLA, + ins=InsType.INS_SIGN_TX, + p1=0x00, + p2=0x00, + cdata=chunk) diff --git a/tests/speculos/boilerplate_client/exception/__init__.py b/tests/speculos/boilerplate_client/exception/__init__.py new file mode 100644 index 0000000..acb2bb8 --- /dev/null +++ b/tests/speculos/boilerplate_client/exception/__init__.py @@ -0,0 +1,35 @@ +from .device_exception import DeviceException +from .errors import (UnknownDeviceError, + DenyError, + WrongP1P2Error, + WrongDataLengthError, + InsNotSupportedError, + ClaNotSupportedError, + WrongResponseLengthError, + DisplayBip32PathFailError, + DisplayAddressFailError, + DisplayAmountFailError, + WrongTxLengthError, + TxParsingFailError, + TxHashFail, + BadStateError, + SignatureFailError) + +__all__ = [ + "DeviceException", + "DenyError", + "UnknownDeviceError", + "WrongP1P2Error", + "WrongDataLengthError", + "InsNotSupportedError", + "ClaNotSupportedError", + "WrongResponseLengthError", + "DisplayBip32PathFailError", + "DisplayAddressFailError", + "DisplayAmountFailError", + "WrongTxLengthError", + "TxParsingFailError", + "TxHashFail", + "BadStateError", + "SignatureFailError" +] diff --git a/tests/speculos/boilerplate_client/exception/device_exception.py b/tests/speculos/boilerplate_client/exception/device_exception.py new file mode 100644 index 0000000..7cd26f2 --- /dev/null +++ b/tests/speculos/boilerplate_client/exception/device_exception.py @@ -0,0 +1,38 @@ +import enum +from typing import Dict, Any, Union + +from .errors import * + + +class DeviceException(Exception): # pylint: disable=too-few-public-methods + exc: Dict[int, Any] = { + 0x6985: DenyError, + 0x6A86: WrongP1P2Error, + 0x6A87: WrongDataLengthError, + 0x6D00: InsNotSupportedError, + 0x6E00: ClaNotSupportedError, + 0xB000: WrongResponseLengthError, + 0xB001: DisplayBip32PathFailError, + 0xB002: DisplayAddressFailError, + 0xB003: DisplayAmountFailError, + 0xB004: WrongTxLengthError, + 0xB005: TxParsingFailError, + 0xB006: TxHashFail, + 0xB007: BadStateError, + 0xB008: SignatureFailError + } + + def __new__(cls, + error_code: int, + ins: Union[int, enum.IntEnum, None] = None, + message: str = "" + ) -> Any: + error_message: str = (f"Error in {ins!r} command" + if ins else "Error in command") + + if error_code in DeviceException.exc: + return DeviceException.exc[error_code](hex(error_code), + error_message, + message) + + return UnknownDeviceError(hex(error_code), error_message, message) diff --git a/tests/speculos/boilerplate_client/exception/errors.py b/tests/speculos/boilerplate_client/exception/errors.py new file mode 100644 index 0000000..a9a853d --- /dev/null +++ b/tests/speculos/boilerplate_client/exception/errors.py @@ -0,0 +1,58 @@ +class UnknownDeviceError(Exception): + pass + + +class DenyError(Exception): + pass + + +class WrongP1P2Error(Exception): + pass + + +class WrongDataLengthError(Exception): + pass + + +class InsNotSupportedError(Exception): + pass + + +class ClaNotSupportedError(Exception): + pass + + +class WrongResponseLengthError(Exception): + pass + + +class DisplayBip32PathFailError(Exception): + pass + + +class DisplayAddressFailError(Exception): + pass + + +class DisplayAmountFailError(Exception): + pass + + +class WrongTxLengthError(Exception): + pass + + +class TxParsingFailError(Exception): + pass + + +class TxHashFail(Exception): + pass + + +class BadStateError(Exception): + pass + + +class SignatureFailError(Exception): + pass diff --git a/tests/speculos/boilerplate_client/transaction.py b/tests/speculos/boilerplate_client/transaction.py new file mode 100644 index 0000000..ce43f47 --- /dev/null +++ b/tests/speculos/boilerplate_client/transaction.py @@ -0,0 +1,47 @@ +from io import BytesIO +from typing import Union + +from boilerplate_client.utils import (read, read_uint, read_varint, + write_varint, UINT64_MAX) + + +class TransactionError(Exception): + pass + + +class Transaction: + def __init__(self, nonce: int, to: Union[str, bytes], value: int, memo: str) -> None: + self.nonce: int = nonce + self.to: bytes = bytes.fromhex(to[2:]) if isinstance(to, str) else to + self.value: int = value + self.memo: bytes = memo.encode("ascii") + + if not (0 <= self.nonce <= UINT64_MAX): + raise TransactionError(f"Bad nonce: '{self.nonce}'!") + + if not (0 <= self.value <= UINT64_MAX): + raise TransactionError(f"Bad value: '{self.value}'!") + + if len(self.to) != 20: + raise TransactionError(f"Bad address: '{self.to}'!") + + def serialize(self) -> bytes: + return b"".join([ + self.nonce.to_bytes(8, byteorder="big"), + self.to, + self.value.to_bytes(8, byteorder="big"), + write_varint(len(self.memo)), + self.memo + ]) + + @classmethod + def from_bytes(cls, hexa: Union[bytes, BytesIO]): + buf: BytesIO = BytesIO(hexa) if isinstance(hexa, bytes) else hexa + + nonce: int = read_uint(buf, 64, byteorder="big") + to: bytes = read(buf, 20) + value: int = read_uint(buf, 64, byteorder="big") + memo_len: int = read_varint(buf) + memo: str = read(buf, memo_len).decode("ascii") + + return cls(nonce=nonce, to=to, value=value, memo=memo) diff --git a/tests/speculos/boilerplate_client/utils.py b/tests/speculos/boilerplate_client/utils.py new file mode 100644 index 0000000..c2fe9d3 --- /dev/null +++ b/tests/speculos/boilerplate_client/utils.py @@ -0,0 +1,75 @@ +from io import BytesIO +from typing import List, Optional, Literal + + +UINT64_MAX: int = 18446744073709551615 +UINT32_MAX: int = 4294967295 +UINT16_MAX: int = 65535 + + +def bip32_path_from_string(path: str) -> List[bytes]: + splitted_path: List[str] = path.split("/") + + if not splitted_path: + raise Exception(f"BIP32 path format error: '{path}'") + + if "m" in splitted_path and splitted_path[0] == "m": + splitted_path = splitted_path[1:] + + return [int(p).to_bytes(4, byteorder="big") if "'" not in p + else (0x80000000 | int(p[:-1])).to_bytes(4, byteorder="big") + for p in splitted_path] + + +def write_varint(n: int) -> bytes: + if n < 0xFC: + return n.to_bytes(1, byteorder="little") + + if n <= UINT16_MAX: + return b"\xFD" + n.to_bytes(2, byteorder="little") + + if n <= UINT32_MAX: + return b"\xFE" + n.to_bytes(4, byteorder="little") + + if n <= UINT64_MAX: + return b"\xFF" + n.to_bytes(8, byteorder="little") + + raise ValueError(f"Can't write to varint: '{n}'!") + + +def read_varint(buf: BytesIO, + prefix: Optional[bytes] = None) -> int: + b: bytes = prefix if prefix else buf.read(1) + + if not b: + raise ValueError(f"Can't read prefix: '{b}'!") + + n: int = {b"\xfd": 2, b"\xfe": 4, b"\xff": 8}.get(b, 1) # default to 1 + + b = buf.read(n) if n > 1 else b + + if len(b) != n: + raise ValueError("Can't read varint!") + + return int.from_bytes(b, byteorder="little") + + +def read(buf: BytesIO, size: int) -> bytes: + b: bytes = buf.read(size) + + if len(b) < size: + raise ValueError(f"Cant read {size} bytes in buffer!") + + return b + + +def read_uint(buf: BytesIO, + bit_len: int, + byteorder: Literal['big', 'little'] = 'little') -> int: + size: int = bit_len // 8 + b: bytes = buf.read(size) + + if len(b) < size: + raise ValueError(f"Can't read u{bit_len} in buffer!") + + return int.from_bytes(b, byteorder) diff --git a/tests/speculos/conftest.py b/tests/speculos/conftest.py new file mode 100644 index 0000000..8c3999e --- /dev/null +++ b/tests/speculos/conftest.py @@ -0,0 +1,27 @@ +from collections import namedtuple +from pathlib import Path + +import pytest + +from speculos.client import SpeculosClient + +from boilerplate_client.boilerplate_cmd import BoilerplateCommand + + +SCRIPT_DIR = Path(__file__).absolute().parent +API_URL = "http://127.0.0.1:5000" + +@pytest.fixture(scope="session") +def client(): + file_path = SCRIPT_DIR.parent.parent / "bin" / "app.elf" + args = ['--model', 'nanos', '--display', 'qt', '--sdk', '2.1'] + with SpeculosClient(app=str(file_path), args=args) as client: + yield client + + +@pytest.fixture(scope="session") +def cmd(client): + yield BoilerplateCommand( + client=client, + debug=True + ) diff --git a/tests/speculos/requirements.txt b/tests/speculos/requirements.txt new file mode 100644 index 0000000..2744c35 --- /dev/null +++ b/tests/speculos/requirements.txt @@ -0,0 +1,5 @@ +speculos +pytest>=6.1.1,<7.0.0 +ledgercomm>=1.1.0,<1.2.0 +ecdsa>=0.16.1,<0.17.0 +pysha3>=1.0.0,<2.0.0 diff --git a/tests/speculos/setup.cfg b/tests/speculos/setup.cfg new file mode 100644 index 0000000..c79fd88 --- /dev/null +++ b/tests/speculos/setup.cfg @@ -0,0 +1,20 @@ +[tool:pytest] +addopts = --strict-markers + +[pylint] +disable = C0114, # missing-module-docstring + C0115, # missing-class-docstring + C0116, # missing-function-docstring + C0103, # invalid-name + R0801, # duplicate-code + R0913 # too-many-arguments +extension-pkg-whitelist=hid + +[pycodestyle] +max-line-length = 90 + +[mypy-hid.*] +ignore_missing_imports = True + +[mypy-pytest.*] +ignore_missing_imports = True diff --git a/tests/speculos/test_configuration_cmd.py b/tests/speculos/test_configuration_cmd.py new file mode 100644 index 0000000..9694737 --- /dev/null +++ b/tests/speculos/test_configuration_cmd.py @@ -0,0 +1,3 @@ + +def test_configuration(cmd): + assert cmd.get_configuration() == (14, 1, 9, 17) \ No newline at end of file diff --git a/tests/speculos/test_pubkey_cmd.py b/tests/speculos/test_pubkey_cmd.py new file mode 100644 index 0000000..aee64cf --- /dev/null +++ b/tests/speculos/test_pubkey_cmd.py @@ -0,0 +1,37 @@ + +from pickle import TRUE +from typing import Tuple + + +def test_get_public_key(cmd): + # ETHER COIN + uncompressed_addr_len, eth_addr, chain_code = cmd.get_public_key( + bip32_path="44'/60'/1'/0/0", + display=False + ) # type: bytes, bytes, bytes + + print("HERE", uncompressed_addr_len) + + assert len(uncompressed_addr_len) == 65 + assert len(eth_addr) == 40 + assert len(chain_code) == 32 + + assert uncompressed_addr_len == b'\x04\xea\x02&\x91\xc7\x87\x00\xd2\xc3\xa0\xc7E\xbe\xa4\xf2\xb8\xe5\xe3\x13\x97j\x10B\xf6\xa1Vc\\\xb2\x05\xda\x1a\xcb\xfe\x04*\nZ\x89eyn6"E\x89\x0eT\xbd-\xbex\xec\x1e\x18df\xf2\xe9\xd0\xf5\xd5\xd8\xdf' + assert eth_addr == b'463e4e114AA57F54f2Fd2C3ec03572C6f75d84C2' + assert chain_code == b'\xaf\x89\xcd)\xea${8I\xec\xc80\xc2\xc8\x94\\e1\xd6P\x87\x07?\x9f\xd09\x00\xa0\xea\xa7\x96\xc8' + + # DAI COIN + uncompressed_addr_len, eth_addr, chain_code = cmd.get_public_key( + bip32_path="44'/700'/1'/0/0", + display=False + ) # type: bytes, bytes, bytes + + print("HERE2", uncompressed_addr_len) + + assert len(uncompressed_addr_len) == 65 + assert len(eth_addr) == 40 + assert len(chain_code) == 32 + + assert uncompressed_addr_len == b'\x04V\x8a\x15\xdc\xed\xc8[\x16\x17\x8d\xaf\xcax\x91v~{\x9c\x06\xba\xaa\xde\xf4\xe7\x9f\x86\x1d~\xed)\xdc\n8\x9c\x84\xf01@E\x13]\xd7~6\x8e\x8e\xabb-\xad\xcdo\xc3Fw\xb7\xc8y\xdbQ/\xc3\xe5\x18' + assert eth_addr == b'Ba9A9aED0a1AbBE1da1155F64e73e57Af7995880' + assert chain_code == b'4\xaa\x95\xf4\x02\x12\x12-T\x155\x86\xed\xc5\x0b\x1d8\x81\xae\xce\xbd\x1a\xbbv\x9a\xc7\xd5\x1a\xd0KT\xe4' diff --git a/tests/speculos/test_version_cmd.py b/tests/speculos/test_version_cmd.py new file mode 100644 index 0000000..1ad0133 --- /dev/null +++ b/tests/speculos/test_version_cmd.py @@ -0,0 +1,10 @@ +#from warnings import catch_warnings +# +#import boilerplate_client +# +# +#def test_version(cmd): +# try: +# cmd.get_version() +# except boilerplate_client.exception.errors.InsNotSupportedError as error: +# assert error.args[0] == '0x6d00' \ No newline at end of file From 35363e256decec451eefc50f34acbd1a3ec7c3b4 Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 11 Apr 2022 10:47:15 +0200 Subject: [PATCH 11/69] feat: tests sign Signed-off-by: Coline --- doc/apdu.md | 25 +++++++-- tests/speculos/README.md | 12 ++--- .../boilerplate_client/boilerplate_cmd.py | 50 ++++++++++++++--- .../boilerplate_cmd_builder.py | 48 +++++++++++++++-- tests/speculos/docs/client.puml | 35 ++++++++++++ tests/speculos/test_pubkey_cmd.py | 54 ++++++++++++++----- tests/speculos/test_sign_cmd.py | 13 +++++ 7 files changed, 205 insertions(+), 32 deletions(-) create mode 100644 tests/speculos/docs/client.puml create mode 100644 tests/speculos/test_sign_cmd.py diff --git a/doc/apdu.md b/doc/apdu.md index 9ee325d..a08b260 100644 --- a/doc/apdu.md +++ b/doc/apdu.md @@ -50,7 +50,7 @@ This command returns specific application configuration |CLA|INS|P1|P2|Lc|Le| |---|---|--|--|--|--| -|E0|06|00|00|00|04| +|E0|06|00|00|00|00| :inbox_tray: input data @@ -63,7 +63,23 @@ None |0x01 : arbitrary data signature enabled by user
0x02 : ERC 20 Token information needs to be provided externally|1| |Application major version|1| |Application minor version|1| -|Application patch version|1| +|Application patch version|1| + +Exemple: +CLA: E0 +INS: 06 +P1 : 00 +P2 : 00 +Lc : 00 +Le : 00 + +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|06|00|00|00|00| + +-> E0 06 00 00 00 00 + +
@@ -80,6 +96,7 @@ The address can be optionally checked on the device before being returned. Usefull link: - [HD Wallet by ledger](https://www.ledger.com/academy/crypto/what-are-hierarchical-deterministic-hd-wallets) - [BIP-044](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) +- [psd-application](https://developers.ledger.com/docs/nano-app/psd-applications/) |CLA|INS|P1 |P2 |Lc |Le | |---|---|-------------------------------------------------|--------------------------------|----------|----------| @@ -170,6 +187,8 @@ This command has been supported since firmware version 1.6.0 ## SIGN +- [RLP encoding](https://medium.com/coinmonks/data-structure-in-ethereum-episode-1-recursive-length-prefix-rlp-encoding-decoding-d1016832f919) + ### SIGN ETH TRANSACTION
@@ -353,7 +372,7 @@ The signature is computed on len(pluginName) || pluginName || contractAddress || methodSelector -signed by the following secp256k1 public key 0482bbf2f34f367b2e5bc21847b6566f21f0976b22d3388a9a5e446ac62d25cf725b62a2555b2dd464a4da0ab2f4d506820543af1d242470b1b1a969a27578f353 +signed by the following secp256k1 public key `0482bbf2f34f367b2e5bc21847b6566f21f0976b22d3388a9a5e446ac62d25cf725b62a2555b2dd464a4da0ab2f4d506820543af1d242470b1b1a969a27578f353` |CLA|INS|P1|P2|Lc|Le| |---|---|--|--|--|--| diff --git a/tests/speculos/README.md b/tests/speculos/README.md index 0a33a8a..8ff6e84 100644 --- a/tests/speculos/README.md +++ b/tests/speculos/README.md @@ -28,12 +28,12 @@ pytest tests/speculos/ you will find the list of apdu [here](../../doc/apdu.md) - Get - - GET APP CONFIGURATIOn - - [X] Simple test - - GET ETH PUBLIC ADDRESS - - [X] Test get key of coin (Ether, Dai) - - [ ] Test get key of coin (Ether, Dai) with display - - [ ] Test without chain code + - GET APP CONFIGURATION ( 1 test ) + - Get the configuration + - GET ETH PUBLIC ADDRESS ( 3 tests ) + - Ether coin without display + - Dai coin with display + - Dai coin with display and reject - GET ETH2 PUBLIC KEY - [ ] Test get key - [ ] Test get key with display \ No newline at end of file diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd.py b/tests/speculos/boilerplate_client/boilerplate_cmd.py index ec5f5d9..a7874ba 100644 --- a/tests/speculos/boilerplate_client/boilerplate_cmd.py +++ b/tests/speculos/boilerplate_client/boilerplate_cmd.py @@ -1,3 +1,6 @@ +from ast import List +from contextlib import contextmanager +from ctypes.wintypes import INT import struct from typing import Tuple @@ -24,7 +27,7 @@ class BoilerplateCommand: except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_GET_VERSION) - # response = MAJOR (1) || MINOR (1) || PATCH (1) + # response = FLAG (1) || MAJOR (1) || MINOR (1) || PATCH (1) assert len(response) == 4 info, major, minor, patch = struct.unpack( @@ -34,12 +37,17 @@ class BoilerplateCommand: return info, major, minor, patch - def get_public_key(self, bip32_path: str, display: bool = False) -> Tuple[bytes, bytes, bytes]: + @contextmanager + def get_public_key(self, bip32_path: str, display: bool = False, result: List = list()) -> Tuple[bytes, bytes, bytes]: try: - response = self.client._apdu_exchange( - self.builder.get_public_key(bip32_path=bip32_path, - display=display) - ) # type: int, bytes + chunk: bytes = self.builder.get_public_key(bip32_path=bip32_path, display=display) + + with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], + p1=chunk[2], p2=chunk[3], + data=chunk[5:]) as exchange: + yield exchange + response: bytes = exchange.receive() + except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_GET_PUBLIC_KEY) @@ -64,8 +72,36 @@ class BoilerplateCommand: chain_code: bytes = response[offset:] assert len(response) == 1 + pub_key_len + 1 + eth_addr_len + 32 # 32 -> chain_code_len + + result.append(uncompressed_addr_len) + result.append(eth_addr) + result.append(chain_code) - return uncompressed_addr_len, eth_addr, chain_code + def simple_sign_tx(self, bip32_path: str, transaction) -> Tuple[int, int, int]: + chunk: bytes = self.builder.simple_sign_tx(bip32_path=bip32_path, transaction=transaction) + response: bytes = b"" + + with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], + p1=chunk[2], p2=chunk[3], + data=chunk[5:]) as exchange: + # Review Transaction + self.client.press_and_release('right') + # Address 1/3, 2/3, 3/3 + self.client.press_and_release('right') + self.client.press_and_release('right') + self.client.press_and_release('right') + # Amount + self.client.press_and_release('right') + # Approve + self.client.press_and_release('both') + response = exchange.receive() + + # response = V (1) || R (32) || S (32) + assert len(response) == 65 + + v, r, s = struct.unpack("BII", response) + + return v, r, s def sign_tx(self, bip32_path: str, transaction: Transaction) -> Tuple[int, bytes]: sw: int diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py b/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py index 619e09a..2cc54d6 100644 --- a/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py +++ b/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py @@ -3,6 +3,8 @@ import logging import struct from typing import List, Tuple, Union, Iterator, cast +import rlp + from boilerplate_client.transaction import Transaction from boilerplate_client.utils import bip32_path_from_string @@ -29,9 +31,17 @@ def chunkify(data: bytes, chunk_len: int) -> Iterator[Tuple[bool, bytes]]: class InsType(enum.IntEnum): - INS_GET_PUBLIC_KEY = 0x02 - INS_SIGN_TX = 0x04 - INS_GET_CONFIGURATION = 0x06 + INS_GET_PUBLIC_KEY = 0x02 + INS_SIGN_TX = 0x04 + INS_GET_CONFIGURATION = 0x06 + INS_SIGN_PERSONAL_TX = 0x08 + INS_PROVIDE_ERC20 = 0x0A + INS_SIGN_EIP712 = 0x0c + INS_ETH2_GET_PUBLIC_KEY = 0x0E + INS_SET_ETH2_WITHDRAWAL = 0x10 + INS_SET_EXTERNAL_PLUGIN = 0x12 + INS_PROVIDE_NFT_INFORMATION = 0x14 + INS_SET_PLUGIN = 0x16 class BoilerplateCommandBuilder: @@ -185,3 +195,35 @@ class BoilerplateCommandBuilder: p1=0x00, p2=0x00, cdata=chunk) + + def simple_sign_tx(self, bip32_path: str, transaction) -> bytes: + """Command builder for INS_SIGN_TX. + + Parameters + ---------- + bip32_path : str + String representation of BIP32 path. + transaction : Transaction + Representation of the transaction to be signed. + + Yields + ------- + bytes + APDU command chunk for INS_SIGN_TX. + + """ + bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) + + cdata: bytes = b"".join([ + len(bip32_paths).to_bytes(1, byteorder="big"), + *bip32_paths, + rlp.encode(transaction) + ]) + + print(cdata) + + return self.serialize(cla=self.CLA, + ins=InsType.INS_SIGN_TX, + p1=0x00, + p2=0x00, + cdata=cdata) diff --git a/tests/speculos/docs/client.puml b/tests/speculos/docs/client.puml new file mode 100644 index 0000000..ccadea4 --- /dev/null +++ b/tests/speculos/docs/client.puml @@ -0,0 +1,35 @@ +@startuml Network + +enum InsType { + INS_GET_PUBLIC_KEY = 0x02 + INS_SIGN_TX = 0x04 + INS_GET_CONFIGURATION = 0x06 + INS_SIGN_PERSONAL_TX = 0x08 + INS_PROVIDE_ERC20 = 0x0A + INS_SIGN_EIP712 = 0x0c + INS_ETH2_GET_PUBLIC_KEY = 0x0E + INS_SET_ETH2_WITHDRAWAL = 0x10 + INS_SET_EXTERNAL_PLUGIN = 0x12 + INS_PROVIDE_NFT_INFORMATION = 0x14 + INS_SET_PLUGIN = 0x16 +} + +class BoilerPlateCommandBuilder { + +bytes serialize(cla int, ins InsType, p1 int, p2 int, cdata bytes) + ____ + .. APDU Builder.. + +get_configuration() -> bytes + +get_public_key(bip32_path str, display bool) -> bytes +} + +class BoilerplateCommand { + +get_configuration() -> Tuple[int, int, int] + +get_public_key(bip32_path str, diplay bool) -> Tuple[bytes, bytes, bytes] +} + +class Transaction { + +serialize() -> bytes + +from_bytes(cls, hexa: Union[bytes, BytesIO]) +} + +@enduml \ No newline at end of file diff --git a/tests/speculos/test_pubkey_cmd.py b/tests/speculos/test_pubkey_cmd.py index aee64cf..9a79429 100644 --- a/tests/speculos/test_pubkey_cmd.py +++ b/tests/speculos/test_pubkey_cmd.py @@ -1,16 +1,18 @@ +from cgitb import reset from pickle import TRUE from typing import Tuple +import boilerplate_client + def test_get_public_key(cmd): - # ETHER COIN - uncompressed_addr_len, eth_addr, chain_code = cmd.get_public_key( - bip32_path="44'/60'/1'/0/0", - display=False - ) # type: bytes, bytes, bytes + # ETHER COIN without display + result: list = [] + with cmd.get_public_key(bip32_path="44'/60'/1'/0/0", display=False, result=result) as exchange: + pass - print("HERE", uncompressed_addr_len) + uncompressed_addr_len, eth_addr, chain_code = result assert len(uncompressed_addr_len) == 65 assert len(eth_addr) == 40 @@ -20,14 +22,20 @@ def test_get_public_key(cmd): assert eth_addr == b'463e4e114AA57F54f2Fd2C3ec03572C6f75d84C2' assert chain_code == b'\xaf\x89\xcd)\xea${8I\xec\xc80\xc2\xc8\x94\\e1\xd6P\x87\x07?\x9f\xd09\x00\xa0\xea\xa7\x96\xc8' - # DAI COIN - uncompressed_addr_len, eth_addr, chain_code = cmd.get_public_key( - bip32_path="44'/700'/1'/0/0", - display=False - ) # type: bytes, bytes, bytes - - print("HERE2", uncompressed_addr_len) + # DAI COIN with display + result: list = [] + with cmd.get_public_key(bip32_path="44'/700'/1'/0/0", display=True, result=result) as exchange: + cmd.client.press_and_release('right') + # Verify address + cmd.client.press_and_release('right') + # Address 1/3, 2/3, 3/3 + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + # Approved + cmd.client.press_and_release('both') + uncompressed_addr_len, eth_addr, chain_code = result assert len(uncompressed_addr_len) == 65 assert len(eth_addr) == 40 assert len(chain_code) == 32 @@ -35,3 +43,23 @@ def test_get_public_key(cmd): assert uncompressed_addr_len == b'\x04V\x8a\x15\xdc\xed\xc8[\x16\x17\x8d\xaf\xcax\x91v~{\x9c\x06\xba\xaa\xde\xf4\xe7\x9f\x86\x1d~\xed)\xdc\n8\x9c\x84\xf01@E\x13]\xd7~6\x8e\x8e\xabb-\xad\xcdo\xc3Fw\xb7\xc8y\xdbQ/\xc3\xe5\x18' assert eth_addr == b'Ba9A9aED0a1AbBE1da1155F64e73e57Af7995880' assert chain_code == b'4\xaa\x95\xf4\x02\x12\x12-T\x155\x86\xed\xc5\x0b\x1d8\x81\xae\xce\xbd\x1a\xbbv\x9a\xc7\xd5\x1a\xd0KT\xe4' + + +def test_reject_get_public_key(cmd): + try: + # DAI COIN with display + result: list = [] + with cmd.get_public_key(bip32_path="44'/700'/1'/0/0", display=True, result=result) as exchange: + cmd.client.press_and_release('right') + # Verify address + cmd.client.press_and_release('right') + # Address 1/3, 2/3, 3/3 + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + # Reject + cmd.client.press_and_release('right') + cmd.client.press_and_release('both') + + except boilerplate_client.exception.errors.DenyError as error: + assert error.args[0] == '0x6985' diff --git a/tests/speculos/test_sign_cmd.py b/tests/speculos/test_sign_cmd.py new file mode 100644 index 0000000..21f0c40 --- /dev/null +++ b/tests/speculos/test_sign_cmd.py @@ -0,0 +1,13 @@ +from urllib import response +import boilerplate_client +import struct + + +def test_sign(cmd): + transaction = "dog" + + response = cmd.simple_sign_tx(bip32_path="44'/60'/1'/0/0", transaction=transaction) + + print(response) + + \ No newline at end of file From e7fca8ee88b407bf340bc16829a8d12c56b814be Mon Sep 17 00:00:00 2001 From: Coline Date: Wed, 13 Apr 2022 13:23:37 +0200 Subject: [PATCH 12/69] feat: zemu approve test for speculos (hard APDU) --- .../boilerplate_client/boilerplate_cmd.py | 67 ++++++++++++++----- .../boilerplate_cmd_builder.py | 11 +-- tests/speculos/test_sign_cmd.py | 16 +++-- 3 files changed, 68 insertions(+), 26 deletions(-) diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd.py b/tests/speculos/boilerplate_client/boilerplate_cmd.py index a7874ba..f491f1f 100644 --- a/tests/speculos/boilerplate_client/boilerplate_cmd.py +++ b/tests/speculos/boilerplate_client/boilerplate_cmd.py @@ -77,32 +77,65 @@ class BoilerplateCommand: result.append(eth_addr) result.append(chain_code) - def simple_sign_tx(self, bip32_path: str, transaction) -> Tuple[int, int, int]: - chunk: bytes = self.builder.simple_sign_tx(bip32_path=bip32_path, transaction=transaction) - response: bytes = b"" + @contextmanager + def simple_sign_tx(self, bip32_path: str, transaction, result: List = list()) -> Tuple[bytes, bytes, bytes]: + try: + chunk: bytes = self.builder.simple_sign_tx(bip32_path=bip32_path, transaction=transaction) + - with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], - p1=chunk[2], p2=chunk[3], - data=chunk[5:]) as exchange: - # Review Transaction - self.client.press_and_release('right') - # Address 1/3, 2/3, 3/3 - self.client.press_and_release('right') - self.client.press_and_release('right') - self.client.press_and_release('right') - # Amount - self.client.press_and_release('right') - # Approve - self.client.press_and_release('both') - response = exchange.receive() + with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], + p1=chunk[2], p2=chunk[3], + data=chunk[5:]) as exchange: + yield exchange + response: bytes = exchange.receive() + + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) + + print("HERE: ", response) # response = V (1) || R (32) || S (32) assert len(response) == 65 v, r, s = struct.unpack("BII", response) + result.append(v) + result.append(r) + result.append(s) + + def test_zemu_hard_apdu_sign(self) -> Tuple[int, int, int]: + sign: bytes = b'\xe0\x04\x00\x00\x80\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x69\x46\x85\x06\xa8\xb1\x5e\x00\x82\xeb\xeb\x94\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x80\xb8\x44\x09\x5e\xa7\xb3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x27\x68\xde\x32\xb0\xb8\x0b\x7a\x34\x54\xc0\x6b\xda\xc9\x4a\x69\xdd\xc7\xa9\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x80\x80' + provide_erc20: bytes = b'\xe0\x0a\x00\x00\x67\x03\x44\x41\x49\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x00\x00\x00\x12\x00\x00\x00\x01\x30\x45\x02\x21\x00\xb3\xaa\x97\x96\x33\x28\x4e\xb0\xf5\x54\x59\x09\x93\x33\xab\x92\xcf\x06\xfd\xd5\x8d\xc9\x0e\x9c\x07\x00\x00\xc8\xe9\x68\x86\x4c\x02\x20\x7b\x10\xec\x7d\x66\x09\xf5\x1d\xda\x53\xd0\x83\xa6\xe1\x65\xa0\xab\xf3\xa7\x7e\x13\x25\x0e\x6f\x26\x07\x72\x80\x9b\x49\xaf\xf5' + + try: + response = self.client._apdu_exchange( + provide_erc20 + ) # type: int, bytes + + response = self.client._apdu_exchange( + sign + ) + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) + + # response = V (1) || R (32) || S (32) + assert len(response) == 65 + print(response.hex()) + + offset: int = 0 + + v: bytes = response[offset] + offset += 1 + + r: bytes = response[offset:offset + 32] + offset += 32 + + s: bytes = response[offset:] + return v, r, s + + def sign_tx(self, bip32_path: str, transaction: Transaction) -> Tuple[int, bytes]: sw: int response: bytes = b"" diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py b/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py index 2cc54d6..cb50d91 100644 --- a/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py +++ b/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py @@ -1,5 +1,6 @@ import enum import logging +import string import struct from typing import List, Tuple, Union, Iterator, cast @@ -213,15 +214,17 @@ class BoilerplateCommandBuilder: """ bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) + tx_encode = rlp.encode(transaction) + lc = len(bip32_paths) + len(tx_encode) + + hard_length = 5 + fake_data = [0xcc, 0x85, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x85, 0x77, 0x6f, 0x72, 0x6c, 0x64] cdata: bytes = b"".join([ - len(bip32_paths).to_bytes(1, byteorder="big"), + hard_length.to_bytes(1, byteorder="big"), *bip32_paths, - rlp.encode(transaction) ]) - print(cdata) - return self.serialize(cla=self.CLA, ins=InsType.INS_SIGN_TX, p1=0x00, diff --git a/tests/speculos/test_sign_cmd.py b/tests/speculos/test_sign_cmd.py index 21f0c40..8905cdb 100644 --- a/tests/speculos/test_sign_cmd.py +++ b/tests/speculos/test_sign_cmd.py @@ -4,10 +4,16 @@ import struct def test_sign(cmd): - transaction = "dog" - - response = cmd.simple_sign_tx(bip32_path="44'/60'/1'/0/0", transaction=transaction) - - print(response) + # result: list = [] + # transaction = "dog" + # with cmd.simple_sign_tx(bip32_path="44'/60'/1'/0/0", transaction=transaction, result=result) as ex: + # pass + # v, r, s = result + # print("HERE: ", result) + # assert 2 == 1 + v, r, s = cmd.test_zemu_hard_apdu_sign() + assert v == 0x25 + assert r.hex() == "92243511396b65a4faa735a5472ea99b3ce0f7f2338eab426206730bc0ddc57f" + assert s.hex() == "161bc0f861064d840de4f4304cfd19a571017e62df7d8f70cf605c0f025593b6" \ No newline at end of file From 249b976219cf3e06c485c0217790600d03a1c59e Mon Sep 17 00:00:00 2001 From: Coline Date: Thu, 21 Apr 2022 18:01:18 +0200 Subject: [PATCH 13/69] feat: simple sign test --- .../boilerplate_client/boilerplate_cmd.py | 100 +++++++----------- .../boilerplate_cmd_builder.py | 16 +-- .../boilerplate_client/transaction.py | 45 ++++---- tests/speculos/test_sign_cmd.py | 45 ++++++-- 4 files changed, 106 insertions(+), 100 deletions(-) diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd.py b/tests/speculos/boilerplate_client/boilerplate_cmd.py index f491f1f..252668c 100644 --- a/tests/speculos/boilerplate_client/boilerplate_cmd.py +++ b/tests/speculos/boilerplate_client/boilerplate_cmd.py @@ -1,6 +1,7 @@ from ast import List from contextlib import contextmanager from ctypes.wintypes import INT +from re import A import struct from typing import Tuple @@ -77,44 +78,25 @@ class BoilerplateCommand: result.append(eth_addr) result.append(chain_code) - @contextmanager - def simple_sign_tx(self, bip32_path: str, transaction, result: List = list()) -> Tuple[bytes, bytes, bytes]: - try: - chunk: bytes = self.builder.simple_sign_tx(bip32_path=bip32_path, transaction=transaction) - - - with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], - p1=chunk[2], p2=chunk[3], - data=chunk[5:]) as exchange: - yield exchange - response: bytes = exchange.receive() - - except ApduException as error: - raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) - - print("HERE: ", response) - - # response = V (1) || R (32) || S (32) - assert len(response) == 65 - - v, r, s = struct.unpack("BII", response) - - result.append(v) - result.append(r) - result.append(s) - - def test_zemu_hard_apdu_sign(self) -> Tuple[int, int, int]: + def test_zemu_hard_apdu_sign(self, transaction: Transaction) -> Tuple[int, int, int]: sign: bytes = b'\xe0\x04\x00\x00\x80\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x69\x46\x85\x06\xa8\xb1\x5e\x00\x82\xeb\xeb\x94\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x80\xb8\x44\x09\x5e\xa7\xb3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x27\x68\xde\x32\xb0\xb8\x0b\x7a\x34\x54\xc0\x6b\xda\xc9\x4a\x69\xdd\xc7\xa9\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x80\x80' + simple_eth: bytes = b'\xe0\x04\x00\x00\x41\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x44\x85\x03\x06\xdc\x42\x00\x82\x52\x08\x94\x5a\x32\x17\x44\x66\x70\x52\xaf\xfa\x83\x86\xed\x49\xe0\x0e\xf2\x23\xcb\xff\xc3\x87\x6f\x9c\x9e\x7b\xf6\x18\x18\x80\x01\x80\x80' provide_erc20: bytes = b'\xe0\x0a\x00\x00\x67\x03\x44\x41\x49\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x00\x00\x00\x12\x00\x00\x00\x01\x30\x45\x02\x21\x00\xb3\xaa\x97\x96\x33\x28\x4e\xb0\xf5\x54\x59\x09\x93\x33\xab\x92\xcf\x06\xfd\xd5\x8d\xc9\x0e\x9c\x07\x00\x00\xc8\xe9\x68\x86\x4c\x02\x20\x7b\x10\xec\x7d\x66\x09\xf5\x1d\xda\x53\xd0\x83\xa6\xe1\x65\xa0\xab\xf3\xa7\x7e\x13\x25\x0e\x6f\x26\x07\x72\x80\x9b\x49\xaf\xf5' + b: bytes = b'\xe0\x04\x00\x00\x56\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x3f\x26\x8e\x02\xcc\x9b\xe5\xc5\x3e\xa4\x4b\xd4\x3c\x28\x9d\xcd\xdc\x82\x52\x08\x94\xda\xc1\x7f\x95\x8d\x2e\xe5\x23\xa2\x20\x62\x06\x99\x45\x97\xc1\x3d\x83\x1e\xc7\x92\x8d\xb8\xb0\x86\x1b\x8f\x7f\xe5\xdf\x83\xcd\x55\x3a\x82\x98\x78\x00\x00\x80\x01\x80\x80' + + a = self.builder.simple_sign_tx(bip32_path="44'/60'/1'/0/0", transaction=transaction) + + print(a.hex()) + try: response = self.client._apdu_exchange( - provide_erc20 + a ) # type: int, bytes - response = self.client._apdu_exchange( - sign - ) + #response = self.client._apdu_exchange( + # sign + #) except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) @@ -135,42 +117,34 @@ class BoilerplateCommand: return v, r, s + @contextmanager + def simple_sign_tx(self, bip32_path: str, transaction: Transaction, result: List = list()) -> Tuple[int, bytes]: + try: + chunk: bytes = self.builder.simple_sign_tx(bip32_path=bip32_path, transaction=transaction) - def sign_tx(self, bip32_path: str, transaction: Transaction) -> Tuple[int, bytes]: - sw: int - response: bytes = b"" + with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], + p1=chunk[2], p2=chunk[3], + data=chunk[5:]) as exchange: + yield exchange + response: bytes = exchange.receive() + + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) - for is_last, chunk in self.builder.sign_tx(bip32_path=bip32_path, transaction=transaction): - if is_last: - with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], - p1=chunk[2], p2=chunk[3], - data=chunk[5:]) as exchange: - # Review Transaction - self.client.press_and_release('right') - # Address 1/3, 2/3, 3/3 - self.client.press_and_release('right') - self.client.press_and_release('right') - self.client.press_and_release('right') - # Amount - self.client.press_and_release('right') - # Approve - self.client.press_and_release('both') - response = exchange.receive() - else: - response = self.client._apdu_exchange(chunk) - print(response) + # response = V (1) || R (32) || S (32) + assert len(response) == 65 + print(response.hex()) - # response = der_sig_len (1) || - # der_sig (var) || - # v (1) offset: int = 0 - der_sig_len: int = response[offset] - offset += 1 - der_sig: bytes = response[offset:offset + der_sig_len] - offset += der_sig_len - v: int = response[offset] + + v: bytes = response[offset] offset += 1 - assert len(response) == 1 + der_sig_len + 1 + r: bytes = response[offset:offset + 32] + offset += 32 - return v, der_sig + s: bytes = response[offset:] + + result.append(v) + result.append(r) + result.append(s) diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py b/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py index cb50d91..4508cdb 100644 --- a/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py +++ b/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py @@ -197,7 +197,7 @@ class BoilerplateCommandBuilder: p2=0x00, cdata=chunk) - def simple_sign_tx(self, bip32_path: str, transaction) -> bytes: + def simple_sign_tx(self, bip32_path: str, transaction: Transaction) -> bytes: """Command builder for INS_SIGN_TX. Parameters @@ -214,17 +214,17 @@ class BoilerplateCommandBuilder: """ bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) - tx_encode = rlp.encode(transaction) - lc = len(bip32_paths) + len(tx_encode) - hard_length = 5 - fake_data = [0xcc, 0x85, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x85, 0x77, 0x6f, 0x72, 0x6c, 0x64] - cdata: bytes = b"".join([ - hard_length.to_bytes(1, byteorder="big"), - *bip32_paths, + len(bip32_paths).to_bytes(1, byteorder="big"), + *bip32_paths ]) + + tx: bytes = transaction.serialize() + + cdata = cdata + tx + return self.serialize(cla=self.CLA, ins=InsType.INS_SIGN_TX, p1=0x00, diff --git a/tests/speculos/boilerplate_client/transaction.py b/tests/speculos/boilerplate_client/transaction.py index ce43f47..82c3049 100644 --- a/tests/speculos/boilerplate_client/transaction.py +++ b/tests/speculos/boilerplate_client/transaction.py @@ -10,11 +10,14 @@ class TransactionError(Exception): class Transaction: - def __init__(self, nonce: int, to: Union[str, bytes], value: int, memo: str) -> None: + def __init__(self, txType: int, nonce: int, gasPrice: int, gasLimit: int, to: Union[str, bytes], value: int, memo: Union[str, bytes]) -> None: + self.txType: int = txType self.nonce: int = nonce + self.gasPrice: int = gasPrice + self.gasLimit: int = gasLimit self.to: bytes = bytes.fromhex(to[2:]) if isinstance(to, str) else to self.value: int = value - self.memo: bytes = memo.encode("ascii") + self.memo: bytes = bytes.fromhex(memo[2:]) if isinstance(memo, str) else memo if not (0 <= self.nonce <= UINT64_MAX): raise TransactionError(f"Bad nonce: '{self.nonce}'!") @@ -25,23 +28,29 @@ class Transaction: if len(self.to) != 20: raise TransactionError(f"Bad address: '{self.to}'!") + self.lenGP = int((len(hex(self.gasPrice)) - 1) / 2) + self.lenGL = int((len(hex(self.gasLimit)) - 1) / 2) + self.lenValue = int((len(hex(self.value)) - 1) / 2) + + def serialize(self) -> bytes: return b"".join([ - self.nonce.to_bytes(8, byteorder="big"), + self.txType.to_bytes(1, byteorder="big"), + + self.nonce.to_bytes(1, byteorder="big"), + + write_varint(self.lenGP + 0x80), + self.gasPrice.to_bytes(self.lenGP, byteorder="big"), + + write_varint(self.lenGL + 0x80), + self.gasLimit.to_bytes(self.lenGL, byteorder="big"), + + write_varint(len(self.to) + 0x80), self.to, - self.value.to_bytes(8, byteorder="big"), - write_varint(len(self.memo)), - self.memo + + write_varint(self.lenValue + 0x80), + self.value.to_bytes(self.lenValue, byteorder="big"), + + self.memo, + ]) - - @classmethod - def from_bytes(cls, hexa: Union[bytes, BytesIO]): - buf: BytesIO = BytesIO(hexa) if isinstance(hexa, bytes) else hexa - - nonce: int = read_uint(buf, 64, byteorder="big") - to: bytes = read(buf, 20) - value: int = read_uint(buf, 64, byteorder="big") - memo_len: int = read_varint(buf) - memo: str = read(buf, memo_len).decode("ascii") - - return cls(nonce=nonce, to=to, value=value, memo=memo) diff --git a/tests/speculos/test_sign_cmd.py b/tests/speculos/test_sign_cmd.py index 8905cdb..786543c 100644 --- a/tests/speculos/test_sign_cmd.py +++ b/tests/speculos/test_sign_cmd.py @@ -2,18 +2,41 @@ from urllib import response import boilerplate_client import struct +from boilerplate_client.transaction import Transaction + def test_sign(cmd): - # result: list = [] - # transaction = "dog" - # with cmd.simple_sign_tx(bip32_path="44'/60'/1'/0/0", transaction=transaction, result=result) as ex: - # pass - # v, r, s = result - # print("HERE: ", result) - # assert 2 == 1 - v, r, s = cmd.test_zemu_hard_apdu_sign() + result: list = [] + + transaction = Transaction( + txType=0xEB, + nonce=68, + gasPrice=0x0306dc4200, + gasLimit=0x5208, + to="0x5a321744667052affa8386ed49e00ef223cbffc3", + value=0x6f9c9e7bf61818, + memo="0x80018080", + ) - assert v == 0x25 - assert r.hex() == "92243511396b65a4faa735a5472ea99b3ce0f7f2338eab426206730bc0ddc57f" - assert s.hex() == "161bc0f861064d840de4f4304cfd19a571017e62df7d8f70cf605c0f025593b6" + with cmd.simple_sign_tx(bip32_path="44'/60'/1'/0/0", transaction=transaction, result=result) as ex: + # Review transaction + cmd.client.press_and_release('right') + # Amount 1/3, 2/3, 3/3 + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + # Address 1/3, 2/3, 3/3 + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + # Max Fees + cmd.client.press_and_release('right') + #Accept and send + cmd.client.press_and_release('both') + + v, r, s = result + + assert v == 0x26 + assert r.hex() == "6f389d15320f0501383526ed03de917c14212716f09a262dbc98431086a5db49" + assert s.hex() == "0dc994b7b97230bb35fdf6fec2f4d8ff4cfb8bfeb2a652c364c738ff033c05dd" \ No newline at end of file From 3490407b838a7e2f61c6f6ce5dc1d5c6f012f699 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 22 Apr 2022 17:18:53 +0200 Subject: [PATCH 14/69] feat: all simple test of sign transaction without screen --- .../boilerplate_client/boilerplate_cmd.py | 3 - .../boilerplate_client/transaction.py | 23 ++- tests/speculos/test_sign_cmd.py | 168 +++++++++++++++++- 3 files changed, 181 insertions(+), 13 deletions(-) diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd.py b/tests/speculos/boilerplate_client/boilerplate_cmd.py index 252668c..4e98c46 100644 --- a/tests/speculos/boilerplate_client/boilerplate_cmd.py +++ b/tests/speculos/boilerplate_client/boilerplate_cmd.py @@ -87,7 +87,6 @@ class BoilerplateCommand: a = self.builder.simple_sign_tx(bip32_path="44'/60'/1'/0/0", transaction=transaction) - print(a.hex()) try: response = self.client._apdu_exchange( @@ -102,7 +101,6 @@ class BoilerplateCommand: # response = V (1) || R (32) || S (32) assert len(response) == 65 - print(response.hex()) offset: int = 0 @@ -133,7 +131,6 @@ class BoilerplateCommand: # response = V (1) || R (32) || S (32) assert len(response) == 65 - print(response.hex()) offset: int = 0 diff --git a/tests/speculos/boilerplate_client/transaction.py b/tests/speculos/boilerplate_client/transaction.py index 82c3049..8660c2a 100644 --- a/tests/speculos/boilerplate_client/transaction.py +++ b/tests/speculos/boilerplate_client/transaction.py @@ -10,14 +10,15 @@ class TransactionError(Exception): class Transaction: - def __init__(self, txType: int, nonce: int, gasPrice: int, gasLimit: int, to: Union[str, bytes], value: int, memo: Union[str, bytes]) -> None: + def __init__(self, txType: int, nonce: int, gasPrice: int, gasLimit: int, to: Union[str, bytes], value: int, data: Union[str, bytes] = "", chainID: int = -1) -> None: self.txType: int = txType self.nonce: int = nonce self.gasPrice: int = gasPrice self.gasLimit: int = gasLimit self.to: bytes = bytes.fromhex(to[2:]) if isinstance(to, str) else to self.value: int = value - self.memo: bytes = bytes.fromhex(memo[2:]) if isinstance(memo, str) else memo + self.data: bytes = bytes(data, "utf-8") + self.chainID = b'' if not (0 <= self.nonce <= UINT64_MAX): raise TransactionError(f"Bad nonce: '{self.nonce}'!") @@ -28,16 +29,27 @@ class Transaction: if len(self.to) != 20: raise TransactionError(f"Bad address: '{self.to}'!") + self.lenNonce = int((len(hex(self.nonce)) - 1) / 2) self.lenGP = int((len(hex(self.gasPrice)) - 1) / 2) self.lenGL = int((len(hex(self.gasLimit)) - 1) / 2) self.lenValue = int((len(hex(self.value)) - 1) / 2) + self.lenChainID = int((len(hex(chainID)) - 1) / 2) + + if chainID != -1: + self.chainID = b"".join([ + b'' if self.lenChainID == 1 else (self.lenChainID + 0x80).to_bytes(1, byteorder="big"), + chainID.to_bytes(self.lenChainID, byteorder="big"), + write_varint(0 + 0x80), + write_varint(0 + 0x80), + ]) def serialize(self) -> bytes: return b"".join([ self.txType.to_bytes(1, byteorder="big"), - self.nonce.to_bytes(1, byteorder="big"), + b'' if self.lenNonce == 1 else write_varint(self.lenNonce + 0x80), + self.nonce.to_bytes(self.lenNonce, byteorder="big"), write_varint(self.lenGP + 0x80), self.gasPrice.to_bytes(self.lenGP, byteorder="big"), @@ -51,6 +63,9 @@ class Transaction: write_varint(self.lenValue + 0x80), self.value.to_bytes(self.lenValue, byteorder="big"), - self.memo, + write_varint(len(self.data) + 0x80), + self.data, + + self.chainID, ]) diff --git a/tests/speculos/test_sign_cmd.py b/tests/speculos/test_sign_cmd.py index 786543c..0983325 100644 --- a/tests/speculos/test_sign_cmd.py +++ b/tests/speculos/test_sign_cmd.py @@ -2,12 +2,18 @@ from urllib import response import boilerplate_client import struct +from boilerplate_client.utils import UINT64_MAX from boilerplate_client.transaction import Transaction -def test_sign(cmd): +# https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md + +def test_simple_sign(cmd): result: list = [] - + + # Ether coin type + bip32_path="44'/60'/1'/0/0" + transaction = Transaction( txType=0xEB, nonce=68, @@ -15,10 +21,10 @@ def test_sign(cmd): gasLimit=0x5208, to="0x5a321744667052affa8386ed49e00ef223cbffc3", value=0x6f9c9e7bf61818, - memo="0x80018080", + chainID=1, ) - with cmd.simple_sign_tx(bip32_path="44'/60'/1'/0/0", transaction=transaction, result=result) as ex: + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: # Review transaction cmd.client.press_and_release('right') # Amount 1/3, 2/3, 3/3 @@ -36,7 +42,157 @@ def test_sign(cmd): v, r, s = result - assert v == 0x26 + assert v == 0x26 # 38 assert r.hex() == "6f389d15320f0501383526ed03de917c14212716f09a262dbc98431086a5db49" assert s.hex() == "0dc994b7b97230bb35fdf6fec2f4d8ff4cfb8bfeb2a652c364c738ff033c05dd" - \ No newline at end of file + + +def test_sign_dai_coin_type_on_network_5234(cmd): + result: list = [] + + # DAI coin type + bip32_path="44'/700'/1'/0/0" + + transaction = Transaction( + txType=0xEB, + nonce=0, + gasPrice=0x0306dc4200, + gasLimit=0x5208, + to="0x5a321744667052affa8386ed49e00ef223cbffc3", + value=0x6f9c9e7bf61818, + chainID=5243, + ) + + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + # Review transaction + cmd.client.press_and_release('right') + # Amount 1/3, 2/3, 3/3 + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + # Address 1/3, 2/3, 3/3 + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + # Network 5243 + cmd.client.press_and_release('right') + # Max Fees + cmd.client.press_and_release('right') + #Accept and send + cmd.client.press_and_release('both') + + v, r, s = result + + assert v == 0x1A # 26 + assert r.hex() == "7ebfa5d5cac1e16bb1f1a8c67706b5c6019c0f198df6bb44e742a9de72330961" + assert s.hex() == "537419d8d1443d38ea87943c110789decb43b8f4fea8fae256fe842f669da634" + + +def test_sign_reject(cmd): + result: list = [] + + # Ether coin type + bip32_path="44'/60'/1'/0/0" + + transaction = Transaction( + txType=0xEB, + nonce=0, + gasPrice=0x0306dc4200, + gasLimit=0x5208, + to="0x5a321744667052affa8386ed49e00ef223cbffc3", + value=0x6f9c9e7bf61818, + chainID=1, + ) + try: + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + # Review transaction + cmd.client.press_and_release('right') + # Amount 1/3, 2/3, 3/3 + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + # Address 1/3, 2/3, 3/3 + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + # Max Fees + cmd.client.press_and_release('right') + # Accept and send + cmd.client.press_and_release('right') + # Reject + cmd.client.press_and_release('both') + except boilerplate_client.exception.errors.DenyError as error: + assert error.args[0] == '0x6985' + + +def test_sign_error_transaction_type(cmd): + result: list = [] + + # Ether coin type + bip32_path="44'/60'/1'/0/0" + + # the txType is between 0x00 and 0x7F + transaction = Transaction( + txType=0x00, + nonce=0, + gasPrice=10, + gasLimit=50000, + to="0x5a321744667052affa8386ed49e00ef223cbffc3", + value=0x19, + chainID=1, + ) + + try: + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + pass + except boilerplate_client.exception.errors.UnknownDeviceError as error: + # Throw error of transaction type not supported + assert error.args[0] == '0x6501' + + transaction.txType = 0x7F + try: + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + pass + except boilerplate_client.exception.errors.UnknownDeviceError as error: + # Throw error of transaction type not supported + assert error.args[0] == '0x6501' + + +def test_sign_limit_nonce(cmd): + result: list = [] + + # Ether coin type + bip32_path="44'/60'/1'/0/0" + + # EIP-2681: Limit account nonce to 2^64-1 + transaction = Transaction( + txType=0xEB, + nonce=2**64-1, + gasPrice=10, + gasLimit=50000, + to="0x5a321744667052affa8386ed49e00ef223cbffc3", + value=0x08762, + chainID=1, + ) + + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + # Review transaction + cmd.client.press_and_release('right') + # Amount 1/3, 2/3, 3/3 + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + # Address 1/3, 2/3, 3/3 + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + cmd.client.press_and_release('right') + # Max Fees + cmd.client.press_and_release('right') + #Accept and send + cmd.client.press_and_release('both') + + v, r, s = result + + assert v == 0x26 # 38 + assert r.hex() == "7f17f9efa5a6065f885a44a5f5d68a62381c6b2b23047817b4569c61ccf571c6" + assert s.hex() == "4b67d37cfe473e0b2daf246fa82c7595bcff0c1515d69089037d0c061f14b3b3" From c663289328fd14dba1f5dbb1e97a942960bc8296 Mon Sep 17 00:00:00 2001 From: Coline Date: Tue, 26 Apr 2022 17:17:55 +0200 Subject: [PATCH 15/69] feat: screenshot for compare in test --- .../pubkey/nanos/get_public_key/00000.png | Bin 0 -> 360 bytes .../pubkey/nanos/get_public_key/00001.png | Bin 0 -> 490 bytes .../pubkey/nanos/get_public_key/00002.png | Bin 0 -> 502 bytes .../pubkey/nanos/get_public_key/00003.png | Bin 0 -> 383 bytes .../pubkey/nanos/get_public_key/00004.png | Bin 0 -> 341 bytes .../pubkey/nanos/reject_get_public_key/00000.png | Bin 0 -> 360 bytes .../pubkey/nanos/reject_get_public_key/00001.png | Bin 0 -> 490 bytes .../pubkey/nanos/reject_get_public_key/00002.png | Bin 0 -> 502 bytes .../pubkey/nanos/reject_get_public_key/00003.png | Bin 0 -> 383 bytes .../pubkey/nanos/reject_get_public_key/00004.png | Bin 0 -> 341 bytes .../pubkey/nanos/reject_get_public_key/00005.png | Bin 0 -> 340 bytes .../pubkey/nanox/get_public_key/00000.png | Bin 0 -> 400 bytes .../pubkey/nanox/get_public_key/00001.png | Bin 0 -> 769 bytes .../pubkey/nanox/get_public_key/00002.png | Bin 0 -> 364 bytes .../pubkey/nanox/reject_get_public_key/00000.png | Bin 0 -> 400 bytes .../pubkey/nanox/reject_get_public_key/00001.png | Bin 0 -> 769 bytes .../pubkey/nanox/reject_get_public_key/00002.png | Bin 0 -> 364 bytes .../pubkey/nanox/reject_get_public_key/00003.png | Bin 0 -> 365 bytes .../sign/nanos/blind_and_nonce_display/00000.png | Bin 0 -> 374 bytes .../sign/nanos/blind_and_nonce_display/00001.png | Bin 0 -> 399 bytes .../sign/nanos/blind_and_nonce_display/00002.png | Bin 0 -> 330 bytes .../sign/nanos/blind_and_nonce_display/00003.png | Bin 0 -> 451 bytes .../sign/nanos/blind_and_nonce_display/00004.png | Bin 0 -> 320 bytes .../sign/nanos/blind_and_nonce_display/00005.png | Bin 0 -> 497 bytes .../sign/nanos/blind_and_nonce_display/00006.png | Bin 0 -> 504 bytes .../sign/nanos/blind_and_nonce_display/00007.png | Bin 0 -> 373 bytes .../sign/nanos/blind_and_nonce_display/00008.png | Bin 0 -> 333 bytes .../sign/nanos/blind_and_nonce_display/00009.png | Bin 0 -> 367 bytes .../sign/nanos/blind_and_nonce_display/00010.png | Bin 0 -> 414 bytes .../screenshots/sign/nanos/blind_simple/00000.png | Bin 0 -> 374 bytes .../screenshots/sign/nanos/blind_simple/00001.png | Bin 0 -> 399 bytes .../screenshots/sign/nanos/blind_simple/00002.png | Bin 0 -> 330 bytes .../screenshots/sign/nanos/blind_simple/00003.png | Bin 0 -> 451 bytes .../screenshots/sign/nanos/blind_simple/00004.png | Bin 0 -> 320 bytes .../screenshots/sign/nanos/blind_simple/00005.png | Bin 0 -> 497 bytes .../screenshots/sign/nanos/blind_simple/00006.png | Bin 0 -> 504 bytes .../screenshots/sign/nanos/blind_simple/00007.png | Bin 0 -> 373 bytes .../screenshots/sign/nanos/blind_simple/00008.png | Bin 0 -> 367 bytes .../screenshots/sign/nanos/blind_simple/00009.png | Bin 0 -> 414 bytes .../nanos/dai_coin_type_on_network_5234/00000.png | Bin 0 -> 374 bytes .../nanos/dai_coin_type_on_network_5234/00001.png | Bin 0 -> 330 bytes .../nanos/dai_coin_type_on_network_5234/00002.png | Bin 0 -> 451 bytes .../nanos/dai_coin_type_on_network_5234/00003.png | Bin 0 -> 320 bytes .../nanos/dai_coin_type_on_network_5234/00004.png | Bin 0 -> 497 bytes .../nanos/dai_coin_type_on_network_5234/00005.png | Bin 0 -> 504 bytes .../nanos/dai_coin_type_on_network_5234/00006.png | Bin 0 -> 373 bytes .../nanos/dai_coin_type_on_network_5234/00007.png | Bin 0 -> 340 bytes .../nanos/dai_coin_type_on_network_5234/00008.png | Bin 0 -> 367 bytes .../nanos/dai_coin_type_on_network_5234/00009.png | Bin 0 -> 414 bytes .../screenshots/sign/nanos/limit_nonce/00000.png | Bin 0 -> 374 bytes .../screenshots/sign/nanos/limit_nonce/00001.png | Bin 0 -> 330 bytes .../screenshots/sign/nanos/limit_nonce/00002.png | Bin 0 -> 358 bytes .../screenshots/sign/nanos/limit_nonce/00003.png | Bin 0 -> 317 bytes .../screenshots/sign/nanos/limit_nonce/00004.png | Bin 0 -> 497 bytes .../screenshots/sign/nanos/limit_nonce/00005.png | Bin 0 -> 504 bytes .../screenshots/sign/nanos/limit_nonce/00006.png | Bin 0 -> 373 bytes .../screenshots/sign/nanos/limit_nonce/00007.png | Bin 0 -> 348 bytes .../screenshots/sign/nanos/limit_nonce/00008.png | Bin 0 -> 414 bytes .../sign/nanos/nonce_display/00000.png | Bin 0 -> 374 bytes .../sign/nanos/nonce_display/00001.png | Bin 0 -> 330 bytes .../sign/nanos/nonce_display/00002.png | Bin 0 -> 451 bytes .../sign/nanos/nonce_display/00003.png | Bin 0 -> 320 bytes .../sign/nanos/nonce_display/00004.png | Bin 0 -> 497 bytes .../sign/nanos/nonce_display/00005.png | Bin 0 -> 504 bytes .../sign/nanos/nonce_display/00006.png | Bin 0 -> 373 bytes .../sign/nanos/nonce_display/00007.png | Bin 0 -> 270 bytes .../sign/nanos/nonce_display/00008.png | Bin 0 -> 367 bytes .../sign/nanos/nonce_display/00009.png | Bin 0 -> 414 bytes .../screenshots/sign/nanos/reject/00000.png | Bin 0 -> 374 bytes .../screenshots/sign/nanos/reject/00001.png | Bin 0 -> 330 bytes .../screenshots/sign/nanos/reject/00002.png | Bin 0 -> 451 bytes .../screenshots/sign/nanos/reject/00003.png | Bin 0 -> 320 bytes .../screenshots/sign/nanos/reject/00004.png | Bin 0 -> 497 bytes .../screenshots/sign/nanos/reject/00005.png | Bin 0 -> 504 bytes .../screenshots/sign/nanos/reject/00006.png | Bin 0 -> 373 bytes .../screenshots/sign/nanos/reject/00007.png | Bin 0 -> 367 bytes .../screenshots/sign/nanos/reject/00008.png | Bin 0 -> 414 bytes .../screenshots/sign/nanos/reject/00009.png | Bin 0 -> 340 bytes .../screenshots/sign/nanos/simple/00000.png | Bin 0 -> 374 bytes .../screenshots/sign/nanos/simple/00001.png | Bin 0 -> 330 bytes .../screenshots/sign/nanos/simple/00002.png | Bin 0 -> 451 bytes .../screenshots/sign/nanos/simple/00003.png | Bin 0 -> 320 bytes .../screenshots/sign/nanos/simple/00004.png | Bin 0 -> 497 bytes .../screenshots/sign/nanos/simple/00005.png | Bin 0 -> 504 bytes .../screenshots/sign/nanos/simple/00006.png | Bin 0 -> 373 bytes .../screenshots/sign/nanos/simple/00007.png | Bin 0 -> 367 bytes .../screenshots/sign/nanos/simple/00008.png | Bin 0 -> 414 bytes .../sign/nanox/blind_and_nonce_display/00000.png | Bin 0 -> 414 bytes .../sign/nanox/blind_and_nonce_display/00001.png | Bin 0 -> 446 bytes .../sign/nanox/blind_and_nonce_display/00002.png | Bin 0 -> 566 bytes .../sign/nanox/blind_and_nonce_display/00003.png | Bin 0 -> 773 bytes .../sign/nanox/blind_and_nonce_display/00004.png | Bin 0 -> 381 bytes .../sign/nanox/blind_and_nonce_display/00005.png | Bin 0 -> 436 bytes .../sign/nanox/blind_and_nonce_display/00006.png | Bin 0 -> 472 bytes .../screenshots/sign/nanox/blind_simple/00000.png | Bin 0 -> 414 bytes .../screenshots/sign/nanox/blind_simple/00001.png | Bin 0 -> 446 bytes .../screenshots/sign/nanox/blind_simple/00002.png | Bin 0 -> 566 bytes .../screenshots/sign/nanox/blind_simple/00003.png | Bin 0 -> 773 bytes .../screenshots/sign/nanox/blind_simple/00004.png | Bin 0 -> 436 bytes .../screenshots/sign/nanox/blind_simple/00005.png | Bin 0 -> 472 bytes .../nanox/dai_coin_type_on_network_5234/00000.png | Bin 0 -> 414 bytes .../nanox/dai_coin_type_on_network_5234/00001.png | Bin 0 -> 566 bytes .../nanox/dai_coin_type_on_network_5234/00002.png | Bin 0 -> 773 bytes .../nanox/dai_coin_type_on_network_5234/00003.png | Bin 0 -> 385 bytes .../nanox/dai_coin_type_on_network_5234/00004.png | Bin 0 -> 436 bytes .../nanox/dai_coin_type_on_network_5234/00005.png | Bin 0 -> 472 bytes .../screenshots/sign/nanox/limit_nonce/00000.png | Bin 0 -> 414 bytes .../screenshots/sign/nanox/limit_nonce/00001.png | Bin 0 -> 478 bytes .../screenshots/sign/nanox/limit_nonce/00002.png | Bin 0 -> 773 bytes .../screenshots/sign/nanox/limit_nonce/00003.png | Bin 0 -> 399 bytes .../screenshots/sign/nanox/limit_nonce/00004.png | Bin 0 -> 472 bytes .../sign/nanox/nonce_display/00000.png | Bin 0 -> 414 bytes .../sign/nanox/nonce_display/00001.png | Bin 0 -> 566 bytes .../sign/nanox/nonce_display/00002.png | Bin 0 -> 773 bytes .../sign/nanox/nonce_display/00003.png | Bin 0 -> 306 bytes .../sign/nanox/nonce_display/00004.png | Bin 0 -> 436 bytes .../sign/nanox/nonce_display/00005.png | Bin 0 -> 472 bytes .../screenshots/sign/nanox/reject/00000.png | Bin 0 -> 414 bytes .../screenshots/sign/nanox/reject/00001.png | Bin 0 -> 566 bytes .../screenshots/sign/nanox/reject/00002.png | Bin 0 -> 773 bytes .../screenshots/sign/nanox/reject/00003.png | Bin 0 -> 436 bytes .../screenshots/sign/nanox/reject/00004.png | Bin 0 -> 472 bytes .../screenshots/sign/nanox/reject/00005.png | Bin 0 -> 365 bytes .../screenshots/sign/nanox/simple/00000.png | Bin 0 -> 414 bytes .../screenshots/sign/nanox/simple/00001.png | Bin 0 -> 566 bytes .../screenshots/sign/nanox/simple/00002.png | Bin 0 -> 773 bytes .../screenshots/sign/nanox/simple/00003.png | Bin 0 -> 436 bytes .../screenshots/sign/nanox/simple/00004.png | Bin 0 -> 472 bytes 128 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/speculos/screenshots/pubkey/nanos/get_public_key/00000.png create mode 100644 tests/speculos/screenshots/pubkey/nanos/get_public_key/00001.png create mode 100644 tests/speculos/screenshots/pubkey/nanos/get_public_key/00002.png create mode 100644 tests/speculos/screenshots/pubkey/nanos/get_public_key/00003.png create mode 100644 tests/speculos/screenshots/pubkey/nanos/get_public_key/00004.png create mode 100644 tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00000.png create mode 100644 tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00001.png create mode 100644 tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00002.png create mode 100644 tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00003.png create mode 100644 tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00004.png create mode 100644 tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00005.png create mode 100644 tests/speculos/screenshots/pubkey/nanox/get_public_key/00000.png create mode 100644 tests/speculos/screenshots/pubkey/nanox/get_public_key/00001.png create mode 100644 tests/speculos/screenshots/pubkey/nanox/get_public_key/00002.png create mode 100644 tests/speculos/screenshots/pubkey/nanox/reject_get_public_key/00000.png create mode 100644 tests/speculos/screenshots/pubkey/nanox/reject_get_public_key/00001.png create mode 100644 tests/speculos/screenshots/pubkey/nanox/reject_get_public_key/00002.png create mode 100644 tests/speculos/screenshots/pubkey/nanox/reject_get_public_key/00003.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00000.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00001.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00002.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00003.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00004.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00005.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00006.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00007.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00008.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00009.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00010.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_simple/00000.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_simple/00001.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_simple/00002.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_simple/00003.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_simple/00004.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_simple/00005.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_simple/00006.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_simple/00007.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_simple/00008.png create mode 100644 tests/speculos/screenshots/sign/nanos/blind_simple/00009.png create mode 100644 tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00000.png create mode 100644 tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00001.png create mode 100644 tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00002.png create mode 100644 tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00003.png create mode 100644 tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00004.png create mode 100644 tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00005.png create mode 100644 tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00006.png create mode 100644 tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00007.png create mode 100644 tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00008.png create mode 100644 tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00009.png create mode 100644 tests/speculos/screenshots/sign/nanos/limit_nonce/00000.png create mode 100644 tests/speculos/screenshots/sign/nanos/limit_nonce/00001.png create mode 100644 tests/speculos/screenshots/sign/nanos/limit_nonce/00002.png create mode 100644 tests/speculos/screenshots/sign/nanos/limit_nonce/00003.png create mode 100644 tests/speculos/screenshots/sign/nanos/limit_nonce/00004.png create mode 100644 tests/speculos/screenshots/sign/nanos/limit_nonce/00005.png create mode 100644 tests/speculos/screenshots/sign/nanos/limit_nonce/00006.png create mode 100644 tests/speculos/screenshots/sign/nanos/limit_nonce/00007.png create mode 100644 tests/speculos/screenshots/sign/nanos/limit_nonce/00008.png create mode 100644 tests/speculos/screenshots/sign/nanos/nonce_display/00000.png create mode 100644 tests/speculos/screenshots/sign/nanos/nonce_display/00001.png create mode 100644 tests/speculos/screenshots/sign/nanos/nonce_display/00002.png create mode 100644 tests/speculos/screenshots/sign/nanos/nonce_display/00003.png create mode 100644 tests/speculos/screenshots/sign/nanos/nonce_display/00004.png create mode 100644 tests/speculos/screenshots/sign/nanos/nonce_display/00005.png create mode 100644 tests/speculos/screenshots/sign/nanos/nonce_display/00006.png create mode 100644 tests/speculos/screenshots/sign/nanos/nonce_display/00007.png create mode 100644 tests/speculos/screenshots/sign/nanos/nonce_display/00008.png create mode 100644 tests/speculos/screenshots/sign/nanos/nonce_display/00009.png create mode 100644 tests/speculos/screenshots/sign/nanos/reject/00000.png create mode 100644 tests/speculos/screenshots/sign/nanos/reject/00001.png create mode 100644 tests/speculos/screenshots/sign/nanos/reject/00002.png create mode 100644 tests/speculos/screenshots/sign/nanos/reject/00003.png create mode 100644 tests/speculos/screenshots/sign/nanos/reject/00004.png create mode 100644 tests/speculos/screenshots/sign/nanos/reject/00005.png create mode 100644 tests/speculos/screenshots/sign/nanos/reject/00006.png create mode 100644 tests/speculos/screenshots/sign/nanos/reject/00007.png create mode 100644 tests/speculos/screenshots/sign/nanos/reject/00008.png create mode 100644 tests/speculos/screenshots/sign/nanos/reject/00009.png create mode 100644 tests/speculos/screenshots/sign/nanos/simple/00000.png create mode 100644 tests/speculos/screenshots/sign/nanos/simple/00001.png create mode 100644 tests/speculos/screenshots/sign/nanos/simple/00002.png create mode 100644 tests/speculos/screenshots/sign/nanos/simple/00003.png create mode 100644 tests/speculos/screenshots/sign/nanos/simple/00004.png create mode 100644 tests/speculos/screenshots/sign/nanos/simple/00005.png create mode 100644 tests/speculos/screenshots/sign/nanos/simple/00006.png create mode 100644 tests/speculos/screenshots/sign/nanos/simple/00007.png create mode 100644 tests/speculos/screenshots/sign/nanos/simple/00008.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00000.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00001.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00002.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00003.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00004.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00005.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00006.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_simple/00000.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_simple/00001.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_simple/00002.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_simple/00003.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_simple/00004.png create mode 100644 tests/speculos/screenshots/sign/nanox/blind_simple/00005.png create mode 100644 tests/speculos/screenshots/sign/nanox/dai_coin_type_on_network_5234/00000.png create mode 100644 tests/speculos/screenshots/sign/nanox/dai_coin_type_on_network_5234/00001.png create mode 100644 tests/speculos/screenshots/sign/nanox/dai_coin_type_on_network_5234/00002.png create mode 100644 tests/speculos/screenshots/sign/nanox/dai_coin_type_on_network_5234/00003.png create mode 100644 tests/speculos/screenshots/sign/nanox/dai_coin_type_on_network_5234/00004.png create mode 100644 tests/speculos/screenshots/sign/nanox/dai_coin_type_on_network_5234/00005.png create mode 100644 tests/speculos/screenshots/sign/nanox/limit_nonce/00000.png create mode 100644 tests/speculos/screenshots/sign/nanox/limit_nonce/00001.png create mode 100644 tests/speculos/screenshots/sign/nanox/limit_nonce/00002.png create mode 100644 tests/speculos/screenshots/sign/nanox/limit_nonce/00003.png create mode 100644 tests/speculos/screenshots/sign/nanox/limit_nonce/00004.png create mode 100644 tests/speculos/screenshots/sign/nanox/nonce_display/00000.png create mode 100644 tests/speculos/screenshots/sign/nanox/nonce_display/00001.png create mode 100644 tests/speculos/screenshots/sign/nanox/nonce_display/00002.png create mode 100644 tests/speculos/screenshots/sign/nanox/nonce_display/00003.png create mode 100644 tests/speculos/screenshots/sign/nanox/nonce_display/00004.png create mode 100644 tests/speculos/screenshots/sign/nanox/nonce_display/00005.png create mode 100644 tests/speculos/screenshots/sign/nanox/reject/00000.png create mode 100644 tests/speculos/screenshots/sign/nanox/reject/00001.png create mode 100644 tests/speculos/screenshots/sign/nanox/reject/00002.png create mode 100644 tests/speculos/screenshots/sign/nanox/reject/00003.png create mode 100644 tests/speculos/screenshots/sign/nanox/reject/00004.png create mode 100644 tests/speculos/screenshots/sign/nanox/reject/00005.png create mode 100644 tests/speculos/screenshots/sign/nanox/simple/00000.png create mode 100644 tests/speculos/screenshots/sign/nanox/simple/00001.png create mode 100644 tests/speculos/screenshots/sign/nanox/simple/00002.png create mode 100644 tests/speculos/screenshots/sign/nanox/simple/00003.png create mode 100644 tests/speculos/screenshots/sign/nanox/simple/00004.png diff --git a/tests/speculos/screenshots/pubkey/nanos/get_public_key/00000.png b/tests/speculos/screenshots/pubkey/nanos/get_public_key/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..63778c4169411ca4774809154a96dc72f5c42bae GIT binary patch literal 360 zcmV-u0hj)XP)HURZg zU#;!I6v}uC14u>Wzu%t~M|bV2960SMuqve?yps9TMsY)35@zlRZ#{(u_c+YW+skW+ zRW*^TdY7SAq%~6f8N`9)aj`tn3$qBo0APUMk}s(as$%#nVC88;7=_~UiasD8G*2TI zf_ literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/pubkey/nanos/get_public_key/00001.png b/tests/speculos/screenshots/pubkey/nanos/get_public_key/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..63fe23c202995f73b294fdb8e11fa63c3a1400ec GIT binary patch literal 490 zcmVU(N@idYi z6_cMp-k$Q*GuSCWQX<7;xD3Sa>;*)ee$OM@Ui~je8hA24c{vYAIs40)Xe!*e-KeW`672$~4IO3C`1#@e)%D-v4h~+Tq@szTlZN*Whpf$fuv*B9FxSKFn_IaP| z1e$90MUOCeNrp;%@|psWTLQ(6zfk6B4i~*r$u-baa}Ij^E(wFcsQBbf?gdFL8ojW> zX-ZK0g+Z2l6VCh%a5At`jb({2M*v{K;W!IUwn=iYR4=KLH9{vw(r@Oz)K7J4lV%1% g5ClOG1Vlvi2Qc$qiBrvOT>t<807*qoM6N<$f{-@j3IG5A literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/pubkey/nanos/get_public_key/00002.png b/tests/speculos/screenshots/pubkey/nanos/get_public_key/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..b79ecb43ccc204a0e147181d8d9bbd1db490c876 GIT binary patch literal 502 zcmVg?mw#u{rUBK^Z6C^r8(Ka)5{_QIaG{l8j~F+J>C#ugt!0$49+D zj>ekt7{xtj6cJuDz>+wl;}h^ZdIA$L?nSb!%|DX^xdYVi9YU5cd^0)5AUfmt8LFL# zXy1@|#o+PW#lY9qR97ENEBN^S5>MIYskxA4;rz4RYO^#THNoH7>I<;E*s2ohTJ{Uh8TqEI5!8(9dwPS3w6+)6_yo;R7nWm{oao&2 zg||*zHxv&_pJoSEe9!*3KBd7KRXtt4KlhJVAb450$BdRtv?su7_IBjI?*UK@Ko)XU sp}aueg(zYF>de>oPLd=^k|ddmKjvd-fU(=G!T z=-AJE4BLRg6dhD-B5aqQaQC8Gd!{Tw1IHuQ7G8Nc#-x1e8~YhR-?XxGipbfyDcni0 zHLsJACBkK_6+&U5?IWxktuY?$zd8StJ2z+^)NpSU3_jBPnoUY5(a73m7_Hc(^H&X zxd_2_w8R;n0wBo$i$bxF!EebSb>R#*0nlY(mZv0-0N;Sc7*|8_wxG+Yry2qARt#sf<#$}=)VJ~ zBlvESR-Jq3=$jydfC?r!$iuAw9oGJ!U-M%YMJ+y&Ch%TCM^JUq5BGkf8O_{y`#mQ} nq4{V^xv44i3V1v$0C_ea3_go|-rj`700000NkvXXu0mjfd&QW1 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00000.png b/tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..63778c4169411ca4774809154a96dc72f5c42bae GIT binary patch literal 360 zcmV-u0hj)XP)HURZg zU#;!I6v}uC14u>Wzu%t~M|bV2960SMuqve?yps9TMsY)35@zlRZ#{(u_c+YW+skW+ zRW*^TdY7SAq%~6f8N`9)aj`tn3$qBo0APUMk}s(as$%#nVC88;7=_~UiasD8G*2TI zf_ literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00001.png b/tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..63fe23c202995f73b294fdb8e11fa63c3a1400ec GIT binary patch literal 490 zcmVU(N@idYi z6_cMp-k$Q*GuSCWQX<7;xD3Sa>;*)ee$OM@Ui~je8hA24c{vYAIs40)Xe!*e-KeW`672$~4IO3C`1#@e)%D-v4h~+Tq@szTlZN*Whpf$fuv*B9FxSKFn_IaP| z1e$90MUOCeNrp;%@|psWTLQ(6zfk6B4i~*r$u-baa}Ij^E(wFcsQBbf?gdFL8ojW> zX-ZK0g+Z2l6VCh%a5At`jb({2M*v{K;W!IUwn=iYR4=KLH9{vw(r@Oz)K7J4lV%1% g5ClOG1Vlvi2Qc$qiBrvOT>t<807*qoM6N<$f{-@j3IG5A literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00002.png b/tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..b79ecb43ccc204a0e147181d8d9bbd1db490c876 GIT binary patch literal 502 zcmVg?mw#u{rUBK^Z6C^r8(Ka)5{_QIaG{l8j~F+J>C#ugt!0$49+D zj>ekt7{xtj6cJuDz>+wl;}h^ZdIA$L?nSb!%|DX^xdYVi9YU5cd^0)5AUfmt8LFL# zXy1@|#o+PW#lY9qR97ENEBN^S5>MIYskxA4;rz4RYO^#THNoH7>I<;E*s2ohTJ{Uh8TqEI5!8(9dwPS3w6+)6_yo;R7nWm{oao&2 zg||*zHxv&_pJoSEe9!*3KBd7KRXtt4KlhJVAb450$BdRtv?su7_IBjI?*UK@Ko)XU sp}aueg(zYF>de>oPLd=^k|ddmKjvd-fU(=G!T z=-AJE4BLRg6dhD-B5aqQaQC8Gd!{Tw1IHuQ7G8Nc#-x1e8~YhR-?XxGipbfyDcni0 zHLsJACBkK_6+&U5?IWxktuY?$zd8StJ2z+^)NpSU3_jBPnoUY5(a73m7_Hc(^H&X zxd_2_w8R;n0wBo$i$bxF!EebSb>R#*0nlY(mZv0-0N;Sc7*|8_wxG+Yry2qARt#sf<#$}=)VJ~ zBlvESR-Jq3=$jydfC?r!$iuAw9oGJ!U-M%YMJ+y&Ch%TCM^JUq5BGkf8O_{y`#mQ} nq4{V^xv44i3V1v$0C_ea3_go|-rj`700000NkvXXu0mjfd&QW1 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00005.png b/tests/speculos/screenshots/pubkey/nanos/reject_get_public_key/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..9c7e7049cb3e9bcfb1601ec510ee465d38229d4d GIT binary patch literal 340 zcmV-a0jvIrP)b=%MgRq*37h4eRxPbkJCLY|1VIo49_}P}TKpH4$L<8?X{t;p zy+UQc_4@p%0?~E_&igM#?#L~IOHR(-<@sYotiy&C*Y&GII0yeh-p3zW9cv$Q0k>6Y_)5~SfP=m zSMUtz)%Ex|-o}7!H9hbQ(8{%C?kQVa?C`*Uj-J(h>P7(Y#?ZWvi?6}@n{fGLp>YTp myqR(V_$?>^<%seR_VWh!CI7!~g&QfPa@`!PrJQ5_gtexv+u#;<7n?ZA>=8WP3sS)E3>Z zE!xY!9dS=7B}gQ@x;^0FVDIF?`GpenfZ9e>)xCO*lgBykAKe#*G9mk>o6EkWtAGi$ zGexMpHiozruqDn$Y{#w$*~F;G!$#0S7$x##_JEJys@+nJ)BK}UfHaSYH}BKlb~|vz<*qUayO&UL-bn@O u0WKrm9KB3jyJN~A3;+NC0000$MC1WGrw>UKISsS`00001mdRvL_`%2qAiN3%p5X<9QaG=EyJ=YkO}s7wU!)~cPjI1A?9o3u6DW_^3V=*G!3 zF;07CUSG#BO%2E5iesi^VtN9)H!=W1fA>5?M9ot9wCRP$G&MX2k+^$~nV6#jx_7S} zEk+`q$f8xU_KI1`C1ULvmGs6O05Wl>n#(he$pO$YH8&g$xZxC=y05a><1N**maG-y z`QM!TrekKOo;9y#6vo}=;45*1%;-Oc5o$*NVK@dW;V!h2MvyrMx1z(_Rzrg`D53=g zs$}oeb6sd^lVcj{u<{z8GLaK}geeo6o;4dH;^J6I{S~-^d(9$Wf$FKCaTE3?eo*4+ zi+8{MAue&kv98{yNS^h01a`Wmh*$;eO(B5=WKW1+=kjF1tRAzNrkcuYyxk!xUYaGw zjiqjIAid=UikhGsffkEQuP*hpW||s0SFO~R1H|SVYr;r$knnl=wwEp5j=o5T+VzMV zT_e#w06NhP^eUQkB>+&J6|Q=fbp_oDG2*GGgb+dqA;e_mUz7@_xHurDBCX64@<)A} z#XrnyzJx9QruxZjBt;C|9>pD1Uy|`_^C~tP073JaiB1Mty|Sl2?8YtwpyiZO?v=a) z=77a)aSTn)Q>uh5h2BHw=2?LdLI@#*klXnMFhL`qAQdp500000NkvXXu0mjf$HQfg literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/pubkey/nanox/get_public_key/00002.png b/tests/speculos/screenshots/pubkey/nanox/get_public_key/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..53ae65195fbea5b281a1bc1a80351dbf1cd79ff8 GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-%ba4!+nDh2#AYZeBfa}G~ z%X2sUSKTFSd4J{-YHcY(QO5;J{<~e9q=7F?O4)!WO}6UUdH! zS+Hz=(4})vCM2-VD4nt3W%LdvkyzeG%km#`1t_mu*zR}#jNB{EKZnW}g5-=Bym-_% z`=7%C>zxJL|9msNSMXnbQRayy^)nr>EU7olTHqoc^vG(B%bo(Id*|kR{84!`z2x6n zZ`;PkbrPvd6U}A>Y0chs_tyHmLi6kw6c{>JvYiQ=+MTFTx8d*9^V|R0+_75oZt9or zLetinU!`YMvFyLCb8XxElhO0{v2rTkNR$jMW7~4}*8a52+MC^J%KMbxPN-JRb2RNP zEsp0ebAPS3=e2G53#Z$XZAI6Yd=YCI7!~g&QfPa@`!PrJQ5_gtexv+u#;<7n?ZA>=8WP3sS)E3>Z zE!xY!9dS=7B}gQ@x;^0FVDIF?`GpenfZ9e>)xCO*lgBykAKe#*G9mk>o6EkWtAGi$ zGexMpHiozruqDn$Y{#w$*~F;G!$#0S7$x##_JEJys@+nJ)BK}UfHaSYH}BKlb~|vz<*qUayO&UL-bn@O u0WKrm9KB3jyJN~A3;+NC0000$MC1WGrw>UKISsS`00001mdRvL_`%2qAiN3%p5X<9QaG=EyJ=YkO}s7wU!)~cPjI1A?9o3u6DW_^3V=*G!3 zF;07CUSG#BO%2E5iesi^VtN9)H!=W1fA>5?M9ot9wCRP$G&MX2k+^$~nV6#jx_7S} zEk+`q$f8xU_KI1`C1ULvmGs6O05Wl>n#(he$pO$YH8&g$xZxC=y05a><1N**maG-y z`QM!TrekKOo;9y#6vo}=;45*1%;-Oc5o$*NVK@dW;V!h2MvyrMx1z(_Rzrg`D53=g zs$}oeb6sd^lVcj{u<{z8GLaK}geeo6o;4dH;^J6I{S~-^d(9$Wf$FKCaTE3?eo*4+ zi+8{MAue&kv98{yNS^h01a`Wmh*$;eO(B5=WKW1+=kjF1tRAzNrkcuYyxk!xUYaGw zjiqjIAid=UikhGsffkEQuP*hpW||s0SFO~R1H|SVYr;r$knnl=wwEp5j=o5T+VzMV zT_e#w06NhP^eUQkB>+&J6|Q=fbp_oDG2*GGgb+dqA;e_mUz7@_xHurDBCX64@<)A} z#XrnyzJx9QruxZjBt;C|9>pD1Uy|`_^C~tP073JaiB1Mty|Sl2?8YtwpyiZO?v=a) z=77a)aSTn)Q>uh5h2BHw=2?LdLI@#*klXnMFhL`qAQdp500000NkvXXu0mjf$HQfg literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/pubkey/nanox/reject_get_public_key/00002.png b/tests/speculos/screenshots/pubkey/nanox/reject_get_public_key/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..53ae65195fbea5b281a1bc1a80351dbf1cd79ff8 GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|=-%ba4!+nDh2#AYZeBfa}G~ z%X2sUSKTFSd4J{-YHcY(QO5;J{<~e9q=7F?O4)!WO}6UUdH! zS+Hz=(4})vCM2-VD4nt3W%LdvkyzeG%km#`1t_mu*zR}#jNB{EKZnW}g5-=Bym-_% z`=7%C>zxJL|9msNSMXnbQRayy^)nr>EU7olTHqoc^vG(B%bo(Id*|kR{84!`z2x6n zZ`;PkbrPvd6U}A>Y0chs_tyHmLi6kw6c{>JvYiQ=+MTFTx8d*9^V|R0+_75oZt9or zLetinU!`YMvFyLCb8XxElhO0{v2rTkNR$jMW7~4}*8a52+MC^J%KMbxPN-JRb2RNP zEsp0ebAPS3=e2G53#Z$XZAI6Yd=YMjqtrV%Nn6esuj!jIMi}Btw`sohxwi1&U@}K{{10Q-!s%eVxF#kF6*2U FngGM>p?d%T literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00000.png b/tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d84cc70fea8013b7e8b25c0982ce142fa103d5c GIT binary patch literal 374 zcmV-+0g3*JP)K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00001.png b/tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..b2ab3717e9beddfb2d7d8b0679273d274ceef8dd GIT binary patch literal 399 zcmV;A0dW3_P)A70&~wwBNIbjXovs+0D!jan;`@CO|a*boR8Sz=?Q!5 z`MR7?G$t31oVNRTHr1Xb-j(y8Tj%+LSdv~dJ#_VNSRW$_7bi_R@mfr}KZS)7y+O4s zf=4^mFG9A)nQn@>wus32o~CwbK{owvgDwF`J3DyOH~?vNGl__JEYmOXV~4QvUMANM z{~oNGq}BVn*CAiDt?GR;697%&!rr%r;A(ikGl;=R(1k{Fb+Qv48=RKpW(Q4vTPFO2|!`%tQ%d711)GU2*6{RR6IsdoDLerDbbIUQ1X*Y%zfRtSZt>P- zR98rsaf8&R8zXtO=g^AAERP(cMKnjd?1}>p;3>0IyR?D~ugNsmDGznoTD7$}r4_{2 zf|6d9<^~nci1SyUvvF7C)=ZWC?OI?k<@mfUoTErknu&c9Ry7xGjex`6HWfd0!Hl z^ryc0TbOl{{{39n4oD-~tfL>?B%l^>;?eg;7;22ZG31~ptU^5vzYmKAOR>P|&=8&c zRkP+Z0{vPLRCOvxpM+|&3x-8wkj(bsa5z?94OPY79XPJ?{W4%<000007{d!Z1i*;c Sb~u#)00004qvBJ+KYLdy}Tg`YuKtuykk|arz%w^wVUCQ{*)%Q&hezY82 z&EPjs%u{+jjhzZ0P0)S}S3}}^_5u*6-%HD~hW~O<`^({RC;mRsXvVVGsLbLCYVslY znkt=$Xy1P0ZdnHyV>&3hL{aZxS;y$<=8_aN(4HoTl+081n3zwW&HNKUe_=JxDNW2? z8^WDTJ^}oIA1$JfOvlv&{FiW9)Krg8zu_=_PV59YZPajY7y@7EeR|RcXfogG{Rbkr zI=z1}xd(TWS?EswJ9!bh>qi)=^^@lHEeavxQeL>DmtOn%izGf z)>9EwYA?~UOmr3+sTY$ywwM(sBv3DT0U}?*Q;W3z?;U6Ce+b=Q!e#}y9(KY({7{Fy z@6Uc7{ppkmDv=E+m4KoIx2maqHY1(h90*GEp+hWQ2E^`5(Qy4Hn^FsM+UD`Tc&G8r zM(s|{#Q~os8g5CBY(QW>Uhk|arzBuM~2k=$~ha82FQ00000NkvXXu0mjfvN__l literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00006.png b/tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3155c0d349a1236eb862c8f4f5fc3c3a981ccf GIT binary patch literal 504 zcmVL$5ClOG1itKBTNjbPGWxz9A5}p1 zjy2;k()38LrSYNxr54ibzW~490~9g(J+&-r^Vi@&?f~_Sago#$5lH3 z?AsBK%Q|2(RR>vyNG4^^0G4%(on~%1f(FhfJ6qDplhzo*r_z|24k-T}fWNTvn|2nn zB!nmPK7hqny_|4r$y}Ctv&KwA-%GeOC|9o9@6Jmy-*37nHQXB&g|GBJW?BHI^R3>W z5XIHu{hNt3c#=4Up5)ufA`Mj&M<7qvxQv<(s(Pdtv0I9%c_i0XGJ~hWXU_KwGUbvJ z+VWabxs@`OvSN3kQB`gi5Td< zCNdD0-g7XjD`DKo>IK-ssAV(6ZeuYnD{V^0ojtC0sWO?x-863hBI?UV_L4%&S(1iJ zdo|QGQ!>Uiv|U2pq8^4-y>Fv^0jj67HeW#4-vz`W+n0t`>yiJ)(l8{0 uN`KP)C0a|2oddYDBwFnQ@V4&YmO|a5C2Z9{!HHY}>h}gC3s^}|C`SlNBi2Mc6JQiNjM{?U}L#4V(|#TjI_WV@yI*-`KAJ`lgkgC@g2^rf?_0 z*1b%|Xkn7YR%T=#+74maX^C@n{N_9-cPeO})NnO24*ybp@)UrS&wo|lA&S&ce=>-{ zO0Wy9^Qhf(hk*U5L9jU3lGmJqb+=U{+%EN7eIw)C< z_T-^#KU5Zr&xgSJ#jBo=44XCs1-l-!*I9fz5?Tq{YocyvbYQ>Y(-*KxIG3zdWBHW& z-J-V|jG?~3^@5Tv7h6Ed!%F}QKugXO-9v)bt~qJXYK(K|$C!jQqs7Ci%a)7f3 fLI@#*5b`_+yy?iBiZcNC00000NkvXXu0mjf(e;q< literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00009.png b/tests/speculos/screenshots/sign/nanos/blind_and_nonce_display/00009.png new file mode 100644 index 0000000000000000000000000000000000000000..c84d3ec3e6a544f948cc5423e2e0c648861ca25e GIT binary patch literal 367 zcmV-#0g(QQP)S;`r9!}Z(cNJS1~P!*jxMpR{sE^Ji<_{4 zed*0qQ4qS&;+ZHCjTOnZfM`Cq*|S3OQGx>sx>g*RZT2Rn}|-e zuOL%jc}ppk*!k1ga(Ebb%FtZ2n&~FAoLHd)#BAJ-QUMTj~f|{k#}B z4)Di%0(GQh%XXzDG$sKK-Q2JkKR-`QsiPFD-4d_!i{fwH;J|_aEL%ZYNu#B0FJ7G| z;=_VQWOA9;dQ4Y9)LpKCV=ri`X({49JagUwO3&5UdSK)wEJxPN%9wG}45n;lzK(aC zKtbL$y*-#9uSql`7 zENOEh^0jsFWbV&<+yj5)WEX_aERLO-`${sQhD#B5ZCio#Fr4qHlr^7X|9DL69eFa= z#kf#}$Pcl(QEE=tNl8Pt$o;~Fk*8r@j8mpwSGW8d!1&11FbzPh@^gWj=oh7f%f7G)4s^6#xJL07*qo IM6N<$g02I(Gynhq literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/blind_simple/00000.png b/tests/speculos/screenshots/sign/nanos/blind_simple/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d84cc70fea8013b7e8b25c0982ce142fa103d5c GIT binary patch literal 374 zcmV-+0g3*JP)K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/blind_simple/00001.png b/tests/speculos/screenshots/sign/nanos/blind_simple/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..b2ab3717e9beddfb2d7d8b0679273d274ceef8dd GIT binary patch literal 399 zcmV;A0dW3_P)A70&~wwBNIbjXovs+0D!jan;`@CO|a*boR8Sz=?Q!5 z`MR7?G$t31oVNRTHr1Xb-j(y8Tj%+LSdv~dJ#_VNSRW$_7bi_R@mfr}KZS)7y+O4s zf=4^mFG9A)nQn@>wus32o~CwbK{owvgDwF`J3DyOH~?vNGl__JEYmOXV~4QvUMANM z{~oNGq}BVn*CAiDt?GR;697%&!rr%r;A(ikGl;=R(1k{Fb+Qv48=RKpW(Q4vTPFO2|!`%tQ%d711)GU2*6{RR6IsdoDLerDbbIUQ1X*Y%zfRtSZt>P- zR98rsaf8&R8zXtO=g^AAERP(cMKnjd?1}>p;3>0IyR?D~ugNsmDGznoTD7$}r4_{2 zf|6d9<^~nci1SyUvvF7C)=ZWC?OI?k<@mfUoTErknu&c9Ry7xGjex`6HWfd0!Hl z^ryc0TbOl{{{39n4oD-~tfL>?B%l^>;?eg;7;22ZG31~ptU^5vzYmKAOR>P|&=8&c zRkP+Z0{vPLRCOvxpM+|&3x-8wkj(bsa5z?94OPY79XPJ?{W4%<000007{d!Z1i*;c Sb~u#)00004qvBJ+KYLdy}Tg`YuKtuykk|arz%w^wVUCQ{*)%Q&hezY82 z&EPjs%u{+jjhzZ0P0)S}S3}}^_5u*6-%HD~hW~O<`^({RC;mRsXvVVGsLbLCYVslY znkt=$Xy1P0ZdnHyV>&3hL{aZxS;y$<=8_aN(4HoTl+081n3zwW&HNKUe_=JxDNW2? z8^WDTJ^}oIA1$JfOvlv&{FiW9)Krg8zu_=_PV59YZPajY7y@7EeR|RcXfogG{Rbkr zI=z1}xd(TWS?EswJ9!bh>qi)=^^@lHEeavxQeL>DmtOn%izGf z)>9EwYA?~UOmr3+sTY$ywwM(sBv3DT0U}?*Q;W3z?;U6Ce+b=Q!e#}y9(KY({7{Fy z@6Uc7{ppkmDv=E+m4KoIx2maqHY1(h90*GEp+hWQ2E^`5(Qy4Hn^FsM+UD`Tc&G8r zM(s|{#Q~os8g5CBY(QW>Uhk|arzBuM~2k=$~ha82FQ00000NkvXXu0mjfvN__l literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/blind_simple/00006.png b/tests/speculos/screenshots/sign/nanos/blind_simple/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3155c0d349a1236eb862c8f4f5fc3c3a981ccf GIT binary patch literal 504 zcmVL$5ClOG1itKBTNjbPGWxz9A5}p1 zjy2;k()38LrSYNxr54ibzW~490~9g(J+&-r^Vi@&?f~_Sago#$5lH3 z?AsBK%Q|2(RR>vyNG4^^0G4%(on~%1f(FhfJ6qDplhzo*r_z|24k-T}fWNTvn|2nn zB!nmPK7hqny_|4r$y}Ctv&KwA-%GeOC|9o9@6Jmy-*37nHQXB&g|GBJW?BHI^R3>W z5XIHu{hNt3c#=4Up5)ufA`Mj&M<7qvxQv<(s(Pdtv0I9%c_i0XGJ~hWXU_KwGUbvJ z+VWabxs@`OvSN3kQB`gi5Td< zCNdD0-g7XjD`DKo>IK-ssAV(6ZeuYnD{V^0ojtC0sWO?x-863hBI?UV_L4%&S(1iJ zdo|QGQ!>Uiv|U2pq8^4-y>Fv^0jj67HeW#4-vz`W+n0t`>yiJ)(l8{0 uN`KP)C0a|2oddYDBwFnQ@V4&YmO|a5C2Z9{!HHY}>h}gC3s^}|C`SlNBi2Mc6JQiNjM{?U}L#4V(|#TjI_WV@yI*-`KAJ`lgkgC@g2^rf?_0 z*1b%|Xkn7YR%T=#+74maX^C@n{N_9-cPeO})NnO24*ybp@)UrS&wo|lA&S&ce=>-{ zO0Wy9S;`r9!}Z(cNJS1~P!*jxMpR{sE^Ji<_{4 zed*0qQ4qS&;+ZHCjTOnZfM`Cq*|S3OQGx>sx>g*RZT2Rn}|-e zuOL%jc}ppk*!k1ga(Ebb%FtZ2n&~FAoLHd)#BAJ-QUMTj~f|{k#}B z4)Di%0(GQh%XXzDG$sKK-Q2JkKR-`QsiPFD-4d_!i{fwH;J|_aEL%ZYNu#B0FJ7G| z;=_VQWOA9;dQ4Y9)LpKCV=ri`X({49JagUwO3&5UdSK)wEJxPN%9wG}45n;lzK(aC zKtbL$y*-#9uSql`7 zENOEh^0jsFWbV&<+yj5)WEX_aERLO-`${sQhD#B5ZCio#Fr4qHlr^7X|9DL69eFa= z#kf#}$Pcl(QEE=tNl8Pt$o;~Fk*8r@j8mpwSGW8d!1&11FbzPh@^gWj=oh7f%f7G)4s^6#xJL07*qo IM6N<$g02I(Gynhq literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00000.png b/tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d84cc70fea8013b7e8b25c0982ce142fa103d5c GIT binary patch literal 374 zcmV-+0g3*JP)K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00001.png b/tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..7ebda4f3adad095152f16d397131c7f7471ca83a GIT binary patch literal 330 zcmV-Q0k!^#P)A70&~wwBNIbjXovs+0D!jan;`@CO|a*boR8Sz=?Q!5 z`MR7?G$t31oVNRTHr1Xb-j(y8Tj%+LSdv~dJ#_VNSRW$_7bi_R@mfr}KZS)7y+O4s zf=4^mFG9A)nQn@>wus32o~CwbK{owvgDwF`J3DyOH~?vNGl__JEYmOXV~4QvUMANM z{~oNGq}BVn*CAiDt?GR;697%&!rr%r;A(ikGl;=R(1k{Fb+Qv48=RKpW(Q4vTPFO2|!`%tQ%d711)GU2*6{RR6IsdoDLerDbbIUQ1X*Y%zfRtSZt>P- zR98rsaf8&R8zXtO=g^AAERP(cMKnjd?1}>p;3>0IyR?D~ugNsmDGznoTD7$}r4_{2 zf|6d9<^~nci1SyUvvF7C)=ZWC?OI?k<@mfUoTErknu&c9Ry7xGjex`6HWfd0!Hl z^ryc0TbOl{{{39n4oD-~tfL>?B%l^>;?eg;7;22ZG31~ptU^5vzYmKAOR>P|&=8&c zRkP+Z0{vPLRCOvxpM+|&3x-8wkj(bsa5z?94OPY79XPJ?{W4%<000007{d!Z1i*;c Sb~u#)00004qvBJ+KYLdy}Tg`YuKtuykk|arz%w^wVUCQ{*)%Q&hezY82 z&EPjs%u{+jjhzZ0P0)S}S3}}^_5u*6-%HD~hW~O<`^({RC;mRsXvVVGsLbLCYVslY znkt=$Xy1P0ZdnHyV>&3hL{aZxS;y$<=8_aN(4HoTl+081n3zwW&HNKUe_=JxDNW2? z8^WDTJ^}oIA1$JfOvlv&{FiW9)Krg8zu_=_PV59YZPajY7y@7EeR|RcXfogG{Rbkr zI=z1}xd(TWS?EswJ9!bh>qi)=^^@lHEeavxQeL>DmtOn%izGf z)>9EwYA?~UOmr3+sTY$ywwM(sBv3DT0U}?*Q;W3z?;U6Ce+b=Q!e#}y9(KY({7{Fy z@6Uc7{ppkmDv=E+m4KoIx2maqHY1(h90*GEp+hWQ2E^`5(Qy4Hn^FsM+UD`Tc&G8r zM(s|{#Q~os8g5CBY(QW>Uhk|arzBuM~2k=$~ha82FQ00000NkvXXu0mjfvN__l literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00005.png b/tests/speculos/screenshots/sign/nanos/dai_coin_type_on_network_5234/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3155c0d349a1236eb862c8f4f5fc3c3a981ccf GIT binary patch literal 504 zcmVL$5ClOG1itKBTNjbPGWxz9A5}p1 zjy2;k()38LrSYNxr54ibzW~490~9g(J+&-r^Vi@&?f~_Sago#$5lH3 z?AsBK%Q|2(RR>vyNG4^^0G4%(on~%1f(FhfJ6qDplhzo*r_z|24k-T}fWNTvn|2nn zB!nmPK7hqny_|4r$y}Ctv&KwA-%GeOC|9o9@6Jmy-*37nHQXB&g|GBJW?BHI^R3>W z5XIHu{hNt3c#=4Up5)ufA`Mj&M<7qvxQv<(s(Pdtv0I9%c_i0XGJ~hWXU_KwGUbvJ z+VWabxs@`OvSN3kQB`gi5Td< zCNdD0-g7XjD`DKo>IK-ssAV(6ZeuYnD{V^0ojtC0sWO?x-863hBI?UV_L4%&S(1iJ zdo|QGQ!>Uiv|U2pq8^4-y>Fv^0jj67HeW#4-vz`W+n0t`>yiJ)(l8{0 uN`KP)C0a|2oddYDBwFnQ@V4&YmO|a5C2Z9{!HHY}>h}gC3s^}|C`SlNBi2Mc6JQiNjM{?U}L#4V(|#TjI_WV@yI*-`KAJ`lgkgC@g2^rf?_0 z*1b%|Xkn7YR%T=#+74maX^C@n{N_9-cPeO})NnO24*ybp@)UrS&wo|lA&S&ce=>-{ zO0Wy9|6da#`0_VQA*0F%%cw3@j`N2qA<T=hyYZAARn_=u`ZbA zTb_K9XKx2g?$aprH$flJL;&h5fngjJ{7%hNue%Mh2#7^V%7IX0Yh7$O3NlV&vea)zL29Yr81+F@l939ahr7y#^E) m0B3&5nT84>gb+dq0Kf|$;kv3jg!mc&0000S;`r9!}Z(cNJS1~P!*jxMpR{sE^Ji<_{4 zed*0qQ4qS&;+ZHCjTOnZfM`Cq*|S3OQGx>sx>g*RZT2Rn}|-e zuOL%jc}ppk*!k1ga(Ebb%FtZ2n&~FAoLHd)#BAJ-QUMTj~f|{k#}B z4)Di%0(GQh%XXzDG$sKK-Q2JkKR-`QsiPFD-4d_!i{fwH;J|_aEL%ZYNu#B0FJ7G| z;=_VQWOA9;dQ4Y9)LpKCV=ri`X({49JagUwO3&5UdSK)wEJxPN%9wG}45n;lzK(aC zKtbL$y*-#9uSql`7 zENOEh^0jsFWbV&<+yj5)WEX_aERLO-`${sQhD#B5ZCio#Fr4qHlr^7X|9DL69eFa= z#kf#}$Pcl(QEE=tNl8Pt$o;~Fk*8r@j8mpwSGW8d!1&11FbzPh@^gWj=oh7f%f7G)4s^6#xJL07*qo IM6N<$g02I(Gynhq literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/limit_nonce/00000.png b/tests/speculos/screenshots/sign/nanos/limit_nonce/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d84cc70fea8013b7e8b25c0982ce142fa103d5c GIT binary patch literal 374 zcmV-+0g3*JP)K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/limit_nonce/00001.png b/tests/speculos/screenshots/sign/nanos/limit_nonce/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..7ebda4f3adad095152f16d397131c7f7471ca83a GIT binary patch literal 330 zcmV-Q0k!^#P)A70&~wwBNIbjXovs+0D!jan;`@CO|a*boR8Sz=?Q!5 z`MR7?G$t31oVNRTHr1Xb-j(y8Tj%+LSdv~dJ#_VNSRW$_7bi_R@mfr}KZS)7y+O4s zf=4^mFG9A)nQn@>wus32o~CwbK{owvgDwF`J3DyOH~?vNGl__JEYmOXV~4QvUMANM z{~oNGq}BVn*CAiDt?GR;697%&!rr%r;A(ikGl;=R(1k{Fb+Qv48=RKpW(Q4vTPFO2|!`%tQ%d711)GU2*6}`S zdfx6-nD=rVFiqa7+LOey^2_(9U+92X!rMfT`wey&|8#f;h;4DvRSHv*ygg*RW)i&g zR3C)Z8n1M7#C+QEOHWg~Y(eAreTR75lr90_JG&txdEcoAfM<8f{KaG0U5Ot#gvotl z<;0%+;opN17O4ie=hfCBC)#H9z8fY0IfWB@e>4PF!~2~<3@pJeWXb(=SS%u@x~7z* zDygBD|F>CHqomR@eIp=BQpKe#`n8}ZQ1P;6RF3{%c%eJxeeq?Ufeg4vd98FGc?JSd zNBGnc8W+J9R7c5P)QrqQKh(pbp5(@3C;$Ke005Bq0BsC@jw6`#1poj507*qoM6N<$ Ef|RMCMgRZ+ literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/limit_nonce/00003.png b/tests/speculos/screenshots/sign/nanos/limit_nonce/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..87688c6733aea59dd1f577ea822bfa5758f91e2b GIT binary patch literal 317 zcmV-D0mA-?P)i#c1v}h1PAteL=006+2eH+DqeLEj<0v~m^ya9P{ zJ(sHrbuX6zv*c;2{UhbBVtRkZL?@II{!a9SYq0bDe}~@y@m)N0KMF+&PeDYFGTNGl zo$8Z(TFaB}OH3DI%Dcr!jp>qt2J!olbO`{@?BIoQ0Ql`D5)rX1hdc2jMYvp-XeRdP z#lHuu9@4M()z%>uZL4}e3=;rN;lkb@4Z+p$erFH^PmqN?nZ6F^hNa#=7?UZCtl-zV zw7|X>1XQB80r%l8=)it`K@apk_9P$$IfDQ=Gjk2#T};#f00000fJrz29DBZ%vUC2{ P00000NkvXXu0mjfVxomb literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/limit_nonce/00004.png b/tests/speculos/screenshots/sign/nanos/limit_nonce/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..8656b81752a48501b840f96ec775d5a947435225 GIT binary patch literal 497 zcmV4qvBJ+KYLdy}Tg`YuKtuykk|arz%w^wVUCQ{*)%Q&hezY82 z&EPjs%u{+jjhzZ0P0)S}S3}}^_5u*6-%HD~hW~O<`^({RC;mRsXvVVGsLbLCYVslY znkt=$Xy1P0ZdnHyV>&3hL{aZxS;y$<=8_aN(4HoTl+081n3zwW&HNKUe_=JxDNW2? z8^WDTJ^}oIA1$JfOvlv&{FiW9)Krg8zu_=_PV59YZPajY7y@7EeR|RcXfogG{Rbkr zI=z1}xd(TWS?EswJ9!bh>qi)=^^@lHEeavxQeL>DmtOn%izGf z)>9EwYA?~UOmr3+sTY$ywwM(sBv3DT0U}?*Q;W3z?;U6Ce+b=Q!e#}y9(KY({7{Fy z@6Uc7{ppkmDv=E+m4KoIx2maqHY1(h90*GEp+hWQ2E^`5(Qy4Hn^FsM+UD`Tc&G8r zM(s|{#Q~os8g5CBY(QW>Uhk|arzBuM~2k=$~ha82FQ00000NkvXXu0mjfvN__l literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/limit_nonce/00005.png b/tests/speculos/screenshots/sign/nanos/limit_nonce/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3155c0d349a1236eb862c8f4f5fc3c3a981ccf GIT binary patch literal 504 zcmVL$5ClOG1itKBTNjbPGWxz9A5}p1 zjy2;k()38LrSYNxr54ibzW~490~9g(J+&-r^Vi@&?f~_Sago#$5lH3 z?AsBK%Q|2(RR>vyNG4^^0G4%(on~%1f(FhfJ6qDplhzo*r_z|24k-T}fWNTvn|2nn zB!nmPK7hqny_|4r$y}Ctv&KwA-%GeOC|9o9@6Jmy-*37nHQXB&g|GBJW?BHI^R3>W z5XIHu{hNt3c#=4Up5)ufA`Mj&M<7qvxQv<(s(Pdtv0I9%c_i0XGJ~hWXU_KwGUbvJ z+VWabxs@`OvSN3kQB`gi5Td< zCNdD0-g7XjD`DKo>IK-ssAV(6ZeuYnD{V^0ojtC0sWO?x-863hBI?UV_L4%&S(1iJ zdo|QGQ!>Uiv|U2pq8^4-y>Fv^0jj67HeW#4-vz`W+n0t`>yiJ)(l8{0 uN`KP)C0a|2oddYDBwFnQ@V4&YmO|a5C2Z9{!HHY}>h}gC3s^}|C`SlNBi2Mc6JQiNjM{?U}L#4V(|#TjI_WV@yI*-`KAJ`lgkgC@g2^rf?_0 z*1b%|Xkn7YR%T=#+74maX^C@n{N_9-cPeO})NnO24*ybp@)UrS&wo|lA&S&ce=>-{ zO0Wy9(B-z_!dyT}U6#w~RQ=nWO>&%W5?V zwPK1foyBw;10=wZHK$`PPOYWtK)Z)muLmC?C>0ZS6_*FBVSoxSIHOA{Yk0w>WyB^t zKwtW23i3kz24qEs`pr`4tj!9s3*T7i`!5(l@!NIb(T>_o8k~_UyDv>kI@PvIQ#bf uFuQ-7hEjdh__JG7-2eap0000H5q$voq#Py}XF3xA0000j~f|{k#}B z4)Di%0(GQh%XXzDG$sKK-Q2JkKR-`QsiPFD-4d_!i{fwH;J|_aEL%ZYNu#B0FJ7G| z;=_VQWOA9;dQ4Y9)LpKCV=ri`X({49JagUwO3&5UdSK)wEJxPN%9wG}45n;lzK(aC zKtbL$y*-#9uSql`7 zENOEh^0jsFWbV&<+yj5)WEX_aERLO-`${sQhD#B5ZCio#Fr4qHlr^7X|9DL69eFa= z#kf#}$Pcl(QEE=tNl8Pt$o;~Fk*8r@j8mpwSGW8d!1&11FbzPh@^gWj=oh7f%f7G)4s^6#xJL07*qo IM6N<$g02I(Gynhq literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/nonce_display/00000.png b/tests/speculos/screenshots/sign/nanos/nonce_display/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d84cc70fea8013b7e8b25c0982ce142fa103d5c GIT binary patch literal 374 zcmV-+0g3*JP)K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/nonce_display/00001.png b/tests/speculos/screenshots/sign/nanos/nonce_display/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..7ebda4f3adad095152f16d397131c7f7471ca83a GIT binary patch literal 330 zcmV-Q0k!^#P)A70&~wwBNIbjXovs+0D!jan;`@CO|a*boR8Sz=?Q!5 z`MR7?G$t31oVNRTHr1Xb-j(y8Tj%+LSdv~dJ#_VNSRW$_7bi_R@mfr}KZS)7y+O4s zf=4^mFG9A)nQn@>wus32o~CwbK{owvgDwF`J3DyOH~?vNGl__JEYmOXV~4QvUMANM z{~oNGq}BVn*CAiDt?GR;697%&!rr%r;A(ikGl;=R(1k{Fb+Qv48=RKpW(Q4vTPFO2|!`%tQ%d711)GU2*6{RR6IsdoDLerDbbIUQ1X*Y%zfRtSZt>P- zR98rsaf8&R8zXtO=g^AAERP(cMKnjd?1}>p;3>0IyR?D~ugNsmDGznoTD7$}r4_{2 zf|6d9<^~nci1SyUvvF7C)=ZWC?OI?k<@mfUoTErknu&c9Ry7xGjex`6HWfd0!Hl z^ryc0TbOl{{{39n4oD-~tfL>?B%l^>;?eg;7;22ZG31~ptU^5vzYmKAOR>P|&=8&c zRkP+Z0{vPLRCOvxpM+|&3x-8wkj(bsa5z?94OPY79XPJ?{W4%<000007{d!Z1i*;c Sb~u#)00004qvBJ+KYLdy}Tg`YuKtuykk|arz%w^wVUCQ{*)%Q&hezY82 z&EPjs%u{+jjhzZ0P0)S}S3}}^_5u*6-%HD~hW~O<`^({RC;mRsXvVVGsLbLCYVslY znkt=$Xy1P0ZdnHyV>&3hL{aZxS;y$<=8_aN(4HoTl+081n3zwW&HNKUe_=JxDNW2? z8^WDTJ^}oIA1$JfOvlv&{FiW9)Krg8zu_=_PV59YZPajY7y@7EeR|RcXfogG{Rbkr zI=z1}xd(TWS?EswJ9!bh>qi)=^^@lHEeavxQeL>DmtOn%izGf z)>9EwYA?~UOmr3+sTY$ywwM(sBv3DT0U}?*Q;W3z?;U6Ce+b=Q!e#}y9(KY({7{Fy z@6Uc7{ppkmDv=E+m4KoIx2maqHY1(h90*GEp+hWQ2E^`5(Qy4Hn^FsM+UD`Tc&G8r zM(s|{#Q~os8g5CBY(QW>Uhk|arzBuM~2k=$~ha82FQ00000NkvXXu0mjfvN__l literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/nonce_display/00005.png b/tests/speculos/screenshots/sign/nanos/nonce_display/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3155c0d349a1236eb862c8f4f5fc3c3a981ccf GIT binary patch literal 504 zcmVL$5ClOG1itKBTNjbPGWxz9A5}p1 zjy2;k()38LrSYNxr54ibzW~490~9g(J+&-r^Vi@&?f~_Sago#$5lH3 z?AsBK%Q|2(RR>vyNG4^^0G4%(on~%1f(FhfJ6qDplhzo*r_z|24k-T}fWNTvn|2nn zB!nmPK7hqny_|4r$y}Ctv&KwA-%GeOC|9o9@6Jmy-*37nHQXB&g|GBJW?BHI^R3>W z5XIHu{hNt3c#=4Up5)ufA`Mj&M<7qvxQv<(s(Pdtv0I9%c_i0XGJ~hWXU_KwGUbvJ z+VWabxs@`OvSN3kQB`gi5Td< zCNdD0-g7XjD`DKo>IK-ssAV(6ZeuYnD{V^0ojtC0sWO?x-863hBI?UV_L4%&S(1iJ zdo|QGQ!>Uiv|U2pq8^4-y>Fv^0jj67HeW#4-vz`W+n0t`>yiJ)(l8{0 uN`KP)C0a|2oddYDBwFnQ@V4&YmO|a5C2Z9{!HHY}>h}gC3s^}|C`SlNBi2Mc6JQiNjM{?U}L#4V(|#TjI_WV@yI*-`KAJ`lgkgC@g2^rf?_0 z*1b%|Xkn7YR%T=#+74maX^C@n{N_9-cPeO})NnO24*ybp@)UrS&wo|lA&S&ce=>-{ zO0Wy9i#dC}F_Xg9!W36k$380GW^(-*rXXgI5t$M6b} z(Tl(&^D7{ogY5cwujd{0?f#2Xb`vk@Pf!h+^ryLqn)D}Q4m44PH0|&|9JaODA;c;p zUtakPhL3t~+1?5N0jE8HewXLZq0#y-cMpwYYDy4#F#-5N`O>+{YbXE!07OLO1OKdZ UDjLh7v;Y7A07*qoM6N<$f=&2wWB>pF literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/nonce_display/00008.png b/tests/speculos/screenshots/sign/nanos/nonce_display/00008.png new file mode 100644 index 0000000000000000000000000000000000000000..c84d3ec3e6a544f948cc5423e2e0c648861ca25e GIT binary patch literal 367 zcmV-#0g(QQP)S;`r9!}Z(cNJS1~P!*jxMpR{sE^Ji<_{4 zed*0qQ4qS&;+ZHCjTOnZfM`Cq*|S3OQGx>sx>g*RZT2Rn}|-e zuOL%jc}ppk*!k1ga(Ebb%FtZ2n&~FAoLHd)#BAJ-QUMTj~f|{k#}B z4)Di%0(GQh%XXzDG$sKK-Q2JkKR-`QsiPFD-4d_!i{fwH;J|_aEL%ZYNu#B0FJ7G| z;=_VQWOA9;dQ4Y9)LpKCV=ri`X({49JagUwO3&5UdSK)wEJxPN%9wG}45n;lzK(aC zKtbL$y*-#9uSql`7 zENOEh^0jsFWbV&<+yj5)WEX_aERLO-`${sQhD#B5ZCio#Fr4qHlr^7X|9DL69eFa= z#kf#}$Pcl(QEE=tNl8Pt$o;~Fk*8r@j8mpwSGW8d!1&11FbzPh@^gWj=oh7f%f7G)4s^6#xJL07*qo IM6N<$g02I(Gynhq literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/reject/00000.png b/tests/speculos/screenshots/sign/nanos/reject/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d84cc70fea8013b7e8b25c0982ce142fa103d5c GIT binary patch literal 374 zcmV-+0g3*JP)K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/reject/00001.png b/tests/speculos/screenshots/sign/nanos/reject/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..7ebda4f3adad095152f16d397131c7f7471ca83a GIT binary patch literal 330 zcmV-Q0k!^#P)A70&~wwBNIbjXovs+0D!jan;`@CO|a*boR8Sz=?Q!5 z`MR7?G$t31oVNRTHr1Xb-j(y8Tj%+LSdv~dJ#_VNSRW$_7bi_R@mfr}KZS)7y+O4s zf=4^mFG9A)nQn@>wus32o~CwbK{owvgDwF`J3DyOH~?vNGl__JEYmOXV~4QvUMANM z{~oNGq}BVn*CAiDt?GR;697%&!rr%r;A(ikGl;=R(1k{Fb+Qv48=RKpW(Q4vTPFO2|!`%tQ%d711)GU2*6{RR6IsdoDLerDbbIUQ1X*Y%zfRtSZt>P- zR98rsaf8&R8zXtO=g^AAERP(cMKnjd?1}>p;3>0IyR?D~ugNsmDGznoTD7$}r4_{2 zf|6d9<^~nci1SyUvvF7C)=ZWC?OI?k<@mfUoTErknu&c9Ry7xGjex`6HWfd0!Hl z^ryc0TbOl{{{39n4oD-~tfL>?B%l^>;?eg;7;22ZG31~ptU^5vzYmKAOR>P|&=8&c zRkP+Z0{vPLRCOvxpM+|&3x-8wkj(bsa5z?94OPY79XPJ?{W4%<000007{d!Z1i*;c Sb~u#)00004qvBJ+KYLdy}Tg`YuKtuykk|arz%w^wVUCQ{*)%Q&hezY82 z&EPjs%u{+jjhzZ0P0)S}S3}}^_5u*6-%HD~hW~O<`^({RC;mRsXvVVGsLbLCYVslY znkt=$Xy1P0ZdnHyV>&3hL{aZxS;y$<=8_aN(4HoTl+081n3zwW&HNKUe_=JxDNW2? z8^WDTJ^}oIA1$JfOvlv&{FiW9)Krg8zu_=_PV59YZPajY7y@7EeR|RcXfogG{Rbkr zI=z1}xd(TWS?EswJ9!bh>qi)=^^@lHEeavxQeL>DmtOn%izGf z)>9EwYA?~UOmr3+sTY$ywwM(sBv3DT0U}?*Q;W3z?;U6Ce+b=Q!e#}y9(KY({7{Fy z@6Uc7{ppkmDv=E+m4KoIx2maqHY1(h90*GEp+hWQ2E^`5(Qy4Hn^FsM+UD`Tc&G8r zM(s|{#Q~os8g5CBY(QW>Uhk|arzBuM~2k=$~ha82FQ00000NkvXXu0mjfvN__l literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/reject/00005.png b/tests/speculos/screenshots/sign/nanos/reject/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3155c0d349a1236eb862c8f4f5fc3c3a981ccf GIT binary patch literal 504 zcmVL$5ClOG1itKBTNjbPGWxz9A5}p1 zjy2;k()38LrSYNxr54ibzW~490~9g(J+&-r^Vi@&?f~_Sago#$5lH3 z?AsBK%Q|2(RR>vyNG4^^0G4%(on~%1f(FhfJ6qDplhzo*r_z|24k-T}fWNTvn|2nn zB!nmPK7hqny_|4r$y}Ctv&KwA-%GeOC|9o9@6Jmy-*37nHQXB&g|GBJW?BHI^R3>W z5XIHu{hNt3c#=4Up5)ufA`Mj&M<7qvxQv<(s(Pdtv0I9%c_i0XGJ~hWXU_KwGUbvJ z+VWabxs@`OvSN3kQB`gi5Td< zCNdD0-g7XjD`DKo>IK-ssAV(6ZeuYnD{V^0ojtC0sWO?x-863hBI?UV_L4%&S(1iJ zdo|QGQ!>Uiv|U2pq8^4-y>Fv^0jj67HeW#4-vz`W+n0t`>yiJ)(l8{0 uN`KP)C0a|2oddYDBwFnQ@V4&YmO|a5C2Z9{!HHY}>h}gC3s^}|C`SlNBi2Mc6JQiNjM{?U}L#4V(|#TjI_WV@yI*-`KAJ`lgkgC@g2^rf?_0 z*1b%|Xkn7YR%T=#+74maX^C@n{N_9-cPeO})NnO24*ybp@)UrS&wo|lA&S&ce=>-{ zO0Wy9S;`r9!}Z(cNJS1~P!*jxMpR{sE^Ji<_{4 zed*0qQ4qS&;+ZHCjTOnZfM`Cq*|S3OQGx>sx>g*RZT2Rn}|-e zuOL%jc}ppk*!k1ga(Ebb%FtZ2n&~FAoLHd)#BAJ-QUMTj~f|{k#}B z4)Di%0(GQh%XXzDG$sKK-Q2JkKR-`QsiPFD-4d_!i{fwH;J|_aEL%ZYNu#B0FJ7G| z;=_VQWOA9;dQ4Y9)LpKCV=ri`X({49JagUwO3&5UdSK)wEJxPN%9wG}45n;lzK(aC zKtbL$y*-#9uSql`7 zENOEh^0jsFWbV&<+yj5)WEX_aERLO-`${sQhD#B5ZCio#Fr4qHlr^7X|9DL69eFa= z#kf#}$Pcl(QEE=tNl8Pt$o;~Fk*8r@j8mpwSGW8d!1&11FbzPh@^gWj=oh7f%f7G)4s^6#xJL07*qo IM6N<$g02I(Gynhq literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/reject/00009.png b/tests/speculos/screenshots/sign/nanos/reject/00009.png new file mode 100644 index 0000000000000000000000000000000000000000..9c7e7049cb3e9bcfb1601ec510ee465d38229d4d GIT binary patch literal 340 zcmV-a0jvIrP)b=%MgRq*37h4eRxPbkJCLY|1VIo49_}P}TKpH4$L<8?X{t;p zy+UQc_4@p%0?~E_&igM#?#L~IOHR(-<@sYotiy&C*Y&GII0yeh-p3zW9cv$Q0k>6Y_)5~SfP=m zSMUtz)%Ex|-o}7!H9hbQ(8{%C?kQVa?C`*Uj-J(h>P7(Y#?ZWvi?6}@n{fGLp>YTp myqR(V_$?>^<%seR_VWh!K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/simple/00001.png b/tests/speculos/screenshots/sign/nanos/simple/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..7ebda4f3adad095152f16d397131c7f7471ca83a GIT binary patch literal 330 zcmV-Q0k!^#P)A70&~wwBNIbjXovs+0D!jan;`@CO|a*boR8Sz=?Q!5 z`MR7?G$t31oVNRTHr1Xb-j(y8Tj%+LSdv~dJ#_VNSRW$_7bi_R@mfr}KZS)7y+O4s zf=4^mFG9A)nQn@>wus32o~CwbK{owvgDwF`J3DyOH~?vNGl__JEYmOXV~4QvUMANM z{~oNGq}BVn*CAiDt?GR;697%&!rr%r;A(ikGl;=R(1k{Fb+Qv48=RKpW(Q4vTPFO2|!`%tQ%d711)GU2*6{RR6IsdoDLerDbbIUQ1X*Y%zfRtSZt>P- zR98rsaf8&R8zXtO=g^AAERP(cMKnjd?1}>p;3>0IyR?D~ugNsmDGznoTD7$}r4_{2 zf|6d9<^~nci1SyUvvF7C)=ZWC?OI?k<@mfUoTErknu&c9Ry7xGjex`6HWfd0!Hl z^ryc0TbOl{{{39n4oD-~tfL>?B%l^>;?eg;7;22ZG31~ptU^5vzYmKAOR>P|&=8&c zRkP+Z0{vPLRCOvxpM+|&3x-8wkj(bsa5z?94OPY79XPJ?{W4%<000007{d!Z1i*;c Sb~u#)00004qvBJ+KYLdy}Tg`YuKtuykk|arz%w^wVUCQ{*)%Q&hezY82 z&EPjs%u{+jjhzZ0P0)S}S3}}^_5u*6-%HD~hW~O<`^({RC;mRsXvVVGsLbLCYVslY znkt=$Xy1P0ZdnHyV>&3hL{aZxS;y$<=8_aN(4HoTl+081n3zwW&HNKUe_=JxDNW2? z8^WDTJ^}oIA1$JfOvlv&{FiW9)Krg8zu_=_PV59YZPajY7y@7EeR|RcXfogG{Rbkr zI=z1}xd(TWS?EswJ9!bh>qi)=^^@lHEeavxQeL>DmtOn%izGf z)>9EwYA?~UOmr3+sTY$ywwM(sBv3DT0U}?*Q;W3z?;U6Ce+b=Q!e#}y9(KY({7{Fy z@6Uc7{ppkmDv=E+m4KoIx2maqHY1(h90*GEp+hWQ2E^`5(Qy4Hn^FsM+UD`Tc&G8r zM(s|{#Q~os8g5CBY(QW>Uhk|arzBuM~2k=$~ha82FQ00000NkvXXu0mjfvN__l literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanos/simple/00005.png b/tests/speculos/screenshots/sign/nanos/simple/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..fd3155c0d349a1236eb862c8f4f5fc3c3a981ccf GIT binary patch literal 504 zcmVL$5ClOG1itKBTNjbPGWxz9A5}p1 zjy2;k()38LrSYNxr54ibzW~490~9g(J+&-r^Vi@&?f~_Sago#$5lH3 z?AsBK%Q|2(RR>vyNG4^^0G4%(on~%1f(FhfJ6qDplhzo*r_z|24k-T}fWNTvn|2nn zB!nmPK7hqny_|4r$y}Ctv&KwA-%GeOC|9o9@6Jmy-*37nHQXB&g|GBJW?BHI^R3>W z5XIHu{hNt3c#=4Up5)ufA`Mj&M<7qvxQv<(s(Pdtv0I9%c_i0XGJ~hWXU_KwGUbvJ z+VWabxs@`OvSN3kQB`gi5Td< zCNdD0-g7XjD`DKo>IK-ssAV(6ZeuYnD{V^0ojtC0sWO?x-863hBI?UV_L4%&S(1iJ zdo|QGQ!>Uiv|U2pq8^4-y>Fv^0jj67HeW#4-vz`W+n0t`>yiJ)(l8{0 uN`KP)C0a|2oddYDBwFnQ@V4&YmO|a5C2Z9{!HHY}>h}gC3s^}|C`SlNBi2Mc6JQiNjM{?U}L#4V(|#TjI_WV@yI*-`KAJ`lgkgC@g2^rf?_0 z*1b%|Xkn7YR%T=#+74maX^C@n{N_9-cPeO})NnO24*ybp@)UrS&wo|lA&S&ce=>-{ zO0Wy9S;`r9!}Z(cNJS1~P!*jxMpR{sE^Ji<_{4 zed*0qQ4qS&;+ZHCjTOnZfM`Cq*|S3OQGx>sx>g*RZT2Rn}|-e zuOL%jc}ppk*!k1ga(Ebb%FtZ2n&~FAoLHd)#BAJ-QUMTj~f|{k#}B z4)Di%0(GQh%XXzDG$sKK-Q2JkKR-`QsiPFD-4d_!i{fwH;J|_aEL%ZYNu#B0FJ7G| z;=_VQWOA9;dQ4Y9)LpKCV=ri`X({49JagUwO3&5UdSK)wEJxPN%9wG}45n;lzK(aC zKtbL$y*-#9uSql`7 zENOEh^0jsFWbV&<+yj5)WEX_aERLO-`${sQhD#B5ZCio#Fr4qHlr^7X|9DL69eFa= z#kf#}$Pcl(QEE=tNl8Pt$o;~Fk*8r@j8mpwSGW8d!1&11FbzPh@^gWj=oh7f%f7G)4s^6#xJL07*qo IM6N<$g02I(Gynhq literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00000.png b/tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*0^Z3He0@FcI%0qnN@q=yi0i=+$R zEg*#8F5?+z1^C#}yBi69Mh9?;yL1Bp09m|OT&hg(EBjk#UX#U|0!u%Z$1Rr>Uk_1>VFrcSp(bM z?;?0FNp%dERBP}gWi!oJLj@b`F`740My0+SeWpbo?!Ev30B|*x?}F^h;xZrH`z|lL z_MlF4$?P7YpQV)R{#I%tcHv}ox1e@HcB$*`qJ_{*xbd6A<>2EIdhLYrQUgg8z~*#p zB=?gjz|>HKjsvXJSUr9WXxxnJm@kpkC*uo{Z9>$tlMSb5biCB_b=>3C+%8rb1HP8Z oOnAfU2SURy1poj50055o1#9i1BLDyZ07*qoM6N<$g020>QUCw| literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00002.png b/tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..0976a317a1afc0f126d48520ceebe95d1fe87db8 GIT binary patch literal 566 zcmV-60?GY}P)rzd`AnA zQc8#FU$enH_Wp?$ph?bo+qPXz$HV@7RH(j@t%`n%u4J_+;#WZNO_U#Z-N}cd+ELma zLN-61w{45newx7mJEwG^H9ms> zM7zkAYV3`(H_02ngj-($ov(j0eShy*!)FhVB;!1nUi}h}t>r7Ny3X^)lb=Tn(7I7O z+*RuNB|V%zIP=68TJno?={Af>M;HG0)bv^=v3u~}d+bt;8me>g%qzwK_nzFwp8dAw z;*`o|fZ{I?viE9{mTVYLXsBO~N#z{titqpc006MF#@$fK?ZF}p;>l3X5BGwCS>|e@ z#FK4>$64_*`oH3Asu^y^IDlM;e-(x%HU^FXSM?&?tHk}ux;C`ecLu=gSX6Lat5e?s%%i9aT`@9hm9L(b**iA zo+UCs1q)pJV?DGHk7o2q=I;S=!=}15NH6Gf_nw&(aE!ct6uh44))-l*iOrhN9})SQ zc<=m~;O>*rb{ehd^*3Qc2qA=!&m=2Dy9dRnm{YZUTkl6L_I7!t7#$a?w@!-PZtZIw zi|!tcA_EaAlM_EKrHx$`Sz2AF>#*yI`$O)V9RhO3E}VpK)s6Ah0j~Xb;j9=JC8KLL z5Fne>rRd{NKg55z;n-Z5042MNH>zVKFJom1M)N`tDFW=oUe)>^4ZN#)TrWq1V?(0v z?rCLV2W4%#{zn71op;v9+*cDHLKtL5|1q3UGx`t1IhYBbLNngb+dqA%FY=&*w%zyr@4#00000NkvXXu0mjf D0V!mH literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00004.png b/tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..61f368707ddee813076419285812a997465683ba GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|@9dba4!+nDh2VBHtkep0@0H2lkj(Rkw#+zuICV}#+Nov!`bQl7 z1wBP;CzfzpIj@@Pp1OzGOnln;b<>~KoL8CT*I@oXVU=y^*^jzF>vov@kFlr-nv-MR zKRalq{AZz4^Yf?4%o1&lYkIus=!4}v>scr2Cw+du;_Rar3;v#%(fxE4Yi91wzGs)e z)Rx{V_nY)@+FFsoqLto%;xBCa?0>?Pao#)Ow8Jm9erGeB{{PR$|M^A2?@Z72e7JaS z&y2myN&YKz?A*m(JXW6b%6HGh>4!y2oYnrON(D~-mvqKaC2XO`o5K@3#DNY&1{P<9 X|HLZ&*>dX0T9B}(tDnm{r-UW|Xf?4@ literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00005.png b/tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_8Fba4!+nDh2V;G|{+o`%F- zmuDCJS1z1hTaXeVq>#&b2QSTI5qI}IeE+uQ$d($HH~rmjmfzpG^!&>@vHo;H|A#$&J>60(rv&w- z{Y$*re=CCT)rWkxbu*ft7z>`O-oI7u=d4xjo3yuXwAx+AyG_?&s?U?T(oz$vN~hG^ zITd^LMfdfDVy;c?KbE!zHs9!cv+j?u-i)SGA(L0?zp6X2s;;m5>ao50i9jz_e_Gr2 zjaxr8`Rh@Y?ag!bLo2gxTv~bJ)XKV#_qKdJdgcDJ@>9jrf~PT`jyPOzcvQ5zaQmZw zsyQ_iV&5BC&*W(?<|>M3c>Lz-s+s2Awug&us=u4vloD}$y3^rY@dWQRp`~22>^5u8 z-Wjt=zq~iKakEWo=0=}0$4N$E@I8h8IZK)78&qol`;+03*-H(EtDd literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00006.png b/tests/speculos/screenshots/sign/nanox/blind_and_nonce_display/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*0^Z3He0@FcI%0qnN@q=yi0i=+$R zEg*#8F5?+z1^C#}yBi69Mh9?;yL1Bp09m|OT&hg(EBjk#UX#U|0!u%Z$1Rr>Uk_1>VFrcSp(bM z?;?0FNp%dERBP}gWi!oJLj@b`F`740My0+SeWpbo?!Ev30B|*x?}F^h;xZrH`z|lL z_MlF4$?P7YpQV)R{#I%tcHv}ox1e@HcB$*`qJ_{*xbd6A<>2EIdhLYrQUgg8z~*#p zB=?gjz|>HKjsvXJSUr9WXxxnJm@kpkC*uo{Z9>$tlMSb5biCB_b=>3C+%8rb1HP8Z oOnAfU2SURy1poj50055o1#9i1BLDyZ07*qoM6N<$g020>QUCw| literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/blind_simple/00002.png b/tests/speculos/screenshots/sign/nanox/blind_simple/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..0976a317a1afc0f126d48520ceebe95d1fe87db8 GIT binary patch literal 566 zcmV-60?GY}P)rzd`AnA zQc8#FU$enH_Wp?$ph?bo+qPXz$HV@7RH(j@t%`n%u4J_+;#WZNO_U#Z-N}cd+ELma zLN-61w{45newx7mJEwG^H9ms> zM7zkAYV3`(H_02ngj-($ov(j0eShy*!)FhVB;!1nUi}h}t>r7Ny3X^)lb=Tn(7I7O z+*RuNB|V%zIP=68TJno?={Af>M;HG0)bv^=v3u~}d+bt;8me>g%qzwK_nzFwp8dAw z;*`o|fZ{I?viE9{mTVYLXsBO~N#z{titqpc006MF#@$fK?ZF}p;>l3X5BGwCS>|e@ z#FK4>$64_*`oH3Asu^y^IDlM;e-(x%HU^FXSM?&?tHk}ux;C`ecLu=gSX6Lat5e?s%%i9aT`@9hm9L(b**iA zo+UCs1q)pJV?DGHk7o2q=I;S=!=}15NH6Gf_nw&(aE!ct6uh44))-l*iOrhN9})SQ zc<=m~;O>*rb{ehd^*3Qc2qA=!&m=2Dy9dRnm{YZUTkl6L_I7!t7#$a?w@!-PZtZIw zi|!tcA_EaAlM_EKrHx$`Sz2AF>#*yI`$O)V9RhO3E}VpK)s6Ah0j~Xb;j9=JC8KLL z5Fne>rRd{NKg55z;n-Z5042MNH>zVKFJom1M)N`tDFW=oUe)>^4ZN#)TrWq1V?(0v z?rCLV2W4%#{zn71op;v9+*cDHLKtL5|1q3UGx`t1IhYBbLNngb+dqA%FY=&*w%zyr@4#00000NkvXXu0mjf D0V!mH literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/blind_simple/00004.png b/tests/speculos/screenshots/sign/nanox/blind_simple/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_8Fba4!+nDh2V;G|{+o`%F- zmuDCJS1z1hTaXeVq>#&b2QSTI5qI}IeE+uQ$d($HH~rmjmfzpG^!&>@vHo;H|A#$&J>60(rv&w- z{Y$*re=CCT)rWkxbu*ft7z>`O-oI7u=d4xjo3yuXwAx+AyG_?&s?U?T(oz$vN~hG^ zITd^LMfdfDVy;c?KbE!zHs9!cv+j?u-i)SGA(L0?zp6X2s;;m5>ao50i9jz_e_Gr2 zjaxr8`Rh@Y?ag!bLo2gxTv~bJ)XKV#_qKdJdgcDJ@>9jrf~PT`jyPOzcvQ5zaQmZw zsyQ_iV&5BC&*W(?<|>M3c>Lz-s+s2Awug&us=u4vloD}$y3^rY@dWQRp`~22>^5u8 z-Wjt=zq~iKakEWo=0=}0$4N$E@I8h8IZK)78&qol`;+03*-H(EtDd literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/blind_simple/00005.png b/tests/speculos/screenshots/sign/nanox/blind_simple/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*rzd`AnA zQc8#FU$enH_Wp?$ph?bo+qPXz$HV@7RH(j@t%`n%u4J_+;#WZNO_U#Z-N}cd+ELma zLN-61w{45newx7mJEwG^H9ms> zM7zkAYV3`(H_02ngj-($ov(j0eShy*!)FhVB;!1nUi}h}t>r7Ny3X^)lb=Tn(7I7O z+*RuNB|V%zIP=68TJno?={Af>M;HG0)bv^=v3u~}d+bt;8me>g%qzwK_nzFwp8dAw z;*`o|fZ{I?viE9{mTVYLXsBO~N#z{titqpc006MF#@$fK?ZF}p;>l3X5BGwCS>|e@ z#FK4>$64_*`oH3Asu^y^IDlM;e-(x%HU^FXSM?&?tHk}ux;C`ecLu=gSX6Lat5e?s%%i9aT`@9hm9L(b**iA zo+UCs1q)pJV?DGHk7o2q=I;S=!=}15NH6Gf_nw&(aE!ct6uh44))-l*iOrhN9})SQ zc<=m~;O>*rb{ehd^*3Qc2qA=!&m=2Dy9dRnm{YZUTkl6L_I7!t7#$a?w@!-PZtZIw zi|!tcA_EaAlM_EKrHx$`Sz2AF>#*yI`$O)V9RhO3E}VpK)s6Ah0j~Xb;j9=JC8KLL z5Fne>rRd{NKg55z;n-Z5042MNH>zVKFJom1M)N`tDFW=oUe)>^4ZN#)TrWq1V?(0v z?rCLV2W4%#{zn71op;v9+*cDHLKtL5|1q3UGx`t1IhYBbLNngb+dqA%FY=&*w%zyr@4#00000NkvXXu0mjf D0V!mH literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/dai_coin_type_on_network_5234/00003.png b/tests/speculos/screenshots/sign/nanox/dai_coin_type_on_network_5234/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..7037eb59e468baa2ac96cee2d9ba916d1145f8ee GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|{s{ba4!+nDh2#V%}i|p0>pN zTfRH~Ppp~#*TGqYr%+pT_s!pbyaH~y$R7#N0%?=^E?Sx#x|V(El(MLPf4c)Gt!M2^ z&VRpr)!Os#o~Zv~bP0W)cq2X5D|5N?ZX3QQKO=S-#^syv|G5#a_*nXaP-ft^l2h`P zZ+Hs79Qh--`RRrSd^b{_th9VKd!zr(ulN5*C_eJO;PvB6g#&b2QSTI5qI}IeE+uQ$d($HH~rmjmfzpG^!&>@vHo;H|A#$&J>60(rv&w- z{Y$*re=CCT)rWkxbu*ft7z>`O-oI7u=d4xjo3yuXwAx+AyG_?&s?U?T(oz$vN~hG^ zITd^LMfdfDVy;c?KbE!zHs9!cv+j?u-i)SGA(L0?zp6X2s;;m5>ao50i9jz_e_Gr2 zjaxr8`Rh@Y?ag!bLo2gxTv~bJ)XKV#_qKdJdgcDJ@>9jrf~PT`jyPOzcvQ5zaQmZw zsyQ_iV&5BC&*W(?<|>M3c>Lz-s+s2Awug&us=u4vloD}$y3^rY@dWQRp`~22>^5u8 z-Wjt=zq~iKakEWo=0=}0$4N$E@I8h8IZK)78&qol`;+03*-H(EtDd literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/dai_coin_type_on_network_5234/00005.png b/tests/speculos/screenshots/sign/nanox/dai_coin_type_on_network_5234/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u**5)(7+S_ba*qn?xk%T*6d0%62`WyGLKu+^4yfJ}pZ82x$Hi^^YZXdZRh59^L&F z`trJ+bB>LEnxO-VL$R^ni*?L-c>PXI2Q<>t6*ptmt3)*Fi&;Dtv zSf&F8vw1TI{9AKAh7=Tx4hYtEz_i0w-l7|F$xi!M|9DH-3^LKbO()bu|7P?-B(hK> z=HW;-ya%eG&N?!C=qva5Vsw zH07k_w3mVy0mqaTd?OiVaJ4HPa7pQjIsu$`h9m`Da_cK-XQH=t%CFobZ>eYZZU6uP zsMc5;s_ADt`yawFZF-cEa_mAVMFb-S;jEE2C-Wl(1)~FkEj$PK@6!PQ003^FXSM?&?tHk}ux;C`ecLu=gSX6Lat5e?s%%i9aT`@9hm9L(b**iA zo+UCs1q)pJV?DGHk7o2q=I;S=!=}15NH6Gf_nw&(aE!ct6uh44))-l*iOrhN9})SQ zc<=m~;O>*rb{ehd^*3Qc2qA=!&m=2Dy9dRnm{YZUTkl6L_I7!t7#$a?w@!-PZtZIw zi|!tcA_EaAlM_EKrHx$`Sz2AF>#*yI`$O)V9RhO3E}VpK)s6Ah0j~Xb;j9=JC8KLL z5Fne>rRd{NKg55z;n-Z5042MNH>zVKFJom1M)N`tDFW=oUe)>^4ZN#)TrWq1V?(0v z?rCLV2W4%#{zn71op;v9+*cDHLKtL5|1q3UGx`t1IhYBbLNngb+dqA%FY=&*w%zyr@4#00000NkvXXu0mjf D0V!mH literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/limit_nonce/00003.png b/tests/speculos/screenshots/sign/nanox/limit_nonce/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..3edd720b3ddc46fe8f1bb3671725cc4dcc486857 GIT binary patch literal 399 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|^T4Ds>{Es8rARoQuyY9v0-_6`Mi9$xTU7nwQ*N`Iz3LN{Y;W| zmtCX&_u&4U1xLiL#0zKIes}+>aoj}kRluu+&DZy{C9-DB@~nTh%yHShxl42UtHO4UEl-uOx|Fg%!L7UukR>g1{o zl}}&Jf8G;*w(dHo+qcSHvU@+>IREn4uUlu_^LGBB$*1?bUzA@q_J7&OSB?iuG(!3EPEE{xy@346NwxvX6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*rzd`AnA zQc8#FU$enH_Wp?$ph?bo+qPXz$HV@7RH(j@t%`n%u4J_+;#WZNO_U#Z-N}cd+ELma zLN-61w{45newx7mJEwG^H9ms> zM7zkAYV3`(H_02ngj-($ov(j0eShy*!)FhVB;!1nUi}h}t>r7Ny3X^)lb=Tn(7I7O z+*RuNB|V%zIP=68TJno?={Af>M;HG0)bv^=v3u~}d+bt;8me>g%qzwK_nzFwp8dAw z;*`o|fZ{I?viE9{mTVYLXsBO~N#z{titqpc006MF#@$fK?ZF}p;>l3X5BGwCS>|e@ z#FK4>$64_*`oH3Asu^y^IDlM;e-(x%HU^FXSM?&?tHk}ux;C`ecLu=gSX6Lat5e?s%%i9aT`@9hm9L(b**iA zo+UCs1q)pJV?DGHk7o2q=I;S=!=}15NH6Gf_nw&(aE!ct6uh44))-l*iOrhN9})SQ zc<=m~;O>*rb{ehd^*3Qc2qA=!&m=2Dy9dRnm{YZUTkl6L_I7!t7#$a?w@!-PZtZIw zi|!tcA_EaAlM_EKrHx$`Sz2AF>#*yI`$O)V9RhO3E}VpK)s6Ah0j~Xb;j9=JC8KLL z5Fne>rRd{NKg55z;n-Z5042MNH>zVKFJom1M)N`tDFW=oUe)>^4ZN#)TrWq1V?(0v z?rCLV2W4%#{zn71op;v9+*cDHLKtL5|1q3UGx`t1IhYBbLNngb+dqA%FY=&*w%zyr@4#00000NkvXXu0mjf D0V!mH literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/nonce_display/00003.png b/tests/speculos/screenshots/sign/nanox/nonce_display/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..45b4d1304ed884c173097a3aa6a7ec6ceb2c41e2 GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*Qa?Ri978JRyuA^)?vR22>xEyB z{C53U-8lXG#g>o-w=!B5&ifpC(&S)wkM3!puDf^L{2w@aW$uo+Zd!k5-TGJgUs&qy z)_!5R73B4mfBy~noog)Ty}y;eY>`e=X4!##vTrZ1nXVO{*ER9cw}(o44#rOxJ<~X% zK2>vRz{UKgZ42@_u2yd9uufQcXw_zGug^890*>Mf%KjZR34b;(xSxT+AZ*R$3zPf! z>YMC8#UJ^6xb5BLpI1!ulfq5oxwGVSvK{|k;dSSJR4b-1L$j=~c7^3>!{^HU37t#m%7Yb_5+TX8T!0CKteHTc?)78&qol`;+03z0i Al>h($ literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/nonce_display/00004.png b/tests/speculos/screenshots/sign/nanox/nonce_display/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_8Fba4!+nDh2V;G|{+o`%F- zmuDCJS1z1hTaXeVq>#&b2QSTI5qI}IeE+uQ$d($HH~rmjmfzpG^!&>@vHo;H|A#$&J>60(rv&w- z{Y$*re=CCT)rWkxbu*ft7z>`O-oI7u=d4xjo3yuXwAx+AyG_?&s?U?T(oz$vN~hG^ zITd^LMfdfDVy;c?KbE!zHs9!cv+j?u-i)SGA(L0?zp6X2s;;m5>ao50i9jz_e_Gr2 zjaxr8`Rh@Y?ag!bLo2gxTv~bJ)XKV#_qKdJdgcDJ@>9jrf~PT`jyPOzcvQ5zaQmZw zsyQ_iV&5BC&*W(?<|>M3c>Lz-s+s2Awug&us=u4vloD}$y3^rY@dWQRp`~22>^5u8 z-Wjt=zq~iKakEWo=0=}0$4N$E@I8h8IZK)78&qol`;+03*-H(EtDd literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/nonce_display/00005.png b/tests/speculos/screenshots/sign/nanox/nonce_display/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*rzd`AnA zQc8#FU$enH_Wp?$ph?bo+qPXz$HV@7RH(j@t%`n%u4J_+;#WZNO_U#Z-N}cd+ELma zLN-61w{45newx7mJEwG^H9ms> zM7zkAYV3`(H_02ngj-($ov(j0eShy*!)FhVB;!1nUi}h}t>r7Ny3X^)lb=Tn(7I7O z+*RuNB|V%zIP=68TJno?={Af>M;HG0)bv^=v3u~}d+bt;8me>g%qzwK_nzFwp8dAw z;*`o|fZ{I?viE9{mTVYLXsBO~N#z{titqpc006MF#@$fK?ZF}p;>l3X5BGwCS>|e@ z#FK4>$64_*`oH3Asu^y^IDlM;e-(x%HU^FXSM?&?tHk}ux;C`ecLu=gSX6Lat5e?s%%i9aT`@9hm9L(b**iA zo+UCs1q)pJV?DGHk7o2q=I;S=!=}15NH6Gf_nw&(aE!ct6uh44))-l*iOrhN9})SQ zc<=m~;O>*rb{ehd^*3Qc2qA=!&m=2Dy9dRnm{YZUTkl6L_I7!t7#$a?w@!-PZtZIw zi|!tcA_EaAlM_EKrHx$`Sz2AF>#*yI`$O)V9RhO3E}VpK)s6Ah0j~Xb;j9=JC8KLL z5Fne>rRd{NKg55z;n-Z5042MNH>zVKFJom1M)N`tDFW=oUe)>^4ZN#)TrWq1V?(0v z?rCLV2W4%#{zn71op;v9+*cDHLKtL5|1q3UGx`t1IhYBbLNngb+dqA%FY=&*w%zyr@4#00000NkvXXu0mjf D0V!mH literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/reject/00003.png b/tests/speculos/screenshots/sign/nanox/reject/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_8Fba4!+nDh2V;G|{+o`%F- zmuDCJS1z1hTaXeVq>#&b2QSTI5qI}IeE+uQ$d($HH~rmjmfzpG^!&>@vHo;H|A#$&J>60(rv&w- z{Y$*re=CCT)rWkxbu*ft7z>`O-oI7u=d4xjo3yuXwAx+AyG_?&s?U?T(oz$vN~hG^ zITd^LMfdfDVy;c?KbE!zHs9!cv+j?u-i)SGA(L0?zp6X2s;;m5>ao50i9jz_e_Gr2 zjaxr8`Rh@Y?ag!bLo2gxTv~bJ)XKV#_qKdJdgcDJ@>9jrf~PT`jyPOzcvQ5zaQmZw zsyQ_iV&5BC&*W(?<|>M3c>Lz-s+s2Awug&us=u4vloD}$y3^rY@dWQRp`~22>^5u8 z-Wjt=zq~iKakEWo=0=}0$4N$E@I8h8IZK)78&qol`;+03*-H(EtDd literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/reject/00004.png b/tests/speculos/screenshots/sign/nanox/reject/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000MjqtrV%Nn6esuj!jIMi}Btw`sohxwi1&U@}K{{10Q-!s%eVxF#kF6*2U FngGM>p?d%T literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/simple/00000.png b/tests/speculos/screenshots/sign/nanox/simple/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*rzd`AnA zQc8#FU$enH_Wp?$ph?bo+qPXz$HV@7RH(j@t%`n%u4J_+;#WZNO_U#Z-N}cd+ELma zLN-61w{45newx7mJEwG^H9ms> zM7zkAYV3`(H_02ngj-($ov(j0eShy*!)FhVB;!1nUi}h}t>r7Ny3X^)lb=Tn(7I7O z+*RuNB|V%zIP=68TJno?={Af>M;HG0)bv^=v3u~}d+bt;8me>g%qzwK_nzFwp8dAw z;*`o|fZ{I?viE9{mTVYLXsBO~N#z{titqpc006MF#@$fK?ZF}p;>l3X5BGwCS>|e@ z#FK4>$64_*`oH3Asu^y^IDlM;e-(x%HU^FXSM?&?tHk}ux;C`ecLu=gSX6Lat5e?s%%i9aT`@9hm9L(b**iA zo+UCs1q)pJV?DGHk7o2q=I;S=!=}15NH6Gf_nw&(aE!ct6uh44))-l*iOrhN9})SQ zc<=m~;O>*rb{ehd^*3Qc2qA=!&m=2Dy9dRnm{YZUTkl6L_I7!t7#$a?w@!-PZtZIw zi|!tcA_EaAlM_EKrHx$`Sz2AF>#*yI`$O)V9RhO3E}VpK)s6Ah0j~Xb;j9=JC8KLL z5Fne>rRd{NKg55z;n-Z5042MNH>zVKFJom1M)N`tDFW=oUe)>^4ZN#)TrWq1V?(0v z?rCLV2W4%#{zn71op;v9+*cDHLKtL5|1q3UGx`t1IhYBbLNngb+dqA%FY=&*w%zyr@4#00000NkvXXu0mjf D0V!mH literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/simple/00003.png b/tests/speculos/screenshots/sign/nanox/simple/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1b9a68f5fb1ee090966199cb58a891b0a5ad4 GIT binary patch literal 436 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_8Fba4!+nDh2V;G|{+o`%F- zmuDCJS1z1hTaXeVq>#&b2QSTI5qI}IeE+uQ$d($HH~rmjmfzpG^!&>@vHo;H|A#$&J>60(rv&w- z{Y$*re=CCT)rWkxbu*ft7z>`O-oI7u=d4xjo3yuXwAx+AyG_?&s?U?T(oz$vN~hG^ zITd^LMfdfDVy;c?KbE!zHs9!cv+j?u-i)SGA(L0?zp6X2s;;m5>ao50i9jz_e_Gr2 zjaxr8`Rh@Y?ag!bLo2gxTv~bJ)XKV#_qKdJdgcDJ@>9jrf~PT`jyPOzcvQ5zaQmZw zsyQ_iV&5BC&*W(?<|>M3c>Lz-s+s2Awug&us=u4vloD}$y3^rY@dWQRp`~22>^5u8 z-Wjt=zq~iKakEWo=0=}0$4N$E@I8h8IZK)78&qol`;+03*-H(EtDd literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/sign/nanox/simple/00004.png b/tests/speculos/screenshots/sign/nanox/simple/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000 Date: Tue, 26 Apr 2022 17:18:41 +0200 Subject: [PATCH 16/69] feat: add more test and add screen compare --- .../boilerplate_client/boilerplate_cmd.py | 4 +- tests/speculos/boilerplate_client/utils.py | 13 + tests/speculos/conftest.py | 27 +- tests/speculos/test_configuration_cmd.py | 6 +- tests/speculos/test_pubkey_cmd.py | 92 ++- tests/speculos/test_sign_cmd.py | 653 ++++++++++++++++-- 6 files changed, 694 insertions(+), 101 deletions(-) diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd.py b/tests/speculos/boilerplate_client/boilerplate_cmd.py index 4e98c46..0f86c96 100644 --- a/tests/speculos/boilerplate_client/boilerplate_cmd.py +++ b/tests/speculos/boilerplate_client/boilerplate_cmd.py @@ -15,10 +15,12 @@ from boilerplate_client.transaction import Transaction class BoilerplateCommand: def __init__(self, client: SpeculosClient, - debug: bool = False) -> None: + debug: bool = False, + model: str = "nanos") -> None: self.client = client self.builder = BoilerplateCommandBuilder(debug=debug) self.debug = debug + self.model = model def get_configuration(self) -> Tuple[int, int, int, int]: try: diff --git a/tests/speculos/boilerplate_client/utils.py b/tests/speculos/boilerplate_client/utils.py index c2fe9d3..4a31eb7 100644 --- a/tests/speculos/boilerplate_client/utils.py +++ b/tests/speculos/boilerplate_client/utils.py @@ -1,11 +1,24 @@ from io import BytesIO from typing import List, Optional, Literal +import speculos.client + +import PIL.Image as Image +import io UINT64_MAX: int = 18446744073709551615 UINT32_MAX: int = 4294967295 UINT16_MAX: int = 65535 +def save_screenshot(cmd, path: str): + screenshot = cmd.client.get_screenshot() + img = Image.open(io.BytesIO(screenshot)) + img.save(path) + + +def compare_screenshot(cmd, path: str): + screenshot = cmd.client.get_screenshot() + assert speculos.client.screenshot_equal(path, io.BytesIO(screenshot)) def bip32_path_from_string(path: str) -> List[bytes]: splitted_path: List[str] = path.split("/") diff --git a/tests/speculos/conftest.py b/tests/speculos/conftest.py index 8c3999e..f370ec7 100644 --- a/tests/speculos/conftest.py +++ b/tests/speculos/conftest.py @@ -1,5 +1,6 @@ from collections import namedtuple from pathlib import Path +from pyexpat import model import pytest @@ -11,17 +12,31 @@ from boilerplate_client.boilerplate_cmd import BoilerplateCommand SCRIPT_DIR = Path(__file__).absolute().parent API_URL = "http://127.0.0.1:5000" -@pytest.fixture(scope="session") -def client(): +def pytest_addoption(parser): + # nanos or nanox + parser.addoption("--model", action="store", default="nanos") + # qt: default, requires a X server + # headless: nothing is displayed + parser.addoption("--display", action="store", default="qt") + +@pytest.fixture() +def client(pytestconfig): file_path = SCRIPT_DIR.parent.parent / "bin" / "app.elf" - args = ['--model', 'nanos', '--display', 'qt', '--sdk', '2.1'] + model = pytestconfig.getoption("model") + version = '2.1' # latest version of nanos_sdk + + if model == "nanox": + version = '2.0.2' # latest version of nanox_sdk + + args = ['--model', model, '--display', pytestconfig.getoption("display"), '--sdk', version] with SpeculosClient(app=str(file_path), args=args) as client: yield client -@pytest.fixture(scope="session") -def cmd(client): +@pytest.fixture() +def cmd(client, pytestconfig): yield BoilerplateCommand( client=client, - debug=True + debug=True, + model=pytestconfig.getoption("model"), ) diff --git a/tests/speculos/test_configuration_cmd.py b/tests/speculos/test_configuration_cmd.py index 9694737..52c6601 100644 --- a/tests/speculos/test_configuration_cmd.py +++ b/tests/speculos/test_configuration_cmd.py @@ -1,3 +1,7 @@ def test_configuration(cmd): - assert cmd.get_configuration() == (14, 1, 9, 17) \ No newline at end of file + if cmd.model == "nanos": + assert cmd.get_configuration() == (14, 1, 9, 17) + + if cmd.model == "nanox": + assert cmd.get_configuration() == (14, 1, 9, 17) \ No newline at end of file diff --git a/tests/speculos/test_pubkey_cmd.py b/tests/speculos/test_pubkey_cmd.py index 9a79429..7d3d90e 100644 --- a/tests/speculos/test_pubkey_cmd.py +++ b/tests/speculos/test_pubkey_cmd.py @@ -3,7 +3,10 @@ from cgitb import reset from pickle import TRUE from typing import Tuple +from time import sleep + import boilerplate_client +from boilerplate_client.utils import UINT64_MAX, compare_screenshot, save_screenshot def test_get_public_key(cmd): @@ -25,15 +28,37 @@ def test_get_public_key(cmd): # DAI COIN with display result: list = [] with cmd.get_public_key(bip32_path="44'/700'/1'/0/0", display=True, result=result) as exchange: - cmd.client.press_and_release('right') - # Verify address - cmd.client.press_and_release('right') - # Address 1/3, 2/3, 3/3 - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - # Approved - cmd.client.press_and_release('both') + sleep(0.5) + + if cmd.model == "nanos": + # Verify address + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00000.png") + cmd.client.press_and_release('right') + + # Address 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00001.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00002.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00003.png") + cmd.client.press_and_release('right') + + # Approved + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00004.png") + cmd.client.press_and_release('both') + + if cmd.model == "nanox": + # Verify address + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00000.png") + cmd.client.press_and_release('right') + + # Address + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00001.png") + cmd.client.press_and_release('right') + + # Approve + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00002.png") + cmd.client.press_and_release('both') uncompressed_addr_len, eth_addr, chain_code = result assert len(uncompressed_addr_len) == 65 @@ -50,16 +75,45 @@ def test_reject_get_public_key(cmd): # DAI COIN with display result: list = [] with cmd.get_public_key(bip32_path="44'/700'/1'/0/0", display=True, result=result) as exchange: - cmd.client.press_and_release('right') - # Verify address - cmd.client.press_and_release('right') - # Address 1/3, 2/3, 3/3 - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - # Reject - cmd.client.press_and_release('right') - cmd.client.press_and_release('both') + sleep(0.5) + + if cmd.model == "nanos": + # Verify address + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00000.png") + cmd.client.press_and_release('right') + + # Address 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00001.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00002.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00003.png") + cmd.client.press_and_release('right') + + # Approve + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00004.png") + cmd.client.press_and_release('right') + + # Reject + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00005.png") + cmd.client.press_and_release('both') + + if cmd.model == "nanox": + # Verify address + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00000.png") + cmd.client.press_and_release('right') + + # Address + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00001.png") + cmd.client.press_and_release('right') + + # Approve + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00002.png") + cmd.client.press_and_release('right') + + # Reject + compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00003.png") + cmd.client.press_and_release('both') except boilerplate_client.exception.errors.DenyError as error: assert error.args[0] == '0x6985' diff --git a/tests/speculos/test_sign_cmd.py b/tests/speculos/test_sign_cmd.py index 0983325..a2f286c 100644 --- a/tests/speculos/test_sign_cmd.py +++ b/tests/speculos/test_sign_cmd.py @@ -1,14 +1,14 @@ -from urllib import response +from time import sleep import boilerplate_client -import struct -from boilerplate_client.utils import UINT64_MAX + +from boilerplate_client.utils import UINT64_MAX, compare_screenshot, compare_screenshot, save_screenshot from boilerplate_client.transaction import Transaction # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md -def test_simple_sign(cmd): +def test_sign_simple(cmd): result: list = [] # Ether coin type @@ -25,20 +25,57 @@ def test_simple_sign(cmd): ) with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: - # Review transaction - cmd.client.press_and_release('right') - # Amount 1/3, 2/3, 3/3 - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - # Address 1/3, 2/3, 3/3 - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - # Max Fees - cmd.client.press_and_release('right') - #Accept and send - cmd.client.press_and_release('both') + sleep(0.5) + + if cmd.model == "nanos": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00000.png") + cmd.client.press_and_release('right') + + # Amount 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00001.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00002.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00003.png") + cmd.client.press_and_release('right') + + # Address 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00004.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00005.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00006.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00007.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00008.png") + cmd.client.press_and_release('both') + + if cmd.model == "nanox": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00000.png") + cmd.client.press_and_release('right') + + # Amount + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00001.png") + cmd.client.press_and_release('right') + + # Address + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00002.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00003.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00004.png") + cmd.client.press_and_release('both') v, r, s = result @@ -64,22 +101,65 @@ def test_sign_dai_coin_type_on_network_5234(cmd): ) with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: - # Review transaction - cmd.client.press_and_release('right') - # Amount 1/3, 2/3, 3/3 - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - # Address 1/3, 2/3, 3/3 - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - # Network 5243 - cmd.client.press_and_release('right') - # Max Fees - cmd.client.press_and_release('right') - #Accept and send - cmd.client.press_and_release('both') + sleep(0.5) + + if cmd.model == "nanos": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00000.png") + cmd.client.press_and_release('right') + + # Amount 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00001.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00002.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00003.png") + cmd.client.press_and_release('right') + + # Address 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00004.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00005.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00006.png") + cmd.client.press_and_release('right') + + # Network 5243 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00007.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00008.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00009.png") + cmd.client.press_and_release('both') + + if cmd.model == "nanox": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00000.png") + cmd.client.press_and_release('right') + + # Amount + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00001.png") + cmd.client.press_and_release('right') + + # Address + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00002.png") + cmd.client.press_and_release('right') + + # Network 5243 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00003.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00004.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00005.png") + cmd.client.press_and_release('both') v, r, s = result @@ -103,28 +183,150 @@ def test_sign_reject(cmd): value=0x6f9c9e7bf61818, chainID=1, ) + try: with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: - # Review transaction - cmd.client.press_and_release('right') - # Amount 1/3, 2/3, 3/3 - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - # Address 1/3, 2/3, 3/3 - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - # Max Fees - cmd.client.press_and_release('right') - # Accept and send - cmd.client.press_and_release('right') - # Reject - cmd.client.press_and_release('both') + sleep(0.5) + + if cmd.model == "nanos": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00000.png") + cmd.client.press_and_release('right') + + # Amount 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00001.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00002.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00003.png") + cmd.client.press_and_release('right') + + # Address 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00004.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00005.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00006.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00007.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00008.png") + cmd.client.press_and_release('right') + + # Reject + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00009.png") + cmd.client.press_and_release('both') + + if cmd.model == "nanox": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00000.png") + cmd.client.press_and_release('right') + + # Amount + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00001.png") + cmd.client.press_and_release('right') + + # Address + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00002.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00003.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00004.png") + cmd.client.press_and_release('right') + + # Reject + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00005.png") + cmd.client.press_and_release('both') + except boilerplate_client.exception.errors.DenyError as error: assert error.args[0] == '0x6985' +def test_sign_limit_nonce(cmd): + result: list = [] + + # Ether coin type + bip32_path="44'/60'/1'/0/0" + + # EIP-2681: Limit account nonce to 2^64-1 + transaction = Transaction( + txType=0xEB, + nonce=2**64-1, + gasPrice=10, + gasLimit=50000, + to="0x5a321744667052affa8386ed49e00ef223cbffc3", + value=0x08762, + chainID=1, + ) + + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + sleep(0.5) + + if cmd.model == "nanos": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00000.png") + cmd.client.press_and_release('right') + + # Amount 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00001.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00002.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00003.png") + cmd.client.press_and_release('right') + + # Address 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00004.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00005.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00006.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00007.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00008.png") + cmd.client.press_and_release('both') + + if cmd.model == "nanox": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00000.png") + cmd.client.press_and_release('right') + + # Amount + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00001.png") + cmd.client.press_and_release('right') + + # Address + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00002.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00003.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00004.png") + cmd.client.press_and_release('both') + + v, r, s = result + + assert v == 0x26 # 38 + assert r.hex() == "7f17f9efa5a6065f885a44a5f5d68a62381c6b2b23047817b4569c61ccf571c6" + assert s.hex() == "4b67d37cfe473e0b2daf246fa82c7595bcff0c1515d69089037d0c061f14b3b3" + + def test_sign_error_transaction_type(cmd): result: list = [] @@ -155,44 +357,347 @@ def test_sign_error_transaction_type(cmd): pass except boilerplate_client.exception.errors.UnknownDeviceError as error: # Throw error of transaction type not supported - assert error.args[0] == '0x6501' + assert error.args[0] == '0x6501' -def test_sign_limit_nonce(cmd): +def test_sign_nonce_display(cmd): + # Activate nonce display + # Application is ready + cmd.client.press_and_release('left') + # Quit + cmd.client.press_and_release('left') + # Settings + cmd.client.press_and_release('both') + # Blind signing + cmd.client.press_and_release('right') + # Debug data + cmd.client.press_and_release('right') + # Nonce display + cmd.client.press_and_release('both') + cmd.client.press_and_release('right') + # Back + cmd.client.press_and_release('both') + result: list = [] - + # Ether coin type bip32_path="44'/60'/1'/0/0" - # EIP-2681: Limit account nonce to 2^64-1 transaction = Transaction( txType=0xEB, - nonce=2**64-1, - gasPrice=10, - gasLimit=50000, + nonce=68, + gasPrice=0x0306dc4200, + gasLimit=0x5208, to="0x5a321744667052affa8386ed49e00ef223cbffc3", - value=0x08762, + value=0x6f9c9e7bf61818, chainID=1, ) with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: - # Review transaction - cmd.client.press_and_release('right') - # Amount 1/3, 2/3, 3/3 - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - # Address 1/3, 2/3, 3/3 - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - cmd.client.press_and_release('right') - # Max Fees - cmd.client.press_and_release('right') - #Accept and send - cmd.client.press_and_release('both') + sleep(0.5) + + if cmd.model == "nanos": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00000.png") + cmd.client.press_and_release('right') + + # Amount 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00001.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00002.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00003.png") + cmd.client.press_and_release('right') + + # Address 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00004.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00005.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00006.png") + cmd.client.press_and_release('right') + + # Nonce + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00007.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00008.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00009.png") + cmd.client.press_and_release('both') + + if cmd.model == "nanox": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00000.png") + cmd.client.press_and_release('right') + + # Amount + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00001.png") + cmd.client.press_and_release('right') + + # Address + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00002.png") + cmd.client.press_and_release('right') + + # Nonce + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00003.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00004.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00005.png") + cmd.client.press_and_release('both') v, r, s = result assert v == 0x26 # 38 - assert r.hex() == "7f17f9efa5a6065f885a44a5f5d68a62381c6b2b23047817b4569c61ccf571c6" - assert s.hex() == "4b67d37cfe473e0b2daf246fa82c7595bcff0c1515d69089037d0c061f14b3b3" + assert r.hex() == "6f389d15320f0501383526ed03de917c14212716f09a262dbc98431086a5db49" + assert s.hex() == "0dc994b7b97230bb35fdf6fec2f4d8ff4cfb8bfeb2a652c364c738ff033c05dd" + + +def test_sign_blind_simple(cmd): + # Activate blind signing + # Application is ready + cmd.client.press_and_release('left') + # Quit + cmd.client.press_and_release('left') + # Settings + cmd.client.press_and_release('both') + # Blind signing + cmd.client.press_and_release('both') + cmd.client.press_and_release('right') + # Debug data + cmd.client.press_and_release('right') + # Nonce display + cmd.client.press_and_release('right') + # Back + cmd.client.press_and_release('both') + + result: list = [] + + # Ether coin type + bip32_path="44'/60'/1'/0/0" + + transaction = Transaction( + txType=0xEB, + nonce=68, + gasPrice=0x0306dc4200, + gasLimit=0x5208, + to="0x5a321744667052affa8386ed49e00ef223cbffc3", + value=0x6f9c9e7bf61818, + chainID=1, + data="ok", + ) + + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + sleep(0.5) + + if cmd.model == "nanos": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00000.png") + cmd.client.press_and_release('right') + + # Blind Signing + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00001.png") + cmd.client.press_and_release('right') + + # Amount 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00002.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00003.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00004.png") + cmd.client.press_and_release('right') + + # Address 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00005.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00006.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00007.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00008.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00009.png") + cmd.client.press_and_release('both') + + if cmd.model == "nanox": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00000.png") + cmd.client.press_and_release('right') + + # Blind Signing + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00001.png") + cmd.client.press_and_release('right') + + # Amount + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00002.png") + cmd.client.press_and_release('right') + + # Address + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00003.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00004.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00005.png") + cmd.client.press_and_release('both') + + v, r, s = result + + assert v == 0x26 # 38 + assert r.hex() == "98163696ad14f54e0e7207306b6f66665131cee601052facab8fd24250e15470" + assert s.hex() == "318e573fc809f7dcb8f9718c8bd2946b2c3c83cedf3720e66e06fb63ceea3174" + + +def test_sign_blind_error_disabled(cmd): + result: list = [] + + # Ether coin type + bip32_path="44'/60'/1'/0/0" + + transaction = Transaction( + txType=0xEB, + nonce=68, + gasPrice=0x0306dc4200, + gasLimit=0x5208, + to="0x5a321744667052affa8386ed49e00ef223cbffc3", + value=0x6f9c9e7bf61818, + chainID=1, + data="ok", + ) + + try: + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + sleep(0.5) + + if cmd.model == "nanos": + pass + if cmd.model == "nanox": + pass + except boilerplate_client.exception.errors.UnknownDeviceError as error: + assert error.args[0] == '0x6a80' + + +def test_sign_blind_and_nonce_display(cmd): + # Activate blind signing + # Application is ready + cmd.client.press_and_release('left') + # Quit + cmd.client.press_and_release('left') + # Settings + cmd.client.press_and_release('both') + # Blind signing + cmd.client.press_and_release('both') + cmd.client.press_and_release('right') + # Debug data + cmd.client.press_and_release('right') + # Nonce display + cmd.client.press_and_release('both') + cmd.client.press_and_release('right') + # Back + cmd.client.press_and_release('both') + + result: list = [] + + # Ether coin type + bip32_path="44'/60'/1'/0/0" + + transaction = Transaction( + txType=0xEB, + nonce=2**64-1, + gasPrice=0x0306dc4200, + gasLimit=0x5208, + to="0x5a321744667052affa8386ed49e00ef223cbffc3", + value=0x6f9c9e7bf61818, + chainID=1, + data="That's a little message :)", + ) + + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + sleep(0.5) + + if cmd.model == "nanos": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00000.png") + cmd.client.press_and_release('right') + + # Blind Signing + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00001.png") + cmd.client.press_and_release('right') + + # Amount 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00002.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00003.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00004.png") + cmd.client.press_and_release('right') + + # Address 1/3, 2/3, 3/3 + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00005.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00006.png") + cmd.client.press_and_release('right') + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00007.png") + cmd.client.press_and_release('right') + + # Nonce + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00008.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00009.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00010.png") + cmd.client.press_and_release('both') + + if cmd.model == "nanox": + # Review transaction + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00000.png") + cmd.client.press_and_release('right') + + # Blind Signing + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00001.png") + cmd.client.press_and_release('right') + + # Amount + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00002.png") + cmd.client.press_and_release('right') + + # Address + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00003.png") + cmd.client.press_and_release('right') + + # Nonce + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00004.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00005.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00006.png") + cmd.client.press_and_release('both') + + v, r, s = result + + assert v == 0x25 # 37 + assert r.hex() == "737c07042022d37286216312d62163c4238536d82c5b45937ce9fbf259d11b7d" + assert s.hex() == "5604485e0cf37e465a84290eb26a18e40a430f1b0fda184c56b2c3a51ada2e6c" From e069e2c2f111c3f91275706518f11db7b28906de Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 6 Jun 2022 10:16:32 +0200 Subject: [PATCH 17/69] refacto: name boilerplate to ethereum --- tests/speculos/conftest.py | 8 ++-- .../__init__.py | 0 .../ethereum_cmd.py} | 47 ++++++++++--------- .../ethereum_cmd_builder.py} | 8 ++-- .../exception/__init__.py | 0 .../exception/device_exception.py | 0 .../exception/errors.py | 0 .../transaction.py | 5 +- .../utils.py | 0 tests/speculos/test_pubkey_cmd.py | 6 +-- tests/speculos/test_sign_cmd.py | 14 +++--- 11 files changed, 44 insertions(+), 44 deletions(-) rename tests/speculos/{boilerplate_client => ethereum_client}/__init__.py (100%) rename tests/speculos/{boilerplate_client/boilerplate_cmd.py => ethereum_client/ethereum_cmd.py} (79%) rename tests/speculos/{boilerplate_client/boilerplate_cmd_builder.py => ethereum_client/ethereum_cmd_builder.py} (97%) rename tests/speculos/{boilerplate_client => ethereum_client}/exception/__init__.py (100%) rename tests/speculos/{boilerplate_client => ethereum_client}/exception/device_exception.py (100%) rename tests/speculos/{boilerplate_client => ethereum_client}/exception/errors.py (100%) rename tests/speculos/{boilerplate_client => ethereum_client}/transaction.py (96%) rename tests/speculos/{boilerplate_client => ethereum_client}/utils.py (100%) diff --git a/tests/speculos/conftest.py b/tests/speculos/conftest.py index f370ec7..514e7d3 100644 --- a/tests/speculos/conftest.py +++ b/tests/speculos/conftest.py @@ -1,12 +1,10 @@ -from collections import namedtuple from pathlib import Path -from pyexpat import model import pytest from speculos.client import SpeculosClient -from boilerplate_client.boilerplate_cmd import BoilerplateCommand +from ethereum_client.ethereum_cmd import EthereumCommand SCRIPT_DIR = Path(__file__).absolute().parent @@ -28,14 +26,14 @@ def client(pytestconfig): if model == "nanox": version = '2.0.2' # latest version of nanox_sdk - args = ['--model', model, '--display', pytestconfig.getoption("display"), '--sdk', version] + args = ['--log-level', 'speculos:DEBUG','--model', model, '--display', pytestconfig.getoption("display"), '--sdk', version] with SpeculosClient(app=str(file_path), args=args) as client: yield client @pytest.fixture() def cmd(client, pytestconfig): - yield BoilerplateCommand( + yield EthereumCommand( client=client, debug=True, model=pytestconfig.getoption("model"), diff --git a/tests/speculos/boilerplate_client/__init__.py b/tests/speculos/ethereum_client/__init__.py similarity index 100% rename from tests/speculos/boilerplate_client/__init__.py rename to tests/speculos/ethereum_client/__init__.py diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py similarity index 79% rename from tests/speculos/boilerplate_client/boilerplate_cmd.py rename to tests/speculos/ethereum_client/ethereum_cmd.py index 0f86c96..bac567d 100644 --- a/tests/speculos/boilerplate_client/boilerplate_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -7,18 +7,18 @@ from typing import Tuple from speculos.client import SpeculosClient, ApduException -from boilerplate_client.boilerplate_cmd_builder import BoilerplateCommandBuilder, InsType -from boilerplate_client.exception import DeviceException -from boilerplate_client.transaction import Transaction +from ethereum_client.ethereum_cmd_builder import EthereumCommandBuilder, InsType +from ethereum_client.exception import DeviceException +from ethereum_client.transaction import Transaction -class BoilerplateCommand: +class EthereumCommand: def __init__(self, client: SpeculosClient, debug: bool = False, model: str = "nanos") -> None: self.client = client - self.builder = BoilerplateCommandBuilder(debug=debug) + self.builder = EthereumCommandBuilder(debug=debug) self.debug = debug self.model = model @@ -80,41 +80,42 @@ class BoilerplateCommand: result.append(eth_addr) result.append(chain_code) + @contextmanager def test_zemu_hard_apdu_sign(self, transaction: Transaction) -> Tuple[int, int, int]: sign: bytes = b'\xe0\x04\x00\x00\x80\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x69\x46\x85\x06\xa8\xb1\x5e\x00\x82\xeb\xeb\x94\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x80\xb8\x44\x09\x5e\xa7\xb3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x27\x68\xde\x32\xb0\xb8\x0b\x7a\x34\x54\xc0\x6b\xda\xc9\x4a\x69\xdd\xc7\xa9\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x80\x80' simple_eth: bytes = b'\xe0\x04\x00\x00\x41\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x44\x85\x03\x06\xdc\x42\x00\x82\x52\x08\x94\x5a\x32\x17\x44\x66\x70\x52\xaf\xfa\x83\x86\xed\x49\xe0\x0e\xf2\x23\xcb\xff\xc3\x87\x6f\x9c\x9e\x7b\xf6\x18\x18\x80\x01\x80\x80' provide_erc20: bytes = b'\xe0\x0a\x00\x00\x67\x03\x44\x41\x49\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x00\x00\x00\x12\x00\x00\x00\x01\x30\x45\x02\x21\x00\xb3\xaa\x97\x96\x33\x28\x4e\xb0\xf5\x54\x59\x09\x93\x33\xab\x92\xcf\x06\xfd\xd5\x8d\xc9\x0e\x9c\x07\x00\x00\xc8\xe9\x68\x86\x4c\x02\x20\x7b\x10\xec\x7d\x66\x09\xf5\x1d\xda\x53\xd0\x83\xa6\xe1\x65\xa0\xab\xf3\xa7\x7e\x13\x25\x0e\x6f\x26\x07\x72\x80\x9b\x49\xaf\xf5' b: bytes = b'\xe0\x04\x00\x00\x56\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x3f\x26\x8e\x02\xcc\x9b\xe5\xc5\x3e\xa4\x4b\xd4\x3c\x28\x9d\xcd\xdc\x82\x52\x08\x94\xda\xc1\x7f\x95\x8d\x2e\xe5\x23\xa2\x20\x62\x06\x99\x45\x97\xc1\x3d\x83\x1e\xc7\x92\x8d\xb8\xb0\x86\x1b\x8f\x7f\xe5\xdf\x83\xcd\x55\x3a\x82\x98\x78\x00\x00\x80\x01\x80\x80' + test: bytes = b"".join([b'\xe0\x04\x00\x00\x89\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', + b'\x02', + b'\xf8\x70\x02', + b'\x02', #nonce + b'\x85', + b'\x02\x54\x0b\xe4\x00', # max priority fee per gas + b'\x85', + b'\x02\x54\x0b\xe4\x00', # max fee per gas + b'\x86', + b'\x24\x61\x39\xca\x80\x80', # gas limit + b'\x94', + b'\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc', # destination + b'\x81'+ + b'\xFF' + # Amount + b'\x00' + # Payload + b'\xc0\x01\xa0\xe0\x7f\xb8\xa6\x4e\xa3\x78\x6c\x9a\x66\x49\xe5\x44\x29\xe2\x78\x6a\xf3\xea\x31\xc6\xd0\x61\x65\x34\x66\x78\xcf\x8c\xe4\x4f\x9b\xa0\x0e\x4a\x05\x26\xdb\x1e\x90\x5b\x71\x64\xa8\x58\xfd\x5e\xbd\x2f\x17\x59\xe2\x2e\x69\x55\x49\x94\x48\xbd\x27\x6a\x6a\xa6\x28\x30']) a = self.builder.simple_sign_tx(bip32_path="44'/60'/1'/0/0", transaction=transaction) try: - response = self.client._apdu_exchange( - a - ) # type: int, bytes + with self.client._apdu_exchange_nowait(test) as ex: + yield ex #response = self.client._apdu_exchange( # sign #) except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) - - # response = V (1) || R (32) || S (32) - assert len(response) == 65 - - offset: int = 0 - - v: bytes = response[offset] - offset += 1 - - r: bytes = response[offset:offset + 32] - offset += 32 - - s: bytes = response[offset:] - - return v, r, s @contextmanager diff --git a/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py similarity index 97% rename from tests/speculos/boilerplate_client/boilerplate_cmd_builder.py rename to tests/speculos/ethereum_client/ethereum_cmd_builder.py index 4508cdb..1dc0e67 100644 --- a/tests/speculos/boilerplate_client/boilerplate_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -1,13 +1,11 @@ import enum import logging -import string import struct from typing import List, Tuple, Union, Iterator, cast -import rlp -from boilerplate_client.transaction import Transaction -from boilerplate_client.utils import bip32_path_from_string +from ethereum_client.transaction import Transaction +from ethereum_client.utils import bip32_path_from_string MAX_APDU_LEN: int = 255 @@ -45,7 +43,7 @@ class InsType(enum.IntEnum): INS_SET_PLUGIN = 0x16 -class BoilerplateCommandBuilder: +class EthereumCommandBuilder: """APDU command builder for the Boilerplate application. Parameters diff --git a/tests/speculos/boilerplate_client/exception/__init__.py b/tests/speculos/ethereum_client/exception/__init__.py similarity index 100% rename from tests/speculos/boilerplate_client/exception/__init__.py rename to tests/speculos/ethereum_client/exception/__init__.py diff --git a/tests/speculos/boilerplate_client/exception/device_exception.py b/tests/speculos/ethereum_client/exception/device_exception.py similarity index 100% rename from tests/speculos/boilerplate_client/exception/device_exception.py rename to tests/speculos/ethereum_client/exception/device_exception.py diff --git a/tests/speculos/boilerplate_client/exception/errors.py b/tests/speculos/ethereum_client/exception/errors.py similarity index 100% rename from tests/speculos/boilerplate_client/exception/errors.py rename to tests/speculos/ethereum_client/exception/errors.py diff --git a/tests/speculos/boilerplate_client/transaction.py b/tests/speculos/ethereum_client/transaction.py similarity index 96% rename from tests/speculos/boilerplate_client/transaction.py rename to tests/speculos/ethereum_client/transaction.py index 8660c2a..f7aec02 100644 --- a/tests/speculos/boilerplate_client/transaction.py +++ b/tests/speculos/ethereum_client/transaction.py @@ -1,13 +1,16 @@ from io import BytesIO from typing import Union -from boilerplate_client.utils import (read, read_uint, read_varint, +from ethereum_client.utils import (read, read_uint, read_varint, write_varint, UINT64_MAX) class TransactionError(Exception): pass +EIP2930 = 1 +EIP1559 = 2 + class Transaction: def __init__(self, txType: int, nonce: int, gasPrice: int, gasLimit: int, to: Union[str, bytes], value: int, data: Union[str, bytes] = "", chainID: int = -1) -> None: diff --git a/tests/speculos/boilerplate_client/utils.py b/tests/speculos/ethereum_client/utils.py similarity index 100% rename from tests/speculos/boilerplate_client/utils.py rename to tests/speculos/ethereum_client/utils.py diff --git a/tests/speculos/test_pubkey_cmd.py b/tests/speculos/test_pubkey_cmd.py index 7d3d90e..4f940f7 100644 --- a/tests/speculos/test_pubkey_cmd.py +++ b/tests/speculos/test_pubkey_cmd.py @@ -5,8 +5,8 @@ from typing import Tuple from time import sleep -import boilerplate_client -from boilerplate_client.utils import UINT64_MAX, compare_screenshot, save_screenshot +import ethereum_client +from ethereum_client.utils import UINT64_MAX, compare_screenshot, save_screenshot def test_get_public_key(cmd): @@ -115,5 +115,5 @@ def test_reject_get_public_key(cmd): compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00003.png") cmd.client.press_and_release('both') - except boilerplate_client.exception.errors.DenyError as error: + except ethereum_client.exception.errors.DenyError as error: assert error.args[0] == '0x6985' diff --git a/tests/speculos/test_sign_cmd.py b/tests/speculos/test_sign_cmd.py index a2f286c..6c44f5d 100644 --- a/tests/speculos/test_sign_cmd.py +++ b/tests/speculos/test_sign_cmd.py @@ -1,9 +1,9 @@ from time import sleep -import boilerplate_client +import ethereum_client -from boilerplate_client.utils import UINT64_MAX, compare_screenshot, compare_screenshot, save_screenshot -from boilerplate_client.transaction import Transaction +from ethereum_client.utils import UINT64_MAX, compare_screenshot, compare_screenshot, save_screenshot +from ethereum_client.transaction import Transaction # https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md @@ -246,7 +246,7 @@ def test_sign_reject(cmd): compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00005.png") cmd.client.press_and_release('both') - except boilerplate_client.exception.errors.DenyError as error: + except ethereum_client.exception.errors.DenyError as error: assert error.args[0] == '0x6985' @@ -347,7 +347,7 @@ def test_sign_error_transaction_type(cmd): try: with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: pass - except boilerplate_client.exception.errors.UnknownDeviceError as error: + except ethereum_client.exception.errors.UnknownDeviceError as error: # Throw error of transaction type not supported assert error.args[0] == '0x6501' @@ -355,7 +355,7 @@ def test_sign_error_transaction_type(cmd): try: with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: pass - except boilerplate_client.exception.errors.UnknownDeviceError as error: + except ethereum_client.exception.errors.UnknownDeviceError as error: # Throw error of transaction type not supported assert error.args[0] == '0x6501' @@ -588,7 +588,7 @@ def test_sign_blind_error_disabled(cmd): pass if cmd.model == "nanox": pass - except boilerplate_client.exception.errors.UnknownDeviceError as error: + except ethereum_client.exception.errors.UnknownDeviceError as error: assert error.args[0] == '0x6a80' From 1ae8042d094c157e5906dbce8d173aed6e8a81b6 Mon Sep 17 00:00:00 2001 From: Coline Date: Thu, 23 Jun 2022 10:32:41 +0200 Subject: [PATCH 18/69] feat: test nanosp --- tests/speculos/conftest.py | 9 +- .../speculos/ethereum_client/ethereum_cmd.py | 1 + .../ethereum_client/ethereum_cmd_builder.py | 2 +- tests/speculos/ethereum_client/utils.py | 3 + tests/speculos/test_configuration_cmd.py | 3 + tests/speculos/test_pubkey_cmd.py | 42 ++-- tests/speculos/test_sign_cmd.py | 238 +++++++++--------- 7 files changed, 152 insertions(+), 146 deletions(-) diff --git a/tests/speculos/conftest.py b/tests/speculos/conftest.py index 514e7d3..dbf815f 100644 --- a/tests/speculos/conftest.py +++ b/tests/speculos/conftest.py @@ -10,6 +10,9 @@ from ethereum_client.ethereum_cmd import EthereumCommand SCRIPT_DIR = Path(__file__).absolute().parent API_URL = "http://127.0.0.1:5000" +VERSION = {"nanos": "2.1", "nanox": "2.0.2", "nanosp": "1.0"} + + def pytest_addoption(parser): # nanos or nanox parser.addoption("--model", action="store", default="nanos") @@ -21,12 +24,8 @@ def pytest_addoption(parser): def client(pytestconfig): file_path = SCRIPT_DIR.parent.parent / "bin" / "app.elf" model = pytestconfig.getoption("model") - version = '2.1' # latest version of nanos_sdk - if model == "nanox": - version = '2.0.2' # latest version of nanox_sdk - - args = ['--log-level', 'speculos:DEBUG','--model', model, '--display', pytestconfig.getoption("display"), '--sdk', version] + args = ['--log-level', 'speculos:DEBUG','--model', model, '--display', pytestconfig.getoption("display"), '--sdk', VERSION[model]] with SpeculosClient(app=str(file_path), args=args) as client: yield client diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index bac567d..dca85a3 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -80,6 +80,7 @@ class EthereumCommand: result.append(eth_addr) result.append(chain_code) + # Not use @contextmanager def test_zemu_hard_apdu_sign(self, transaction: Transaction) -> Tuple[int, int, int]: sign: bytes = b'\xe0\x04\x00\x00\x80\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x69\x46\x85\x06\xa8\xb1\x5e\x00\x82\xeb\xeb\x94\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x80\xb8\x44\x09\x5e\xa7\xb3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x27\x68\xde\x32\xb0\xb8\x0b\x7a\x34\x54\xc0\x6b\xda\xc9\x4a\x69\xdd\xc7\xa9\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x80\x80' diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index 1dc0e67..241a4b8 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -28,7 +28,6 @@ def chunkify(data: bytes, chunk_len: int) -> Iterator[Tuple[bool, bytes]]: if remaining: yield True, data[offset:] - class InsType(enum.IntEnum): INS_GET_PUBLIC_KEY = 0x02 INS_SIGN_TX = 0x04 @@ -149,6 +148,7 @@ class EthereumCommandBuilder: p2=0x01, cdata=cdata) + # Not use def sign_tx(self, bip32_path: str, transaction: Transaction) -> Iterator[Tuple[bool, bytes]]: """Command builder for INS_SIGN_TX. diff --git a/tests/speculos/ethereum_client/utils.py b/tests/speculos/ethereum_client/utils.py index 4a31eb7..d5d05a4 100644 --- a/tests/speculos/ethereum_client/utils.py +++ b/tests/speculos/ethereum_client/utils.py @@ -10,6 +10,9 @@ UINT64_MAX: int = 18446744073709551615 UINT32_MAX: int = 4294967295 UINT16_MAX: int = 65535 +# Association tableau si écran nanos ou nanox +PATH_IMG = {"nanos": "nanos", "nanox": "nanox", "nanosp": "nanox"} + def save_screenshot(cmd, path: str): screenshot = cmd.client.get_screenshot() img = Image.open(io.BytesIO(screenshot)) diff --git a/tests/speculos/test_configuration_cmd.py b/tests/speculos/test_configuration_cmd.py index 52c6601..c758ee9 100644 --- a/tests/speculos/test_configuration_cmd.py +++ b/tests/speculos/test_configuration_cmd.py @@ -4,4 +4,7 @@ def test_configuration(cmd): assert cmd.get_configuration() == (14, 1, 9, 17) if cmd.model == "nanox": + assert cmd.get_configuration() == (14, 1, 9, 17) + + if cmd.model == "nanosp": assert cmd.get_configuration() == (14, 1, 9, 17) \ No newline at end of file diff --git a/tests/speculos/test_pubkey_cmd.py b/tests/speculos/test_pubkey_cmd.py index 4f940f7..d059ceb 100644 --- a/tests/speculos/test_pubkey_cmd.py +++ b/tests/speculos/test_pubkey_cmd.py @@ -6,7 +6,7 @@ from typing import Tuple from time import sleep import ethereum_client -from ethereum_client.utils import UINT64_MAX, compare_screenshot, save_screenshot +from ethereum_client.utils import UINT64_MAX, compare_screenshot, save_screenshot, PATH_IMG def test_get_public_key(cmd): @@ -32,32 +32,32 @@ def test_get_public_key(cmd): if cmd.model == "nanos": # Verify address - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00000.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/get_public_key/00000.png") cmd.client.press_and_release('right') # Address 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00001.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/get_public_key/00001.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00002.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/get_public_key/00002.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00003.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/get_public_key/00003.png") cmd.client.press_and_release('right') # Approved - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00004.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/get_public_key/00004.png") cmd.client.press_and_release('both') - if cmd.model == "nanox": + if cmd.model == "nanox" or cmd.model == "nanosp": # Verify address - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00000.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/get_public_key/00000.png") cmd.client.press_and_release('right') # Address - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00001.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/get_public_key/00001.png") cmd.client.press_and_release('right') # Approve - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/get_public_key/00002.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/get_public_key/00002.png") cmd.client.press_and_release('both') uncompressed_addr_len, eth_addr, chain_code = result @@ -79,40 +79,40 @@ def test_reject_get_public_key(cmd): if cmd.model == "nanos": # Verify address - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00000.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00000.png") cmd.client.press_and_release('right') # Address 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00001.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00001.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00002.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00002.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00003.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00003.png") cmd.client.press_and_release('right') # Approve - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00004.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00004.png") cmd.client.press_and_release('right') # Reject - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00005.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00005.png") cmd.client.press_and_release('both') - if cmd.model == "nanox": + if cmd.model == "nanox" or cmd.model == "nanosp": # Verify address - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00000.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00000.png") cmd.client.press_and_release('right') # Address - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00001.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00001.png") cmd.client.press_and_release('right') # Approve - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00002.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00002.png") cmd.client.press_and_release('right') # Reject - compare_screenshot(cmd, f"screenshots/pubkey/{cmd.model}/reject_get_public_key/00003.png") + compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00003.png") cmd.client.press_and_release('both') except ethereum_client.exception.errors.DenyError as error: diff --git a/tests/speculos/test_sign_cmd.py b/tests/speculos/test_sign_cmd.py index 6c44f5d..0590c2b 100644 --- a/tests/speculos/test_sign_cmd.py +++ b/tests/speculos/test_sign_cmd.py @@ -2,7 +2,7 @@ from time import sleep import ethereum_client -from ethereum_client.utils import UINT64_MAX, compare_screenshot, compare_screenshot, save_screenshot +from ethereum_client.utils import UINT64_MAX, compare_screenshot, compare_screenshot, save_screenshot, PATH_IMG from ethereum_client.transaction import Transaction @@ -29,52 +29,52 @@ def test_sign_simple(cmd): if cmd.model == "nanos": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00000.png") cmd.client.press_and_release('right') # Amount 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00001.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00002.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00003.png") cmd.client.press_and_release('right') # Address 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00004.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00005.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00006.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00006.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00007.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00007.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00008.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00008.png") cmd.client.press_and_release('both') - if cmd.model == "nanox": + if cmd.model == "nanox" or cmd.model == "nanosp": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00000.png") cmd.client.press_and_release('right') # Amount - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00001.png") cmd.client.press_and_release('right') # Address - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00002.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00003.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/simple/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/simple/00004.png") cmd.client.press_and_release('both') v, r, s = result @@ -105,60 +105,60 @@ def test_sign_dai_coin_type_on_network_5234(cmd): if cmd.model == "nanos": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00000.png") cmd.client.press_and_release('right') # Amount 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00001.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00002.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00003.png") cmd.client.press_and_release('right') # Address 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00004.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00005.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00006.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00006.png") cmd.client.press_and_release('right') # Network 5243 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00007.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00007.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00008.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00008.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00009.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00009.png") cmd.client.press_and_release('both') - if cmd.model == "nanox": + if cmd.model == "nanox" or cmd.model == "nanosp": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00000.png") cmd.client.press_and_release('right') # Amount - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00001.png") cmd.client.press_and_release('right') # Address - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00002.png") cmd.client.press_and_release('right') # Network 5243 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00003.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00004.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/dai_coin_type_on_network_5234/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/dai_coin_type_on_network_5234/00005.png") cmd.client.press_and_release('both') v, r, s = result @@ -190,60 +190,60 @@ def test_sign_reject(cmd): if cmd.model == "nanos": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00000.png") cmd.client.press_and_release('right') # Amount 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00001.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00002.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00003.png") cmd.client.press_and_release('right') # Address 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00004.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00005.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00006.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00006.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00007.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00007.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00008.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00008.png") cmd.client.press_and_release('right') # Reject - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00009.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00009.png") cmd.client.press_and_release('both') - if cmd.model == "nanox": + if cmd.model == "nanox" or cmd.model == "nanosp": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00000.png") cmd.client.press_and_release('right') # Amount - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00001.png") cmd.client.press_and_release('right') # Address - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00002.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00003.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00004.png") cmd.client.press_and_release('right') # Reject - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/reject/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00005.png") cmd.client.press_and_release('both') except ethereum_client.exception.errors.DenyError as error: @@ -272,52 +272,52 @@ def test_sign_limit_nonce(cmd): if cmd.model == "nanos": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00000.png") cmd.client.press_and_release('right') # Amount 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00001.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00002.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00003.png") cmd.client.press_and_release('right') # Address 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00004.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00005.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00006.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00006.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00007.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00007.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00008.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00008.png") cmd.client.press_and_release('both') - if cmd.model == "nanox": + if cmd.model == "nanox" or cmd.model == "nanosp": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00000.png") cmd.client.press_and_release('right') # Amount - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00001.png") cmd.client.press_and_release('right') # Address - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00002.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00003.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/limit_nonce/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/limit_nonce/00004.png") cmd.client.press_and_release('both') v, r, s = result @@ -398,60 +398,60 @@ def test_sign_nonce_display(cmd): if cmd.model == "nanos": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00000.png") cmd.client.press_and_release('right') # Amount 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00001.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00002.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00003.png") cmd.client.press_and_release('right') # Address 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00004.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00005.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00006.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00006.png") cmd.client.press_and_release('right') # Nonce - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00007.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00007.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00008.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00008.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00009.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00009.png") cmd.client.press_and_release('both') - if cmd.model == "nanox": + if cmd.model == "nanox" or cmd.model == "nanosp": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00000.png") cmd.client.press_and_release('right') # Amount - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00001.png") cmd.client.press_and_release('right') # Address - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00002.png") cmd.client.press_and_release('right') # Nonce - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00003.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00004.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/nonce_display/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/nonce_display/00005.png") cmd.client.press_and_release('both') v, r, s = result @@ -500,60 +500,60 @@ def test_sign_blind_simple(cmd): if cmd.model == "nanos": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00000.png") cmd.client.press_and_release('right') # Blind Signing - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00001.png") cmd.client.press_and_release('right') # Amount 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00002.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00003.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00004.png") cmd.client.press_and_release('right') # Address 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00005.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00006.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00006.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00007.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00007.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00008.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00008.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00009.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00009.png") cmd.client.press_and_release('both') - if cmd.model == "nanox": + if cmd.model == "nanox" or cmd.model == "nanosp": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00000.png") cmd.client.press_and_release('right') # Blind Signing - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00001.png") cmd.client.press_and_release('right') # Amount - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00002.png") cmd.client.press_and_release('right') # Address - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00003.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00004.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_simple/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_simple/00005.png") cmd.client.press_and_release('both') v, r, s = result @@ -586,7 +586,7 @@ def test_sign_blind_error_disabled(cmd): if cmd.model == "nanos": pass - if cmd.model == "nanox": + if cmd.model == "nanox" or cmd.model == "nanosp": pass except ethereum_client.exception.errors.UnknownDeviceError as error: assert error.args[0] == '0x6a80' @@ -632,68 +632,68 @@ def test_sign_blind_and_nonce_display(cmd): if cmd.model == "nanos": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00000.png") cmd.client.press_and_release('right') # Blind Signing - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00001.png") cmd.client.press_and_release('right') # Amount 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00002.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00003.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00004.png") cmd.client.press_and_release('right') # Address 1/3, 2/3, 3/3 - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00005.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00006.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00006.png") cmd.client.press_and_release('right') - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00007.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00007.png") cmd.client.press_and_release('right') # Nonce - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00008.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00008.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00009.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00009.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00010.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00010.png") cmd.client.press_and_release('both') - if cmd.model == "nanox": + if cmd.model == "nanox" or cmd.model == "nanosp": # Review transaction - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00000.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00000.png") cmd.client.press_and_release('right') # Blind Signing - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00001.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00001.png") cmd.client.press_and_release('right') # Amount - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00002.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00002.png") cmd.client.press_and_release('right') # Address - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00003.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00003.png") cmd.client.press_and_release('right') # Nonce - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00004.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00004.png") cmd.client.press_and_release('right') # Max Fees - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00005.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00005.png") cmd.client.press_and_release('right') # Accept and send - compare_screenshot(cmd, f"screenshots/sign/{cmd.model}/blind_and_nonce_display/00006.png") + compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/blind_and_nonce_display/00006.png") cmd.client.press_and_release('both') v, r, s = result From 4bdf0e3c7af52360bd890dd47b32472c6388726d Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 24 Jun 2022 13:38:28 +0200 Subject: [PATCH 19/69] feat: apdu_as_string in utils --- tests/speculos/ethereum_client/utils.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/speculos/ethereum_client/utils.py b/tests/speculos/ethereum_client/utils.py index d5d05a4..72c63c9 100644 --- a/tests/speculos/ethereum_client/utils.py +++ b/tests/speculos/ethereum_client/utils.py @@ -13,6 +13,16 @@ UINT16_MAX: int = 65535 # Association tableau si écran nanos ou nanox PATH_IMG = {"nanos": "nanos", "nanox": "nanox", "nanosp": "nanox"} +def apdu_as_string(apdu: str) -> bytes: + buffer: bytearray = bytearray(len(apdu) // 2) + + for i in range(0, len(apdu), 2): + str_extract: str = apdu[i: i + 2] + buffer[i // 2] = int(str_extract, 16) + + return bytes(buffer) + + def save_screenshot(cmd, path: str): screenshot = cmd.client.get_screenshot() img = Image.open(io.BytesIO(screenshot)) From 0d130e1de6f5415595685565a353393cb0d7a8e3 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 24 Jun 2022 13:39:16 +0200 Subject: [PATCH 20/69] feat: plugin object (set_plugin & provide_nft_info) --- tests/speculos/ethereum_client/plugin.py | 40 ++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 tests/speculos/ethereum_client/plugin.py diff --git a/tests/speculos/ethereum_client/plugin.py b/tests/speculos/ethereum_client/plugin.py new file mode 100644 index 0000000..17a82f4 --- /dev/null +++ b/tests/speculos/ethereum_client/plugin.py @@ -0,0 +1,40 @@ +from typing import Union + +from ethereum_client.utils import (read, read_uint, read_varint, + write_varint, UINT64_MAX) + +class Plugin: + def __init__(self, type: int, version: int, name: str, addr: Union[str, bytes], selector: int = -1, chainID: int = 1, keyID: int = 0, algorithm: int = 1, sign: bytes = b'') -> None: + self.type: int = type + self.version: int = version + self.name: bytes = bytes(name, 'UTF-8') + self.addr: bytes = bytes.fromhex(addr[2:]) if isinstance(addr, str) else addr + self.selector: int = selector + self.chainID: int = chainID + self.keyID: int = keyID + self.algorithm: int = algorithm + self.sign: bytes = sign + + def serialize(self) -> bytes: + return b"".join([ + self.type.to_bytes(1, byteorder="big"), + + self.version.to_bytes(1, byteorder="big"), + + write_varint(len(self.name)), + self.name, + + self.addr, + + b'' if self.selector == -1 else self.selector.to_bytes(4, byteorder="big"), + + self.chainID.to_bytes(8, byteorder="big"), + + self.keyID.to_bytes(1, byteorder="big"), + + self.algorithm.to_bytes(1, byteorder="big"), + + write_varint(len(self.sign)), + self.sign, + + ]) \ No newline at end of file From df1434cf8af8cee90a5c9c08137d8d334c91c73a Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 24 Jun 2022 13:40:15 +0200 Subject: [PATCH 21/69] feat: first test erc721 (set_plugin apdu) --- tests/speculos/test_plugin_cmd.py | 47 +++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 tests/speculos/test_plugin_cmd.py diff --git a/tests/speculos/test_plugin_cmd.py b/tests/speculos/test_plugin_cmd.py new file mode 100644 index 0000000..e604d5b --- /dev/null +++ b/tests/speculos/test_plugin_cmd.py @@ -0,0 +1,47 @@ +from ethereum_client.utils import UINT64_MAX, apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG +from ethereum_client.plugin import Plugin +import ethereum_client + + + +def test_set_plugin(cmd): + plugin = Plugin( + type=1, + version=1, + name="ERC721", + addr="0x60f80121c31a0d46b5279700f9df786054aa5ee5", + selector=0x42842e0e, + chainID=1, + keyID=0, + algorithm=1, + sign=b"\x30\x45\x02\x20\x2e\x22\x82\xd7\xd3\xea\x71\x4d\xa2\x83\x01\x0f\x51\x7a\xf4\x69\xe1\xd5\x96\x54\xaa\xee\x0f\xc4\x38\xf0\x17\xaa\x55\x7e\xae\xa5\x02\x21\x00\x8b\x36\x96\x79\x38\x10\x65\xbb\xe0\x11\x35\x72\x3a\x4f\x9a\xdb\x22\x92\x95\x01\x7d\x37\xc4\xd3\x01\x38\xb9\x0a\x51\xcf\x6a\xb6", + ) + + provide_nft_information = Plugin( + type=1, + version=1, + name="Rarible", + addr="0x60f80121c31a0d46b5279700f9df786054aa5ee5", + chainID=1, + keyID=0, + algorithm=1, + sign=b"\x30\x45\x02\x20\x25\x69\x69\x86\xef\x5f\x0e\xe2\xf7\x2d\x9c\x6e\x41\xd7\xe2\xbf\x2e\x4f\x06\x37\x3a\xb2\x6d\x73\xeb\xe3\x26\xc7\xfd\x4c\x7a\x66\x02\x21\x00\x84\xf6\xb0\x64\xd8\x75\x0a\xe6\x8e\xd5\xdd\x01\x22\x96\xf3\x70\x30\x39\x0e\xc0\x6f\xf5\x34\xc5\xda\x6f\x0f\x4a\x44\x60\xaf\x33", + ) + + try: + cmd.set_plugin(plugin=plugin) + cmd.provide_nft_information(plugin=provide_nft_information) + a = apdu_as_string("e004000096058000002c8000003c800000000000000000000000f88a0a852c3ce1ec008301f5679460f80121c31a0d46b5279700f9df786054aa5ee580b86442842e0e0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c000000000000000000000000000000000000000000000000") + b = apdu_as_string("e00480000b0000000000112999018080") + + print(a) + print(b) + with cmd.send_apdu_context(a) as ex: + pass + + with cmd.send_apdu_context(b) as ex: + pass + + assert 1 == 2 + except ethereum_client.exception.errors.InvalidData as error: + assert error.args[0] == '0x680' From 45a054de090fed767619957648bb362f4fa07faf Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 24 Jun 2022 14:21:26 +0200 Subject: [PATCH 22/69] feat: send raw apdu --- .../speculos/ethereum_client/ethereum_cmd.py | 45 ++++++++++++++++- .../ethereum_client/ethereum_cmd_builder.py | 48 ++++++++++++++++++- 2 files changed, 90 insertions(+), 3 deletions(-) diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index dca85a3..c2d81ec 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -10,6 +10,7 @@ from speculos.client import SpeculosClient, ApduException from ethereum_client.ethereum_cmd_builder import EthereumCommandBuilder, InsType from ethereum_client.exception import DeviceException from ethereum_client.transaction import Transaction +from ethereum_client.plugin import Plugin class EthereumCommand: @@ -40,6 +41,24 @@ class EthereumCommand: return info, major, minor, patch + def set_plugin(self, plugin: Plugin): + try: + response = self.client._apdu_exchange( + self.builder.set_plugin(plugin=plugin) + ) + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_SET_PLUGIN) + + def provide_nft_information(self, plugin: Plugin): + try: + response = self.client._apdu_exchange( + self.builder.provide_nft_information(plugin=plugin) + ) + + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_SET_PLUGIN) + + @contextmanager def get_public_key(self, bip32_path: str, display: bool = False, result: List = list()) -> Tuple[bytes, bytes, bytes]: try: @@ -80,9 +99,30 @@ class EthereumCommand: result.append(eth_addr) result.append(chain_code) + def send_apdu(self, apdu: bytes) -> bytes: + try: + response = self.client._apdu_exchange( + apdu + ) + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) + + @contextmanager + def send_apdu_context(self, apdu: bytes) -> bytes: + try: + + with self.client._apdu_exchange(apdu) as exchange: + yield exchange + + #response: bytes = exchange.receive() + + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) + + # Not use @contextmanager - def test_zemu_hard_apdu_sign(self, transaction: Transaction) -> Tuple[int, int, int]: + def test_zemu_hard_apdu_sign(self) -> Tuple[int, int, int]: sign: bytes = b'\xe0\x04\x00\x00\x80\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x69\x46\x85\x06\xa8\xb1\x5e\x00\x82\xeb\xeb\x94\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x80\xb8\x44\x09\x5e\xa7\xb3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x27\x68\xde\x32\xb0\xb8\x0b\x7a\x34\x54\xc0\x6b\xda\xc9\x4a\x69\xdd\xc7\xa9\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x80\x80' simple_eth: bytes = b'\xe0\x04\x00\x00\x41\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x44\x85\x03\x06\xdc\x42\x00\x82\x52\x08\x94\x5a\x32\x17\x44\x66\x70\x52\xaf\xfa\x83\x86\xed\x49\xe0\x0e\xf2\x23\xcb\xff\xc3\x87\x6f\x9c\x9e\x7b\xf6\x18\x18\x80\x01\x80\x80' provide_erc20: bytes = b'\xe0\x0a\x00\x00\x67\x03\x44\x41\x49\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x00\x00\x00\x12\x00\x00\x00\x01\x30\x45\x02\x21\x00\xb3\xaa\x97\x96\x33\x28\x4e\xb0\xf5\x54\x59\x09\x93\x33\xab\x92\xcf\x06\xfd\xd5\x8d\xc9\x0e\x9c\x07\x00\x00\xc8\xe9\x68\x86\x4c\x02\x20\x7b\x10\xec\x7d\x66\x09\xf5\x1d\xda\x53\xd0\x83\xa6\xe1\x65\xa0\xab\xf3\xa7\x7e\x13\x25\x0e\x6f\x26\x07\x72\x80\x9b\x49\xaf\xf5' @@ -105,7 +145,6 @@ class EthereumCommand: b'\x00' + # Payload b'\xc0\x01\xa0\xe0\x7f\xb8\xa6\x4e\xa3\x78\x6c\x9a\x66\x49\xe5\x44\x29\xe2\x78\x6a\xf3\xea\x31\xc6\xd0\x61\x65\x34\x66\x78\xcf\x8c\xe4\x4f\x9b\xa0\x0e\x4a\x05\x26\xdb\x1e\x90\x5b\x71\x64\xa8\x58\xfd\x5e\xbd\x2f\x17\x59\xe2\x2e\x69\x55\x49\x94\x48\xbd\x27\x6a\x6a\xa6\x28\x30']) - a = self.builder.simple_sign_tx(bip32_path="44'/60'/1'/0/0", transaction=transaction) try: @@ -149,3 +188,5 @@ class EthereumCommand: result.append(v) result.append(r) result.append(s) + + diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index 241a4b8..a02facf 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -5,6 +5,7 @@ from typing import List, Tuple, Union, Iterator, cast from ethereum_client.transaction import Transaction +from ethereum_client.plugin import Plugin from ethereum_client.utils import bip32_path_from_string MAX_APDU_LEN: int = 255 @@ -119,6 +120,51 @@ class EthereumCommandBuilder: p2=0x00, cdata=b"") + def set_plugin(self, plugin: Plugin) -> bytes: + """Command builder for SET_PLUGIN. + + Parameters + ---------- + -> Check documentation of APDU + + Returns + ------- + bytes + APDU command for SET_PLUGIN. + + """ + + cdata: bytes = plugin.serialize() + + return self.serialize(cla=self.CLA, + ins=InsType.INS_SET_PLUGIN, + p1=0x00, + p2=0x00, + cdata=cdata) + + def provide_nft_information(self, plugin: Plugin) -> bytes: + """Command builder for PROVIDE_NFT_INFORMATION. + + Parameters + ---------- + -> Check documentation of APDU + + Returns + ------- + bytes + APDU command for PROVIDE_NFT_INFORMATION. + + """ + + cdata: bytes = plugin.serialize() + + return self.serialize(cla=self.CLA, + ins=InsType.INS_PROVIDE_NFT_INFORMATION, + p1=0x00, + p2=0x00, + cdata=cdata) + + def get_public_key(self, bip32_path: str, display: bool = False) -> bytes: """Command builder for GET_PUBLIC_KEY. @@ -141,7 +187,7 @@ class EthereumCommandBuilder: len(bip32_paths).to_bytes(1, byteorder="big"), *bip32_paths ]) - + return self.serialize(cla=self.CLA, ins=InsType.INS_GET_PUBLIC_KEY, p1=0x01 if display else 0x00, From 52769eb522c1f2d26657255d65660e674b200d66 Mon Sep 17 00:00:00 2001 From: Coline Date: Tue, 28 Jun 2022 10:37:07 +0200 Subject: [PATCH 23/69] feat: erc721 test with screen and path argument for binary --- tests/speculos/conftest.py | 7 +- .../speculos/ethereum_client/ethereum_cmd.py | 15 +- .../erc721/nanox/transfer_erc721/00000.png | Bin 0 -> 414 bytes .../erc721/nanox/transfer_erc721/00001.png | Bin 0 -> 328 bytes .../erc721/nanox/transfer_erc721/00002.png | Bin 0 -> 710 bytes .../erc721/nanox/transfer_erc721/00003.png | Bin 0 -> 442 bytes .../erc721/nanox/transfer_erc721/00004.png | Bin 0 -> 770 bytes .../erc721/nanox/transfer_erc721/00005.png | Bin 0 -> 352 bytes .../erc721/nanox/transfer_erc721/00006.png | Bin 0 -> 463 bytes .../erc721/nanox/transfer_erc721/00007.png | Bin 0 -> 472 bytes .../00000.png | Bin 0 -> 414 bytes .../00001.png | Bin 0 -> 328 bytes .../00002.png | Bin 0 -> 710 bytes .../00003.png | Bin 0 -> 457 bytes .../00004.png | Bin 0 -> 770 bytes .../00005.png | Bin 0 -> 352 bytes .../00006.png | Bin 0 -> 463 bytes .../00007.png | Bin 0 -> 472 bytes tests/speculos/test_erc721.py | 174 ++++++++++++++++++ 19 files changed, 188 insertions(+), 8 deletions(-) create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721/00000.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721/00001.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721/00002.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721/00003.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721/00004.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721/00005.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721/00006.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721/00007.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00000.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00001.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00002.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00003.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00004.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00005.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00006.png create mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00007.png create mode 100644 tests/speculos/test_erc721.py diff --git a/tests/speculos/conftest.py b/tests/speculos/conftest.py index dbf815f..e5b5a3b 100644 --- a/tests/speculos/conftest.py +++ b/tests/speculos/conftest.py @@ -14,15 +14,18 @@ VERSION = {"nanos": "2.1", "nanox": "2.0.2", "nanosp": "1.0"} def pytest_addoption(parser): - # nanos or nanox + # nanos, nanox, nanosp parser.addoption("--model", action="store", default="nanos") # qt: default, requires a X server # headless: nothing is displayed parser.addoption("--display", action="store", default="qt") + path: str = SCRIPT_DIR.parent.parent / "bin" / "app.elf" + parser.addoption("--path", action="store", default=path) + @pytest.fixture() def client(pytestconfig): - file_path = SCRIPT_DIR.parent.parent / "bin" / "app.elf" + file_path = pytestconfig.getoption("path") model = pytestconfig.getoption("model") args = ['--log-level', 'speculos:DEBUG','--model', model, '--display', pytestconfig.getoption("display"), '--sdk', VERSION[model]] diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index c2d81ec..2bbb133 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -101,18 +101,21 @@ class EthereumCommand: def send_apdu(self, apdu: bytes) -> bytes: try: - response = self.client._apdu_exchange( - apdu - ) + self.client.apdu_exchange(cla=apdu[0], ins=apdu[1], + p1=apdu[2], p2=apdu[3], + data=apdu[5:]) except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) @contextmanager - def send_apdu_context(self, apdu: bytes) -> bytes: + def send_apdu_context(self, apdu: bytes, result: List = list()) -> bytes: try: - with self.client._apdu_exchange(apdu) as exchange: - yield exchange + with self.client.apdu_exchange_nowait(cla=apdu[0], ins=apdu[1], + p1=apdu[2], p2=apdu[3], + data=apdu[5:]) as exchange: + yield exchange + result.append(exchange.receive()) #response: bytes = exchange.receive() diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721/00000.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*?Yj*NZe%~CWfG*OPo;i-j_O-xVE4x(*ytjw|n)zfm3qM^Fc~!IW3PH z=3&G7^uB>>R8cN7G`M%~8~Dv(y@wMl0ef=JL30x+0gXjJr4(YpS&Ni_M+%mJpk>|= zECB!jJVXC(X!Xzb!Z-auExGj4Gr3kE;j(mP_ElSOM$PyQq6$PO@+x6nNKV|U z#l4(~Y5SpCCZ^*LJP2>B+6ihm$fAFnjZlmJ&E%jbt58n|L6(ER5?%lR0000000000 a_?s`=hm}oltDK<#0000u3sS>)oAq|}pu!|U%Xyl{BVJnpv4cf)=CuT#aiY%s4dJa&LtOh0Mi z?5(?URdco49q=@vRsTj`elO8#QWO6XEUo-URwWFLa3>XkyHq`)3`f>nTI+0hKA)Bg zQf)2M741cLtBgGH%3&4E9!j;#X!Q63C%C*esOnnRR$(VC)b{mic&n&Zen%GL88AIi zfP(_;?w(e2gPs-rQ@)V7z~d59ZAz;rq>Za(pSTZt2u*E|NT$nX3E{z(gaMS9mn{7iIlPSdK?$XqOpdcB@gp z-T~mr(>m66cO?@&_XO)5;6xH1)lagmoK;(~-T?*v90Qbdqv1mS!iU;XwsOzzzcgb+dqA>>*913aAu#YLiblK=n!07*qoM6N<$f)1EUTL1t6 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721/00003.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..9e8c446ebafe3ddbebf6ef6a978ee29a2ba4b852 GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|?+Yba4!+nDh2#blwpK9*2vW zrq+r7y_59+cC_exmPnqL`~GK_P;;l^%xQb#fVvKp#lM?oc&tRmDWlz%@l%D$%H8cI z&mtd7e*b2A+pJ{ji=2&N1%3{_QAx)VB=!AQoe*f6)o&BqW7uli_OT_BO?k4|<)>?R z)mY!U@+4o{dqdB3^~o^Ot6>Ur-~{J5f}>^sZ<4u7fe%RTUQM3c6xHb;|$d zUVo=JcS?GeZN#OU?2ofcKYU~bx_*VmjoB-jABE1?QLdKt@w@+lhif^yYmNv0d#tv- z;nwU0vDRB}|7qgf@c!?r+>}bsysULnD^8aRU$|F1|I+8sb+a2DSmdKI;Vst0BAPE6#xJL literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721/00004.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..23f2a45049fefdbf9ab903d8934d9b600a527185 GIT binary patch literal 770 zcmV+d1O5DoP)kx>KP=*pJ4EMEcV)Kdf9^}NbUh?D$=mK0WI7dZ_ zfro)lHfVTa**|J?bcUPt4pT&;FlbvjDHF6 zjjPtIN3fntRd?vS2_r)?i{WeS#rtqb{z0}6n4NGF9#~~farg#ibyr8Zne6_X46EzD z0Z;>nyyR-~a&dQH){ITGu)FeA?cR05;M`OTn)N&rL!%nMqFCo=+{wNHxH5CE19m#> zn{{l%6|eOEtKa+?o(klSgd7G!Evq9{QQE1+oNd$cu+jDHht62v2FhdwW{?^E+fYKy z=-&*-;7OQ;o`n1GlgRLT)zC&de0i;&qmdG+C4;m$X8raq2YMf*Rv*6>gf{?3-qPxl z3DpM#9Jeoet6B~-%4_~HD^)lCSL8`>?gym^xd5%kF%P;{=-e`ybU-aNA`h#kDbUYg z0Hj4LtA<@Jnzp!EKUpWE(iN67hbu@YbE=^-`b|q$4IQWJ;V18qHYHUez07$b!~fi? z=_-z*dw^`|N|Z<@l_@xUappVYcQ@vMYyo#fLI@#*5K^=7m-351PMJ>0*3lvm$fei0 zzU;02*lPe1_N!e>>y5nW zjo3fQb}JyvLNb*fe}6u&itV`p5JCtcgb?x!-+H-TqnD2<+W-In07*qoM6N<$f}Dba4!+nDh2#AYZcrPebDN zH)?zTPpq15J3%r`;9~BU9sjF~wA!}FGU;&xH5uGFyPG*b#8kH9#4ls}Jdf>9&#yE) zli&T|;oZh$pC6wbzMF)EhVo8r-d)cAs_gY&qb9WkZ>_}laW%n5SWMVz1vyO{YV?wr z{&`(siCJ?-T5UG#+%&ZvK$Aa+CYf)!6KtG*Yx0Sjdfj+?^I6~DKZ=d-a+TZhsb^=( zxh?P4nBA=USMg8#;U=En+@J5>+e+mwW!2Y>MUf7tE6mszvVm-dw{vtIDK p@!1%1RX(zP)A<1uKFGlSGfU0fO;0SQbZr0$d%F6$taD0e0sz#{l0^Uj literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721/00006.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..6ce12bac14e5a62c5d71f7041d7b801af0da1c6f GIT binary patch literal 463 zcmV;=0WkiFP)PX1-8c9O-ZL%1+$9Q)!E`<W;YVljjSKI*t! zAGaCTrOeLdE7oBA>GA;>>2myk>rN`f@hgcnx_9E~odc%)s5F`uXZ7?5rzDx|ZzH6d z>~F>xSfUD9x=1o(uoUS90000000000000000001%`3J~Te_WG%`!N6j002ovPDHLk FV1o5N)s+AM literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721/00007.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*?Yj*NZe%~CWfG*OPo;i-j_O-xVE4x(*ytjw|n)zfm3qM^Fc~!IW3PH z=3&G7^uB>>R8cN7G`M%~8~Dv(y@wMl0ef=JL30x+0gXjJr4(YpS&Ni_M+%mJpk>|= zECB!jJVXC(X!Xzb!Z-auExGj4Gr3kE;j(mP_ElSOM$PyQq6$PO@+x6nNKV|U z#l4(~Y5SpCCZ^*LJP2>B+6ihm$fAFnjZlmJ&E%jbt58n|L6(ER5?%lR0000000000 a_?s`=hm}oltDK<#0000u3sS>)oAq|}pu!|U%Xyl{BVJnpv4cf)=CuT#aiY%s4dJa&LtOh0Mi z?5(?URdco49q=@vRsTj`elO8#QWO6XEUo-URwWFLa3>XkyHq`)3`f>nTI+0hKA)Bg zQf)2M741cLtBgGH%3&4E9!j;#X!Q63C%C*esOnnRR$(VC)b{mic&n&Zen%GL88AIi zfP(_;?w(e2gPs-rQ@)V7z~d59ZAz;rq>Za(pSTZt2u*E|NT$nX3E{z(gaMS9mn{7iIlPSdK?$XqOpdcB@gp z-T~mr(>m66cO?@&_XO)5;6xH1)lagmoK;(~-T?*v90Qbdqv1mS!iU;XwsOzzzcgb+dqA>>*913aAu#YLiblK=n!07*qoM6N<$f)1EUTL1t6 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00003.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..b34af53fcd4c2abde410f077c7f6ee0d6d53ff3a GIT binary patch literal 457 zcmV;)0XF`LP)aH1MOvfRFde|Kx zk4HM~ZXu0%)_BH!_f^|Abk)(>WUbIS0Ty+MIfG@qEL4#p1T`OdcQM8kRvE?}<{6Ca zwAfu^t+i>+C6R;=YWZ3X1rR}zte)u}G(PPwmT z)k16fil@+F@-3*9OxfU>jA&ZB%HZG9v|CU^c2KQ*06Q+I=XEo$M`IRWWnk!!i> z*{Z z*OM;I{2kx>KP=*pJ4EMEcV)Kdf9^}NbUh?D$=mK0WI7dZ_ zfro)lHfVTa**|J?bcUPt4pT&;FlbvjDHF6 zjjPtIN3fntRd?vS2_r)?i{WeS#rtqb{z0}6n4NGF9#~~farg#ibyr8Zne6_X46EzD z0Z;>nyyR-~a&dQH){ITGu)FeA?cR05;M`OTn)N&rL!%nMqFCo=+{wNHxH5CE19m#> zn{{l%6|eOEtKa+?o(klSgd7G!Evq9{QQE1+oNd$cu+jDHht62v2FhdwW{?^E+fYKy z=-&*-;7OQ;o`n1GlgRLT)zC&de0i;&qmdG+C4;m$X8raq2YMf*Rv*6>gf{?3-qPxl z3DpM#9Jeoet6B~-%4_~HD^)lCSL8`>?gym^xd5%kF%P;{=-e`ybU-aNA`h#kDbUYg z0Hj4LtA<@Jnzp!EKUpWE(iN67hbu@YbE=^-`b|q$4IQWJ;V18qHYHUez07$b!~fi? z=_-z*dw^`|N|Z<@l_@xUappVYcQ@vMYyo#fLI@#*5K^=7m-351PMJ>0*3lvm$fei0 zzU;02*lPe1_N!e>>y5nW zjo3fQb}JyvLNb*fe}6u&itV`p5JCtcgb?x!-+H-TqnD2<+W-In07*qoM6N<$f}Dba4!+nDh2#AYZcrPebDN zH)?zTPpq15J3%r`;9~BU9sjF~wA!}FGU;&xH5uGFyPG*b#8kH9#4ls}Jdf>9&#yE) zli&T|;oZh$pC6wbzMF)EhVo8r-d)cAs_gY&qb9WkZ>_}laW%n5SWMVz1vyO{YV?wr z{&`(siCJ?-T5UG#+%&ZvK$Aa+CYf)!6KtG*Yx0Sjdfj+?^I6~DKZ=d-a+TZhsb^=( zxh?P4nBA=USMg8#;U=En+@J5>+e+mwW!2Y>MUf7tE6mszvVm-dw{vtIDK p@!1%1RX(zP)A<1uKFGlSGfU0fO;0SQbZr0$d%F6$taD0e0sz#{l0^Uj literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00006.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..6ce12bac14e5a62c5d71f7041d7b801af0da1c6f GIT binary patch literal 463 zcmV;=0WkiFP)PX1-8c9O-ZL%1+$9Q)!E`<W;YVljjSKI*t! zAGaCTrOeLdE7oBA>GA;>>2myk>rN`f@hgcnx_9E~odc%)s5F`uXZ7?5rzDx|ZzH6d z>~F>xSfUD9x=1o(uoUS90000000000000000001%`3J~Te_WG%`!N6j002ovPDHLk FV1o5N)s+AM literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00007.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000 Tuple[bytes, bytes, bytes]: + assert len(response) == 65 + + offset: int = 0 + + v: bytes = response[offset] + offset += 1 + + r: bytes = response[offset:offset + 32] + offset += 32 + + s: bytes = response[offset:] + + return (v, r, s) + + +def test_transfer_erc721(cmd): + result: list = [] + + if cmd.model == "nanox" or cmd.model == "nanosp": + try: + cmd.set_plugin(plugin=PLUGIN) + cmd.provide_nft_information(plugin=PROVIDE_NFT_INFORMATION) + + cmd.send_apdu(SIGN_FIRST) + + with cmd.send_apdu_context(SIGN_MORE, result) as ex: + sleep(0.5) + # Review transaction + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00000.png") + cmd.client.press_and_release('right') + + # NFT Transfer + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00001.png") + cmd.client.press_and_release('right') + + # To + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00002.png") + cmd.client.press_and_release('right') + + # Collection Name + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00003.png") + cmd.client.press_and_release('right') + + # NFT Address + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00004.png") + cmd.client.press_and_release('right') + + # NFT ID + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00005.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00006.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00007.png") + cmd.client.press_and_release('both') + pass + + response: bytes = result[0] + v, r, s = parse_sign_response(response) + + assert v == 0x25 # 37 + assert r.hex() == "68ba082523584adbfc31d36d68b51d6f209ce0838215026bf1802a8f17dcdff4" + assert s.hex() == "7c92908fa05c8bc86507a3d6a1c8b3c2722ee01c836d89a61df60c1ab0b43fff" + + except ethereum_client.exception.errors.DenyError as error: + assert error.args[0] == '0x6a80' + + +def test_transfer_erc721_without_nft_provide_info(cmd): + result: list = [] + + if cmd.model == "nanox" or cmd.model == "nanosp": + try: + cmd.set_plugin(plugin=PLUGIN) + + cmd.send_apdu(SIGN_FIRST) + + with cmd.send_apdu_context(SIGN_MORE, result) as ex: + sleep(0.5) + + # Review transaction + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00000.png") + cmd.client.press_and_release('right') + + # NFT Transfer + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00001.png") + cmd.client.press_and_release('right') + + # To + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00002.png") + cmd.client.press_and_release('right') + + # Collection Name + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00003.png") + cmd.client.press_and_release('right') + + # NFT Address + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00004.png") + cmd.client.press_and_release('right') + + # NFT ID + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00005.png") + cmd.client.press_and_release('right') + + # Max Fees + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00006.png") + cmd.client.press_and_release('right') + + # Accept and send + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00007.png") + cmd.client.press_and_release('both') + pass + + response: bytes = result[0] + v, r, s = parse_sign_response(response) + + assert v == 0x25 # 37 + assert r.hex() == "68ba082523584adbfc31d36d68b51d6f209ce0838215026bf1802a8f17dcdff4" + assert s.hex() == "7c92908fa05c8bc86507a3d6a1c8b3c2722ee01c836d89a61df60c1ab0b43fff" + + except ethereum_client.exception.errors.DenyError as error: + assert error.args[0] == '0x6a80' + + +def test_transfer_erc721_without_set_plugin(cmd): + result: list = [] + + if cmd.model == "nanox" or cmd.model == "nanosp": + try: + cmd.provide_nft_information(plugin=PROVIDE_NFT_INFORMATION) + + cmd.send_apdu(SIGN_FIRST) + + with cmd.send_apdu_context(SIGN_MORE, result) as ex: + pass + + except ethereum_client.exception.errors.UnknownDeviceError as error: + assert error.args[0] == '0x6a80' \ No newline at end of file From 8313fc39386b47858c351292fad8e004792de7e2 Mon Sep 17 00:00:00 2001 From: Coline Date: Tue, 28 Jun 2022 10:37:48 +0200 Subject: [PATCH 24/69] rm: test_plugin_cmd.py -> mv to test_erc721 --- tests/speculos/test_plugin_cmd.py | 47 ------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 tests/speculos/test_plugin_cmd.py diff --git a/tests/speculos/test_plugin_cmd.py b/tests/speculos/test_plugin_cmd.py deleted file mode 100644 index e604d5b..0000000 --- a/tests/speculos/test_plugin_cmd.py +++ /dev/null @@ -1,47 +0,0 @@ -from ethereum_client.utils import UINT64_MAX, apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG -from ethereum_client.plugin import Plugin -import ethereum_client - - - -def test_set_plugin(cmd): - plugin = Plugin( - type=1, - version=1, - name="ERC721", - addr="0x60f80121c31a0d46b5279700f9df786054aa5ee5", - selector=0x42842e0e, - chainID=1, - keyID=0, - algorithm=1, - sign=b"\x30\x45\x02\x20\x2e\x22\x82\xd7\xd3\xea\x71\x4d\xa2\x83\x01\x0f\x51\x7a\xf4\x69\xe1\xd5\x96\x54\xaa\xee\x0f\xc4\x38\xf0\x17\xaa\x55\x7e\xae\xa5\x02\x21\x00\x8b\x36\x96\x79\x38\x10\x65\xbb\xe0\x11\x35\x72\x3a\x4f\x9a\xdb\x22\x92\x95\x01\x7d\x37\xc4\xd3\x01\x38\xb9\x0a\x51\xcf\x6a\xb6", - ) - - provide_nft_information = Plugin( - type=1, - version=1, - name="Rarible", - addr="0x60f80121c31a0d46b5279700f9df786054aa5ee5", - chainID=1, - keyID=0, - algorithm=1, - sign=b"\x30\x45\x02\x20\x25\x69\x69\x86\xef\x5f\x0e\xe2\xf7\x2d\x9c\x6e\x41\xd7\xe2\xbf\x2e\x4f\x06\x37\x3a\xb2\x6d\x73\xeb\xe3\x26\xc7\xfd\x4c\x7a\x66\x02\x21\x00\x84\xf6\xb0\x64\xd8\x75\x0a\xe6\x8e\xd5\xdd\x01\x22\x96\xf3\x70\x30\x39\x0e\xc0\x6f\xf5\x34\xc5\xda\x6f\x0f\x4a\x44\x60\xaf\x33", - ) - - try: - cmd.set_plugin(plugin=plugin) - cmd.provide_nft_information(plugin=provide_nft_information) - a = apdu_as_string("e004000096058000002c8000003c800000000000000000000000f88a0a852c3ce1ec008301f5679460f80121c31a0d46b5279700f9df786054aa5ee580b86442842e0e0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c000000000000000000000000000000000000000000000000") - b = apdu_as_string("e00480000b0000000000112999018080") - - print(a) - print(b) - with cmd.send_apdu_context(a) as ex: - pass - - with cmd.send_apdu_context(b) as ex: - pass - - assert 1 == 2 - except ethereum_client.exception.errors.InvalidData as error: - assert error.args[0] == '0x680' From 3491bd5fa21d4edcb9931f94b40eecd849a46179 Mon Sep 17 00:00:00 2001 From: Coline Date: Tue, 28 Jun 2022 10:50:35 +0200 Subject: [PATCH 25/69] fix: rm try except into test --- tests/speculos/ethereum_client/utils.py | 20 ++- tests/speculos/test_erc721.py | 164 ++++++++++-------------- 2 files changed, 88 insertions(+), 96 deletions(-) diff --git a/tests/speculos/ethereum_client/utils.py b/tests/speculos/ethereum_client/utils.py index 72c63c9..e318b7f 100644 --- a/tests/speculos/ethereum_client/utils.py +++ b/tests/speculos/ethereum_client/utils.py @@ -1,5 +1,5 @@ from io import BytesIO -from typing import List, Optional, Literal +from typing import List, Optional, Literal, Tuple import speculos.client @@ -23,6 +23,7 @@ def apdu_as_string(apdu: str) -> bytes: return bytes(buffer) + def save_screenshot(cmd, path: str): screenshot = cmd.client.get_screenshot() img = Image.open(io.BytesIO(screenshot)) @@ -33,6 +34,23 @@ def compare_screenshot(cmd, path: str): screenshot = cmd.client.get_screenshot() assert speculos.client.screenshot_equal(path, io.BytesIO(screenshot)) + +def parse_sign_response(response : bytes) -> Tuple[bytes, bytes, bytes]: + assert len(response) == 65 + + offset: int = 0 + + v: bytes = response[offset] + offset += 1 + + r: bytes = response[offset:offset + 32] + offset += 32 + + s: bytes = response[offset:] + + return (v, r, s) + + def bip32_path_from_string(path: str) -> List[bytes]: splitted_path: List[str] = path.split("/") diff --git a/tests/speculos/test_erc721.py b/tests/speculos/test_erc721.py index 6cd6de2..db96995 100644 --- a/tests/speculos/test_erc721.py +++ b/tests/speculos/test_erc721.py @@ -1,6 +1,5 @@ from time import sleep -from typing import Tuple -from ethereum_client.utils import UINT64_MAX, apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG +from ethereum_client.utils import UINT64_MAX, apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response from ethereum_client.plugin import Plugin import ethereum_client @@ -30,132 +29,107 @@ PROVIDE_NFT_INFORMATION = Plugin( sign=b"\x30\x45\x02\x20\x25\x69\x69\x86\xef\x5f\x0e\xe2\xf7\x2d\x9c\x6e\x41\xd7\xe2\xbf\x2e\x4f\x06\x37\x3a\xb2\x6d\x73\xeb\xe3\x26\xc7\xfd\x4c\x7a\x66\x02\x21\x00\x84\xf6\xb0\x64\xd8\x75\x0a\xe6\x8e\xd5\xdd\x01\x22\x96\xf3\x70\x30\x39\x0e\xc0\x6f\xf5\x34\xc5\xda\x6f\x0f\x4a\x44\x60\xaf\x33", ) -def parse_sign_response(response : bytes) -> Tuple[bytes, bytes, bytes]: - assert len(response) == 65 - - offset: int = 0 - - v: bytes = response[offset] - offset += 1 - - r: bytes = response[offset:offset + 32] - offset += 32 - - s: bytes = response[offset:] - - return (v, r, s) - - def test_transfer_erc721(cmd): result: list = [] if cmd.model == "nanox" or cmd.model == "nanosp": - try: - cmd.set_plugin(plugin=PLUGIN) - cmd.provide_nft_information(plugin=PROVIDE_NFT_INFORMATION) + cmd.set_plugin(plugin=PLUGIN) + cmd.provide_nft_information(plugin=PROVIDE_NFT_INFORMATION) - cmd.send_apdu(SIGN_FIRST) + cmd.send_apdu(SIGN_FIRST) - with cmd.send_apdu_context(SIGN_MORE, result) as ex: - sleep(0.5) - # Review transaction - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00000.png") - cmd.client.press_and_release('right') + with cmd.send_apdu_context(SIGN_MORE, result) as ex: + sleep(0.5) + # Review transaction + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00000.png") + cmd.client.press_and_release('right') - # NFT Transfer - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00001.png") - cmd.client.press_and_release('right') + # NFT Transfer + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00001.png") + cmd.client.press_and_release('right') - # To - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00002.png") - cmd.client.press_and_release('right') + # To + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00002.png") + cmd.client.press_and_release('right') - # Collection Name - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00003.png") - cmd.client.press_and_release('right') + # Collection Name + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00003.png") + cmd.client.press_and_release('right') - # NFT Address - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00004.png") - cmd.client.press_and_release('right') + # NFT Address + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00004.png") + cmd.client.press_and_release('right') - # NFT ID - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00005.png") - cmd.client.press_and_release('right') + # NFT ID + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00005.png") + cmd.client.press_and_release('right') - # Max Fees - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00006.png") - cmd.client.press_and_release('right') + # Max Fees + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00006.png") + cmd.client.press_and_release('right') - # Accept and send - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00007.png") - cmd.client.press_and_release('both') - pass + # Accept and send + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721/00007.png") + cmd.client.press_and_release('both') - response: bytes = result[0] - v, r, s = parse_sign_response(response) + response: bytes = result[0] + v, r, s = parse_sign_response(response) - assert v == 0x25 # 37 - assert r.hex() == "68ba082523584adbfc31d36d68b51d6f209ce0838215026bf1802a8f17dcdff4" - assert s.hex() == "7c92908fa05c8bc86507a3d6a1c8b3c2722ee01c836d89a61df60c1ab0b43fff" - - except ethereum_client.exception.errors.DenyError as error: - assert error.args[0] == '0x6a80' + assert v == 0x25 # 37 + assert r.hex() == "68ba082523584adbfc31d36d68b51d6f209ce0838215026bf1802a8f17dcdff4" + assert s.hex() == "7c92908fa05c8bc86507a3d6a1c8b3c2722ee01c836d89a61df60c1ab0b43fff" def test_transfer_erc721_without_nft_provide_info(cmd): result: list = [] if cmd.model == "nanox" or cmd.model == "nanosp": - try: - cmd.set_plugin(plugin=PLUGIN) + cmd.set_plugin(plugin=PLUGIN) - cmd.send_apdu(SIGN_FIRST) + cmd.send_apdu(SIGN_FIRST) - with cmd.send_apdu_context(SIGN_MORE, result) as ex: - sleep(0.5) + with cmd.send_apdu_context(SIGN_MORE, result) as ex: + sleep(0.5) - # Review transaction - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00000.png") - cmd.client.press_and_release('right') + # Review transaction + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00000.png") + cmd.client.press_and_release('right') - # NFT Transfer - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00001.png") - cmd.client.press_and_release('right') + # NFT Transfer + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00001.png") + cmd.client.press_and_release('right') - # To - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00002.png") - cmd.client.press_and_release('right') + # To + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00002.png") + cmd.client.press_and_release('right') - # Collection Name - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00003.png") - cmd.client.press_and_release('right') + # Collection Name + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00003.png") + cmd.client.press_and_release('right') - # NFT Address - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00004.png") - cmd.client.press_and_release('right') + # NFT Address + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00004.png") + cmd.client.press_and_release('right') - # NFT ID - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00005.png") - cmd.client.press_and_release('right') + # NFT ID + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00005.png") + cmd.client.press_and_release('right') - # Max Fees - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00006.png") - cmd.client.press_and_release('right') + # Max Fees + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00006.png") + cmd.client.press_and_release('right') - # Accept and send - compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00007.png") - cmd.client.press_and_release('both') - pass + # Accept and send + compare_screenshot(cmd, f"screenshots/erc721/{PATH_IMG[cmd.model]}/transfer_erc721_without_nft_provide_info/00007.png") + cmd.client.press_and_release('both') - response: bytes = result[0] - v, r, s = parse_sign_response(response) + response: bytes = result[0] + v, r, s = parse_sign_response(response) + + assert v == 0x25 # 37 + assert r.hex() == "68ba082523584adbfc31d36d68b51d6f209ce0838215026bf1802a8f17dcdff4" + assert s.hex() == "7c92908fa05c8bc86507a3d6a1c8b3c2722ee01c836d89a61df60c1ab0b43fff" - assert v == 0x25 # 37 - assert r.hex() == "68ba082523584adbfc31d36d68b51d6f209ce0838215026bf1802a8f17dcdff4" - assert s.hex() == "7c92908fa05c8bc86507a3d6a1c8b3c2722ee01c836d89a61df60c1ab0b43fff" - - except ethereum_client.exception.errors.DenyError as error: - assert error.args[0] == '0x6a80' def test_transfer_erc721_without_set_plugin(cmd): From f9673dfca7128772e772cb5d4ca1bdbefab47f7f Mon Sep 17 00:00:00 2001 From: Coline Date: Tue, 28 Jun 2022 13:16:57 +0200 Subject: [PATCH 26/69] feat: erc1155 tests with screen --- .../erc1155/nanox/transfer_erc1155/00000.png | Bin 0 -> 414 bytes .../erc1155/nanox/transfer_erc1155/00001.png | Bin 0 -> 328 bytes .../erc1155/nanox/transfer_erc1155/00002.png | Bin 0 -> 710 bytes .../erc1155/nanox/transfer_erc1155/00003.png | Bin 0 -> 528 bytes .../erc1155/nanox/transfer_erc1155/00004.png | Bin 0 -> 823 bytes .../erc1155/nanox/transfer_erc1155/00005.png | Bin 0 -> 792 bytes .../erc1155/nanox/transfer_erc1155/00006.png | Bin 0 -> 558 bytes .../erc1155/nanox/transfer_erc1155/00007.png | Bin 0 -> 312 bytes .../erc1155/nanox/transfer_erc1155/00008.png | Bin 0 -> 464 bytes .../erc1155/nanox/transfer_erc1155/00009.png | Bin 0 -> 472 bytes .../00000.png | Bin 0 -> 414 bytes .../00001.png | Bin 0 -> 328 bytes .../00002.png | Bin 0 -> 710 bytes .../00003.png | Bin 0 -> 457 bytes .../00004.png | Bin 0 -> 823 bytes .../00005.png | Bin 0 -> 792 bytes .../00006.png | Bin 0 -> 558 bytes .../00007.png | Bin 0 -> 312 bytes .../00008.png | Bin 0 -> 464 bytes .../00009.png | Bin 0 -> 472 bytes tests/speculos/test_erc1155.py | 160 ++++++++++++++++++ tests/speculos/test_erc721.py | 22 +-- 22 files changed, 171 insertions(+), 11 deletions(-) create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00000.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00001.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00002.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00003.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00004.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00005.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00006.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00007.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00008.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00009.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00000.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00001.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00002.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00003.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00004.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00005.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00006.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00007.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00008.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00009.png create mode 100644 tests/speculos/test_erc1155.py diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00000.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*?Yj*NZe%~CWfG*OPo;i-j_O-xVE4x(*ytjw|n)zfm3qM^Fc~!IW3PH z=3&G7^uB>>R8cN7G`M%~8~Dv(y@wMl0ef=JL30x+0gXjJr4(YpS&Ni_M+%mJpk>|= zECB!jJVXC(X!Xzb!Z-auExGj4Gr3kE;j(mP_ElSOM$PyQq6$PO@+x6nNKV|U z#l4(~Y5SpCCZ^*LJP2>B+6ihm$fAFnjZlmJ&E%jbt58n|L6(ER5?%lR0000000000 a_?s`=hm}oltDK<#0000u3sS>)oAq|}pu!|U%Xyl{BVJnpv4cf)=CuT#aiY%s4dJa&LtOh0Mi z?5(?URdco49q=@vRsTj`elO8#QWO6XEUo-URwWFLa3>XkyHq`)3`f>nTI+0hKA)Bg zQf)2M741cLtBgGH%3&4E9!j;#X!Q63C%C*esOnnRR$(VC)b{mic&n&Zen%GL88AIi zfP(_;?w(e2gPs-rQ@)V7z~d59ZAz;rq>Za(pSTZt2u*E|NT$nX3E{z(gaMS9mn{7iIlPSdK?$XqOpdcB@gp z-T~mr(>m66cO?@&_XO)5;6xH1)lagmoK;(~-T?*v90Qbdqv1mS!iU;XwsOzzzcgb+dqA>>*913aAu#YLiblK=n!07*qoM6N<$f)1EUTL1t6 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00003.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..a5790c197388350f3a1b1c943a17c6dd5b80c8a0 GIT binary patch literal 528 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|_uN>EaktG3V{f=)P739*4On z?{fZ*pHw}QU-;6Lpi|yO#?Nac-<)<5eO1Z`)Wopo-1!a9YVZHFTKc5hmg!T~v6mZK zWj?Q}c=oer)xQ_1Qn`YKj$xtC=@_$%tBgcIHaa^hnkz@8-IsBz|2n`;O+kt!s3? zEIVJ*!YH=CscNF;?3ziEyRyO!e?~@q-xuvEV)|ivj;h)e++wfnPqzis-| zenzuz{UgZ|R*TuXTRrr@SFe6DyZ-I$uB|$&_iOjpTqxBH>zi`-+JeH#$KuK=G;6;~ z)y&LVmp17HOG)CA?0+UEi~sRQ+OrF!pN{5eGMRKnCa3iaC@L{P&SU;niYFDnM@^au OlJj)+b6Mw<&;$Ug_2g3k literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00004.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..5906d19670483bbdca21b03b527ea852b494fe6e GIT binary patch literal 823 zcmV-71IYY|P)7?pftUHm7OLi@+n=P@CxWf||_bkMB zf?1><&FKtuu}nHDVQ(@6&Cc5bGL7f^&!9(dr}nl?W-DPlK%%LDCgH*nWro+g z>YBU9GuyEMqNSdWM(CRN1C?IV*nuC$dB(@YQm0cppq?c4rRXf;v(+k|@ym)ea>pFM z-Xb&88Q47?3(#&cvxU3%u*QwAa@{qZRZissw88C4Lxqw1!b<@Wl}V3+wbL>CsiISB zI!%^s@)RZrZjc%M$1p<8=syhC;7xc6y-5;euEADxcssrunpXBY<%$JNvtpD;uhjIF zjvQ~hB5hH`?-X8x(7OXRCPne79R<4HIKh#pl7UKaky;Z#-B6?~#9gM~-M!Q!{vKRg z$>Y}YR)lA(-Jxc8Gc5~ox=Tu5#vI05(Z6QC8JB)*ObFb=YU_2~_VCcUfml3j&{UVr z8Im2~H3(O+FzGU%w8+Q<$$|OyMl4x?t^Ll+N}0wSX%&3rp5)kkH%3h7IcZ)LsKlv` ze!zOx+UI|o#(1Vo$*y6f)(9bl5JE`H#$U?gwCNh&R@7Rc*ioGF8?l*^Cr!5xjC$bj_)&P4hbVQ&3k2)%f!qu>v~LVt6_0t_?U?KH(`V2sbrN&pxfDl3mA%u`0#ecoe%Sp5F(P{ty002ovPDHLkV1ke` Bow5J` literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00005.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..d6257d347a1536ff8e530304937dd86728fcae1c GIT binary patch literal 792 zcmV+z1LypSP)@TCRW};E3pCXi@pp9x2*+<~BT}(wfov?jNZap(`+m%`H2@pN zgZEn-kzg<46)WI8&)nEF*(Nr>V3M3?S!PhY#fGkf4A%qYGM-6QRldz?TQ=L>F zn|`HiIn*Rmza%i>CGt`B%&)gPmb;ZMWsE@FrZzw>g0 z^flwp4^l`@O3V`I=(b-EMuSMAh_xI8yhuXa!z)GD;yg}NDJ;r4#vr=WGO zzq-@j8^D)bL?2rLGD1x-zC;CU1F&f1$8q#>bnz0UTDJi?hRSx3GFkrIc5AR-vg)6u zJIS2=Z75UC+20If@FdJaPvT56W3UuCy{H=MYL>=9uxM9VSJ#xaM%71Lvot)6jY73d z;cAw4$)3f~8jY55ITKMa!M^a}fL&Y!)zGZ_+PdrRr(C3cDMDRb`0xTUk$Xc%?xMJR zvM*JnD*cR?=#TGci7w9}i!>q**e#zGcwb24Gbw0TjB9dhvk$NMlK`ycmI1}*%{t(4 z0D4Pxo!=?5|5}^?fP!V9@K7U2&UJf76w_EO>CcW`fe=CnA>@;R)X-6Zv#y>cJ!X9d zIw{unMu+q`%)I0$8JZC4%9GeR(%`#xmQyJIlAy*BOhkD3QuqL5$VyW zZo5>xSpYB3h*%4{hj_K`%ea{jG2I}^4>4sgO_>>gK%`fah#Km?{^fV}w3U{CfSM(I zBL2t%1s)wj{t5{Hb)%9cXlIc-x?%?)SJDd~%iMEk?5K+PGcyAz+Atx65JCtcOZW%o WV8u#kNX+B_0000$D literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00006.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..061c754c7733618beab803330ab526c04a16a484 GIT binary patch literal 558 zcmV+}0@3}6P)UTJq`c>004mHe9c}U#&|YD2-ip1 zHaLe#IqF0?Opd?$6CG@sa+WH2EZ?&is1p7nJ3SK*&5^RlcDcPRs#~O=pV!zCtv}dUA!RNtE_Xt z#yG1gpz5<;$rqo1>+(=7d+li1INL_nBrl{b5$Qu1a1n8!Fy%pP-owi% z$wrBE@sn4*9Gx7l5JI&l$1|pRRuW;_);dhf5{I~xw5Cj{AJJhMF0OS4J??2%DW z>M`_8SocCEXXSaXu9e&h$vrIR8h3l*C(p0j=72|8|Hx9BWxAyfNY>7sJn#;v#%_;f zkA~{7W{izr6<%?zCuTt>MI&SVWhkb``isE_J0S|~q+(=zFqPcA)BhXVMqW*HCVx{C z(0_z+5O38upMRiV{I`^xH}3JBwIG{P%yGU{G33AvJg+z!s<6-Dqe9Rd!2z3j=pEom wIz7R?`Ry10000000000000000006w5U!4OsCJS)&^Z)<=07*qoM6N<$f+=MB8UO$Q literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00007.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..c748a750b1b71690ef58c191ac87c58280aab984 GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QvW?&978JRyuA_FcSu2i;ljF) zYJ2}r+|eyBeNt!JMN?hom(}&W7BeJgEIJL;b@#8zx>&Ey{@1(aZ9nCCP(946lQlz* zzvs`xfN9m=#BT(A&$+Y5u&~s6deEyaKPH}4IC~*`h3ex4cdXWb-}*K4=j?;`rH*74 z)(I!-ha}CG`pA+awYF3ywNE&p{KdxEB`xNkWmqjj-9 zSM%bMknyCr9>u5&ukW^bd))uWP~$IrUgZBV#j|f%B_5R@n5yYu#Okq(;p8o*GynXg z@67&ks*ZiP=d{0hWv&~Vv?AxM7n1=fYv<3J*wu6{1- HoD!M<+rx*M literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00008.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00008.png new file mode 100644 index 0000000000000000000000000000000000000000..cd509d9907238bbeda5aed2629ac476d990947df GIT binary patch literal 464 zcmV;>0WbcEP)|L@5`573}d(hvXu0D$Sf<`0=t+74ojt(L=m zp6qA7pVbq%(u?Artz3YVQjAgDyy5Tdyv4M9MEs9S-H+Y5r_alMPae-B?!q3OIxcFY zQc5|R`G;jcYGXO*4S!9?6H`$AOoaX3Z>>kZM)Xj2r8bJQ^VeY60*GW%-?^a?snJpL zaVvL;(I>CL;uPc$@zBDkK{O(}D*uEBrl2y_Wa^9B4w>j@yI5^p`w|8K0QjGdS3~Wh zO4%rOL-nVgu?wwFwOZ6^h`q5<5i+jvw6x}bqtdRor zXQm)epywApRiC*4FCtUW(0y_KpXotM(B%UzPI+29LwF2*hB|xhg!k^ZC4v!TqCbri zYN9_GYp@boXr)e&S%X^#Y literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00009.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155/00009.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*?Yj*NZe%~CWfG*OPo;i-j_O-xVE4x(*ytjw|n)zfm3qM^Fc~!IW3PH z=3&G7^uB>>R8cN7G`M%~8~Dv(y@wMl0ef=JL30x+0gXjJr4(YpS&Ni_M+%mJpk>|= zECB!jJVXC(X!Xzb!Z-auExGj4Gr3kE;j(mP_ElSOM$PyQq6$PO@+x6nNKV|U z#l4(~Y5SpCCZ^*LJP2>B+6ihm$fAFnjZlmJ&E%jbt58n|L6(ER5?%lR0000000000 a_?s`=hm}oltDK<#0000u3sS>)oAq|}pu!|U%Xyl{BVJnpv4cf)=CuT#aiY%s4dJa&LtOh0Mi z?5(?URdco49q=@vRsTj`elO8#QWO6XEUo-URwWFLa3>XkyHq`)3`f>nTI+0hKA)Bg zQf)2M741cLtBgGH%3&4E9!j;#X!Q63C%C*esOnnRR$(VC)b{mic&n&Zen%GL88AIi zfP(_;?w(e2gPs-rQ@)V7z~d59ZAz;rq>Za(pSTZt2u*E|NT$nX3E{z(gaMS9mn{7iIlPSdK?$XqOpdcB@gp z-T~mr(>m66cO?@&_XO)5;6xH1)lagmoK;(~-T?*v90Qbdqv1mS!iU;XwsOzzzcgb+dqA>>*913aAu#YLiblK=n!07*qoM6N<$f)1EUTL1t6 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00003.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..b34af53fcd4c2abde410f077c7f6ee0d6d53ff3a GIT binary patch literal 457 zcmV;)0XF`LP)aH1MOvfRFde|Kx zk4HM~ZXu0%)_BH!_f^|Abk)(>WUbIS0Ty+MIfG@qEL4#p1T`OdcQM8kRvE?}<{6Ca zwAfu^t+i>+C6R;=YWZ3X1rR}zte)u}G(PPwmT z)k16fil@+F@-3*9OxfU>jA&ZB%HZG9v|CU^c2KQ*06Q+I=XEo$M`IRWWnk!!i> z*{Z z*OM;I{27?pftUHm7OLi@+n=P@CxWf||_bkMB zf?1><&FKtuu}nHDVQ(@6&Cc5bGL7f^&!9(dr}nl?W-DPlK%%LDCgH*nWro+g z>YBU9GuyEMqNSdWM(CRN1C?IV*nuC$dB(@YQm0cppq?c4rRXf;v(+k|@ym)ea>pFM z-Xb&88Q47?3(#&cvxU3%u*QwAa@{qZRZissw88C4Lxqw1!b<@Wl}V3+wbL>CsiISB zI!%^s@)RZrZjc%M$1p<8=syhC;7xc6y-5;euEADxcssrunpXBY<%$JNvtpD;uhjIF zjvQ~hB5hH`?-X8x(7OXRCPne79R<4HIKh#pl7UKaky;Z#-B6?~#9gM~-M!Q!{vKRg z$>Y}YR)lA(-Jxc8Gc5~ox=Tu5#vI05(Z6QC8JB)*ObFb=YU_2~_VCcUfml3j&{UVr z8Im2~H3(O+FzGU%w8+Q<$$|OyMl4x?t^Ll+N}0wSX%&3rp5)kkH%3h7IcZ)LsKlv` ze!zOx+UI|o#(1Vo$*y6f)(9bl5JE`H#$U?gwCNh&R@7Rc*ioGF8?l*^Cr!5xjC$bj_)&P4hbVQ&3k2)%f!qu>v~LVt6_0t_?U?KH(`V2sbrN&pxfDl3mA%u`0#ecoe%Sp5F(P{ty002ovPDHLkV1ke` Bow5J` literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00005.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..d6257d347a1536ff8e530304937dd86728fcae1c GIT binary patch literal 792 zcmV+z1LypSP)@TCRW};E3pCXi@pp9x2*+<~BT}(wfov?jNZap(`+m%`H2@pN zgZEn-kzg<46)WI8&)nEF*(Nr>V3M3?S!PhY#fGkf4A%qYGM-6QRldz?TQ=L>F zn|`HiIn*Rmza%i>CGt`B%&)gPmb;ZMWsE@FrZzw>g0 z^flwp4^l`@O3V`I=(b-EMuSMAh_xI8yhuXa!z)GD;yg}NDJ;r4#vr=WGO zzq-@j8^D)bL?2rLGD1x-zC;CU1F&f1$8q#>bnz0UTDJi?hRSx3GFkrIc5AR-vg)6u zJIS2=Z75UC+20If@FdJaPvT56W3UuCy{H=MYL>=9uxM9VSJ#xaM%71Lvot)6jY73d z;cAw4$)3f~8jY55ITKMa!M^a}fL&Y!)zGZ_+PdrRr(C3cDMDRb`0xTUk$Xc%?xMJR zvM*JnD*cR?=#TGci7w9}i!>q**e#zGcwb24Gbw0TjB9dhvk$NMlK`ycmI1}*%{t(4 z0D4Pxo!=?5|5}^?fP!V9@K7U2&UJf76w_EO>CcW`fe=CnA>@;R)X-6Zv#y>cJ!X9d zIw{unMu+q`%)I0$8JZC4%9GeR(%`#xmQyJIlAy*BOhkD3QuqL5$VyW zZo5>xSpYB3h*%4{hj_K`%ea{jG2I}^4>4sgO_>>gK%`fah#Km?{^fV}w3U{CfSM(I zBL2t%1s)wj{t5{Hb)%9cXlIc-x?%?)SJDd~%iMEk?5K+PGcyAz+Atx65JCtcOZW%o WV8u#kNX+B_0000$D literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00006.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..061c754c7733618beab803330ab526c04a16a484 GIT binary patch literal 558 zcmV+}0@3}6P)UTJq`c>004mHe9c}U#&|YD2-ip1 zHaLe#IqF0?Opd?$6CG@sa+WH2EZ?&is1p7nJ3SK*&5^RlcDcPRs#~O=pV!zCtv}dUA!RNtE_Xt z#yG1gpz5<;$rqo1>+(=7d+li1INL_nBrl{b5$Qu1a1n8!Fy%pP-owi% z$wrBE@sn4*9Gx7l5JI&l$1|pRRuW;_);dhf5{I~xw5Cj{AJJhMF0OS4J??2%DW z>M`_8SocCEXXSaXu9e&h$vrIR8h3l*C(p0j=72|8|Hx9BWxAyfNY>7sJn#;v#%_;f zkA~{7W{izr6<%?zCuTt>MI&SVWhkb``isE_J0S|~q+(=zFqPcA)BhXVMqW*HCVx{C z(0_z+5O38upMRiV{I`^xH}3JBwIG{P%yGU{G33AvJg+z!s<6-Dqe9Rd!2z3j=pEom wIz7R?`Ry10000000000000000006w5U!4OsCJS)&^Z)<=07*qoM6N<$f+=MB8UO$Q literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00007.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..c748a750b1b71690ef58c191ac87c58280aab984 GIT binary patch literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QvW?&978JRyuA_FcSu2i;ljF) zYJ2}r+|eyBeNt!JMN?hom(}&W7BeJgEIJL;b@#8zx>&Ey{@1(aZ9nCCP(946lQlz* zzvs`xfN9m=#BT(A&$+Y5u&~s6deEyaKPH}4IC~*`h3ex4cdXWb-}*K4=j?;`rH*74 z)(I!-ha}CG`pA+awYF3ywNE&p{KdxEB`xNkWmqjj-9 zSM%bMknyCr9>u5&ukW^bd))uWP~$IrUgZBV#j|f%B_5R@n5yYu#Okq(;p8o*GynXg z@67&ks*ZiP=d{0hWv&~Vv?AxM7n1=fYv<3J*wu6{1- HoD!M<+rx*M literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00008.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00008.png new file mode 100644 index 0000000000000000000000000000000000000000..cd509d9907238bbeda5aed2629ac476d990947df GIT binary patch literal 464 zcmV;>0WbcEP)|L@5`573}d(hvXu0D$Sf<`0=t+74ojt(L=m zp6qA7pVbq%(u?Artz3YVQjAgDyy5Tdyv4M9MEs9S-H+Y5r_alMPae-B?!q3OIxcFY zQc5|R`G;jcYGXO*4S!9?6H`$AOoaX3Z>>kZM)Xj2r8bJQ^VeY60*GW%-?^a?snJpL zaVvL;(I>CL;uPc$@zBDkK{O(}D*uEBrl2y_Wa^9B4w>j@yI5^p`w|8K0QjGdS3~Wh zO4%rOL-nVgu?wwFwOZ6^h`q5<5i+jvw6x}bqtdRor zXQm)epywApRiC*4FCtUW(0y_KpXotM(B%UzPI+29LwF2*hB|xhg!k^ZC4v!TqCbri zYN9_GYp@boXr)e&S%X^#Y literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00009.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00009.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000 Date: Tue, 28 Jun 2022 13:17:21 +0200 Subject: [PATCH 27/69] docs: some description in plugin class --- tests/speculos/ethereum_client/plugin.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/speculos/ethereum_client/plugin.py b/tests/speculos/ethereum_client/plugin.py index 17a82f4..2c4f4e2 100644 --- a/tests/speculos/ethereum_client/plugin.py +++ b/tests/speculos/ethereum_client/plugin.py @@ -4,6 +4,14 @@ from ethereum_client.utils import (read, read_uint, read_varint, write_varint, UINT64_MAX) class Plugin: + """Plugin class + Allows to generate an apdu of the SET_PLUGIN command or PROVIDE_NFT_INFORMATION + + PROVIDE_NFT_INFORMATION + ---- + do not define a selector + + """ def __init__(self, type: int, version: int, name: str, addr: Union[str, bytes], selector: int = -1, chainID: int = 1, keyID: int = 0, algorithm: int = 1, sign: bytes = b'') -> None: self.type: int = type self.version: int = version From 51fdc01065d15c42a58cd0284094f8a3ba1f9655 Mon Sep 17 00:00:00 2001 From: Coline Date: Tue, 28 Jun 2022 13:30:09 +0200 Subject: [PATCH 28/69] fix: rename functional to zemu --- .github/workflows/ci-workflow.yml | 12 ++++++------ tests/{functional => zemu}/.babelrc | 0 tests/{functional => zemu}/.flowconfig | 0 tests/{functional => zemu}/.gitignore | 0 tests/{functional => zemu}/Makefile | 0 tests/{functional => zemu}/build_local_test_elfs.sh | 0 tests/{functional => zemu}/globalsetup.js | 0 tests/{functional => zemu}/jest.config.js | 0 tests/{functional => zemu}/jest.js | 0 tests/{functional => zemu}/package.json | 0 tests/{functional => zemu}/setupTests.js | 0 .../snapshots/nanos_approve_dai_tokens/00000.png | Bin .../snapshots/nanos_approve_dai_tokens/00001.png | Bin .../snapshots/nanos_approve_dai_tokens/00002.png | Bin .../snapshots/nanos_approve_dai_tokens/00003.png | Bin .../snapshots/nanos_approve_dai_tokens/00004.png | Bin .../snapshots/nanos_approve_dai_tokens/00005.png | Bin .../snapshots/nanos_approve_dai_tokens/00006.png | Bin .../snapshots/nanos_approve_dai_tokens/00007.png | Bin .../snapshots/nanos_approve_dai_tokens/00008.png | Bin .../snapshots/nanos_approve_dai_tokens/00009.png | 0 .../snapshots/nanos_approve_dai_tokens/00010.png | Bin .../nanos_deposit_eth_compound_blind/00000.png | Bin .../nanos_deposit_eth_compound_blind/00001.png | Bin .../nanos_deposit_eth_compound_blind/00002.png | Bin .../nanos_deposit_eth_compound_blind/00003.png | Bin .../nanos_deposit_eth_compound_blind/00004.png | Bin .../nanos_deposit_eth_compound_blind/00005.png | Bin .../nanos_deposit_eth_compound_blind/00006.png | Bin .../nanos_deposit_eth_compound_blind/00007.png | Bin .../nanos_deposit_eth_compound_blind/00008.png | Bin .../nanos_deposit_eth_compound_blind/00009.png | 0 .../nanos_deposit_eth_compound_blind/00010.png | Bin .../snapshots/nanos_disable_blind_signing/00000.png | Bin .../snapshots/nanos_disable_blind_signing/00001.png | Bin .../snapshots/nanos_disable_blind_signing/00002.png | Bin .../snapshots/nanos_disable_blind_signing/00003.png | Bin .../snapshots/nanos_disable_blind_signing/00004.png | Bin .../snapshots/nanos_disable_blind_signing/00005.png | Bin .../snapshots/nanos_disable_blind_signing/00006.png | Bin .../snapshots/nanos_disable_blind_signing/00007.png | Bin .../snapshots/nanos_disable_blind_signing/00008.png | Bin .../snapshots/nanos_enable_blind_signing/00000.png | Bin .../snapshots/nanos_enable_blind_signing/00001.png | Bin .../snapshots/nanos_enable_blind_signing/00002.png | Bin .../snapshots/nanos_enable_blind_signing/00003.png | Bin .../snapshots/nanos_enable_blind_signing/00004.png | Bin .../snapshots/nanos_enable_blind_signing/00005.png | Bin .../snapshots/nanos_enable_blind_signing/00006.png | Bin .../snapshots/nanos_enable_blind_signing/00007.png | Bin .../snapshots/nanos_enable_blind_signing/00008.png | Bin .../nanos_starkware_usdt_deposit/00000.png | Bin .../nanos_starkware_usdt_deposit/00001.png | Bin .../nanos_starkware_usdt_deposit/00002.png | Bin .../nanos_starkware_usdt_deposit/00003.png | Bin .../nanos_starkware_usdt_deposit/00004.png | Bin .../nanos_starkware_usdt_deposit/00005.png | Bin .../nanos_starkware_usdt_deposit/00006.png | Bin .../nanos_starkware_usdt_deposit/00007.png | Bin .../nanos_starkware_usdt_deposit/00008.png | Bin .../nanos_starkware_usdt_deposit/00009.png | Bin .../nanos_starkware_usdt_deposit/00010.png | Bin .../nanos_starkware_usdt_deposit/00011.png | Bin .../nanos_starkware_usdt_deposit/00012.png | Bin .../nanos_starkware_usdt_deposit/00013.png | Bin .../nanos_starkware_usdt_deposit/00014.png | Bin .../nanos_starkware_usdt_deposit/00015.png | 0 .../nanos_starkware_usdt_deposit/00016.png | Bin .../nanos_transfer_112233445566_network/00000.png | Bin .../nanos_transfer_112233445566_network/00001.png | Bin .../nanos_transfer_112233445566_network/00002.png | Bin .../nanos_transfer_112233445566_network/00003.png | Bin .../nanos_transfer_112233445566_network/00004.png | Bin .../nanos_transfer_112233445566_network/00005.png | Bin .../nanos_transfer_112233445566_network/00006.png | Bin .../nanos_transfer_112233445566_network/00007.png | Bin .../nanos_transfer_112233445566_network/00008.png | Bin .../nanos_transfer_112233445566_network/00009.png | Bin .../nanos_transfer_112233445566_network/00010.png | Bin .../nanos_transfer_112233445566_network/00011.png | 0 .../nanos_transfer_112233445566_network/00012.png | Bin .../snapshots/nanos_transfer_bsc/00000.png | Bin .../snapshots/nanos_transfer_bsc/00001.png | Bin .../snapshots/nanos_transfer_bsc/00002.png | Bin .../snapshots/nanos_transfer_bsc/00003.png | Bin .../snapshots/nanos_transfer_bsc/00004.png | Bin .../snapshots/nanos_transfer_bsc/00005.png | Bin .../snapshots/nanos_transfer_bsc/00006.png | Bin .../snapshots/nanos_transfer_bsc/00007.png | Bin .../snapshots/nanos_transfer_bsc/00008.png | Bin .../snapshots/nanos_transfer_bsc/00009.png | Bin .../snapshots/nanos_transfer_bsc/00010.png | Bin .../snapshots/nanos_transfer_bsc/00011.png | 0 .../snapshots/nanos_transfer_bsc/00012.png | Bin .../snapshots/nanos_transfer_eip1559/00000.png | Bin .../snapshots/nanos_transfer_eip1559/00001.png | Bin .../snapshots/nanos_transfer_eip1559/00002.png | Bin .../snapshots/nanos_transfer_eip1559/00003.png | Bin .../snapshots/nanos_transfer_eip1559/00004.png | Bin .../snapshots/nanos_transfer_eip1559/00005.png | Bin .../snapshots/nanos_transfer_eip1559/00006.png | Bin .../snapshots/nanos_transfer_eip1559/00007.png | Bin .../snapshots/nanos_transfer_eip1559/00008.png | 0 .../snapshots/nanos_transfer_eip1559/00009.png | Bin .../snapshots/nanos_transfer_ethereum/00000.png | Bin .../snapshots/nanos_transfer_ethereum/00001.png | Bin .../snapshots/nanos_transfer_ethereum/00002.png | Bin .../snapshots/nanos_transfer_ethereum/00003.png | Bin .../snapshots/nanos_transfer_ethereum/00004.png | Bin .../snapshots/nanos_transfer_ethereum/00005.png | Bin .../snapshots/nanos_transfer_ethereum/00006.png | Bin .../snapshots/nanos_transfer_ethereum/00007.png | Bin .../snapshots/nanos_transfer_ethereum/00008.png | Bin .../snapshots/nanos_transfer_ethereum/00009.png | Bin .../snapshots/nanos_transfer_ethereum/00010.png | 0 .../snapshots/nanos_transfer_ethereum/00011.png | Bin .../nanos_transfer_ethereum_5234_network/00000.png | Bin .../nanos_transfer_ethereum_5234_network/00001.png | Bin .../nanos_transfer_ethereum_5234_network/00002.png | Bin .../nanos_transfer_ethereum_5234_network/00003.png | Bin .../nanos_transfer_ethereum_5234_network/00004.png | Bin .../nanos_transfer_ethereum_5234_network/00005.png | Bin .../nanos_transfer_ethereum_5234_network/00006.png | Bin .../nanos_transfer_ethereum_5234_network/00007.png | Bin .../nanos_transfer_ethereum_5234_network/00008.png | Bin .../nanos_transfer_ethereum_5234_network/00009.png | Bin .../nanos_transfer_ethereum_5234_network/00010.png | Bin .../nanos_transfer_ethereum_5234_network/00011.png | 0 .../nanos_transfer_ethereum_5234_network/00012.png | Bin .../nanos_transfer_ethereum_clone/00000.png | Bin .../nanos_transfer_ethereum_clone/00001.png | Bin .../nanos_transfer_ethereum_clone/00002.png | Bin .../nanos_transfer_ethereum_clone/00003.png | Bin .../nanos_transfer_ethereum_clone/00004.png | Bin .../nanos_transfer_ethereum_clone/00005.png | Bin .../nanos_transfer_ethereum_clone/00006.png | Bin .../nanos_transfer_ethereum_clone/00007.png | Bin .../nanos_transfer_ethereum_clone/00008.png | Bin .../nanos_transfer_ethereum_clone/00009.png | Bin .../nanos_transfer_ethereum_clone/00010.png | 0 .../nanos_transfer_ethereum_clone/00011.png | Bin .../snapshots/nanos_transfer_palm_network/00000.png | Bin .../snapshots/nanos_transfer_palm_network/00001.png | Bin .../snapshots/nanos_transfer_palm_network/00002.png | Bin .../snapshots/nanos_transfer_palm_network/00003.png | Bin .../snapshots/nanos_transfer_palm_network/00004.png | Bin .../snapshots/nanos_transfer_palm_network/00005.png | Bin .../snapshots/nanos_transfer_palm_network/00006.png | Bin .../snapshots/nanos_transfer_palm_network/00007.png | Bin .../snapshots/nanos_transfer_palm_network/00008.png | Bin .../snapshots/nanos_transfer_palm_network/00009.png | Bin .../snapshots/nanos_transfer_palm_network/00010.png | Bin .../snapshots/nanos_transfer_palm_network/00011.png | 0 .../snapshots/nanos_transfer_palm_network/00012.png | Bin .../00000.png | Bin .../00001.png | Bin .../00002.png | Bin .../snapshots/nanox_approve_dai_tokens/00000.png | Bin .../snapshots/nanox_approve_dai_tokens/00001.png | Bin .../snapshots/nanox_approve_dai_tokens/00002.png | Bin .../snapshots/nanox_approve_dai_tokens/00003.png | Bin .../snapshots/nanox_approve_dai_tokens/00004.png | Bin .../snapshots/nanox_approve_dai_tokens/00005.png | Bin .../snapshots/nanox_approve_dai_tokens/00006.png | Bin .../snapshots/nanox_approve_dai_tokens/00007.png | 0 .../snapshots/nanox_approve_dai_tokens/00008.png | Bin .../nanox_deposit_eth_compound_blind/00000.png | Bin .../nanox_deposit_eth_compound_blind/00001.png | Bin .../nanox_deposit_eth_compound_blind/00002.png | Bin .../nanox_deposit_eth_compound_blind/00003.png | Bin .../nanox_deposit_eth_compound_blind/00004.png | Bin .../nanox_deposit_eth_compound_blind/00005.png | Bin .../nanox_deposit_eth_compound_blind/00006.png | Bin .../nanox_deposit_eth_compound_blind/00007.png | 0 .../nanox_deposit_eth_compound_blind/00008.png | Bin .../snapshots/nanox_disable_blind_signing/00000.png | Bin .../snapshots/nanox_disable_blind_signing/00001.png | Bin .../snapshots/nanox_disable_blind_signing/00002.png | Bin .../snapshots/nanox_disable_blind_signing/00003.png | Bin .../snapshots/nanox_disable_blind_signing/00004.png | Bin .../snapshots/nanox_disable_blind_signing/00005.png | Bin .../snapshots/nanox_disable_blind_signing/00006.png | Bin .../snapshots/nanox_disable_blind_signing/00007.png | Bin .../snapshots/nanox_disable_blind_signing/00008.png | Bin .../snapshots/nanox_enable_blind_signing/00000.png | Bin .../snapshots/nanox_enable_blind_signing/00001.png | Bin .../snapshots/nanox_enable_blind_signing/00002.png | Bin .../snapshots/nanox_enable_blind_signing/00003.png | Bin .../snapshots/nanox_enable_blind_signing/00004.png | Bin .../snapshots/nanox_enable_blind_signing/00005.png | Bin .../snapshots/nanox_enable_blind_signing/00006.png | Bin .../snapshots/nanox_enable_blind_signing/00007.png | Bin .../snapshots/nanox_enable_blind_signing/00008.png | Bin .../nanox_erc1155_batch_transfer/00000.png | Bin .../nanox_erc1155_batch_transfer/00001.png | Bin .../nanox_erc1155_batch_transfer/00002.png | Bin .../nanox_erc1155_batch_transfer/00003.png | Bin .../nanox_erc1155_batch_transfer/00004.png | Bin .../nanox_erc1155_batch_transfer/00005.png | Bin .../nanox_erc1155_batch_transfer/00006.png | Bin .../nanox_erc1155_batch_transfer/00007.png | Bin .../nanox_erc1155_batch_transfer/00008.png | Bin .../nanox_erc1155_batch_transfer/00009.png | 0 .../nanox_erc1155_batch_transfer/00010.png | Bin .../snapshots/nanox_erc1155_transfer/00000.png | Bin .../snapshots/nanox_erc1155_transfer/00001.png | Bin .../snapshots/nanox_erc1155_transfer/00002.png | Bin .../snapshots/nanox_erc1155_transfer/00003.png | Bin .../snapshots/nanox_erc1155_transfer/00004.png | Bin .../snapshots/nanox_erc1155_transfer/00005.png | Bin .../snapshots/nanox_erc1155_transfer/00006.png | Bin .../snapshots/nanox_erc1155_transfer/00007.png | Bin .../snapshots/nanox_erc1155_transfer/00008.png | Bin .../snapshots/nanox_erc1155_transfer/00009.png | Bin .../snapshots/nanox_erc1155_transfer/00010.png | Bin .../snapshots/nanox_erc1155_transfer/00011.png | 0 .../snapshots/nanox_erc1155_transfer/00012.png | Bin .../nanox_erc1155_transfer_wo_info/00000.png | 0 .../nanox_erc1155_transfer_wo_info/00001.png | 0 .../nanox_erc1155_transfer_wo_info/00002.png | 0 .../nanox_erc1155_transfer_wo_info/00003.png | Bin .../nanox_erc1155_transfer_wo_info/00004.png | 0 .../nanox_erc1155_transfer_wo_info/00005.png | 0 .../nanox_erc1155_transfer_wo_info/00006.png | 0 .../nanox_erc1155_transfer_wo_info/00007.png | 0 .../nanox_erc1155_transfer_wo_info/00008.png | 0 .../nanox_erc1155_transfer_wo_info/00009.png | 0 .../nanox_erc1155_transfer_wo_info/00010.png | 0 .../nanox_erc1155_transfer_wo_info/00011.png | 0 .../nanox_erc1155_transfer_wo_info/00012.png | 0 .../snapshots/nanox_erc721_transfer/00000.png | Bin .../snapshots/nanox_erc721_transfer/00001.png | Bin .../snapshots/nanox_erc721_transfer/00002.png | Bin .../snapshots/nanox_erc721_transfer/00003.png | Bin .../snapshots/nanox_erc721_transfer/00004.png | Bin .../snapshots/nanox_erc721_transfer/00005.png | Bin .../snapshots/nanox_erc721_transfer/00006.png | Bin .../snapshots/nanox_erc721_transfer/00007.png | Bin .../snapshots/nanox_erc721_transfer/00008.png | Bin .../snapshots/nanox_erc721_transfer/00009.png | 0 .../snapshots/nanox_erc721_transfer/00010.png | Bin .../nanox_erc721_transfer_wo_info/00000.png | 0 .../nanox_erc721_transfer_wo_info/00001.png | 0 .../nanox_erc721_transfer_wo_info/00002.png | 0 .../nanox_erc721_transfer_wo_info/00003.png | Bin .../nanox_erc721_transfer_wo_info/00004.png | 0 .../nanox_erc721_transfer_wo_info/00005.png | 0 .../nanox_erc721_transfer_wo_info/00006.png | 0 .../nanox_erc721_transfer_wo_info/00007.png | 0 .../nanox_erc721_transfer_wo_info/00008.png | 0 .../nanox_erc721_transfer_wo_info/00009.png | 0 .../nanox_erc721_transfer_wo_info/00010.png | 0 .../nanox_starkware_usdt_deposit/00000.png | Bin .../nanox_starkware_usdt_deposit/00001.png | Bin .../nanox_starkware_usdt_deposit/00002.png | Bin .../nanox_starkware_usdt_deposit/00003.png | Bin .../nanox_starkware_usdt_deposit/00004.png | Bin .../nanox_starkware_usdt_deposit/00005.png | Bin .../nanox_starkware_usdt_deposit/00006.png | Bin .../nanox_starkware_usdt_deposit/00007.png | Bin .../nanox_starkware_usdt_deposit/00008.png | Bin .../nanox_starkware_usdt_deposit/00009.png | Bin .../nanox_starkware_usdt_deposit/00010.png | Bin .../nanox_starkware_usdt_deposit/00011.png | 0 .../nanox_starkware_usdt_deposit/00012.png | Bin .../nanox_transfer_112233445566_network/00000.png | Bin .../nanox_transfer_112233445566_network/00001.png | Bin .../nanox_transfer_112233445566_network/00002.png | Bin .../nanox_transfer_112233445566_network/00003.png | Bin .../nanox_transfer_112233445566_network/00004.png | Bin .../nanox_transfer_112233445566_network/00005.png | Bin .../nanox_transfer_112233445566_network/00006.png | Bin .../nanox_transfer_112233445566_network/00007.png | 0 .../nanox_transfer_112233445566_network/00008.png | Bin .../snapshots/nanox_transfer_bsc/00000.png | Bin .../snapshots/nanox_transfer_bsc/00001.png | Bin .../snapshots/nanox_transfer_bsc/00002.png | Bin .../snapshots/nanox_transfer_bsc/00003.png | Bin .../snapshots/nanox_transfer_bsc/00004.png | Bin .../snapshots/nanox_transfer_bsc/00005.png | Bin .../snapshots/nanox_transfer_bsc/00006.png | Bin .../snapshots/nanox_transfer_bsc/00007.png | 0 .../snapshots/nanox_transfer_bsc/00008.png | Bin .../snapshots/nanox_transfer_eip1559/00000.png | Bin .../snapshots/nanox_transfer_eip1559/00001.png | Bin .../snapshots/nanox_transfer_eip1559/00002.png | Bin .../snapshots/nanox_transfer_eip1559/00003.png | Bin .../snapshots/nanox_transfer_eip1559/00004.png | Bin .../snapshots/nanox_transfer_eip1559/00005.png | Bin .../snapshots/nanox_transfer_eip1559/00006.png | 0 .../snapshots/nanox_transfer_eip1559/00007.png | Bin .../snapshots/nanox_transfer_ethereum/00000.png | Bin .../snapshots/nanox_transfer_ethereum/00001.png | Bin .../snapshots/nanox_transfer_ethereum/00002.png | Bin .../snapshots/nanox_transfer_ethereum/00003.png | Bin .../snapshots/nanox_transfer_ethereum/00004.png | Bin .../snapshots/nanox_transfer_ethereum/00005.png | Bin .../snapshots/nanox_transfer_ethereum/00006.png | 0 .../snapshots/nanox_transfer_ethereum/00007.png | Bin .../nanox_transfer_ethereum_5234_network/00000.png | Bin .../nanox_transfer_ethereum_5234_network/00001.png | Bin .../nanox_transfer_ethereum_5234_network/00002.png | Bin .../nanox_transfer_ethereum_5234_network/00003.png | Bin .../nanox_transfer_ethereum_5234_network/00004.png | Bin .../nanox_transfer_ethereum_5234_network/00005.png | Bin .../nanox_transfer_ethereum_5234_network/00006.png | Bin .../nanox_transfer_ethereum_5234_network/00007.png | 0 .../nanox_transfer_ethereum_5234_network/00008.png | Bin .../nanox_transfer_ethereum_clone/00000.png | Bin .../nanox_transfer_ethereum_clone/00001.png | Bin .../nanox_transfer_ethereum_clone/00002.png | Bin .../nanox_transfer_ethereum_clone/00003.png | Bin .../nanox_transfer_ethereum_clone/00004.png | Bin .../nanox_transfer_ethereum_clone/00005.png | Bin .../nanox_transfer_ethereum_clone/00006.png | 0 .../nanox_transfer_ethereum_clone/00007.png | Bin .../snapshots/nanox_transfer_palm_network/00000.png | Bin .../snapshots/nanox_transfer_palm_network/00001.png | Bin .../snapshots/nanox_transfer_palm_network/00002.png | Bin .../snapshots/nanox_transfer_palm_network/00003.png | Bin .../snapshots/nanox_transfer_palm_network/00004.png | Bin .../snapshots/nanox_transfer_palm_network/00005.png | Bin .../snapshots/nanox_transfer_palm_network/00006.png | Bin .../snapshots/nanox_transfer_palm_network/00007.png | 0 .../snapshots/nanox_transfer_palm_network/00008.png | Bin .../00000.png | Bin .../00001.png | Bin tests/{functional => zemu}/src/approve.test.js | 0 .../src/blind_compound_deposit.test.js | 0 tests/{functional => zemu}/src/chainid.test.js | 0 .../src/contract_data_warning.test.js | 0 tests/{functional => zemu}/src/eip1559.test.js | 0 tests/{functional => zemu}/src/erc1155.test.js | 0 tests/{functional => zemu}/src/erc721.test.js | 0 tests/{functional => zemu}/src/send.test.js | 0 tests/{functional => zemu}/src/send_bsc.test.js | 0 tests/{functional => zemu}/src/send_etc.test.js | 0 tests/{functional => zemu}/src/starkware.test.js | 0 tests/{functional => zemu}/src/test.fixture.js | 0 tests/{functional => zemu}/yarn.lock | 0 340 files changed, 6 insertions(+), 6 deletions(-) rename tests/{functional => zemu}/.babelrc (100%) rename tests/{functional => zemu}/.flowconfig (100%) rename tests/{functional => zemu}/.gitignore (100%) rename tests/{functional => zemu}/Makefile (100%) rename tests/{functional => zemu}/build_local_test_elfs.sh (100%) rename tests/{functional => zemu}/globalsetup.js (100%) rename tests/{functional => zemu}/jest.config.js (100%) rename tests/{functional => zemu}/jest.js (100%) rename tests/{functional => zemu}/package.json (100%) rename tests/{functional => zemu}/setupTests.js (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanos_approve_dai_tokens/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanos_deposit_eth_compound_blind/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanos_disable_blind_signing/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_disable_blind_signing/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_disable_blind_signing/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_disable_blind_signing/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_disable_blind_signing/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_disable_blind_signing/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_disable_blind_signing/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_disable_blind_signing/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_disable_blind_signing/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_enable_blind_signing/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_enable_blind_signing/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_enable_blind_signing/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_enable_blind_signing/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_enable_blind_signing/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_enable_blind_signing/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_enable_blind_signing/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_enable_blind_signing/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_enable_blind_signing/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00011.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00012.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00013.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00014.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00015.png (100%) rename tests/{functional => zemu}/snapshots/nanos_starkware_usdt_deposit/00016.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00011.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_112233445566_network/00012.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00011.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_bsc/00012.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_eip1559/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_eip1559/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_eip1559/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_eip1559/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_eip1559/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_eip1559/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_eip1559/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_eip1559/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_eip1559/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_eip1559/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum/00011.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00011.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_5234_network/00012.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_ethereum_clone/00011.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00011.png (100%) rename tests/{functional => zemu}/snapshots/nanos_transfer_palm_network/00012.png (100%) rename tests/{functional => zemu}/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_approve_dai_tokens/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_approve_dai_tokens/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_approve_dai_tokens/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_approve_dai_tokens/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_approve_dai_tokens/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_approve_dai_tokens/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_approve_dai_tokens/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_approve_dai_tokens/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_approve_dai_tokens/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_deposit_eth_compound_blind/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_deposit_eth_compound_blind/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_deposit_eth_compound_blind/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_deposit_eth_compound_blind/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_deposit_eth_compound_blind/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_deposit_eth_compound_blind/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_deposit_eth_compound_blind/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_deposit_eth_compound_blind/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_deposit_eth_compound_blind/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_disable_blind_signing/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_disable_blind_signing/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_disable_blind_signing/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_disable_blind_signing/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_disable_blind_signing/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_disable_blind_signing/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_disable_blind_signing/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_disable_blind_signing/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_disable_blind_signing/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_enable_blind_signing/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_enable_blind_signing/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_enable_blind_signing/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_enable_blind_signing/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_enable_blind_signing/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_enable_blind_signing/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_enable_blind_signing/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_enable_blind_signing/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_enable_blind_signing/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_batch_transfer/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00011.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer/00012.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00011.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc1155_transfer_wo_info/00012.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanox_erc721_transfer_wo_info/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00009.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00010.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00011.png (100%) rename tests/{functional => zemu}/snapshots/nanox_starkware_usdt_deposit/00012.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_112233445566_network/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_112233445566_network/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_112233445566_network/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_112233445566_network/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_112233445566_network/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_112233445566_network/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_112233445566_network/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_112233445566_network/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_112233445566_network/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_bsc/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_bsc/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_bsc/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_bsc/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_bsc/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_bsc/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_bsc/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_bsc/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_bsc/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_eip1559/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_eip1559/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_eip1559/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_eip1559/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_eip1559/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_eip1559/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_eip1559/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_eip1559/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_5234_network/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_5234_network/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_5234_network/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_5234_network/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_5234_network/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_5234_network/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_5234_network/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_5234_network/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_5234_network/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_clone/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_clone/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_clone/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_clone/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_clone/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_clone/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_clone/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_ethereum_clone/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_palm_network/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_palm_network/00001.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_palm_network/00002.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_palm_network/00003.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_palm_network/00004.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_palm_network/00005.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_palm_network/00006.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_palm_network/00007.png (100%) rename tests/{functional => zemu}/snapshots/nanox_transfer_palm_network/00008.png (100%) rename tests/{functional => zemu}/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00000.png (100%) rename tests/{functional => zemu}/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00001.png (100%) rename tests/{functional => zemu}/src/approve.test.js (100%) rename tests/{functional => zemu}/src/blind_compound_deposit.test.js (100%) rename tests/{functional => zemu}/src/chainid.test.js (100%) rename tests/{functional => zemu}/src/contract_data_warning.test.js (100%) rename tests/{functional => zemu}/src/eip1559.test.js (100%) rename tests/{functional => zemu}/src/erc1155.test.js (100%) rename tests/{functional => zemu}/src/erc721.test.js (100%) rename tests/{functional => zemu}/src/send.test.js (100%) rename tests/{functional => zemu}/src/send_bsc.test.js (100%) rename tests/{functional => zemu}/src/send_etc.test.js (100%) rename tests/{functional => zemu}/src/starkware.test.js (100%) rename tests/{functional => zemu}/src/test.fixture.js (100%) rename tests/{functional => zemu}/yarn.lock (100%) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index a1212e8..8d8695c 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -114,13 +114,13 @@ jobs: - uses: actions/checkout@v2 - name: Build testing binaries - run: cd tests/functional/ && ./build_local_test_elfs.sh + run: cd tests/zemu/ && ./build_local_test_elfs.sh - name: Upload app binaries uses: actions/upload-artifact@v2 with: name: e2e_elfs - path: ./tests/functional/elfs/ + path: ./tests/zemu/elfs/ jobs-e2e-tests: name: E2E tests @@ -146,10 +146,10 @@ jobs: run: npm install -g yarn - name: Build/Install build js deps - run: cd tests/functional/ && yarn install + run: cd tests/zemu/ && yarn install - name: Create tmp folder for artifacts - run: mkdir tests/functional/elfs + run: mkdir tests/zemu/elfs - name: Download app binaries uses: actions/download-artifact@v2 @@ -157,7 +157,7 @@ jobs: path: tmp/ - name: Gather elfs - run: cp `find tmp/e2e_elfs/ -name "*.elf"` tests/functional/elfs/ + run: cp `find tmp/e2e_elfs/ -name "*.elf"` tests/zemu/elfs/ - name: Run zemu tests - run: cd tests/functional/ && yarn test + run: cd tests/zemu/ && yarn test diff --git a/tests/functional/.babelrc b/tests/zemu/.babelrc similarity index 100% rename from tests/functional/.babelrc rename to tests/zemu/.babelrc diff --git a/tests/functional/.flowconfig b/tests/zemu/.flowconfig similarity index 100% rename from tests/functional/.flowconfig rename to tests/zemu/.flowconfig diff --git a/tests/functional/.gitignore b/tests/zemu/.gitignore similarity index 100% rename from tests/functional/.gitignore rename to tests/zemu/.gitignore diff --git a/tests/functional/Makefile b/tests/zemu/Makefile similarity index 100% rename from tests/functional/Makefile rename to tests/zemu/Makefile diff --git a/tests/functional/build_local_test_elfs.sh b/tests/zemu/build_local_test_elfs.sh similarity index 100% rename from tests/functional/build_local_test_elfs.sh rename to tests/zemu/build_local_test_elfs.sh diff --git a/tests/functional/globalsetup.js b/tests/zemu/globalsetup.js similarity index 100% rename from tests/functional/globalsetup.js rename to tests/zemu/globalsetup.js diff --git a/tests/functional/jest.config.js b/tests/zemu/jest.config.js similarity index 100% rename from tests/functional/jest.config.js rename to tests/zemu/jest.config.js diff --git a/tests/functional/jest.js b/tests/zemu/jest.js similarity index 100% rename from tests/functional/jest.js rename to tests/zemu/jest.js diff --git a/tests/functional/package.json b/tests/zemu/package.json similarity index 100% rename from tests/functional/package.json rename to tests/zemu/package.json diff --git a/tests/functional/setupTests.js b/tests/zemu/setupTests.js similarity index 100% rename from tests/functional/setupTests.js rename to tests/zemu/setupTests.js diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00000.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00000.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00000.png diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00001.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00001.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00001.png diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00002.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00002.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00002.png diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00003.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00003.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00003.png diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00004.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00004.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00004.png diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00005.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00005.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00005.png diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00006.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00006.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00006.png diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00007.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00007.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00007.png diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00008.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00008.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00008.png diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00009.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00009.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00009.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00009.png diff --git a/tests/functional/snapshots/nanos_approve_dai_tokens/00010.png b/tests/zemu/snapshots/nanos_approve_dai_tokens/00010.png similarity index 100% rename from tests/functional/snapshots/nanos_approve_dai_tokens/00010.png rename to tests/zemu/snapshots/nanos_approve_dai_tokens/00010.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00000.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00000.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00000.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00001.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00001.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00001.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00002.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00002.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00002.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00003.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00003.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00003.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00004.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00004.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00004.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00005.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00005.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00005.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00006.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00006.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00006.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00007.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00007.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00007.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00008.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00008.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00008.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00009.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00009.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00009.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00009.png diff --git a/tests/functional/snapshots/nanos_deposit_eth_compound_blind/00010.png b/tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00010.png similarity index 100% rename from tests/functional/snapshots/nanos_deposit_eth_compound_blind/00010.png rename to tests/zemu/snapshots/nanos_deposit_eth_compound_blind/00010.png diff --git a/tests/functional/snapshots/nanos_disable_blind_signing/00000.png b/tests/zemu/snapshots/nanos_disable_blind_signing/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_disable_blind_signing/00000.png rename to tests/zemu/snapshots/nanos_disable_blind_signing/00000.png diff --git a/tests/functional/snapshots/nanos_disable_blind_signing/00001.png b/tests/zemu/snapshots/nanos_disable_blind_signing/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_disable_blind_signing/00001.png rename to tests/zemu/snapshots/nanos_disable_blind_signing/00001.png diff --git a/tests/functional/snapshots/nanos_disable_blind_signing/00002.png b/tests/zemu/snapshots/nanos_disable_blind_signing/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_disable_blind_signing/00002.png rename to tests/zemu/snapshots/nanos_disable_blind_signing/00002.png diff --git a/tests/functional/snapshots/nanos_disable_blind_signing/00003.png b/tests/zemu/snapshots/nanos_disable_blind_signing/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_disable_blind_signing/00003.png rename to tests/zemu/snapshots/nanos_disable_blind_signing/00003.png diff --git a/tests/functional/snapshots/nanos_disable_blind_signing/00004.png b/tests/zemu/snapshots/nanos_disable_blind_signing/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_disable_blind_signing/00004.png rename to tests/zemu/snapshots/nanos_disable_blind_signing/00004.png diff --git a/tests/functional/snapshots/nanos_disable_blind_signing/00005.png b/tests/zemu/snapshots/nanos_disable_blind_signing/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_disable_blind_signing/00005.png rename to tests/zemu/snapshots/nanos_disable_blind_signing/00005.png diff --git a/tests/functional/snapshots/nanos_disable_blind_signing/00006.png b/tests/zemu/snapshots/nanos_disable_blind_signing/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_disable_blind_signing/00006.png rename to tests/zemu/snapshots/nanos_disable_blind_signing/00006.png diff --git a/tests/functional/snapshots/nanos_disable_blind_signing/00007.png b/tests/zemu/snapshots/nanos_disable_blind_signing/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_disable_blind_signing/00007.png rename to tests/zemu/snapshots/nanos_disable_blind_signing/00007.png diff --git a/tests/functional/snapshots/nanos_disable_blind_signing/00008.png b/tests/zemu/snapshots/nanos_disable_blind_signing/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_disable_blind_signing/00008.png rename to tests/zemu/snapshots/nanos_disable_blind_signing/00008.png diff --git a/tests/functional/snapshots/nanos_enable_blind_signing/00000.png b/tests/zemu/snapshots/nanos_enable_blind_signing/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_enable_blind_signing/00000.png rename to tests/zemu/snapshots/nanos_enable_blind_signing/00000.png diff --git a/tests/functional/snapshots/nanos_enable_blind_signing/00001.png b/tests/zemu/snapshots/nanos_enable_blind_signing/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_enable_blind_signing/00001.png rename to tests/zemu/snapshots/nanos_enable_blind_signing/00001.png diff --git a/tests/functional/snapshots/nanos_enable_blind_signing/00002.png b/tests/zemu/snapshots/nanos_enable_blind_signing/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_enable_blind_signing/00002.png rename to tests/zemu/snapshots/nanos_enable_blind_signing/00002.png diff --git a/tests/functional/snapshots/nanos_enable_blind_signing/00003.png b/tests/zemu/snapshots/nanos_enable_blind_signing/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_enable_blind_signing/00003.png rename to tests/zemu/snapshots/nanos_enable_blind_signing/00003.png diff --git a/tests/functional/snapshots/nanos_enable_blind_signing/00004.png b/tests/zemu/snapshots/nanos_enable_blind_signing/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_enable_blind_signing/00004.png rename to tests/zemu/snapshots/nanos_enable_blind_signing/00004.png diff --git a/tests/functional/snapshots/nanos_enable_blind_signing/00005.png b/tests/zemu/snapshots/nanos_enable_blind_signing/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_enable_blind_signing/00005.png rename to tests/zemu/snapshots/nanos_enable_blind_signing/00005.png diff --git a/tests/functional/snapshots/nanos_enable_blind_signing/00006.png b/tests/zemu/snapshots/nanos_enable_blind_signing/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_enable_blind_signing/00006.png rename to tests/zemu/snapshots/nanos_enable_blind_signing/00006.png diff --git a/tests/functional/snapshots/nanos_enable_blind_signing/00007.png b/tests/zemu/snapshots/nanos_enable_blind_signing/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_enable_blind_signing/00007.png rename to tests/zemu/snapshots/nanos_enable_blind_signing/00007.png diff --git a/tests/functional/snapshots/nanos_enable_blind_signing/00008.png b/tests/zemu/snapshots/nanos_enable_blind_signing/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_enable_blind_signing/00008.png rename to tests/zemu/snapshots/nanos_enable_blind_signing/00008.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00000.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00000.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00000.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00001.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00001.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00001.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00002.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00002.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00002.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00003.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00003.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00003.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00004.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00004.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00004.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00005.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00005.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00005.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00006.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00006.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00006.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00007.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00007.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00007.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00008.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00008.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00008.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00009.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00009.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00009.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00009.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00010.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00010.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00010.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00010.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00011.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00011.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00011.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00011.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00012.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00012.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00012.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00012.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00013.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00013.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00013.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00013.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00014.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00014.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00014.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00014.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00015.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00015.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00015.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00015.png diff --git a/tests/functional/snapshots/nanos_starkware_usdt_deposit/00016.png b/tests/zemu/snapshots/nanos_starkware_usdt_deposit/00016.png similarity index 100% rename from tests/functional/snapshots/nanos_starkware_usdt_deposit/00016.png rename to tests/zemu/snapshots/nanos_starkware_usdt_deposit/00016.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00000.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00000.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00000.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00001.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00001.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00001.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00002.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00002.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00002.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00003.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00003.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00003.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00004.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00004.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00004.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00005.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00005.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00005.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00006.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00006.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00006.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00007.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00007.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00007.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00008.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00008.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00008.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00009.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00009.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00009.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00009.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00010.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00010.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00010.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00010.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00011.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00011.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00011.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00011.png diff --git a/tests/functional/snapshots/nanos_transfer_112233445566_network/00012.png b/tests/zemu/snapshots/nanos_transfer_112233445566_network/00012.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_112233445566_network/00012.png rename to tests/zemu/snapshots/nanos_transfer_112233445566_network/00012.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00000.png b/tests/zemu/snapshots/nanos_transfer_bsc/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00000.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00000.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00001.png b/tests/zemu/snapshots/nanos_transfer_bsc/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00001.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00001.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00002.png b/tests/zemu/snapshots/nanos_transfer_bsc/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00002.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00002.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00003.png b/tests/zemu/snapshots/nanos_transfer_bsc/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00003.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00003.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00004.png b/tests/zemu/snapshots/nanos_transfer_bsc/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00004.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00004.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00005.png b/tests/zemu/snapshots/nanos_transfer_bsc/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00005.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00005.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00006.png b/tests/zemu/snapshots/nanos_transfer_bsc/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00006.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00006.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00007.png b/tests/zemu/snapshots/nanos_transfer_bsc/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00007.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00007.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00008.png b/tests/zemu/snapshots/nanos_transfer_bsc/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00008.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00008.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00009.png b/tests/zemu/snapshots/nanos_transfer_bsc/00009.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00009.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00009.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00010.png b/tests/zemu/snapshots/nanos_transfer_bsc/00010.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00010.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00010.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00011.png b/tests/zemu/snapshots/nanos_transfer_bsc/00011.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00011.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00011.png diff --git a/tests/functional/snapshots/nanos_transfer_bsc/00012.png b/tests/zemu/snapshots/nanos_transfer_bsc/00012.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_bsc/00012.png rename to tests/zemu/snapshots/nanos_transfer_bsc/00012.png diff --git a/tests/functional/snapshots/nanos_transfer_eip1559/00000.png b/tests/zemu/snapshots/nanos_transfer_eip1559/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_eip1559/00000.png rename to tests/zemu/snapshots/nanos_transfer_eip1559/00000.png diff --git a/tests/functional/snapshots/nanos_transfer_eip1559/00001.png b/tests/zemu/snapshots/nanos_transfer_eip1559/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_eip1559/00001.png rename to tests/zemu/snapshots/nanos_transfer_eip1559/00001.png diff --git a/tests/functional/snapshots/nanos_transfer_eip1559/00002.png b/tests/zemu/snapshots/nanos_transfer_eip1559/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_eip1559/00002.png rename to tests/zemu/snapshots/nanos_transfer_eip1559/00002.png diff --git a/tests/functional/snapshots/nanos_transfer_eip1559/00003.png b/tests/zemu/snapshots/nanos_transfer_eip1559/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_eip1559/00003.png rename to tests/zemu/snapshots/nanos_transfer_eip1559/00003.png diff --git a/tests/functional/snapshots/nanos_transfer_eip1559/00004.png b/tests/zemu/snapshots/nanos_transfer_eip1559/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_eip1559/00004.png rename to tests/zemu/snapshots/nanos_transfer_eip1559/00004.png diff --git a/tests/functional/snapshots/nanos_transfer_eip1559/00005.png b/tests/zemu/snapshots/nanos_transfer_eip1559/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_eip1559/00005.png rename to tests/zemu/snapshots/nanos_transfer_eip1559/00005.png diff --git a/tests/functional/snapshots/nanos_transfer_eip1559/00006.png b/tests/zemu/snapshots/nanos_transfer_eip1559/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_eip1559/00006.png rename to tests/zemu/snapshots/nanos_transfer_eip1559/00006.png diff --git a/tests/functional/snapshots/nanos_transfer_eip1559/00007.png b/tests/zemu/snapshots/nanos_transfer_eip1559/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_eip1559/00007.png rename to tests/zemu/snapshots/nanos_transfer_eip1559/00007.png diff --git a/tests/functional/snapshots/nanos_transfer_eip1559/00008.png b/tests/zemu/snapshots/nanos_transfer_eip1559/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_eip1559/00008.png rename to tests/zemu/snapshots/nanos_transfer_eip1559/00008.png diff --git a/tests/functional/snapshots/nanos_transfer_eip1559/00009.png b/tests/zemu/snapshots/nanos_transfer_eip1559/00009.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_eip1559/00009.png rename to tests/zemu/snapshots/nanos_transfer_eip1559/00009.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00000.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00000.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00000.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00001.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00001.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00001.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00002.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00002.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00002.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00003.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00003.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00003.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00004.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00004.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00004.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00005.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00005.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00005.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00006.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00006.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00006.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00007.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00007.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00007.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00008.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00008.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00008.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00009.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00009.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00009.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00009.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00010.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00010.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00010.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00010.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum/00011.png b/tests/zemu/snapshots/nanos_transfer_ethereum/00011.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum/00011.png rename to tests/zemu/snapshots/nanos_transfer_ethereum/00011.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00000.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00000.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00000.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00001.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00001.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00001.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00002.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00002.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00002.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00003.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00003.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00003.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00004.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00004.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00004.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00005.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00005.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00005.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00006.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00006.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00006.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00007.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00007.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00007.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00008.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00008.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00008.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00009.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00009.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00009.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00009.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00010.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00010.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00010.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00010.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00011.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00011.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00011.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00011.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00012.png b/tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00012.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_5234_network/00012.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_5234_network/00012.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00000.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00000.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00000.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00001.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00001.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00001.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00002.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00002.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00002.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00003.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00003.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00003.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00004.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00004.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00004.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00005.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00005.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00005.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00006.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00006.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00006.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00007.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00007.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00007.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00008.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00008.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00008.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00009.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00009.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00009.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00009.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00010.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00010.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00010.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00010.png diff --git a/tests/functional/snapshots/nanos_transfer_ethereum_clone/00011.png b/tests/zemu/snapshots/nanos_transfer_ethereum_clone/00011.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_ethereum_clone/00011.png rename to tests/zemu/snapshots/nanos_transfer_ethereum_clone/00011.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00000.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00000.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00000.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00001.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00001.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00001.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00002.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00002.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00002.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00003.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00003.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00003.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00003.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00004.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00004.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00004.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00004.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00005.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00005.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00005.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00005.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00006.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00006.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00006.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00006.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00007.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00007.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00007.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00007.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00008.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00008.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00008.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00008.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00009.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00009.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00009.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00009.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00010.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00010.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00010.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00010.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00011.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00011.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00011.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00011.png diff --git a/tests/functional/snapshots/nanos_transfer_palm_network/00012.png b/tests/zemu/snapshots/nanos_transfer_palm_network/00012.png similarity index 100% rename from tests/functional/snapshots/nanos_transfer_palm_network/00012.png rename to tests/zemu/snapshots/nanos_transfer_palm_network/00012.png diff --git a/tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00000.png b/tests/zemu/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00000.png similarity index 100% rename from tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00000.png rename to tests/zemu/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00000.png diff --git a/tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00001.png b/tests/zemu/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00001.png similarity index 100% rename from tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00001.png rename to tests/zemu/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00001.png diff --git a/tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00002.png b/tests/zemu/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00002.png similarity index 100% rename from tests/functional/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00002.png rename to tests/zemu/snapshots/nanos_try_to_blind_sign_with_setting_disabled/00002.png diff --git a/tests/functional/snapshots/nanox_approve_dai_tokens/00000.png b/tests/zemu/snapshots/nanox_approve_dai_tokens/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_approve_dai_tokens/00000.png rename to tests/zemu/snapshots/nanox_approve_dai_tokens/00000.png diff --git a/tests/functional/snapshots/nanox_approve_dai_tokens/00001.png b/tests/zemu/snapshots/nanox_approve_dai_tokens/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_approve_dai_tokens/00001.png rename to tests/zemu/snapshots/nanox_approve_dai_tokens/00001.png diff --git a/tests/functional/snapshots/nanox_approve_dai_tokens/00002.png b/tests/zemu/snapshots/nanox_approve_dai_tokens/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_approve_dai_tokens/00002.png rename to tests/zemu/snapshots/nanox_approve_dai_tokens/00002.png diff --git a/tests/functional/snapshots/nanox_approve_dai_tokens/00003.png b/tests/zemu/snapshots/nanox_approve_dai_tokens/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_approve_dai_tokens/00003.png rename to tests/zemu/snapshots/nanox_approve_dai_tokens/00003.png diff --git a/tests/functional/snapshots/nanox_approve_dai_tokens/00004.png b/tests/zemu/snapshots/nanox_approve_dai_tokens/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_approve_dai_tokens/00004.png rename to tests/zemu/snapshots/nanox_approve_dai_tokens/00004.png diff --git a/tests/functional/snapshots/nanox_approve_dai_tokens/00005.png b/tests/zemu/snapshots/nanox_approve_dai_tokens/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_approve_dai_tokens/00005.png rename to tests/zemu/snapshots/nanox_approve_dai_tokens/00005.png diff --git a/tests/functional/snapshots/nanox_approve_dai_tokens/00006.png b/tests/zemu/snapshots/nanox_approve_dai_tokens/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_approve_dai_tokens/00006.png rename to tests/zemu/snapshots/nanox_approve_dai_tokens/00006.png diff --git a/tests/functional/snapshots/nanox_approve_dai_tokens/00007.png b/tests/zemu/snapshots/nanox_approve_dai_tokens/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_approve_dai_tokens/00007.png rename to tests/zemu/snapshots/nanox_approve_dai_tokens/00007.png diff --git a/tests/functional/snapshots/nanox_approve_dai_tokens/00008.png b/tests/zemu/snapshots/nanox_approve_dai_tokens/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_approve_dai_tokens/00008.png rename to tests/zemu/snapshots/nanox_approve_dai_tokens/00008.png diff --git a/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00000.png b/tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_deposit_eth_compound_blind/00000.png rename to tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00000.png diff --git a/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00001.png b/tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_deposit_eth_compound_blind/00001.png rename to tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00001.png diff --git a/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00002.png b/tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_deposit_eth_compound_blind/00002.png rename to tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00002.png diff --git a/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00003.png b/tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_deposit_eth_compound_blind/00003.png rename to tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00003.png diff --git a/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00004.png b/tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_deposit_eth_compound_blind/00004.png rename to tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00004.png diff --git a/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00005.png b/tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_deposit_eth_compound_blind/00005.png rename to tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00005.png diff --git a/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00006.png b/tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_deposit_eth_compound_blind/00006.png rename to tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00006.png diff --git a/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00007.png b/tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_deposit_eth_compound_blind/00007.png rename to tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00007.png diff --git a/tests/functional/snapshots/nanox_deposit_eth_compound_blind/00008.png b/tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_deposit_eth_compound_blind/00008.png rename to tests/zemu/snapshots/nanox_deposit_eth_compound_blind/00008.png diff --git a/tests/functional/snapshots/nanox_disable_blind_signing/00000.png b/tests/zemu/snapshots/nanox_disable_blind_signing/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_disable_blind_signing/00000.png rename to tests/zemu/snapshots/nanox_disable_blind_signing/00000.png diff --git a/tests/functional/snapshots/nanox_disable_blind_signing/00001.png b/tests/zemu/snapshots/nanox_disable_blind_signing/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_disable_blind_signing/00001.png rename to tests/zemu/snapshots/nanox_disable_blind_signing/00001.png diff --git a/tests/functional/snapshots/nanox_disable_blind_signing/00002.png b/tests/zemu/snapshots/nanox_disable_blind_signing/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_disable_blind_signing/00002.png rename to tests/zemu/snapshots/nanox_disable_blind_signing/00002.png diff --git a/tests/functional/snapshots/nanox_disable_blind_signing/00003.png b/tests/zemu/snapshots/nanox_disable_blind_signing/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_disable_blind_signing/00003.png rename to tests/zemu/snapshots/nanox_disable_blind_signing/00003.png diff --git a/tests/functional/snapshots/nanox_disable_blind_signing/00004.png b/tests/zemu/snapshots/nanox_disable_blind_signing/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_disable_blind_signing/00004.png rename to tests/zemu/snapshots/nanox_disable_blind_signing/00004.png diff --git a/tests/functional/snapshots/nanox_disable_blind_signing/00005.png b/tests/zemu/snapshots/nanox_disable_blind_signing/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_disable_blind_signing/00005.png rename to tests/zemu/snapshots/nanox_disable_blind_signing/00005.png diff --git a/tests/functional/snapshots/nanox_disable_blind_signing/00006.png b/tests/zemu/snapshots/nanox_disable_blind_signing/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_disable_blind_signing/00006.png rename to tests/zemu/snapshots/nanox_disable_blind_signing/00006.png diff --git a/tests/functional/snapshots/nanox_disable_blind_signing/00007.png b/tests/zemu/snapshots/nanox_disable_blind_signing/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_disable_blind_signing/00007.png rename to tests/zemu/snapshots/nanox_disable_blind_signing/00007.png diff --git a/tests/functional/snapshots/nanox_disable_blind_signing/00008.png b/tests/zemu/snapshots/nanox_disable_blind_signing/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_disable_blind_signing/00008.png rename to tests/zemu/snapshots/nanox_disable_blind_signing/00008.png diff --git a/tests/functional/snapshots/nanox_enable_blind_signing/00000.png b/tests/zemu/snapshots/nanox_enable_blind_signing/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_enable_blind_signing/00000.png rename to tests/zemu/snapshots/nanox_enable_blind_signing/00000.png diff --git a/tests/functional/snapshots/nanox_enable_blind_signing/00001.png b/tests/zemu/snapshots/nanox_enable_blind_signing/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_enable_blind_signing/00001.png rename to tests/zemu/snapshots/nanox_enable_blind_signing/00001.png diff --git a/tests/functional/snapshots/nanox_enable_blind_signing/00002.png b/tests/zemu/snapshots/nanox_enable_blind_signing/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_enable_blind_signing/00002.png rename to tests/zemu/snapshots/nanox_enable_blind_signing/00002.png diff --git a/tests/functional/snapshots/nanox_enable_blind_signing/00003.png b/tests/zemu/snapshots/nanox_enable_blind_signing/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_enable_blind_signing/00003.png rename to tests/zemu/snapshots/nanox_enable_blind_signing/00003.png diff --git a/tests/functional/snapshots/nanox_enable_blind_signing/00004.png b/tests/zemu/snapshots/nanox_enable_blind_signing/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_enable_blind_signing/00004.png rename to tests/zemu/snapshots/nanox_enable_blind_signing/00004.png diff --git a/tests/functional/snapshots/nanox_enable_blind_signing/00005.png b/tests/zemu/snapshots/nanox_enable_blind_signing/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_enable_blind_signing/00005.png rename to tests/zemu/snapshots/nanox_enable_blind_signing/00005.png diff --git a/tests/functional/snapshots/nanox_enable_blind_signing/00006.png b/tests/zemu/snapshots/nanox_enable_blind_signing/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_enable_blind_signing/00006.png rename to tests/zemu/snapshots/nanox_enable_blind_signing/00006.png diff --git a/tests/functional/snapshots/nanox_enable_blind_signing/00007.png b/tests/zemu/snapshots/nanox_enable_blind_signing/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_enable_blind_signing/00007.png rename to tests/zemu/snapshots/nanox_enable_blind_signing/00007.png diff --git a/tests/functional/snapshots/nanox_enable_blind_signing/00008.png b/tests/zemu/snapshots/nanox_enable_blind_signing/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_enable_blind_signing/00008.png rename to tests/zemu/snapshots/nanox_enable_blind_signing/00008.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00000.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00000.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00000.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00001.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00001.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00001.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00002.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00002.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00002.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00003.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00003.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00003.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00004.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00004.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00004.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00005.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00005.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00005.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00006.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00006.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00006.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00007.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00007.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00007.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00008.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00008.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00008.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00009.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00009.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00009.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00009.png diff --git a/tests/functional/snapshots/nanox_erc1155_batch_transfer/00010.png b/tests/zemu/snapshots/nanox_erc1155_batch_transfer/00010.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_batch_transfer/00010.png rename to tests/zemu/snapshots/nanox_erc1155_batch_transfer/00010.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00000.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00000.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00000.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00001.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00001.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00001.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00002.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00002.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00002.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00003.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00003.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00003.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00004.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00004.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00004.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00005.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00005.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00005.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00006.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00006.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00006.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00007.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00007.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00007.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00008.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00008.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00008.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00009.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00009.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00009.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00009.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00010.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00010.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00010.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00010.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00011.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00011.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00011.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00011.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer/00012.png b/tests/zemu/snapshots/nanox_erc1155_transfer/00012.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer/00012.png rename to tests/zemu/snapshots/nanox_erc1155_transfer/00012.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00000.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00000.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00000.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00001.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00001.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00001.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00002.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00002.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00002.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00003.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00003.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00003.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00004.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00004.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00004.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00005.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00005.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00005.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00006.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00006.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00006.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00007.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00007.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00007.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00008.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00008.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00008.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00009.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00009.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00009.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00009.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00010.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00010.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00010.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00010.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00011.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00011.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00011.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00011.png diff --git a/tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00012.png b/tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00012.png similarity index 100% rename from tests/functional/snapshots/nanox_erc1155_transfer_wo_info/00012.png rename to tests/zemu/snapshots/nanox_erc1155_transfer_wo_info/00012.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00000.png b/tests/zemu/snapshots/nanox_erc721_transfer/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00000.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00000.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00001.png b/tests/zemu/snapshots/nanox_erc721_transfer/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00001.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00001.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00002.png b/tests/zemu/snapshots/nanox_erc721_transfer/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00002.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00002.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00003.png b/tests/zemu/snapshots/nanox_erc721_transfer/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00003.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00003.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00004.png b/tests/zemu/snapshots/nanox_erc721_transfer/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00004.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00004.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00005.png b/tests/zemu/snapshots/nanox_erc721_transfer/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00005.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00005.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00006.png b/tests/zemu/snapshots/nanox_erc721_transfer/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00006.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00006.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00007.png b/tests/zemu/snapshots/nanox_erc721_transfer/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00007.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00007.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00008.png b/tests/zemu/snapshots/nanox_erc721_transfer/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00008.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00008.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00009.png b/tests/zemu/snapshots/nanox_erc721_transfer/00009.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00009.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00009.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer/00010.png b/tests/zemu/snapshots/nanox_erc721_transfer/00010.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer/00010.png rename to tests/zemu/snapshots/nanox_erc721_transfer/00010.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00000.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00000.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00000.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00001.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00001.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00001.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00002.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00002.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00002.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00003.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00003.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00003.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00004.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00004.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00004.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00005.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00005.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00005.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00006.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00006.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00006.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00007.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00007.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00007.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00008.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00008.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00008.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00009.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00009.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00009.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00009.png diff --git a/tests/functional/snapshots/nanox_erc721_transfer_wo_info/00010.png b/tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00010.png similarity index 100% rename from tests/functional/snapshots/nanox_erc721_transfer_wo_info/00010.png rename to tests/zemu/snapshots/nanox_erc721_transfer_wo_info/00010.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00000.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00000.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00000.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00001.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00001.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00001.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00002.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00002.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00002.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00003.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00003.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00003.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00004.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00004.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00004.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00005.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00005.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00005.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00006.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00006.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00006.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00007.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00007.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00007.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00008.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00008.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00008.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00009.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00009.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00009.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00009.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00010.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00010.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00010.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00010.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00011.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00011.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00011.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00011.png diff --git a/tests/functional/snapshots/nanox_starkware_usdt_deposit/00012.png b/tests/zemu/snapshots/nanox_starkware_usdt_deposit/00012.png similarity index 100% rename from tests/functional/snapshots/nanox_starkware_usdt_deposit/00012.png rename to tests/zemu/snapshots/nanox_starkware_usdt_deposit/00012.png diff --git a/tests/functional/snapshots/nanox_transfer_112233445566_network/00000.png b/tests/zemu/snapshots/nanox_transfer_112233445566_network/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_112233445566_network/00000.png rename to tests/zemu/snapshots/nanox_transfer_112233445566_network/00000.png diff --git a/tests/functional/snapshots/nanox_transfer_112233445566_network/00001.png b/tests/zemu/snapshots/nanox_transfer_112233445566_network/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_112233445566_network/00001.png rename to tests/zemu/snapshots/nanox_transfer_112233445566_network/00001.png diff --git a/tests/functional/snapshots/nanox_transfer_112233445566_network/00002.png b/tests/zemu/snapshots/nanox_transfer_112233445566_network/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_112233445566_network/00002.png rename to tests/zemu/snapshots/nanox_transfer_112233445566_network/00002.png diff --git a/tests/functional/snapshots/nanox_transfer_112233445566_network/00003.png b/tests/zemu/snapshots/nanox_transfer_112233445566_network/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_112233445566_network/00003.png rename to tests/zemu/snapshots/nanox_transfer_112233445566_network/00003.png diff --git a/tests/functional/snapshots/nanox_transfer_112233445566_network/00004.png b/tests/zemu/snapshots/nanox_transfer_112233445566_network/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_112233445566_network/00004.png rename to tests/zemu/snapshots/nanox_transfer_112233445566_network/00004.png diff --git a/tests/functional/snapshots/nanox_transfer_112233445566_network/00005.png b/tests/zemu/snapshots/nanox_transfer_112233445566_network/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_112233445566_network/00005.png rename to tests/zemu/snapshots/nanox_transfer_112233445566_network/00005.png diff --git a/tests/functional/snapshots/nanox_transfer_112233445566_network/00006.png b/tests/zemu/snapshots/nanox_transfer_112233445566_network/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_112233445566_network/00006.png rename to tests/zemu/snapshots/nanox_transfer_112233445566_network/00006.png diff --git a/tests/functional/snapshots/nanox_transfer_112233445566_network/00007.png b/tests/zemu/snapshots/nanox_transfer_112233445566_network/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_112233445566_network/00007.png rename to tests/zemu/snapshots/nanox_transfer_112233445566_network/00007.png diff --git a/tests/functional/snapshots/nanox_transfer_112233445566_network/00008.png b/tests/zemu/snapshots/nanox_transfer_112233445566_network/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_112233445566_network/00008.png rename to tests/zemu/snapshots/nanox_transfer_112233445566_network/00008.png diff --git a/tests/functional/snapshots/nanox_transfer_bsc/00000.png b/tests/zemu/snapshots/nanox_transfer_bsc/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_bsc/00000.png rename to tests/zemu/snapshots/nanox_transfer_bsc/00000.png diff --git a/tests/functional/snapshots/nanox_transfer_bsc/00001.png b/tests/zemu/snapshots/nanox_transfer_bsc/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_bsc/00001.png rename to tests/zemu/snapshots/nanox_transfer_bsc/00001.png diff --git a/tests/functional/snapshots/nanox_transfer_bsc/00002.png b/tests/zemu/snapshots/nanox_transfer_bsc/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_bsc/00002.png rename to tests/zemu/snapshots/nanox_transfer_bsc/00002.png diff --git a/tests/functional/snapshots/nanox_transfer_bsc/00003.png b/tests/zemu/snapshots/nanox_transfer_bsc/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_bsc/00003.png rename to tests/zemu/snapshots/nanox_transfer_bsc/00003.png diff --git a/tests/functional/snapshots/nanox_transfer_bsc/00004.png b/tests/zemu/snapshots/nanox_transfer_bsc/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_bsc/00004.png rename to tests/zemu/snapshots/nanox_transfer_bsc/00004.png diff --git a/tests/functional/snapshots/nanox_transfer_bsc/00005.png b/tests/zemu/snapshots/nanox_transfer_bsc/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_bsc/00005.png rename to tests/zemu/snapshots/nanox_transfer_bsc/00005.png diff --git a/tests/functional/snapshots/nanox_transfer_bsc/00006.png b/tests/zemu/snapshots/nanox_transfer_bsc/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_bsc/00006.png rename to tests/zemu/snapshots/nanox_transfer_bsc/00006.png diff --git a/tests/functional/snapshots/nanox_transfer_bsc/00007.png b/tests/zemu/snapshots/nanox_transfer_bsc/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_bsc/00007.png rename to tests/zemu/snapshots/nanox_transfer_bsc/00007.png diff --git a/tests/functional/snapshots/nanox_transfer_bsc/00008.png b/tests/zemu/snapshots/nanox_transfer_bsc/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_bsc/00008.png rename to tests/zemu/snapshots/nanox_transfer_bsc/00008.png diff --git a/tests/functional/snapshots/nanox_transfer_eip1559/00000.png b/tests/zemu/snapshots/nanox_transfer_eip1559/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_eip1559/00000.png rename to tests/zemu/snapshots/nanox_transfer_eip1559/00000.png diff --git a/tests/functional/snapshots/nanox_transfer_eip1559/00001.png b/tests/zemu/snapshots/nanox_transfer_eip1559/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_eip1559/00001.png rename to tests/zemu/snapshots/nanox_transfer_eip1559/00001.png diff --git a/tests/functional/snapshots/nanox_transfer_eip1559/00002.png b/tests/zemu/snapshots/nanox_transfer_eip1559/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_eip1559/00002.png rename to tests/zemu/snapshots/nanox_transfer_eip1559/00002.png diff --git a/tests/functional/snapshots/nanox_transfer_eip1559/00003.png b/tests/zemu/snapshots/nanox_transfer_eip1559/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_eip1559/00003.png rename to tests/zemu/snapshots/nanox_transfer_eip1559/00003.png diff --git a/tests/functional/snapshots/nanox_transfer_eip1559/00004.png b/tests/zemu/snapshots/nanox_transfer_eip1559/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_eip1559/00004.png rename to tests/zemu/snapshots/nanox_transfer_eip1559/00004.png diff --git a/tests/functional/snapshots/nanox_transfer_eip1559/00005.png b/tests/zemu/snapshots/nanox_transfer_eip1559/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_eip1559/00005.png rename to tests/zemu/snapshots/nanox_transfer_eip1559/00005.png diff --git a/tests/functional/snapshots/nanox_transfer_eip1559/00006.png b/tests/zemu/snapshots/nanox_transfer_eip1559/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_eip1559/00006.png rename to tests/zemu/snapshots/nanox_transfer_eip1559/00006.png diff --git a/tests/functional/snapshots/nanox_transfer_eip1559/00007.png b/tests/zemu/snapshots/nanox_transfer_eip1559/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_eip1559/00007.png rename to tests/zemu/snapshots/nanox_transfer_eip1559/00007.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum/00000.png b/tests/zemu/snapshots/nanox_transfer_ethereum/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum/00000.png rename to tests/zemu/snapshots/nanox_transfer_ethereum/00000.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum/00001.png b/tests/zemu/snapshots/nanox_transfer_ethereum/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum/00001.png rename to tests/zemu/snapshots/nanox_transfer_ethereum/00001.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum/00002.png b/tests/zemu/snapshots/nanox_transfer_ethereum/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum/00002.png rename to tests/zemu/snapshots/nanox_transfer_ethereum/00002.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum/00003.png b/tests/zemu/snapshots/nanox_transfer_ethereum/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum/00003.png rename to tests/zemu/snapshots/nanox_transfer_ethereum/00003.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum/00004.png b/tests/zemu/snapshots/nanox_transfer_ethereum/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum/00004.png rename to tests/zemu/snapshots/nanox_transfer_ethereum/00004.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum/00005.png b/tests/zemu/snapshots/nanox_transfer_ethereum/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum/00005.png rename to tests/zemu/snapshots/nanox_transfer_ethereum/00005.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum/00006.png b/tests/zemu/snapshots/nanox_transfer_ethereum/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum/00006.png rename to tests/zemu/snapshots/nanox_transfer_ethereum/00006.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum/00007.png b/tests/zemu/snapshots/nanox_transfer_ethereum/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum/00007.png rename to tests/zemu/snapshots/nanox_transfer_ethereum/00007.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00000.png b/tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00000.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00000.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00001.png b/tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00001.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00001.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00002.png b/tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00002.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00002.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00003.png b/tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00003.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00003.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00004.png b/tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00004.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00004.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00005.png b/tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00005.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00005.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00006.png b/tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00006.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00006.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00007.png b/tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00007.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00007.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00008.png b/tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_5234_network/00008.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_5234_network/00008.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_clone/00000.png b/tests/zemu/snapshots/nanox_transfer_ethereum_clone/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_clone/00000.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_clone/00000.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_clone/00001.png b/tests/zemu/snapshots/nanox_transfer_ethereum_clone/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_clone/00001.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_clone/00001.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_clone/00002.png b/tests/zemu/snapshots/nanox_transfer_ethereum_clone/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_clone/00002.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_clone/00002.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_clone/00003.png b/tests/zemu/snapshots/nanox_transfer_ethereum_clone/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_clone/00003.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_clone/00003.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_clone/00004.png b/tests/zemu/snapshots/nanox_transfer_ethereum_clone/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_clone/00004.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_clone/00004.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_clone/00005.png b/tests/zemu/snapshots/nanox_transfer_ethereum_clone/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_clone/00005.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_clone/00005.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_clone/00006.png b/tests/zemu/snapshots/nanox_transfer_ethereum_clone/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_clone/00006.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_clone/00006.png diff --git a/tests/functional/snapshots/nanox_transfer_ethereum_clone/00007.png b/tests/zemu/snapshots/nanox_transfer_ethereum_clone/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_ethereum_clone/00007.png rename to tests/zemu/snapshots/nanox_transfer_ethereum_clone/00007.png diff --git a/tests/functional/snapshots/nanox_transfer_palm_network/00000.png b/tests/zemu/snapshots/nanox_transfer_palm_network/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_palm_network/00000.png rename to tests/zemu/snapshots/nanox_transfer_palm_network/00000.png diff --git a/tests/functional/snapshots/nanox_transfer_palm_network/00001.png b/tests/zemu/snapshots/nanox_transfer_palm_network/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_palm_network/00001.png rename to tests/zemu/snapshots/nanox_transfer_palm_network/00001.png diff --git a/tests/functional/snapshots/nanox_transfer_palm_network/00002.png b/tests/zemu/snapshots/nanox_transfer_palm_network/00002.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_palm_network/00002.png rename to tests/zemu/snapshots/nanox_transfer_palm_network/00002.png diff --git a/tests/functional/snapshots/nanox_transfer_palm_network/00003.png b/tests/zemu/snapshots/nanox_transfer_palm_network/00003.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_palm_network/00003.png rename to tests/zemu/snapshots/nanox_transfer_palm_network/00003.png diff --git a/tests/functional/snapshots/nanox_transfer_palm_network/00004.png b/tests/zemu/snapshots/nanox_transfer_palm_network/00004.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_palm_network/00004.png rename to tests/zemu/snapshots/nanox_transfer_palm_network/00004.png diff --git a/tests/functional/snapshots/nanox_transfer_palm_network/00005.png b/tests/zemu/snapshots/nanox_transfer_palm_network/00005.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_palm_network/00005.png rename to tests/zemu/snapshots/nanox_transfer_palm_network/00005.png diff --git a/tests/functional/snapshots/nanox_transfer_palm_network/00006.png b/tests/zemu/snapshots/nanox_transfer_palm_network/00006.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_palm_network/00006.png rename to tests/zemu/snapshots/nanox_transfer_palm_network/00006.png diff --git a/tests/functional/snapshots/nanox_transfer_palm_network/00007.png b/tests/zemu/snapshots/nanox_transfer_palm_network/00007.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_palm_network/00007.png rename to tests/zemu/snapshots/nanox_transfer_palm_network/00007.png diff --git a/tests/functional/snapshots/nanox_transfer_palm_network/00008.png b/tests/zemu/snapshots/nanox_transfer_palm_network/00008.png similarity index 100% rename from tests/functional/snapshots/nanox_transfer_palm_network/00008.png rename to tests/zemu/snapshots/nanox_transfer_palm_network/00008.png diff --git a/tests/functional/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00000.png b/tests/zemu/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00000.png similarity index 100% rename from tests/functional/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00000.png rename to tests/zemu/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00000.png diff --git a/tests/functional/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00001.png b/tests/zemu/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00001.png similarity index 100% rename from tests/functional/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00001.png rename to tests/zemu/snapshots/nanox_try_to_blind_sign_with_setting_disabled/00001.png diff --git a/tests/functional/src/approve.test.js b/tests/zemu/src/approve.test.js similarity index 100% rename from tests/functional/src/approve.test.js rename to tests/zemu/src/approve.test.js diff --git a/tests/functional/src/blind_compound_deposit.test.js b/tests/zemu/src/blind_compound_deposit.test.js similarity index 100% rename from tests/functional/src/blind_compound_deposit.test.js rename to tests/zemu/src/blind_compound_deposit.test.js diff --git a/tests/functional/src/chainid.test.js b/tests/zemu/src/chainid.test.js similarity index 100% rename from tests/functional/src/chainid.test.js rename to tests/zemu/src/chainid.test.js diff --git a/tests/functional/src/contract_data_warning.test.js b/tests/zemu/src/contract_data_warning.test.js similarity index 100% rename from tests/functional/src/contract_data_warning.test.js rename to tests/zemu/src/contract_data_warning.test.js diff --git a/tests/functional/src/eip1559.test.js b/tests/zemu/src/eip1559.test.js similarity index 100% rename from tests/functional/src/eip1559.test.js rename to tests/zemu/src/eip1559.test.js diff --git a/tests/functional/src/erc1155.test.js b/tests/zemu/src/erc1155.test.js similarity index 100% rename from tests/functional/src/erc1155.test.js rename to tests/zemu/src/erc1155.test.js diff --git a/tests/functional/src/erc721.test.js b/tests/zemu/src/erc721.test.js similarity index 100% rename from tests/functional/src/erc721.test.js rename to tests/zemu/src/erc721.test.js diff --git a/tests/functional/src/send.test.js b/tests/zemu/src/send.test.js similarity index 100% rename from tests/functional/src/send.test.js rename to tests/zemu/src/send.test.js diff --git a/tests/functional/src/send_bsc.test.js b/tests/zemu/src/send_bsc.test.js similarity index 100% rename from tests/functional/src/send_bsc.test.js rename to tests/zemu/src/send_bsc.test.js diff --git a/tests/functional/src/send_etc.test.js b/tests/zemu/src/send_etc.test.js similarity index 100% rename from tests/functional/src/send_etc.test.js rename to tests/zemu/src/send_etc.test.js diff --git a/tests/functional/src/starkware.test.js b/tests/zemu/src/starkware.test.js similarity index 100% rename from tests/functional/src/starkware.test.js rename to tests/zemu/src/starkware.test.js diff --git a/tests/functional/src/test.fixture.js b/tests/zemu/src/test.fixture.js similarity index 100% rename from tests/functional/src/test.fixture.js rename to tests/zemu/src/test.fixture.js diff --git a/tests/functional/yarn.lock b/tests/zemu/yarn.lock similarity index 100% rename from tests/functional/yarn.lock rename to tests/zemu/yarn.lock From 63a8d94f481b1e0ae26d99124faf08e699a001fb Mon Sep 17 00:00:00 2001 From: Coline Date: Tue, 28 Jun 2022 14:11:25 +0200 Subject: [PATCH 29/69] feat: avoid test_eip1559 --- tests/speculos/test_eip1559.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 tests/speculos/test_eip1559.py diff --git a/tests/speculos/test_eip1559.py b/tests/speculos/test_eip1559.py new file mode 100644 index 0000000..39b10ad --- /dev/null +++ b/tests/speculos/test_eip1559.py @@ -0,0 +1,11 @@ +from time import sleep +from ethereum_client.utils import UINT64_MAX, apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response +from ethereum_client.plugin import Plugin +import ethereum_client + +def test_sign_eip_1559(cmd): + result: list = [] + + bip32_path="44'/60'/0'/0/0" + + \ No newline at end of file From 1214e1f44cf815ea380b5b94b29d418b0157961a Mon Sep 17 00:00:00 2001 From: Coline Date: Tue, 28 Jun 2022 15:07:57 +0200 Subject: [PATCH 30/69] fix: move new zemu test into zemu folder --- .../snapshots/nanos_eip191_metamask/00000.png | Bin .../snapshots/nanos_eip191_metamask/00001.png | Bin .../snapshots/nanos_eip191_metamask/00002.png | Bin .../snapshots/nanos_eip191_metamask/00003.png | Bin .../snapshots/nanos_eip191_metamask/00004.png | Bin .../snapshots/nanos_eip191_metamask/00005.png | Bin .../snapshots/nanos_eip191_metamask/00006.png | Bin .../snapshots/nanos_eip191_nonascii/00000.png | Bin .../snapshots/nanos_eip191_nonascii/00001.png | Bin .../snapshots/nanos_eip191_nonascii/00002.png | Bin .../snapshots/nanos_eip191_nonascii/00003.png | Bin .../snapshots/nanos_eip191_nonascii/00004.png | Bin .../snapshots/nanos_eip191_nonascii/00005.png | Bin .../snapshots/nanos_eip191_nonascii/00006.png | Bin .../snapshots/nanos_eip191_nonascii/00007.png | Bin .../snapshots/nanos_eip191_nonascii/00008.png | Bin .../snapshots/nanos_eip191_opensea/00000.png | Bin .../snapshots/nanos_eip191_opensea/00001.png | Bin .../snapshots/nanos_eip191_opensea/00002.png | Bin .../snapshots/nanos_eip191_opensea/00003.png | Bin .../snapshots/nanos_eip191_opensea/00004.png | Bin .../snapshots/nanos_eip191_opensea/00005.png | Bin .../snapshots/nanos_eip191_opensea/00006.png | Bin .../snapshots/nanos_eip191_opensea/00007.png | Bin .../snapshots/nanos_eip191_opensea/00008.png | Bin .../snapshots/nanos_eip191_opensea/00009.png | Bin .../snapshots/nanox_eip191_metamask/00000.png | Bin .../snapshots/nanox_eip191_metamask/00001.png | Bin .../snapshots/nanox_eip191_metamask/00002.png | Bin .../snapshots/nanox_eip191_metamask/00003.png | Bin .../snapshots/nanox_eip191_metamask/00004.png | Bin .../snapshots/nanox_eip191_metamask/00005.png | Bin .../snapshots/nanox_eip191_nonascii/00000.png | Bin .../snapshots/nanox_eip191_nonascii/00001.png | Bin .../snapshots/nanox_eip191_nonascii/00002.png | Bin .../snapshots/nanox_eip191_nonascii/00003.png | Bin .../snapshots/nanox_eip191_nonascii/00004.png | Bin .../snapshots/nanox_eip191_nonascii/00005.png | Bin .../snapshots/nanox_eip191_nonascii/00006.png | Bin .../snapshots/nanox_eip191_opensea/00000.png | Bin .../snapshots/nanox_eip191_opensea/00001.png | Bin .../snapshots/nanox_eip191_opensea/00002.png | Bin .../snapshots/nanox_eip191_opensea/00003.png | Bin .../snapshots/nanox_eip191_opensea/00004.png | Bin .../snapshots/nanox_eip191_opensea/00005.png | Bin .../snapshots/nanox_eip191_opensea/00006.png | Bin .../snapshots/nanox_eip191_opensea/00007.png | Bin .../snapshots/nanox_eip191_opensea/00008.png | Bin .../snapshots/nanox_eip191_opensea/00009.png | Bin tests/{ => zemu}/src/eip191.test.js | 0 50 files changed, 0 insertions(+), 0 deletions(-) rename tests/{ => zemu}/snapshots/nanos_eip191_metamask/00000.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_metamask/00001.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_metamask/00002.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_metamask/00003.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_metamask/00004.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_metamask/00005.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_metamask/00006.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_nonascii/00000.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_nonascii/00001.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_nonascii/00002.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_nonascii/00003.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_nonascii/00004.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_nonascii/00005.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_nonascii/00006.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_nonascii/00007.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_nonascii/00008.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_opensea/00000.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_opensea/00001.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_opensea/00002.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_opensea/00003.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_opensea/00004.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_opensea/00005.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_opensea/00006.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_opensea/00007.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_opensea/00008.png (100%) rename tests/{ => zemu}/snapshots/nanos_eip191_opensea/00009.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_metamask/00000.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_metamask/00001.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_metamask/00002.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_metamask/00003.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_metamask/00004.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_metamask/00005.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_nonascii/00000.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_nonascii/00001.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_nonascii/00002.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_nonascii/00003.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_nonascii/00004.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_nonascii/00005.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_nonascii/00006.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_opensea/00000.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_opensea/00001.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_opensea/00002.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_opensea/00003.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_opensea/00004.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_opensea/00005.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_opensea/00006.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_opensea/00007.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_opensea/00008.png (100%) rename tests/{ => zemu}/snapshots/nanox_eip191_opensea/00009.png (100%) rename tests/{ => zemu}/src/eip191.test.js (100%) diff --git a/tests/snapshots/nanos_eip191_metamask/00000.png b/tests/zemu/snapshots/nanos_eip191_metamask/00000.png similarity index 100% rename from tests/snapshots/nanos_eip191_metamask/00000.png rename to tests/zemu/snapshots/nanos_eip191_metamask/00000.png diff --git a/tests/snapshots/nanos_eip191_metamask/00001.png b/tests/zemu/snapshots/nanos_eip191_metamask/00001.png similarity index 100% rename from tests/snapshots/nanos_eip191_metamask/00001.png rename to tests/zemu/snapshots/nanos_eip191_metamask/00001.png diff --git a/tests/snapshots/nanos_eip191_metamask/00002.png b/tests/zemu/snapshots/nanos_eip191_metamask/00002.png similarity index 100% rename from tests/snapshots/nanos_eip191_metamask/00002.png rename to tests/zemu/snapshots/nanos_eip191_metamask/00002.png diff --git a/tests/snapshots/nanos_eip191_metamask/00003.png b/tests/zemu/snapshots/nanos_eip191_metamask/00003.png similarity index 100% rename from tests/snapshots/nanos_eip191_metamask/00003.png rename to tests/zemu/snapshots/nanos_eip191_metamask/00003.png diff --git a/tests/snapshots/nanos_eip191_metamask/00004.png b/tests/zemu/snapshots/nanos_eip191_metamask/00004.png similarity index 100% rename from tests/snapshots/nanos_eip191_metamask/00004.png rename to tests/zemu/snapshots/nanos_eip191_metamask/00004.png diff --git a/tests/snapshots/nanos_eip191_metamask/00005.png b/tests/zemu/snapshots/nanos_eip191_metamask/00005.png similarity index 100% rename from tests/snapshots/nanos_eip191_metamask/00005.png rename to tests/zemu/snapshots/nanos_eip191_metamask/00005.png diff --git a/tests/snapshots/nanos_eip191_metamask/00006.png b/tests/zemu/snapshots/nanos_eip191_metamask/00006.png similarity index 100% rename from tests/snapshots/nanos_eip191_metamask/00006.png rename to tests/zemu/snapshots/nanos_eip191_metamask/00006.png diff --git a/tests/snapshots/nanos_eip191_nonascii/00000.png b/tests/zemu/snapshots/nanos_eip191_nonascii/00000.png similarity index 100% rename from tests/snapshots/nanos_eip191_nonascii/00000.png rename to tests/zemu/snapshots/nanos_eip191_nonascii/00000.png diff --git a/tests/snapshots/nanos_eip191_nonascii/00001.png b/tests/zemu/snapshots/nanos_eip191_nonascii/00001.png similarity index 100% rename from tests/snapshots/nanos_eip191_nonascii/00001.png rename to tests/zemu/snapshots/nanos_eip191_nonascii/00001.png diff --git a/tests/snapshots/nanos_eip191_nonascii/00002.png b/tests/zemu/snapshots/nanos_eip191_nonascii/00002.png similarity index 100% rename from tests/snapshots/nanos_eip191_nonascii/00002.png rename to tests/zemu/snapshots/nanos_eip191_nonascii/00002.png diff --git a/tests/snapshots/nanos_eip191_nonascii/00003.png b/tests/zemu/snapshots/nanos_eip191_nonascii/00003.png similarity index 100% rename from tests/snapshots/nanos_eip191_nonascii/00003.png rename to tests/zemu/snapshots/nanos_eip191_nonascii/00003.png diff --git a/tests/snapshots/nanos_eip191_nonascii/00004.png b/tests/zemu/snapshots/nanos_eip191_nonascii/00004.png similarity index 100% rename from tests/snapshots/nanos_eip191_nonascii/00004.png rename to tests/zemu/snapshots/nanos_eip191_nonascii/00004.png diff --git a/tests/snapshots/nanos_eip191_nonascii/00005.png b/tests/zemu/snapshots/nanos_eip191_nonascii/00005.png similarity index 100% rename from tests/snapshots/nanos_eip191_nonascii/00005.png rename to tests/zemu/snapshots/nanos_eip191_nonascii/00005.png diff --git a/tests/snapshots/nanos_eip191_nonascii/00006.png b/tests/zemu/snapshots/nanos_eip191_nonascii/00006.png similarity index 100% rename from tests/snapshots/nanos_eip191_nonascii/00006.png rename to tests/zemu/snapshots/nanos_eip191_nonascii/00006.png diff --git a/tests/snapshots/nanos_eip191_nonascii/00007.png b/tests/zemu/snapshots/nanos_eip191_nonascii/00007.png similarity index 100% rename from tests/snapshots/nanos_eip191_nonascii/00007.png rename to tests/zemu/snapshots/nanos_eip191_nonascii/00007.png diff --git a/tests/snapshots/nanos_eip191_nonascii/00008.png b/tests/zemu/snapshots/nanos_eip191_nonascii/00008.png similarity index 100% rename from tests/snapshots/nanos_eip191_nonascii/00008.png rename to tests/zemu/snapshots/nanos_eip191_nonascii/00008.png diff --git a/tests/snapshots/nanos_eip191_opensea/00000.png b/tests/zemu/snapshots/nanos_eip191_opensea/00000.png similarity index 100% rename from tests/snapshots/nanos_eip191_opensea/00000.png rename to tests/zemu/snapshots/nanos_eip191_opensea/00000.png diff --git a/tests/snapshots/nanos_eip191_opensea/00001.png b/tests/zemu/snapshots/nanos_eip191_opensea/00001.png similarity index 100% rename from tests/snapshots/nanos_eip191_opensea/00001.png rename to tests/zemu/snapshots/nanos_eip191_opensea/00001.png diff --git a/tests/snapshots/nanos_eip191_opensea/00002.png b/tests/zemu/snapshots/nanos_eip191_opensea/00002.png similarity index 100% rename from tests/snapshots/nanos_eip191_opensea/00002.png rename to tests/zemu/snapshots/nanos_eip191_opensea/00002.png diff --git a/tests/snapshots/nanos_eip191_opensea/00003.png b/tests/zemu/snapshots/nanos_eip191_opensea/00003.png similarity index 100% rename from tests/snapshots/nanos_eip191_opensea/00003.png rename to tests/zemu/snapshots/nanos_eip191_opensea/00003.png diff --git a/tests/snapshots/nanos_eip191_opensea/00004.png b/tests/zemu/snapshots/nanos_eip191_opensea/00004.png similarity index 100% rename from tests/snapshots/nanos_eip191_opensea/00004.png rename to tests/zemu/snapshots/nanos_eip191_opensea/00004.png diff --git a/tests/snapshots/nanos_eip191_opensea/00005.png b/tests/zemu/snapshots/nanos_eip191_opensea/00005.png similarity index 100% rename from tests/snapshots/nanos_eip191_opensea/00005.png rename to tests/zemu/snapshots/nanos_eip191_opensea/00005.png diff --git a/tests/snapshots/nanos_eip191_opensea/00006.png b/tests/zemu/snapshots/nanos_eip191_opensea/00006.png similarity index 100% rename from tests/snapshots/nanos_eip191_opensea/00006.png rename to tests/zemu/snapshots/nanos_eip191_opensea/00006.png diff --git a/tests/snapshots/nanos_eip191_opensea/00007.png b/tests/zemu/snapshots/nanos_eip191_opensea/00007.png similarity index 100% rename from tests/snapshots/nanos_eip191_opensea/00007.png rename to tests/zemu/snapshots/nanos_eip191_opensea/00007.png diff --git a/tests/snapshots/nanos_eip191_opensea/00008.png b/tests/zemu/snapshots/nanos_eip191_opensea/00008.png similarity index 100% rename from tests/snapshots/nanos_eip191_opensea/00008.png rename to tests/zemu/snapshots/nanos_eip191_opensea/00008.png diff --git a/tests/snapshots/nanos_eip191_opensea/00009.png b/tests/zemu/snapshots/nanos_eip191_opensea/00009.png similarity index 100% rename from tests/snapshots/nanos_eip191_opensea/00009.png rename to tests/zemu/snapshots/nanos_eip191_opensea/00009.png diff --git a/tests/snapshots/nanox_eip191_metamask/00000.png b/tests/zemu/snapshots/nanox_eip191_metamask/00000.png similarity index 100% rename from tests/snapshots/nanox_eip191_metamask/00000.png rename to tests/zemu/snapshots/nanox_eip191_metamask/00000.png diff --git a/tests/snapshots/nanox_eip191_metamask/00001.png b/tests/zemu/snapshots/nanox_eip191_metamask/00001.png similarity index 100% rename from tests/snapshots/nanox_eip191_metamask/00001.png rename to tests/zemu/snapshots/nanox_eip191_metamask/00001.png diff --git a/tests/snapshots/nanox_eip191_metamask/00002.png b/tests/zemu/snapshots/nanox_eip191_metamask/00002.png similarity index 100% rename from tests/snapshots/nanox_eip191_metamask/00002.png rename to tests/zemu/snapshots/nanox_eip191_metamask/00002.png diff --git a/tests/snapshots/nanox_eip191_metamask/00003.png b/tests/zemu/snapshots/nanox_eip191_metamask/00003.png similarity index 100% rename from tests/snapshots/nanox_eip191_metamask/00003.png rename to tests/zemu/snapshots/nanox_eip191_metamask/00003.png diff --git a/tests/snapshots/nanox_eip191_metamask/00004.png b/tests/zemu/snapshots/nanox_eip191_metamask/00004.png similarity index 100% rename from tests/snapshots/nanox_eip191_metamask/00004.png rename to tests/zemu/snapshots/nanox_eip191_metamask/00004.png diff --git a/tests/snapshots/nanox_eip191_metamask/00005.png b/tests/zemu/snapshots/nanox_eip191_metamask/00005.png similarity index 100% rename from tests/snapshots/nanox_eip191_metamask/00005.png rename to tests/zemu/snapshots/nanox_eip191_metamask/00005.png diff --git a/tests/snapshots/nanox_eip191_nonascii/00000.png b/tests/zemu/snapshots/nanox_eip191_nonascii/00000.png similarity index 100% rename from tests/snapshots/nanox_eip191_nonascii/00000.png rename to tests/zemu/snapshots/nanox_eip191_nonascii/00000.png diff --git a/tests/snapshots/nanox_eip191_nonascii/00001.png b/tests/zemu/snapshots/nanox_eip191_nonascii/00001.png similarity index 100% rename from tests/snapshots/nanox_eip191_nonascii/00001.png rename to tests/zemu/snapshots/nanox_eip191_nonascii/00001.png diff --git a/tests/snapshots/nanox_eip191_nonascii/00002.png b/tests/zemu/snapshots/nanox_eip191_nonascii/00002.png similarity index 100% rename from tests/snapshots/nanox_eip191_nonascii/00002.png rename to tests/zemu/snapshots/nanox_eip191_nonascii/00002.png diff --git a/tests/snapshots/nanox_eip191_nonascii/00003.png b/tests/zemu/snapshots/nanox_eip191_nonascii/00003.png similarity index 100% rename from tests/snapshots/nanox_eip191_nonascii/00003.png rename to tests/zemu/snapshots/nanox_eip191_nonascii/00003.png diff --git a/tests/snapshots/nanox_eip191_nonascii/00004.png b/tests/zemu/snapshots/nanox_eip191_nonascii/00004.png similarity index 100% rename from tests/snapshots/nanox_eip191_nonascii/00004.png rename to tests/zemu/snapshots/nanox_eip191_nonascii/00004.png diff --git a/tests/snapshots/nanox_eip191_nonascii/00005.png b/tests/zemu/snapshots/nanox_eip191_nonascii/00005.png similarity index 100% rename from tests/snapshots/nanox_eip191_nonascii/00005.png rename to tests/zemu/snapshots/nanox_eip191_nonascii/00005.png diff --git a/tests/snapshots/nanox_eip191_nonascii/00006.png b/tests/zemu/snapshots/nanox_eip191_nonascii/00006.png similarity index 100% rename from tests/snapshots/nanox_eip191_nonascii/00006.png rename to tests/zemu/snapshots/nanox_eip191_nonascii/00006.png diff --git a/tests/snapshots/nanox_eip191_opensea/00000.png b/tests/zemu/snapshots/nanox_eip191_opensea/00000.png similarity index 100% rename from tests/snapshots/nanox_eip191_opensea/00000.png rename to tests/zemu/snapshots/nanox_eip191_opensea/00000.png diff --git a/tests/snapshots/nanox_eip191_opensea/00001.png b/tests/zemu/snapshots/nanox_eip191_opensea/00001.png similarity index 100% rename from tests/snapshots/nanox_eip191_opensea/00001.png rename to tests/zemu/snapshots/nanox_eip191_opensea/00001.png diff --git a/tests/snapshots/nanox_eip191_opensea/00002.png b/tests/zemu/snapshots/nanox_eip191_opensea/00002.png similarity index 100% rename from tests/snapshots/nanox_eip191_opensea/00002.png rename to tests/zemu/snapshots/nanox_eip191_opensea/00002.png diff --git a/tests/snapshots/nanox_eip191_opensea/00003.png b/tests/zemu/snapshots/nanox_eip191_opensea/00003.png similarity index 100% rename from tests/snapshots/nanox_eip191_opensea/00003.png rename to tests/zemu/snapshots/nanox_eip191_opensea/00003.png diff --git a/tests/snapshots/nanox_eip191_opensea/00004.png b/tests/zemu/snapshots/nanox_eip191_opensea/00004.png similarity index 100% rename from tests/snapshots/nanox_eip191_opensea/00004.png rename to tests/zemu/snapshots/nanox_eip191_opensea/00004.png diff --git a/tests/snapshots/nanox_eip191_opensea/00005.png b/tests/zemu/snapshots/nanox_eip191_opensea/00005.png similarity index 100% rename from tests/snapshots/nanox_eip191_opensea/00005.png rename to tests/zemu/snapshots/nanox_eip191_opensea/00005.png diff --git a/tests/snapshots/nanox_eip191_opensea/00006.png b/tests/zemu/snapshots/nanox_eip191_opensea/00006.png similarity index 100% rename from tests/snapshots/nanox_eip191_opensea/00006.png rename to tests/zemu/snapshots/nanox_eip191_opensea/00006.png diff --git a/tests/snapshots/nanox_eip191_opensea/00007.png b/tests/zemu/snapshots/nanox_eip191_opensea/00007.png similarity index 100% rename from tests/snapshots/nanox_eip191_opensea/00007.png rename to tests/zemu/snapshots/nanox_eip191_opensea/00007.png diff --git a/tests/snapshots/nanox_eip191_opensea/00008.png b/tests/zemu/snapshots/nanox_eip191_opensea/00008.png similarity index 100% rename from tests/snapshots/nanox_eip191_opensea/00008.png rename to tests/zemu/snapshots/nanox_eip191_opensea/00008.png diff --git a/tests/snapshots/nanox_eip191_opensea/00009.png b/tests/zemu/snapshots/nanox_eip191_opensea/00009.png similarity index 100% rename from tests/snapshots/nanox_eip191_opensea/00009.png rename to tests/zemu/snapshots/nanox_eip191_opensea/00009.png diff --git a/tests/src/eip191.test.js b/tests/zemu/src/eip191.test.js similarity index 100% rename from tests/src/eip191.test.js rename to tests/zemu/src/eip191.test.js From 8a47d4ecea4544ea925c9ddf76a2b9d892ca5c76 Mon Sep 17 00:00:00 2001 From: Coline Date: Tue, 28 Jun 2022 15:31:35 +0200 Subject: [PATCH 31/69] fix: mv build into specific folder ci --- .github/workflows/build-workflow.yml | 125 +++++++++++++++++++++++++++ .github/workflows/ci-workflow.yml | 75 +--------------- 2 files changed, 126 insertions(+), 74 deletions(-) create mode 100644 .github/workflows/build-workflow.yml diff --git a/.github/workflows/build-workflow.yml b/.github/workflows/build-workflow.yml new file mode 100644 index 0000000..0c5ddc6 --- /dev/null +++ b/.github/workflows/build-workflow.yml @@ -0,0 +1,125 @@ +name: Compilation + +on: + workflow_dispatch: + push: + branches: + - master + pull_request: + branches: + - master + - develop + +jobs: + job_build_debug_nano_s: + name: Build debug Nano S + runs-on: ubuntu-latest + + container: + image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest + + steps: + - name: Clone + uses: actions/checkout@v2 + with: + submodules: recursive + + - name: Build an altcoin + run: | + make DEBUG=1 ALLOW_DATA=1 CHAIN=ethereum_classic + mv bin/app.elf ethereum_classic_nanos.elf + + - name: Upload altcoin binary + uses: actions/upload-artifact@v2 + with: + name: ethereum_classic_nanos + path: ./ethereum_classic_nanos.elf + + - name: Build Ethereum + run: | + make clean + make DEBUG=1 ALLOW_DATA=1 + mv bin/app.elf ethereum_nanos.elf + + - name: Upload app binary + uses: actions/upload-artifact@v2 + with: + name: ethereum_nanos + path: ./ethereum_nanos.elf + + + + job_build_debug_nano_x: + name: Build debug Nano X + runs-on: ubuntu-latest + + container: + image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest + + steps: + - name: Clone + uses: actions/checkout@v2 + with: + submodules: recursive + + - name: Build an altcoin Nano X + run: | + make clean + make BOLOS_SDK=$NANOX_SDK DEBUG=1 ALLOW_DATA=1 CHAIN=ethereum_classic + mv bin/app.elf ethereum_classic_nanox.elf + + - name: Upload altcoin binary + uses: actions/upload-artifact@v2 + with: + name: ethereum_classic_nanox + path: ./ethereum_classic_nanox.elf + + - name: Build Ethereum Nano X + run: | + make clean + make BOLOS_SDK=$NANOX_SDK DEBUG=1 ALLOW_DATA=1 + mv bin/app.elf ethereum_nanox.elf + + - name: Upload app binary + uses: actions/upload-artifact@v2 + with: + name: ethereum_nanox + path: ./ethereum_nanox.elf + + + job_build_debug_nano_sp: + name: Build debug Nano SP + runs-on: ubuntu-latest + + container: + image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest + + steps: + - name: Clone + uses: actions/checkout@v2 + with: + submodules: recursive + + - name: Build an altcoin Nano SP + run: | + make clean + make BOLOS_SDK=$NANOSP_SDK DEBUG=1 ALLOW_DATA=1 CHAIN=ethereum_classic + mv bin/app.elf ethereum_classic_nanosp.elf + + - name: Upload altcoin binary + uses: actions/upload-artifact@v2 + with: + name: ethereum_classic_nanosp + path: ./ethereum_classic_nanosp.elf + + - name: Build Ethereum Nano SP + run: | + make clean + make BOLOS_SDK=$NANOSP_SDK DEBUG=1 ALLOW_DATA=1 + mv bin/app.elf ethereum_nanosp.elf + + - name: Upload app binary + uses: actions/upload-artifact@v2 + with: + name: ethereum_nanosp + path: ./ethereum_nanosp.elf \ No newline at end of file diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 8d8695c..bc6f670 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -1,4 +1,4 @@ -name: Compilation & tests +name: Tests on: workflow_dispatch: @@ -11,79 +11,6 @@ on: - develop jobs: - job_build_debug_nano_s: - name: Build debug Nano S - runs-on: ubuntu-latest - - container: - image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest - - steps: - - name: Clone - uses: actions/checkout@v2 - with: - submodules: recursive - - - name: Build an altcoin - run: | - make DEBUG=1 ALLOW_DATA=1 CHAIN=ethereum_classic - mv bin/app.elf ethereum_classic_nanos.elf - - - name: Upload altcoin binary - uses: actions/upload-artifact@v2 - with: - name: ethereum_classic_nanos - path: ./ethereum_classic_nanos.elf - - - name: Build Ethereum - run: | - make clean - make DEBUG=1 ALLOW_DATA=1 - mv bin/app.elf ethereum_nanos.elf - - - name: Upload app binary - uses: actions/upload-artifact@v2 - with: - name: ethereum_nanos - path: ./ethereum_nanos.elf - - job_build_debug_nano_x: - name: Build debug Nano X - runs-on: ubuntu-latest - - container: - image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest - - steps: - - name: Clone - uses: actions/checkout@v2 - with: - submodules: recursive - - - name: Build an altcoin Nano X - run: | - make clean - make BOLOS_SDK=$NANOX_SDK DEBUG=1 ALLOW_DATA=1 CHAIN=ethereum_classic - mv bin/app.elf ethereum_classic_nanox.elf - - - name: Upload altcoin binary - uses: actions/upload-artifact@v2 - with: - name: ethereum_classic_nanox - path: ./ethereum_classic_nanox.elf - - - name: Build Ethereum Nano X - run: | - make clean - make BOLOS_SDK=$NANOX_SDK DEBUG=1 ALLOW_DATA=1 - mv bin/app.elf ethereum_nanox.elf - - - name: Upload app binary - uses: actions/upload-artifact@v2 - with: - name: ethereum_nanox - path: ./ethereum_nanox.elf - scan-build: name: Clang Static Analyzer runs-on: ubuntu-latest From 4850ee083ea61749dc2795ca40e26e448fd4b662 Mon Sep 17 00:00:00 2001 From: Coline Date: Wed, 29 Jun 2022 10:22:06 +0200 Subject: [PATCH 32/69] fix: test nft and rm useless screenshot --- .../00000.png | Bin 414 -> 0 bytes .../00001.png | Bin 328 -> 0 bytes .../00002.png | Bin 710 -> 0 bytes .../00003.png | Bin 457 -> 0 bytes .../00004.png | Bin 823 -> 0 bytes .../00005.png | Bin 792 -> 0 bytes .../00006.png | Bin 558 -> 0 bytes .../00007.png | Bin 312 -> 0 bytes .../00008.png | Bin 464 -> 0 bytes .../00009.png | Bin 472 -> 0 bytes .../00000.png | Bin 414 -> 0 bytes .../00001.png | Bin 328 -> 0 bytes .../00002.png | Bin 710 -> 0 bytes .../00003.png | Bin 457 -> 0 bytes .../00004.png | Bin 770 -> 0 bytes .../00005.png | Bin 352 -> 0 bytes .../00006.png | Bin 463 -> 0 bytes .../00007.png | Bin 472 -> 0 bytes tests/speculos/test_configuration_cmd.py | 6 +- tests/speculos/test_erc1155.py | 62 ++++-------------- tests/speculos/test_erc721.py | 56 +++------------- 21 files changed, 24 insertions(+), 100 deletions(-) delete mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00000.png delete mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00001.png delete mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00002.png delete mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00003.png delete mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00004.png delete mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00005.png delete mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00006.png delete mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00007.png delete mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00008.png delete mode 100644 tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00009.png delete mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00000.png delete mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00001.png delete mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00002.png delete mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00003.png delete mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00004.png delete mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00005.png delete mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00006.png delete mode 100644 tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00007.png diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00000.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00000.png deleted file mode 100644 index 487ea10fcfeb2f3e6b79239459672251d49addd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*?Yj*NZe%~CWfG*OPo;i-j_O-xVE4x(*ytjw|n)zfm3qM^Fc~!IW3PH z=3&G7^uB>>R8cN7G`M%~8~Dv(y@wMl0ef=JL30x+0gXjJr4(YpS&Ni_M+%mJpk>|= zECB!jJVXC(X!Xzb!Z-auExGj4Gr3kE;j(mP_ElSOM$PyQq6$PO@+x6nNKV|U z#l4(~Y5SpCCZ^*LJP2>B+6ihm$fAFnjZlmJ&E%jbt58n|L6(ER5?%lR0000000000 a_?s`=hm}oltDK<#0000u3sS>)oAq|}pu!|U%Xyl{BVJnpv4cf)=CuT#aiY%s4dJa&LtOh0Mi z?5(?URdco49q=@vRsTj`elO8#QWO6XEUo-URwWFLa3>XkyHq`)3`f>nTI+0hKA)Bg zQf)2M741cLtBgGH%3&4E9!j;#X!Q63C%C*esOnnRR$(VC)b{mic&n&Zen%GL88AIi zfP(_;?w(e2gPs-rQ@)V7z~d59ZAz;rq>Za(pSTZt2u*E|NT$nX3E{z(gaMS9mn{7iIlPSdK?$XqOpdcB@gp z-T~mr(>m66cO?@&_XO)5;6xH1)lagmoK;(~-T?*v90Qbdqv1mS!iU;XwsOzzzcgb+dqA>>*913aAu#YLiblK=n!07*qoM6N<$f)1EUTL1t6 diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00003.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00003.png deleted file mode 100644 index b34af53fcd4c2abde410f077c7f6ee0d6d53ff3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 457 zcmV;)0XF`LP)aH1MOvfRFde|Kx zk4HM~ZXu0%)_BH!_f^|Abk)(>WUbIS0Ty+MIfG@qEL4#p1T`OdcQM8kRvE?}<{6Ca zwAfu^t+i>+C6R;=YWZ3X1rR}zte)u}G(PPwmT z)k16fil@+F@-3*9OxfU>jA&ZB%HZG9v|CU^c2KQ*06Q+I=XEo$M`IRWWnk!!i> z*{Z z*OM;I{27?pftUHm7OLi@+n=P@CxWf||_bkMB zf?1><&FKtuu}nHDVQ(@6&Cc5bGL7f^&!9(dr}nl?W-DPlK%%LDCgH*nWro+g z>YBU9GuyEMqNSdWM(CRN1C?IV*nuC$dB(@YQm0cppq?c4rRXf;v(+k|@ym)ea>pFM z-Xb&88Q47?3(#&cvxU3%u*QwAa@{qZRZissw88C4Lxqw1!b<@Wl}V3+wbL>CsiISB zI!%^s@)RZrZjc%M$1p<8=syhC;7xc6y-5;euEADxcssrunpXBY<%$JNvtpD;uhjIF zjvQ~hB5hH`?-X8x(7OXRCPne79R<4HIKh#pl7UKaky;Z#-B6?~#9gM~-M!Q!{vKRg z$>Y}YR)lA(-Jxc8Gc5~ox=Tu5#vI05(Z6QC8JB)*ObFb=YU_2~_VCcUfml3j&{UVr z8Im2~H3(O+FzGU%w8+Q<$$|OyMl4x?t^Ll+N}0wSX%&3rp5)kkH%3h7IcZ)LsKlv` ze!zOx+UI|o#(1Vo$*y6f)(9bl5JE`H#$U?gwCNh&R@7Rc*ioGF8?l*^Cr!5xjC$bj_)&P4hbVQ&3k2)%f!qu>v~LVt6_0t_?U?KH(`V2sbrN&pxfDl3mA%u`0#ecoe%Sp5F(P{ty002ovPDHLkV1ke` Bow5J` diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00005.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00005.png deleted file mode 100644 index d6257d347a1536ff8e530304937dd86728fcae1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 792 zcmV+z1LypSP)@TCRW};E3pCXi@pp9x2*+<~BT}(wfov?jNZap(`+m%`H2@pN zgZEn-kzg<46)WI8&)nEF*(Nr>V3M3?S!PhY#fGkf4A%qYGM-6QRldz?TQ=L>F zn|`HiIn*Rmza%i>CGt`B%&)gPmb;ZMWsE@FrZzw>g0 z^flwp4^l`@O3V`I=(b-EMuSMAh_xI8yhuXa!z)GD;yg}NDJ;r4#vr=WGO zzq-@j8^D)bL?2rLGD1x-zC;CU1F&f1$8q#>bnz0UTDJi?hRSx3GFkrIc5AR-vg)6u zJIS2=Z75UC+20If@FdJaPvT56W3UuCy{H=MYL>=9uxM9VSJ#xaM%71Lvot)6jY73d z;cAw4$)3f~8jY55ITKMa!M^a}fL&Y!)zGZ_+PdrRr(C3cDMDRb`0xTUk$Xc%?xMJR zvM*JnD*cR?=#TGci7w9}i!>q**e#zGcwb24Gbw0TjB9dhvk$NMlK`ycmI1}*%{t(4 z0D4Pxo!=?5|5}^?fP!V9@K7U2&UJf76w_EO>CcW`fe=CnA>@;R)X-6Zv#y>cJ!X9d zIw{unMu+q`%)I0$8JZC4%9GeR(%`#xmQyJIlAy*BOhkD3QuqL5$VyW zZo5>xSpYB3h*%4{hj_K`%ea{jG2I}^4>4sgO_>>gK%`fah#Km?{^fV}w3U{CfSM(I zBL2t%1s)wj{t5{Hb)%9cXlIc-x?%?)SJDd~%iMEk?5K+PGcyAz+Atx65JCtcOZW%o WV8u#kNX+B_0000$D diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00006.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00006.png deleted file mode 100644 index 061c754c7733618beab803330ab526c04a16a484..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558 zcmV+}0@3}6P)UTJq`c>004mHe9c}U#&|YD2-ip1 zHaLe#IqF0?Opd?$6CG@sa+WH2EZ?&is1p7nJ3SK*&5^RlcDcPRs#~O=pV!zCtv}dUA!RNtE_Xt z#yG1gpz5<;$rqo1>+(=7d+li1INL_nBrl{b5$Qu1a1n8!Fy%pP-owi% z$wrBE@sn4*9Gx7l5JI&l$1|pRRuW;_);dhf5{I~xw5Cj{AJJhMF0OS4J??2%DW z>M`_8SocCEXXSaXu9e&h$vrIR8h3l*C(p0j=72|8|Hx9BWxAyfNY>7sJn#;v#%_;f zkA~{7W{izr6<%?zCuTt>MI&SVWhkb``isE_J0S|~q+(=zFqPcA)BhXVMqW*HCVx{C z(0_z+5O38upMRiV{I`^xH}3JBwIG{P%yGU{G33AvJg+z!s<6-Dqe9Rd!2z3j=pEom wIz7R?`Ry10000000000000000006w5U!4OsCJS)&^Z)<=07*qoM6N<$f+=MB8UO$Q diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00007.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00007.png deleted file mode 100644 index c748a750b1b71690ef58c191ac87c58280aab984..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QvW?&978JRyuA_FcSu2i;ljF) zYJ2}r+|eyBeNt!JMN?hom(}&W7BeJgEIJL;b@#8zx>&Ey{@1(aZ9nCCP(946lQlz* zzvs`xfN9m=#BT(A&$+Y5u&~s6deEyaKPH}4IC~*`h3ex4cdXWb-}*K4=j?;`rH*74 z)(I!-ha}CG`pA+awYF3ywNE&p{KdxEB`xNkWmqjj-9 zSM%bMknyCr9>u5&ukW^bd))uWP~$IrUgZBV#j|f%B_5R@n5yYu#Okq(;p8o*GynXg z@67&ks*ZiP=d{0hWv&~Vv?AxM7n1=fYv<3J*wu6{1- HoD!M<+rx*M diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00008.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00008.png deleted file mode 100644 index cd509d9907238bbeda5aed2629ac476d990947df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 zcmV;>0WbcEP)|L@5`573}d(hvXu0D$Sf<`0=t+74ojt(L=m zp6qA7pVbq%(u?Artz3YVQjAgDyy5Tdyv4M9MEs9S-H+Y5r_alMPae-B?!q3OIxcFY zQc5|R`G;jcYGXO*4S!9?6H`$AOoaX3Z>>kZM)Xj2r8bJQ^VeY60*GW%-?^a?snJpL zaVvL;(I>CL;uPc$@zBDkK{O(}D*uEBrl2y_Wa^9B4w>j@yI5^p`w|8K0QjGdS3~Wh zO4%rOL-nVgu?wwFwOZ6^h`q5<5i+jvw6x}bqtdRor zXQm)epywApRiC*4FCtUW(0y_KpXotM(B%UzPI+29LwF2*hB|xhg!k^ZC4v!TqCbri zYN9_GYp@boXr)e&S%X^#Y diff --git a/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00009.png b/tests/speculos/screenshots/erc1155/nanox/transfer_erc1155_without_nft_provide_info/00009.png deleted file mode 100644 index 570ce28d53e82ac396ba25c370110058f3a638f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*?Yj*NZe%~CWfG*OPo;i-j_O-xVE4x(*ytjw|n)zfm3qM^Fc~!IW3PH z=3&G7^uB>>R8cN7G`M%~8~Dv(y@wMl0ef=JL30x+0gXjJr4(YpS&Ni_M+%mJpk>|= zECB!jJVXC(X!Xzb!Z-auExGj4Gr3kE;j(mP_ElSOM$PyQq6$PO@+x6nNKV|U z#l4(~Y5SpCCZ^*LJP2>B+6ihm$fAFnjZlmJ&E%jbt58n|L6(ER5?%lR0000000000 a_?s`=hm}oltDK<#0000u3sS>)oAq|}pu!|U%Xyl{BVJnpv4cf)=CuT#aiY%s4dJa&LtOh0Mi z?5(?URdco49q=@vRsTj`elO8#QWO6XEUo-URwWFLa3>XkyHq`)3`f>nTI+0hKA)Bg zQf)2M741cLtBgGH%3&4E9!j;#X!Q63C%C*esOnnRR$(VC)b{mic&n&Zen%GL88AIi zfP(_;?w(e2gPs-rQ@)V7z~d59ZAz;rq>Za(pSTZt2u*E|NT$nX3E{z(gaMS9mn{7iIlPSdK?$XqOpdcB@gp z-T~mr(>m66cO?@&_XO)5;6xH1)lagmoK;(~-T?*v90Qbdqv1mS!iU;XwsOzzzcgb+dqA>>*913aAu#YLiblK=n!07*qoM6N<$f)1EUTL1t6 diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00003.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00003.png deleted file mode 100644 index b34af53fcd4c2abde410f077c7f6ee0d6d53ff3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 457 zcmV;)0XF`LP)aH1MOvfRFde|Kx zk4HM~ZXu0%)_BH!_f^|Abk)(>WUbIS0Ty+MIfG@qEL4#p1T`OdcQM8kRvE?}<{6Ca zwAfu^t+i>+C6R;=YWZ3X1rR}zte)u}G(PPwmT z)k16fil@+F@-3*9OxfU>jA&ZB%HZG9v|CU^c2KQ*06Q+I=XEo$M`IRWWnk!!i> z*{Z z*OM;I{2kx>KP=*pJ4EMEcV)Kdf9^}NbUh?D$=mK0WI7dZ_ zfro)lHfVTa**|J?bcUPt4pT&;FlbvjDHF6 zjjPtIN3fntRd?vS2_r)?i{WeS#rtqb{z0}6n4NGF9#~~farg#ibyr8Zne6_X46EzD z0Z;>nyyR-~a&dQH){ITGu)FeA?cR05;M`OTn)N&rL!%nMqFCo=+{wNHxH5CE19m#> zn{{l%6|eOEtKa+?o(klSgd7G!Evq9{QQE1+oNd$cu+jDHht62v2FhdwW{?^E+fYKy z=-&*-;7OQ;o`n1GlgRLT)zC&de0i;&qmdG+C4;m$X8raq2YMf*Rv*6>gf{?3-qPxl z3DpM#9Jeoet6B~-%4_~HD^)lCSL8`>?gym^xd5%kF%P;{=-e`ybU-aNA`h#kDbUYg z0Hj4LtA<@Jnzp!EKUpWE(iN67hbu@YbE=^-`b|q$4IQWJ;V18qHYHUez07$b!~fi? z=_-z*dw^`|N|Z<@l_@xUappVYcQ@vMYyo#fLI@#*5K^=7m-351PMJ>0*3lvm$fei0 zzU;02*lPe1_N!e>>y5nW zjo3fQb}JyvLNb*fe}6u&itV`p5JCtcgb?x!-+H-TqnD2<+W-In07*qoM6N<$f}Dba4!+nDh2#AYZcrPebDN zH)?zTPpq15J3%r`;9~BU9sjF~wA!}FGU;&xH5uGFyPG*b#8kH9#4ls}Jdf>9&#yE) zli&T|;oZh$pC6wbzMF)EhVo8r-d)cAs_gY&qb9WkZ>_}laW%n5SWMVz1vyO{YV?wr z{&`(siCJ?-T5UG#+%&ZvK$Aa+CYf)!6KtG*Yx0Sjdfj+?^I6~DKZ=d-a+TZhsb^=( zxh?P4nBA=USMg8#;U=En+@J5>+e+mwW!2Y>MUf7tE6mszvVm-dw{vtIDK p@!1%1RX(zP)A<1uKFGlSGfU0fO;0SQbZr0$d%F6$taD0e0sz#{l0^Uj diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00006.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00006.png deleted file mode 100644 index 6ce12bac14e5a62c5d71f7041d7b801af0da1c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 463 zcmV;=0WkiFP)PX1-8c9O-ZL%1+$9Q)!E`<W;YVljjSKI*t! zAGaCTrOeLdE7oBA>GA;>>2myk>rN`f@hgcnx_9E~odc%)s5F`uXZ7?5rzDx|ZzH6d z>~F>xSfUD9x=1o(uoUS90000000000000000001%`3J~Te_WG%`!N6j002ovPDHLk FV1o5N)s+AM diff --git a/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00007.png b/tests/speculos/screenshots/erc721/nanox/transfer_erc721_without_nft_provide_info/00007.png deleted file mode 100644 index 570ce28d53e82ac396ba25c370110058f3a638f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000 Date: Wed, 29 Jun 2022 10:25:12 +0200 Subject: [PATCH 33/69] feat: ci with speculos --- .github/workflows/ci-workflow.yml | 73 +++++++++++++++++++++++++++++-- 1 file changed, 69 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index bc6f670..46c2813 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -31,7 +31,7 @@ jobs: name: scan-build path: scan-build - building_for_e2e_tests: + building_for_e2e_zemu_tests: name: Building binaries for E2E tests runs-on: ubuntu-latest container: @@ -49,9 +49,9 @@ jobs: name: e2e_elfs path: ./tests/zemu/elfs/ - jobs-e2e-tests: - name: E2E tests - needs: [building_for_e2e_tests] + jobs-e2e-zemu-tests: + name: E2E Zemu tests + needs: [building_for_e2e_zemu_tests] runs-on: ubuntu-latest steps: - name: Test @@ -88,3 +88,68 @@ jobs: - name: Run zemu tests run: cd tests/zemu/ && yarn test + + + + building_for_e2e_speculos_tests: + name: Building binaries for E2E tests + runs-on: ubuntu-latest + container: + image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest + + steps: + - uses: actions/checkout@v2 + + - name: Build testing binaries + run: mkdir tests/speculos/elfs + run: make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOS_SDK; mv bin/app.elf .; mv app.elf nanos.elf; mv nanos.elf tests/speculos/elfs + run: make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOX_SDK; mv bin/app.elf .; mv app.elf nanox.elf; mv nanox.elf tests/speculos/elfs + run: make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOSP_SDK; mv bin/app.elf .; mv app.elf nanosp.elf; mv nanosp.elf tests/speculos/elfs + + - name: Upload app binaries + uses: actions/upload-artifact@v2 + with: + name: e2e_elfs + path: ./tests/speculos/elfs + + + jobs-e2e-speculos-tests: + name: Speculos tests + needs: [building_for_e2e_speculos_tests] + runs-on: ubuntu-latest + steps: + - name: Test + run: | + id + echo $HOME + echo $DISPLAY + - name: Checkout + uses: actions/checkout@v2 + + - run: sudo apt-get update -y && sudo apt-get install -y libusb-1.0.0 libudev-dev + + - name: Install Python3 + uses: actions/setup-python@v4 + with: + python-version: "3.8.10" + + - name: Install dependencies + run: cd tests/speculos + run: python3 -m pip install --extra-index-url https://test.pypi.org/simple/ -r requirements.txt + + - name: Create tmp folder for artifacts + run: mkdir tests/speculos/elfs + + - name: Download app binaries + uses: actions/download-artifact@v2 + with: + path: tmp/ + + - name: Gather elfs + run: cp `find tmp/e2e_elfs/ -name "*.elf"` tests/speculos/elfs/ + + - name: Run speculos tests + run: cd tests/speculos + run: pytest --model nanos --path ./elfs/nanos.elf --display headless + run: pytest --model nanox --path ./elfs/nanox.elf --display headless + run: pytest --model nanosp --path ./elfs/nanosp.elf --display headless From 9a3eb3e615ee2668176b60c3243beb6ab606e544 Mon Sep 17 00:00:00 2001 From: Coline Date: Wed, 29 Jun 2022 10:40:59 +0200 Subject: [PATCH 34/69] fix: add comment in ci --- .github/workflows/ci-workflow.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 46c2813..f422637 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -31,6 +31,10 @@ jobs: name: scan-build path: scan-build +# ===================================================== +# ZEMU TESTS +# ===================================================== + building_for_e2e_zemu_tests: name: Building binaries for E2E tests runs-on: ubuntu-latest @@ -89,7 +93,9 @@ jobs: - name: Run zemu tests run: cd tests/zemu/ && yarn test - +# ===================================================== +# SPECULOS TESTS +# ===================================================== building_for_e2e_speculos_tests: name: Building binaries for E2E tests From 23739af93c12b21fe4716773f0e3240e15dbb231 Mon Sep 17 00:00:00 2001 From: Coline Date: Wed, 29 Jun 2022 15:24:52 +0200 Subject: [PATCH 35/69] fix: ci --- .github/workflows/ci-workflow.yml | 50 ++++++++++++++----------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index f422637..5051ad8 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -36,7 +36,7 @@ jobs: # ===================================================== building_for_e2e_zemu_tests: - name: Building binaries for E2E tests + name: Building binaries for E2E Zemu tests runs-on: ubuntu-latest container: image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest @@ -97,8 +97,9 @@ jobs: # SPECULOS TESTS # ===================================================== + building_for_e2e_speculos_tests: - name: Building binaries for E2E tests + name: Building binaries for E2E Speculos tests runs-on: ubuntu-latest container: image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest @@ -107,10 +108,11 @@ jobs: - uses: actions/checkout@v2 - name: Build testing binaries - run: mkdir tests/speculos/elfs - run: make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOS_SDK; mv bin/app.elf .; mv app.elf nanos.elf; mv nanos.elf tests/speculos/elfs - run: make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOX_SDK; mv bin/app.elf .; mv app.elf nanox.elf; mv nanox.elf tests/speculos/elfs - run: make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOSP_SDK; mv bin/app.elf .; mv app.elf nanosp.elf; mv nanosp.elf tests/speculos/elfs + run: | + mkdir tests/speculos/elfs + make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOS_SDK; mv bin/app.elf .; mv app.elf nanos.elf; mv nanos.elf tests/speculos/elfs + make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOX_SDK; mv bin/app.elf .; mv app.elf nanox.elf; mv nanox.elf tests/speculos/elfs + make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOSP_SDK; mv bin/app.elf .; mv app.elf nanosp.elf; mv nanosp.elf tests/speculos/elfs - name: Upload app binaries uses: actions/upload-artifact@v2 @@ -121,28 +123,17 @@ jobs: jobs-e2e-speculos-tests: name: Speculos tests + strategy: + matrix: + model: ["nanos", "nanox", "nanosp"] + needs: [building_for_e2e_speculos_tests] runs-on: ubuntu-latest + steps: - - name: Test - run: | - id - echo $HOME - echo $DISPLAY - - name: Checkout + - name: Clone uses: actions/checkout@v2 - - run: sudo apt-get update -y && sudo apt-get install -y libusb-1.0.0 libudev-dev - - - name: Install Python3 - uses: actions/setup-python@v4 - with: - python-version: "3.8.10" - - - name: Install dependencies - run: cd tests/speculos - run: python3 -m pip install --extra-index-url https://test.pypi.org/simple/ -r requirements.txt - - name: Create tmp folder for artifacts run: mkdir tests/speculos/elfs @@ -154,8 +145,13 @@ jobs: - name: Gather elfs run: cp `find tmp/e2e_elfs/ -name "*.elf"` tests/speculos/elfs/ + - name: Install dependencies + run: | + cd tests/speculos + sudo apt-get update && sudo apt-get install -y qemu-user-static + pip install --extra-index-url https://test.pypi.org/simple/ -r requirements.txt + - name: Run speculos tests - run: cd tests/speculos - run: pytest --model nanos --path ./elfs/nanos.elf --display headless - run: pytest --model nanox --path ./elfs/nanox.elf --display headless - run: pytest --model nanosp --path ./elfs/nanosp.elf --display headless + run: | + cd tests/speculos + pytest --model ${{ matrix.model }} --path ./elfs/${{ matrix.model }}.elf --display headless \ No newline at end of file From 78e66aea4495999e7d2ab1466a715244473c44dc Mon Sep 17 00:00:00 2001 From: Coline Date: Wed, 29 Jun 2022 16:45:24 +0200 Subject: [PATCH 36/69] feat: test batch erc1155 --- .../test_transfer_batch_erc1155/00000.png | Bin 0 -> 414 bytes .../test_transfer_batch_erc1155/00001.png | Bin 0 -> 372 bytes .../test_transfer_batch_erc1155/00002.png | Bin 0 -> 710 bytes .../test_transfer_batch_erc1155/00003.png | Bin 0 -> 592 bytes .../test_transfer_batch_erc1155/00004.png | Bin 0 -> 823 bytes .../test_transfer_batch_erc1155/00005.png | Bin 0 -> 500 bytes .../test_transfer_batch_erc1155/00006.png | Bin 0 -> 464 bytes .../test_transfer_batch_erc1155/00007.png | Bin 0 -> 472 bytes tests/speculos/test_erc1155.py | 89 +++++++++++++++++- 9 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00000.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00001.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00002.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00003.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00004.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00005.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00006.png create mode 100644 tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00007.png diff --git a/tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00000.png b/tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*>PW<2FVjInt|Gg`l&SO@?Dj^p*6~=Ggi({_s4<^kB(#D`rz zoHn7-I>}f$FgVPoSftr9`0RfDW2xtRetr^6=s)H4t!K_(p>ILI>>ka!x428SY<-Z< zl~ZS5uA8Ud-s|()KR6>Rs@^DRgV5#+Uh2I*JZ+0A89^>bfQH0gTe~DWM4fa=n`8 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00002.png b/tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..7d01fe80c981e4dacb153b84d86a76d1e5bf7ea3 GIT binary patch literal 710 zcmV;%0y+JOP)u3sS>)oAq|}pu!|U%Xyl{BVJnpv4cf)=CuT#aiY%s4dJa&LtOh0Mi z?5(?URdco49q=@vRsTj`elO8#QWO6XEUo-URwWFLa3>XkyHq`)3`f>nTI+0hKA)Bg zQf)2M741cLtBgGH%3&4E9!j;#X!Q63C%C*esOnnRR$(VC)b{mic&n&Zen%GL88AIi zfP(_;?w(e2gPs-rQ@)V7z~d59ZAz;rq>Za(pSTZt2u*E|NT$nX3E{z(gaMS9mn{7iIlPSdK?$XqOpdcB@gp z-T~mr(>m66cO?@&_XO)5;6xH1)lagmoK;(~-T?*v90Qbdqv1mS!iU;XwsOzzzcgb+dqA>>*913aAu#YLiblK=n!07*qoM6N<$f)1EUTL1t6 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00003.png b/tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..950fd72aaea19c12ebe953827e63d1da749c1441 GIT binary patch literal 592 zcmV-W0zI1bzF zG$^k}l7=JXnrGEB&R@*!w$eqSy`8m!-~hA`Q_N{x+Lw*O@;DAL9(B5uQZ_TnIL$o8 zlu6ZewO1Fv0iPE2ZsRd7?aRjeRcYo)S9h+5GNT%;HD;=ppJ^+gPH%KXHWs(KD4pP( z%OXN=_o=rKVDc8!OW9?EcQQiP+7%2wmZoh%bsa`!>Q`NN(v@y7*P;j~!2!sVrCiHh zXFEGWZY*0`5j^Sq#l*ZeE?)ou0Dx~Ku7;L~L)fe{a+k7n=^m3P?D&rm2US&IMc6_2 z=|}Y`0oO_qEwNDj?N*x^0ec-)cQryQg{{}_#F%TU)@EFY#+F{@nccSBHeRzDB)}dq z&QrRoH25VUP&DXJK0Q}Fc@^28;(UvfUyHSi0!C7jInSaPY0J#DJN2_|48P8i` z@7Ww|$JWgCA7Sl%OvLdlDLa={&od8dFQeHfD>{n-P*J*NQBN@dE$$lwsJV3)0>MQm zGX_hkyLXNn8e>rGYz2ITLiv2AtCdfXU;}Jh0pcggr7BsslphC0&6u|O-T2kYfKE9c z?KZZ(nmGPi)jQ4$``-->_v1Tu3DnTdY+C{988q)mmx`%VQVke$mIVL+0000000000 e00000cnALsF(B(E^GVnM00007?pftUHm7OLi@+n=P@CxWf||_bkMB zf?1><&FKtuu}nHDVQ(@6&Cc5bGL7f^&!9(dr}nl?W-DPlK%%LDCgH*nWro+g z>YBU9GuyEMqNSdWM(CRN1C?IV*nuC$dB(@YQm0cppq?c4rRXf;v(+k|@ym)ea>pFM z-Xb&88Q47?3(#&cvxU3%u*QwAa@{qZRZissw88C4Lxqw1!b<@Wl}V3+wbL>CsiISB zI!%^s@)RZrZjc%M$1p<8=syhC;7xc6y-5;euEADxcssrunpXBY<%$JNvtpD;uhjIF zjvQ~hB5hH`?-X8x(7OXRCPne79R<4HIKh#pl7UKaky;Z#-B6?~#9gM~-M!Q!{vKRg z$>Y}YR)lA(-Jxc8Gc5~ox=Tu5#vI05(Z6QC8JB)*ObFb=YU_2~_VCcUfml3j&{UVr z8Im2~H3(O+FzGU%w8+Q<$$|OyMl4x?t^Ll+N}0wSX%&3rp5)kkH%3h7IcZ)LsKlv` ze!zOx+UI|o#(1Vo$*y6f)(9bl5JE`H#$U?gwCNh&R@7Rc*ioGF8?l*^Cr!5xjC$bj_)&P4hbVQ&3k2)%f!qu>v~LVt6_0t_?U?KH(`V2sbrN&pxfDl3mA%u`0#ecoe%Sp5F(P{ty002ovPDHLkV1ke` Bow5J` literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00005.png b/tests/speculos/screenshots/erc1155/nanox/test_transfer_batch_erc1155/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..05c1afa8585ff10ee02d738eb0e5dfd4133a6ecc GIT binary patch literal 500 zcmVSd;jf!<#rrDX5Ks%unZPn=GTPz!sh`EiY&vp*(O{xi=q`Spe;or~Q3CV~odf{0OCeY(_2eaS!BWDy7;f8EWA+<+TEed&udw?wY_e zIj(?Hc^)l);yFe3crtt40GsP8-z!Siz9u=YfZFaKK5rNDxIbFHUJZfV;)WylpZeEs z9FgT+-}wv}=JD2q7ho>}@W)J5L+$He;~m+f%BX5h>Xb^X_~=&kC>yHr!P)F5$*PEK z36(m;hGbMrXKtPC>Vj3@XuKBGKLu<7t5zjdwZ`1onCa~div_5)#&XMi%h8A8K&TS2 zJ+_U-N$0V%T{YADEB_Ibj*44tLnxj~!jc?j;_O%fPvcP{9p39+zXDD**2fci(JNr) zsil4ty!xrD9}L|Oz*YC4@!RBS4*BBNWfVF#s17otzfEDN8U4+;2X|r@y3@%Za}QiG qyZ`_I000000000000000fSX^=<&1R9$2iph00000WbcEP)in9Dopl_da`g-RI+c=EYtaiw<=rYJ*jkHTwe2tEHmZFM>05ZE^kzAw94L39*ZYRtShFV< zwir8Z=-Dr8r8d^YXFR0iZkXY;$q;6#imwu&|7MCQ$6x6kE;a@F{G#| z4(;%A=|5Zp=9QFZM9#ON_C9JwM19|B*@mXq*tem|#?%sLU}VKbdS|bea7vQN{xU+U z$^K%D!A{IVJ6$B1F_?<<0ssI2000000000000000)BFN*yLlT*n?UUV00006P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000 Date: Wed, 29 Jun 2022 17:02:44 +0200 Subject: [PATCH 37/69] feat: test eip 1559 --- .../eip1559/nanos/sign_eip_1559/00000.png | Bin 0 -> 374 bytes .../eip1559/nanos/sign_eip_1559/00001.png | Bin 0 -> 296 bytes .../eip1559/nanos/sign_eip_1559/00002.png | Bin 0 -> 434 bytes .../eip1559/nanos/sign_eip_1559/00003.png | Bin 0 -> 403 bytes .../eip1559/nanos/sign_eip_1559/00004.png | Bin 0 -> 343 bytes .../eip1559/nanos/sign_eip_1559/00005.png | Bin 0 -> 345 bytes .../eip1559/nanos/sign_eip_1559/00006.png | Bin 0 -> 414 bytes .../eip1559/nanox/sign_eip_1559/00000.png | Bin 0 -> 414 bytes .../eip1559/nanox/sign_eip_1559/00001.png | Bin 0 -> 353 bytes .../eip1559/nanox/sign_eip_1559/00002.png | Bin 0 -> 558 bytes .../eip1559/nanox/sign_eip_1559/00003.png | Bin 0 -> 413 bytes .../eip1559/nanox/sign_eip_1559/00004.png | Bin 0 -> 472 bytes tests/speculos/test_eip1559.py | 59 +++++++++++++++++- 13 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00000.png create mode 100644 tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00001.png create mode 100644 tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00002.png create mode 100644 tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00003.png create mode 100644 tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00004.png create mode 100644 tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00005.png create mode 100644 tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00006.png create mode 100644 tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00000.png create mode 100644 tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00001.png create mode 100644 tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00002.png create mode 100644 tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00003.png create mode 100644 tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00004.png diff --git a/tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00000.png b/tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d84cc70fea8013b7e8b25c0982ce142fa103d5c GIT binary patch literal 374 zcmV-+0g3*JP)K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00001.png b/tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..9f26513905ca5d43f8a01ecdc783260b6de6c5ca GIT binary patch literal 296 zcmV+@0oVSCP)fX#!FZBO{Ig0000hQue@KoMo!lVn-VMNUcna`?Oxe>;TDxhx7Rz4!(dya;|m zwG$ET+wZ(v)&YZQ2FPk6xp%OvWBgPzWeXZOo@@_EJ5S0nv6$YQ_!U5Z(<&|~*_@p_ zg*ype0epcU5-~>2z?~cDKf=jq(>>n(g2nWlxnsaRsNvCQD12q~=}rl#>3nPSZ-@|T zM1L~K!IfYax|07vUW96XGOHiOvNO28ji#dsy%o1V{U!_})jSG{ue+KynvN#)R^0xK z)kZ|-i&#qFIg_P3&bd}>qv>cW>aDo_>D0!Exe2>3kbDEw7bA!_VN5`J40z6K*Ug#o z7zfH26CggNX}&fS{&zH4ar-k?n{W&jweVBad2_5E!m_WW*hbUQRMcB>`{UCF00000 c0Emd_3y`Zwh@I}ii2wiq07*qoM6N<$f_&}3-T(jq literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00003.png b/tests/speculos/screenshots/eip1559/nanos/sign_eip_1559/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..32a2ee92966bd4321ef50d6ef6f25a44162df203 GIT binary patch literal 403 zcmV;E0c`$>P)Q!pQ${VqK?fv>G8$iick~1z#=K`q+L}LtlX3@C-**UE!R(t!amHfPk5{O5BBEnI z*JIiog1JnPWs2+)drw4Z^YPQnEk}@JJnU@ACr_?16*(=PS?Pd^-vRVpR&imoHLEP) z#j;OCDb{=$aF(!?C~B;U%^DEEz!)&m(3FPadu@MLG42{ue;sw$e+A=-IU`JV?+r zA2%aQM9Nqzgu+7KB^*1gF`kTHo%{4o1Ko$3o{bBGkIX)KDnQBRQ?u`oM5>Yf#h?b3 zU4TOAvh-%?(i=B{|_o8KNGjh7w%K@l@Mn-i)4Uj+od9L znK8wfmB};=0|Ow)n$s~Cr`6K5ppD_9)$kp>QenV)(LG=b1~Ne4A6;Tu{RHP0i$&N# zU3xMFd7=IUvLZwMXj~f|{k#}B z4)Di%0(GQh%XXzDG$sKK-Q2JkKR-`QsiPFD-4d_!i{fwH;J|_aEL%ZYNu#B0FJ7G| z;=_VQWOA9;dQ4Y9)LpKCV=ri`X({49JagUwO3&5UdSK)wEJxPN%9wG}45n;lzK(aC zKtbL$y*-#9uSql`7 zENOEh^0jsFWbV&<+yj5)WEX_aERLO-`${sQhD#B5ZCio#Fr4qHlr^7X|9DL69eFa= z#kf#}$Pcl(QEE=tNl8Pt$o;~Fk*8r@j8mpwSGW8d!1&11FbzPh@^gWj=oh7f%f7G)4s^6#xJL07*qo IM6N<$g02I(Gynhq literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00000.png b/tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*;rWy$-{$FutdLN-GD8Tc=R<^&lG44+1s}f6bMVr6dq&pcE!pg!C2d#j^efi9d$#*OU&g-9Ux}S_^Gxo(TD>}dVf*#6b2rU@ zX&zz{*`0LJ-NwVtQo)OBS3Zk>(LF{h)9)v1m)zHWH}lB`0Zk9}r?Jjwg16Wkh_%_5 zJ!fQK_)%5qe_+{rzOz-$k&6uS9h60C-ldmR?+dUnazDF%^E=T;?KdX7u4MiCE9-O7 z_Ss##8KgIt6|=>d&0RgAY0gH5bGKMKHg`XLe#Z5b{DkONi;LIP%(1xmKl!kN@ZZdy t0O7wUBbfbD6#eHMp2wjN^ei$cn5nO3yF-vyI7$j6?CI*~vd$@?2>_^vlz#vK literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00002.png b/tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..5b65b54dc173b086a88acaaaae42fcd7e007db2f GIT binary patch literal 558 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|{^}>EaktG3V{<=t(UKJgzfW z-sJopKdE{q|7xA~^aCvhZ!POD89FGfUo8vL#BjjcvhT44-%o$u-}T40mopy{J=Nd& zQo#Nm?~0%^?u8~tB+h@5NKR7L|9Gg9MTODV%~@zxQsSd0n>5+1cAD!)o)=SA;GFj1 z=KRkE{S~^4wLiu)HyvCgmERI~q4v7md6pR4{r;@a=ggD#o_D$J?7YwZ91l-#eD`fm zK#Y3!>CCsC_v!`NfX=8;pPRel$r_EDmpH#q;h%Wj=&oFBzO0JX(kBAD-GZh;`0B|~ z7fOBh&JXW?xp#h1w%H`xSsJMF=l@^&hsm_?klX3CneHMH3)K8> zWb8D3+c9CE*cJ!hIU6n(W#5|kWK+l6<()zhWipH1*p66~do&pTWzh)`R?pdTXI7a@ z(@(P!52$*u#UXZnnJ1=QP^wH5)i-A`JSQpi t;LLONgwK%~mvdJw~ba4!+nDh2V;G|{+o`%F- zmuDCJSAMGZ`@x9-4v%Qh3;*sKp!=O1E8mHky7aJfr{kMs?MH z#`IkQ_k_>03QUwp-dK6~b=ke5S@ueg`@LnC%h#wpd-<>DxwK$;;(5Qh;-M>ysSW%d9CqYpUKo3A{2`zV_n%xLee3;! zC(TDMuKXMuabIT3J^an`uX3#-qGtMubcntEeW0cZAyyO<=%SMmFE6ZmKPnL zNZVX|ovk+W&FsJ+-*3Ge+2*ZqnpeSJt+W>uPDtQ@$^V!JJAaWy>p>B~;OXk;vd$@? F2>@lPxFP@m literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00004.png b/tests/speculos/screenshots/eip1559/nanox/sign_eip_1559/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..570ce28d53e82ac396ba25c370110058f3a638f9 GIT binary patch literal 472 zcmV;}0Vn>6P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000 Date: Thu, 30 Jun 2022 13:43:59 +0200 Subject: [PATCH 38/69] feat: eip191 tests --- .../speculos/ethereum_client/ethereum_cmd.py | 75 ++---- .../ethereum_client/ethereum_cmd_builder.py | 37 ++- tests/speculos/ethereum_client/transaction.py | 17 ++ .../nanos/personal_sign_metamask/00000.png | Bin 0 -> 368 bytes .../nanos/personal_sign_metamask/00001.png | Bin 0 -> 463 bytes .../nanos/personal_sign_metamask/00002.png | Bin 0 -> 423 bytes .../nanos/personal_sign_metamask/00003.png | Bin 0 -> 407 bytes .../nanos/personal_sign_non_ascii/00000.png | Bin 0 -> 368 bytes .../nanos/personal_sign_non_ascii/00001.png | Bin 0 -> 492 bytes .../nanos/personal_sign_non_ascii/00002.png | Bin 0 -> 489 bytes .../nanos/personal_sign_non_ascii/00003.png | Bin 0 -> 474 bytes .../nanos/personal_sign_non_ascii/00004.png | Bin 0 -> 490 bytes .../nanos/personal_sign_non_ascii/00005.png | Bin 0 -> 407 bytes .../nanos/personal_sign_opensea/00000.png | Bin 0 -> 368 bytes .../nanos/personal_sign_opensea/00001.png | Bin 0 -> 475 bytes .../nanos/personal_sign_opensea/00002.png | Bin 0 -> 471 bytes .../nanos/personal_sign_opensea/00003.png | Bin 0 -> 465 bytes .../nanos/personal_sign_opensea/00004.png | Bin 0 -> 449 bytes .../nanos/personal_sign_opensea/00005.png | Bin 0 -> 466 bytes .../nanos/personal_sign_opensea/00006.png | Bin 0 -> 407 bytes .../nanos/personal_sign_reject/00000.png | Bin 0 -> 368 bytes .../nanos/personal_sign_reject/00001.png | Bin 0 -> 423 bytes .../nanos/personal_sign_reject/00002.png | Bin 0 -> 407 bytes .../nanos/personal_sign_reject/00003.png | Bin 0 -> 449 bytes .../nanos/personal_sign_reject/00004.png | Bin 0 -> 449 bytes .../nanox/personal_sign_metamask/00000.png | Bin 0 -> 415 bytes .../nanox/personal_sign_metamask/00001.png | Bin 0 -> 624 bytes .../nanox/personal_sign_metamask/00002.png | Bin 0 -> 463 bytes .../nanox/personal_sign_non_ascii/00000.png | Bin 0 -> 415 bytes .../nanox/personal_sign_non_ascii/00001.png | Bin 0 -> 882 bytes .../nanox/personal_sign_non_ascii/00002.png | Bin 0 -> 570 bytes .../nanox/personal_sign_non_ascii/00003.png | Bin 0 -> 463 bytes .../nanox/personal_sign_opensea/00000.png | Bin 0 -> 415 bytes .../nanox/personal_sign_opensea/00001.png | Bin 0 -> 853 bytes .../nanox/personal_sign_opensea/00002.png | Bin 0 -> 852 bytes .../nanox/personal_sign_opensea/00003.png | Bin 0 -> 837 bytes .../nanox/personal_sign_opensea/00004.png | Bin 0 -> 814 bytes .../nanox/personal_sign_opensea/00005.png | Bin 0 -> 522 bytes .../nanox/personal_sign_opensea/00006.png | Bin 0 -> 463 bytes .../nanox/personal_sign_reject/00000.png | Bin 0 -> 415 bytes .../nanox/personal_sign_reject/00001.png | Bin 0 -> 503 bytes .../nanox/personal_sign_reject/00002.png | Bin 0 -> 463 bytes .../nanox/personal_sign_reject/00003.png | Bin 0 -> 499 bytes tests/speculos/test_eip191.py | 223 ++++++++++++++++++ 44 files changed, 301 insertions(+), 51 deletions(-) create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_metamask/00000.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_metamask/00001.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_metamask/00002.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_metamask/00003.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00000.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00001.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00002.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00003.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00004.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00005.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00000.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00001.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00002.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00003.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00004.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00005.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00006.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_reject/00000.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_reject/00001.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_reject/00002.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_reject/00003.png create mode 100644 tests/speculos/screenshots/eip191/nanos/personal_sign_reject/00004.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_metamask/00000.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_metamask/00001.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_metamask/00002.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_non_ascii/00000.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_non_ascii/00001.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_non_ascii/00002.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_non_ascii/00003.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00000.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00001.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00002.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00003.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00004.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00005.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00006.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_reject/00000.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_reject/00001.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_reject/00002.png create mode 100644 tests/speculos/screenshots/eip191/nanox/personal_sign_reject/00003.png create mode 100644 tests/speculos/test_eip191.py diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index 2bbb133..a9949b2 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -1,7 +1,5 @@ from ast import List from contextlib import contextmanager -from ctypes.wintypes import INT -from re import A import struct from typing import Tuple @@ -9,8 +7,9 @@ from speculos.client import SpeculosClient, ApduException from ethereum_client.ethereum_cmd_builder import EthereumCommandBuilder, InsType from ethereum_client.exception import DeviceException -from ethereum_client.transaction import Transaction +from ethereum_client.transaction import PersonalTransaction, Transaction from ethereum_client.plugin import Plugin +from ethereum_client.utils import parse_sign_response class EthereumCommand: @@ -122,47 +121,8 @@ class EthereumCommand: except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) - - # Not use @contextmanager - def test_zemu_hard_apdu_sign(self) -> Tuple[int, int, int]: - sign: bytes = b'\xe0\x04\x00\x00\x80\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x69\x46\x85\x06\xa8\xb1\x5e\x00\x82\xeb\xeb\x94\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x80\xb8\x44\x09\x5e\xa7\xb3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x27\x68\xde\x32\xb0\xb8\x0b\x7a\x34\x54\xc0\x6b\xda\xc9\x4a\x69\xdd\xc7\xa9\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x80\x80' - simple_eth: bytes = b'\xe0\x04\x00\x00\x41\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x44\x85\x03\x06\xdc\x42\x00\x82\x52\x08\x94\x5a\x32\x17\x44\x66\x70\x52\xaf\xfa\x83\x86\xed\x49\xe0\x0e\xf2\x23\xcb\xff\xc3\x87\x6f\x9c\x9e\x7b\xf6\x18\x18\x80\x01\x80\x80' - provide_erc20: bytes = b'\xe0\x0a\x00\x00\x67\x03\x44\x41\x49\x6b\x17\x54\x74\xe8\x90\x94\xc4\x4d\xa9\x8b\x95\x4e\xed\xea\xc4\x95\x27\x1d\x0f\x00\x00\x00\x12\x00\x00\x00\x01\x30\x45\x02\x21\x00\xb3\xaa\x97\x96\x33\x28\x4e\xb0\xf5\x54\x59\x09\x93\x33\xab\x92\xcf\x06\xfd\xd5\x8d\xc9\x0e\x9c\x07\x00\x00\xc8\xe9\x68\x86\x4c\x02\x20\x7b\x10\xec\x7d\x66\x09\xf5\x1d\xda\x53\xd0\x83\xa6\xe1\x65\xa0\xab\xf3\xa7\x7e\x13\x25\x0e\x6f\x26\x07\x72\x80\x9b\x49\xaf\xf5' - - b: bytes = b'\xe0\x04\x00\x00\x56\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x3f\x26\x8e\x02\xcc\x9b\xe5\xc5\x3e\xa4\x4b\xd4\x3c\x28\x9d\xcd\xdc\x82\x52\x08\x94\xda\xc1\x7f\x95\x8d\x2e\xe5\x23\xa2\x20\x62\x06\x99\x45\x97\xc1\x3d\x83\x1e\xc7\x92\x8d\xb8\xb0\x86\x1b\x8f\x7f\xe5\xdf\x83\xcd\x55\x3a\x82\x98\x78\x00\x00\x80\x01\x80\x80' - test: bytes = b"".join([b'\xe0\x04\x00\x00\x89\x05\x80\x00\x00\x2c\x80\x00\x00\x3c\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', - b'\x02', - b'\xf8\x70\x02', - b'\x02', #nonce - b'\x85', - b'\x02\x54\x0b\xe4\x00', # max priority fee per gas - b'\x85', - b'\x02\x54\x0b\xe4\x00', # max fee per gas - b'\x86', - b'\x24\x61\x39\xca\x80\x80', # gas limit - b'\x94', - b'\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc', # destination - b'\x81'+ - b'\xFF' + # Amount - b'\x00' + # Payload - b'\xc0\x01\xa0\xe0\x7f\xb8\xa6\x4e\xa3\x78\x6c\x9a\x66\x49\xe5\x44\x29\xe2\x78\x6a\xf3\xea\x31\xc6\xd0\x61\x65\x34\x66\x78\xcf\x8c\xe4\x4f\x9b\xa0\x0e\x4a\x05\x26\xdb\x1e\x90\x5b\x71\x64\xa8\x58\xfd\x5e\xbd\x2f\x17\x59\xe2\x2e\x69\x55\x49\x94\x48\xbd\x27\x6a\x6a\xa6\x28\x30']) - - - - try: - with self.client._apdu_exchange_nowait(test) as ex: - yield ex - - #response = self.client._apdu_exchange( - # sign - #) - except ApduException as error: - raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) - - - @contextmanager - def simple_sign_tx(self, bip32_path: str, transaction: Transaction, result: List = list()) -> Tuple[int, bytes]: + def simple_sign_tx(self, bip32_path: str, transaction: Transaction, result: List = list()) -> None: try: chunk: bytes = self.builder.simple_sign_tx(bip32_path=bip32_path, transaction=transaction) @@ -177,19 +137,34 @@ class EthereumCommand: # response = V (1) || R (32) || S (32) assert len(response) == 65 + v, r, s = parse_sign_response(response) + + result.append(v) + result.append(r) + result.append(s) + - offset: int = 0 + @contextmanager + def simple_personal_sign_tx(self, bip32_path: str, transaction: PersonalTransaction, result: List = list()) -> None: + try: + chunk: bytes = self.builder.simple_personal_sign_tx(bip32_path=bip32_path, transaction=transaction) - v: bytes = response[offset] - offset += 1 + with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], + p1=chunk[2], p2=chunk[3], + data=chunk[5:]) as exchange: + yield exchange + response: bytes = exchange.receive() + + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) - r: bytes = response[offset:offset + 32] - offset += 32 - - s: bytes = response[offset:] + # response = V (1) || R (32) || S (32) + assert len(response) == 65 + v, r, s = parse_sign_response(response) result.append(v) result.append(r) result.append(s) + diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index a02facf..c96bf70 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -4,7 +4,7 @@ import struct from typing import List, Tuple, Union, Iterator, cast -from ethereum_client.transaction import Transaction +from ethereum_client.transaction import PersonalTransaction, Transaction from ethereum_client.plugin import Plugin from ethereum_client.utils import bip32_path_from_string @@ -274,3 +274,38 @@ class EthereumCommandBuilder: p1=0x00, p2=0x00, cdata=cdata) + + + def simple_personal_sign_tx(self, bip32_path: str, transaction: PersonalTransaction) -> bytes: + """Command builder for INS_SIGN_PERSONAL_TX. + + Parameters + ---------- + bip32_path : str + String representation of BIP32 path. + transaction : Transaction + Representation of the transaction to be signed. + + Yields + ------- + bytes + APDU command chunk for INS_SIGN_PERSONAL_TX. + + """ + bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) + + cdata: bytes = b"".join([ + len(bip32_paths).to_bytes(1, byteorder="big"), + *bip32_paths + ]) + + + tx: bytes = transaction.serialize() + + cdata = cdata + tx + + return self.serialize(cla=self.CLA, + ins=InsType.INS_SIGN_PERSONAL_TX, + p1=0x00, + p2=0x00, + cdata=cdata) diff --git a/tests/speculos/ethereum_client/transaction.py b/tests/speculos/ethereum_client/transaction.py index f7aec02..f1c4d9e 100644 --- a/tests/speculos/ethereum_client/transaction.py +++ b/tests/speculos/ethereum_client/transaction.py @@ -11,6 +11,23 @@ class TransactionError(Exception): EIP2930 = 1 EIP1559 = 2 +# e0 + 08 + 00 + 00 + 38 + 05 + 8000002c 8000003c 80000000 00000000 00000000 + 0000001f + 4578616d706c652060706572736f6e616c5f7369676e60206d657373616765 +# E0 + 08 + 00 + 00 + 34 + 05 + 8000002C 8000003C 80000000 00000000 00000000 + 4578616D706C652060706572736F6E616C5F7369676E60206D657373616765 +# E0 08 00 00 35058000002C8000003C8000000000000000000000001F4578616D706C652060706572736F6E616C5F7369676E60206D657373616765 + +class PersonalTransaction: + def __init__(self, msg: Union[str, bytes]) -> None: + # If you want to send bytes directly you have to put "0x" before the string + if msg[0:2] == "0x": + self.msg: bytes = bytes.fromhex(msg[2:]) + else: + self.msg: bytes = bytes(msg, "utf-8") + + def serialize(self) -> bytes: + return b"".join([ + len(self.msg).to_bytes(4, byteorder="big"), + self.msg, + ]) class Transaction: def __init__(self, txType: int, nonce: int, gasPrice: int, gasLimit: int, to: Union[str, bytes], value: int, data: Union[str, bytes] = "", chainID: int = -1) -> None: diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_metamask/00000.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_metamask/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..ab16f62bfcfb15701d788a6a84fe55001d152730 GIT binary patch literal 368 zcmV-$0gwKPP)m1gYoarBO3LH$euV2HeiC{**okfHIi+m$sv2p+{O|Q}I5aNh^Ys5dP#v zj%1qABdJ+S6K!y2Hbl8uvs5Q~cSHZe-9%(GG&6lVhU>>5GXsQK^2D%BBCpwrIq!n_ zbF$#pv0JKROAs&1vS|{M6`m6<_23d_XsOOAL5k@8zo4r@s|o-B(!2ofEx#wWs1tqw O0000MaU92SR5*`t9v2czV|X*7BvxgO z)p+ZvUYGL-uTN3<`uzV)UX(wBJ~&{Iaqz+-DJeaLDamgLY-*-R{vnH4-lM9jf!c0Z zW(TB_^bJjm!dYmTEbNp>H>H5d0)RioL&_xJL%+#x*1e1;tlet>H^A3mCU^5fdvRf~^Fux$cn{KwhX0c0r{CWT}dOP@do{nOCcdxzI`4*IM{X z(+=@)+0baZ)i*pXCfVP#10*4_ zb})?2Qi4;iiq{~_r}BO6jb^%WahCib^CWx$9LI5<%NLSnLSpuqiy>kU=~#TZ3V6h&d-ea!o0ERxQIK0r5|1-|8U z_`@f?F82OCybtn>zGY+f1o*|}hFaJ}Eva6Ajo;Kn6MaCN(B3IU#~G0*w9F0&E#bN6tRh{PX$qPz!L z&z2-%L#|DKhC!3CvqPQ8j%tcd$*e*1Skq3In;H^kC6uo~pR56Ep zGQ7@O5AzNnvKDJXldQAuM{N~T9zhR>?f~@YrjRh-15(tU`sG>QLq$=PZoYT}NH|@ zz8wshkB{~MB4`H0-uM*3M1j}m%A!300N{kCpu~9KJs1LQ1E{7`qHO>OJQ#XfRy9Bv z^==(ieYk597RD@{OEdS6GT+Lmuf_h$vek1^KVM4p7nbmHWt7bot=9>X{;(33tDmYc z&D9U$Wf)T#sV`+WTVz^Qo=ISYs`0?ozXTD=g%{*$&h`n6Q%*!K%L9vjA?<}S_3O~y z51_40w#ON-)XL64x@JligSXK^F9>U5TpZCDR;l1-dd45KJ?)^knt8<|^tT^?&`+$? zRq8>0Bcb3GkI=CJNF3=@I3K*Rlqo0JRixhcTL&d5MMji-{W*PXyu+hM-x=UTI}_BI zGx^;Gypw%}(Vkv=s~wl1InZ7QJjtlNRl_ihQog8p&yJp0VZ8tV002ovPDHLkV1iJ- Bw$=au literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00000.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..ab16f62bfcfb15701d788a6a84fe55001d152730 GIT binary patch literal 368 zcmV-$0gwKPP)m1gYoarBO3LH$euV2HeiC{**okfHIi+m$sv2p+{O|Q}I5aNh^Ys5dP#v zj%1qABdJ+S6K!y2Hbl8uvs5Q~cSHZe-9%(GG&6lVhU>>5GXsQK^2D%BBCpwrIq!n_ zbF$#pv0JKROAs&1vS|{M6`m6<_23d_XsOOAL5k@8zo4r@s|o-B(!2ofEx#wWs1tqw O00006LwR*|Yf6fo2|!!QiP=+AY!>nuoSD#O*_l3{AU z2F?3iuG1Z#vT)WxdCz$bCM?n~UfG0_+$c#-o+x&FmN{!T`~t!}fWihmvYFBnU&GC iHU}7nVHk#C7=kZ=)>zdthta420000 z@m&|&>(e-Pxt%COFx3G`$y0e}SEOjGiUr$V(++DhoC@Hx&%0tn>~eY~D=orYm8TAC zoB&M0UoMFfWjwWMM*JCw{tifInJY;sDTbU4(gi8Mp7OYKE-TtCd+8p9dYDmyZ4d z*6sE#-+n@R)80{X2Px1K;e(m@ohWoid>eTahQ+cJxgdjdI~4DW+O+H~ljJL-{^OzB z%hTkn?&4&R5WzQ7bJKaxn)?gy*a8P%CZW08jAce+7!8vvI>C5PwD3F%VD`s>~nF(@!7} f2m}Iwzz^XKS+88*y!L||00000NkvXXu0mjf@D19* literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00003.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..fcd68b2ff0dd294d869ba59869833833ab338336 GIT binary patch literal 474 zcmV<00VV#4P)Wb~JX@k{_&;UC2@s_<{Z!umi#mryXP`NRcI7~bD&3cP)=rEde zAq(c&$&J5m%U@}4oV3xR*O^c>}^#9 zd;F}~=HxbfdPf(}t~sYy(7YtYR+1H0zOMA0imnv!kRP{Fv>&EO1=iSex1EGdykA2d zy|^;_Xk@Y078W5mVBfTL06V1$Pm4N&8>$3{yzsA!MlENZqDxr(8HcqOWcUeJC`YS7I1@){sWIgaBvj^j9lH!=KV$FT{N QIsgCw07*qoM6N<$f_S6fk^lez literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00004.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..251c562bb48fde4f7c038b5bb7b48ecf11927c88 GIT binary patch literal 490 zcmVhh zT`ZL$-Dt4{F1l^~wt|eCK{pzIh5K gI2;a#!||K=2jD|uwtM20uK)l507*qoM6N<$g1g?{yZ`_I literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00005.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_non_ascii/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..f5c2d6774a86d59f5cad0974eb03748765433d08 GIT binary patch literal 407 zcmV;I0cie-P)H|@ zz8wshkB{~MB4`H0-uM*3M1j}m%A!300N{kCpu~9KJs1LQ1E{7`qHO>OJQ#XfRy9Bv z^==(ieYk597RD@{OEdS6GT+Lmuf_h$vek1^KVM4p7nbmHWt7bot=9>X{;(33tDmYc z&D9U$Wf)T#sV`+WTVz^Qo=ISYs`0?ozXTD=g%{*$&h`n6Q%*!K%L9vjA?<}S_3O~y z51_40w#ON-)XL64x@JligSXK^F9>U5TpZCDR;l1-dd45KJ?)^knt8<|^tT^?&`+$? zRq8>0Bcb3GkI=CJNF3=@I3K*Rlqo0JRixhcTL&d5MMji-{W*PXyu+hM-x=UTI}_BI zGx^;Gypw%}(Vkv=s~wl1InZ7QJjtlNRl_ihQog8p&yJp0VZ8tV002ovPDHLkV1iJ- Bw$=au literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00000.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..ab16f62bfcfb15701d788a6a84fe55001d152730 GIT binary patch literal 368 zcmV-$0gwKPP)m1gYoarBO3LH$euV2HeiC{**okfHIi+m$sv2p+{O|Q}I5aNh^Ys5dP#v zj%1qABdJ+S6K!y2Hbl8uvs5Q~cSHZe-9%(GG&6lVhU>>5GXsQK^2D%BBCpwrIq!n_ zbF$#pv0JKROAs&1vS|{M6`m6<_23d_XsOOAL5k@8zo4r@s|o-B(!2ofEx#wWs1tqw O0000SyQLV>f``qQOXbqPQ!xHR|COsXOA0SyCJd8p>4D$G9G01l`_(uRqI zm-0Bm&=LeaYiYtkEafR_*d`q3*-+7p*k<53^!1u%AOyTIcM4XSqhdgXLp08%+! z=q2-`B8L>iaS;F>zm;Y{ zj&!821jz#B0i?eyMp+k`@-*5>54HRek%oSDznJODGUXpK{{#vm*lAeRXW1z!`B~Xjy zoAGI8WQapZ2;I@an8mpTOzf3HSkd@SvJ9DX?dY4Tu2=hTU(oHz5rZ; zcW&Y(@^ngKy8r2NR&_DJ_We(W`h=ted`L_r*}!=os@dXs5;KouA3XpLFc_Pq!grT) zn$-`3T@YSb%OM;DmxX1hPTUvOlax!H_A}V1OL_*z6WcCOy`e$Xo>ouuZ9Wstoi4QZ z0rtu`Kg?*?n!p2a8;s;pUT8Tk7TInCC2DvXLa4|LcN@FrYMmlFqHW~3gGX)07UdM79NJ?6+R3ma-P@KPV zRAMn*27p6YZ76Wizk)I-0{JC5TxgdZ#1P&dd|R&4+P N002ovPDHLkV1k+Z%<%vK literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00003.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..582648da56a7d94ec933c29542bffe0905921119 GIT binary patch literal 465 zcmV;?0WSWDP) zt}Y19tmP6;g3E$+s7~0I)C+QYwA1U>*y|&`0ppEruW))pgQ^EEUimmLfaXpY+WQ&y zlW~3+Yu6gU9}sKc$zOS)<@lZCjVYe(9&Rv+jS=;m(XVjA>E(}IPaH;hEA%kNJ=8qJ z*e!5MI1_~vsE~bIHAFq7U0k%YsIazS7xsvwQeXewA)SC?)KixjRY}!~15|7fXgvYr znz$&h3ZN!AG*WL;Wh{vO4N|N>h!d6DRnb5ptI9k@Q$|DYMCA#fpLg&U(z8edy#vv1 zl71nuT}wq$Ur?y1qV^PRnEEZ{Zk)RTgm6L5!~z6C5ZsqH@5oSV+{|q600000NkvXX Hu0mjfC5O-K literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00004.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..53e131782764371604e832ef97bbf7abadd774d6 GIT binary patch literal 449 zcmV;y0Y3hTP)>A zCic^4-VGqNf4sisQZUBV07V7)Yn4^9g&QR-eZ1VIFEK07bgE*m6!8~<~AO{WhFIm124^q rjn^$wHITeD_#eVS5ClOG1e@^zhU7M@71qgk)t^U7DQ&yf(v0)? z9rv=~g4nk0;A!sYz>kyO(cum)z1%Q9dQU(OHxirrEo_l`EzRYN>=AeiFW@b2zo+Uv z{(n%X^0YR?tbnqG=VeLQsFT1I!u;dr^pYkMkasqo6G#i$^!OggGY{81Rpxp0HUPn2 zMU-IN_PIPx=$e8`&ssL&B&4iThU+ZHl1AY#%4E=XbKE5H)xo%9+Xbq3G^l#e$1^YI z3DDB%M6sWNuZ-gZtexu*d;u{BJ^89EG#xLTtUvaip(dyQ`+RQFry5}YT3#F6`#!vX z5QAqWSQ~(4cl{7#8IcU9oS`fR7<*+&MNbQ)@}Vvu3Ex((H`@E^hAA!e7Hf}E1dMtT zT=&AtUM_{}<}D?aXg&e1ANedgr3x#Q@uyQYR4;I@V89=hRzO*l=hx}gCamNisk+G< zB}r&%mVv!^QsUn&l%grW=!0K~jS;+681jS6O2h;NK@hCV6S?wCq3f%xlK=n!07*qo IM6N<$f*F9@#{d8T literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00006.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_opensea/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..f5c2d6774a86d59f5cad0974eb03748765433d08 GIT binary patch literal 407 zcmV;I0cie-P)H|@ zz8wshkB{~MB4`H0-uM*3M1j}m%A!300N{kCpu~9KJs1LQ1E{7`qHO>OJQ#XfRy9Bv z^==(ieYk597RD@{OEdS6GT+Lmuf_h$vek1^KVM4p7nbmHWt7bot=9>X{;(33tDmYc z&D9U$Wf)T#sV`+WTVz^Qo=ISYs`0?ozXTD=g%{*$&h`n6Q%*!K%L9vjA?<}S_3O~y z51_40w#ON-)XL64x@JligSXK^F9>U5TpZCDR;l1-dd45KJ?)^knt8<|^tT^?&`+$? zRq8>0Bcb3GkI=CJNF3=@I3K*Rlqo0JRixhcTL&d5MMji-{W*PXyu+hM-x=UTI}_BI zGx^;Gypw%}(Vkv=s~wl1InZ7QJjtlNRl_ihQog8p&yJp0VZ8tV002ovPDHLkV1iJ- Bw$=au literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_reject/00000.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_reject/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..ab16f62bfcfb15701d788a6a84fe55001d152730 GIT binary patch literal 368 zcmV-$0gwKPP)m1gYoarBO3LH$euV2HeiC{**okfHIi+m$sv2p+{O|Q}I5aNh^Ys5dP#v zj%1qABdJ+S6K!y2Hbl8uvs5Q~cSHZe-9%(GG&6lVhU>>5GXsQK^2D%BBCpwrIq!n_ zbF$#pv0JKROAs&1vS|{M6`m6<_23d_XsOOAL5k@8zo4r@s|o-B(!2ofEx#wWs1tqw O0000JPQKUVRFRN0ze*yF$u}+vI&JLQ{B7fVpGeMn%AKebdo40Z4-e zaT0`0SkD6zO7w`^1e=4EY?p;p(YX)DnG}B|RcG=3X`Xw>k={m?D151y%k57z{2@ku z2VuvN(;!gtIDrNrsdP5)E%BO?{!2b9);R$X0Ub6DKUrZX2g|_PI5FMiJK?S}gsq6g zwq!OK%meuHzRs%;(u?E-BmvvhfQ<2``}Um$mw>f0FgNmUDE28i4U|CY9QIiyBcSRy zf(G4Ff}PI%Y{_i}n=q+UovW$}i3pqYM*i3zGH=1J79fmhiV%P6Hw?p&H|@ zz8wshkB{~MB4`H0-uM*3M1j}m%A!300N{kCpu~9KJs1LQ1E{7`qHO>OJQ#XfRy9Bv z^==(ieYk597RD@{OEdS6GT+Lmuf_h$vek1^KVM4p7nbmHWt7bot=9>X{;(33tDmYc z&D9U$Wf)T#sV`+WTVz^Qo=ISYs`0?ozXTD=g%{*$&h`n6Q%*!K%L9vjA?<}S_3O~y z51_40w#ON-)XL64x@JligSXK^F9>U5TpZCDR;l1-dd45KJ?)^knt8<|^tT^?&`+$? zRq8>0Bcb3GkI=CJNF3=@I3K*Rlqo0JRixhcTL&d5MMji-{W*PXyu+hM-x=UTI}_BI zGx^;Gypw%}(Vkv=s~wl1InZ7QJjtlNRl_ihQog8p&yJp0VZ8tV002ovPDHLkV1iJ- Bw$=au literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanos/personal_sign_reject/00003.png b/tests/speculos/screenshots/eip191/nanos/personal_sign_reject/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..d55782f429e629a5ae929916914befa14613edba GIT binary patch literal 449 zcmV;y0Y3hTP)9Z)nZ zoKdfPKxBZtOD`O!Ud7)^nCSVm48R~fHVz_gJJ3!JB$;A z73W%!0pdWH0?92?e|oM4;Hw|T9Z)nZ zoKdfPKxBZtOD`O!Ud7)^nCSVm48R~fHVz_gJJ3!JB$;A z73W%!0pdWH0?92?e|oM4;Hw|T5YKJ%(KU&1ONcAAJx@!`E?Y1^<~WN}zCyXs#X zo?o6k@9c|LZskJhD8km*o@uZbHa}-B?&(7HD5C%IYmwHRbJ)2) z`V`bZme<8JnX>F>hL3vOBL0b~>J+pM|9!ySI57nP0000WkROv_^0k3i)wKWs002ov JPDHLkV1lAe!YTj& literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanox/personal_sign_metamask/00001.png b/tests/speculos/screenshots/eip191/nanox/personal_sign_metamask/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..58f060626179693a40fbd8ebe172a55ee552d996 GIT binary patch literal 624 zcmV-$0+0QPP)0`;d{4QW3j_ock`M?Xgb+dqG3V=);*`>L5M!*3 zyn*l22E3i0(*}f;QjGCl{>9XNe5J+MNHO?$vL${q;BrljQT0^etb8Q?5rp6KbFd0C z&S!wi?F*0@c?|NAMn7T|W*iPcUVPL-Bv*RwxNGrBSJomSBPV|v}pRwN^TJgTAsZYt}Th%Kg=3yaxKw|Ey;g2`gF%`v^M~t(O7h_ zH>s{!A`O$3M_RbUT8j^}YG2*jXNKHtz@oOXaBl{*_aN5--g?%yQ}CW^piAnS#{KXh zmKLte0QJ_5V9tCS+I!b;kADjZA%qY@2qAi<1<)ust$A*~1i00000005j&Ypu2Jj^YWw zy90QoT&ZuaQvl6=DP?aYPf1pQ*$k63`;x8zO;>}w*_U($&=hOZQ)gd9es%|NhM$F! zW?$0X0Zo_gyxGq!-I5;w002`g?B41@dShn48j^qcKMg+SRb@~2kiDXt9?G(zZ_&4C zhfSe&Es>ja8l-41$VME{IyOzQ?Ue@1yRzZ^H{)W~!1tfC>juYNH#BJt?4%T&zcu@I zbg0WXI2uYRp~7D9ao)DXaZq_zsB{W|%4eW}Iz^4!e zUu_N6PY6z&;*%m4K>3kw6W0ds>@{hh*5YKJ%(KU&1ONcAAJx@!`E?Y1^<~WN}zCyXs#X zo?o6k@9c|LZskJhD8km*o@uZbHa}-B?&(7HD5C%IYmwHRbJ)2) z`V`bZme<8JnX>F>hL3vOBL0b~>J+pM|9!ySI57nP0000WkROv_^0k3i)wKWs002ov JPDHLkV1lAe!YTj& literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanox/personal_sign_non_ascii/00001.png b/tests/speculos/screenshots/eip191/nanox/personal_sign_non_ascii/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..93eda35385a2312963bba2b12c1c5f518b17e39f GIT binary patch literal 882 zcmV-&1C9KNP)6Q%z zf)wUGA>CWet#3eEQ!r9yz`f=3!!`u2FToi$3!gig*k@On+X`8ta#<7d&sI36vo{=BKe17GS$g$0&k)*i~Ca0 z_OsZ@q9zt^F&b~M3DY_ZsP}GdC>g%zRQ(ucO2`b6TG!jX&fmHRq^#WB<)3*Iz8UX4 zS`=f~F5$52skdE1#}X@9Obzx5`Z1M4KlM&=beD}{Q(r&pIZYKpbO`j3M8!b;C4@pL}#kPAEHl@Du$ zWklK1>jobe_ah3cA;C>}P8j&zYJ{c>d{}NhC)Vl(0g@Y zTIZX`sXoAN=qllnzIA!A_h5P=_Wxbq2h53@DL~D~JTm(PUvMJtnt%sUR=r7XDJvsk z0+i%CDu~nB*-KNRY{_%r)@7lK`$zirQxru}6h-lyP}R@|xwXQQx|j-Gk&4sK&FB_2 zAqp)qiU7$iqUgwdo^r)i(%vFgS3ZPKA#49dDN#&K*JW=LIXIVY!daKSrI$u8n~6WT zGns_nu6Z%Yr3rv3l{^joj2ZcgP{Eyx-i%x^et=EDVvuApE^!G@#7mTsiKux$FI7XA z24#h)IgK;{p#Yh+2SB6loa?e7O2!WrR#L1eilQirqA1?Ne?C3o5S)?U3jhEB07*qo IM6N<$f;&B*c>n+a literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanox/personal_sign_non_ascii/00002.png b/tests/speculos/screenshots/eip191/nanox/personal_sign_non_ascii/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..873634efa0bd3de936624c6dbdec7f3c5b33077f GIT binary patch literal 570 zcmV-A0>%A_P)T=mewjbsv>P0nqkEo-p3+2T8CC8O&O=C%~ z%Go`NM^8Z6P^wbRZ0nNq#UXUB+t?=R?L0&8(2TL<1gMk|8z-Yy$953|CX6o4sWPsF zaN-xBc0Q^jk~_T?E^l5bWp5=^b(~^()+x~4tE_TCm%2AqhX1i?Jk`x%D!tT~th)^2 z!%+1Es5j@>C2SX}-Q@_??maiC+I^qEdJie3=7M$llX;gC@{+>;`VNTNwt?F}(gi(C z&jkShfRoufzzE$uIZ-t?SsL4crVKIdVI1xNS9Uj&Q9JJ*`MuivQtfrOQ;ce@YAZk6 z=|44mv`u)%HW`v`3qxbG>Q3G;Qi{(7d0dcR{h41nP8VT2tKKZsFXsVf7r>vCznl3g z^DI@p+oDuuQDlPJ)<`wcj9Hp4jVF)t)B+g)MhqH%EvG$Tbal>h9nbv_C^RQM#4kIy z!j_B2rVT@H4bkwPc8O|EnzoamJr9un{t%rBL+wa<;10Nu_j3>O2hkN7^&dl#8ucHB zHP{JWXeSpUvj$5+UH||9000000000000000000000Dxuu0&U>+zsop!Qvd(}07*qo IM6N<$g7=g90RR91 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanox/personal_sign_non_ascii/00003.png b/tests/speculos/screenshots/eip191/nanox/personal_sign_non_ascii/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..c9da92b60a9314d8252cfcd68c1cd10acaf07bb1 GIT binary patch literal 463 zcmV;=0WkiFP)i<1<)ust$A*~1i00000005j&Ypu2Jj^YWw zy90QoT&ZuaQvl6=DP?aYPf1pQ*$k63`;x8zO;>}w*_U($&=hOZQ)gd9es%|NhM$F! zW?$0X0Zo_gyxGq!-I5;w002`g?B41@dShn48j^qcKMg+SRb@~2kiDXt9?G(zZ_&4C zhfSe&Es>ja8l-41$VME{IyOzQ?Ue@1yRzZ^H{)W~!1tfC>juYNH#BJt?4%T&zcu@I zbg0WXI2uYRp~7D9ao)DXaZq_zsB{W|%4eW}Iz^4!e zUu_N6PY6z&;*%m4K>3kw6W0ds>@{hh*5YKJ%(KU&1ONcAAJx@!`E?Y1^<~WN}zCyXs#X zo?o6k@9c|LZskJhD8km*o@uZbHa}-B?&(7HD5C%IYmwHRbJ)2) z`V`bZme<8JnX>F>hL3vOBL0b~>J+pM|9!ySI57nP0000WkROv_^0k3i)wKWs002ov JPDHLkV1lAe!YTj& literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00001.png b/tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..802fad56d37a5496b01e613af00acd1b784e63aa GIT binary patch literal 853 zcmV-b1FHOqP)@~p&BKdi-~k#ki13!%WXI4deZD{d}ge| z*qn{16D|SBCm(hqqCGu#Tr(~I34mRTWl`^HfU#BkMhqnSrF|Bg#Vqm`KzJ%-6GT<( zA1PO=ZVy#~wGDMEi@r~X0{B5M**bPnQbV<7zjk&$uv_ap0z6pqMzJU@GTv;%D&yM& z;JWKsvZb;sWxrNZQI<%EsfeT_&oW9mtUv|$tsDVHFSBn>_7S9|K8{800s7IM|}e3M$s>&}Mm#%jyRdBKsR8#YatSH>d(%+2+sMXX51U5)CjsU+VON1Mf4R_5Ur$Q5Txgh(I z$GpB11BEX+6`F`t#A5130Ql@jvzWF2yeN7TTPUfPZb`cGLf2EFd$HWO4t0;=1D2k#emh&gk)_vd4 zFReAHWjptM5103}x7K=x-Ukj(;cud?^MMZSUPkQ?(95kg_$Tcg;V02n=Lr*bp=?Y! zS}xgZY-ft}uU!8QS$YC`(6OFE9)T_Gmy0+E_R*(+A^&#SC|M36h)NW^I7m zgNf&wy;F?y6<3ndh1%5Vwq$dB0@6e8tu<-jE1R^Zdr4>@`_^DLIOzOAZ*QNA=;ZSL zG8k8v_ZL%pu#?I{I~h2+_FyVb_s-rGNvJpk<8AZm6=ZqsaPM1)2t-yXLQx`N2dVmZ z6fd-HQuIr@HhlrcQN5>P2Q32%P{BJ1Y#RMO6gZ{MZsQL9(jjUpEw4VN@nkRkZYUcy zFu2^eSB?cpTjH2K65xwAVCvn4#U@<<9kt-AxRj-8=wglYzy(l3CxAY1q=ygt5LWV! zBwo5@PSl4TMU&D{k)?gQA0m=)h3EX3Xx5o}$fi-M9KsmPyF?WUNbBBgEzRfxmSd#R-&JG%*e-;@(z zKfm@-5kXX10CWxfY5WL25tpLX0f~vlVhTP~9QHpeD|W;bl=~e`i>b&&RJ5_ocmjh; zI8i=auSDuI!d!36`!h&;2rF1jQSDH2A8lksN;ISAG58)`#6ABwihN2!cTi&7W@-b9 eq9}@D6aN4>tGTwWostLu00003`I#QH}UFRtt2 zQvRL$zN<6Mw}RZOx325Ld0O!(J_Bu?4+v-lq_?{uCuzjbSD>v%9VVos1@2w1|hTGoVdvGEyK|eTpzz`#f?L?N*sAr~S%()+;G!HYx5#ey8d=REUORxLql+`%nj{gDAH)u5ZSLBA0@ z`<9^cJJ^LmEu?Vk0I)_@0cy9@3yg!57n)(K09_*VkWk8Bub*e_0}foHB6q@@;oe7+ zBuSFpY?e?|p=r*-gf(Zwhu?y@`X2iXbT)i!BUYo2>M&l94;TEY4vxOQHsl@3)cRM8J6A%p6GT&c=dDWb=?ab4}h=ui!JY1M&D z;kD(8U27}LdZJ%Bhe`#yw4?)Yla75v&-FndumddKsEVNQ?CLd3kViIUsii^MS1UDo zU7~KgWb8+cN$&|TSCA0OwiRQO P00000NkvXXu0mjfmobDs literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00004.png b/tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..eab9f1d489e914195b0f28fae10625d1802d26c1 GIT binary patch literal 814 zcmV+}1JV46P)WgU0~?00000z;eC)%cT1N{OV?s31*Q0W5jM%F3vhdDGqM zT{Ml8jq42J15hR(HWAe`y>#3)d23fnj$j|5o_T#WBwd@W!kLwVOuv(#l>DPZGL?UX zWm+R`S4Lu83Oeq|u1spBL`nk08rucwUGcByHHlqw9|sAE5+S8kNY{gW);=I=+6GSl z$er+Fr1wz(005hbdQa%Hvr^1?5Vi0!ZfAC@L9^qXy553xO}y4VSs9&}a_+)NN0NPK zE9rLFoAvafbV_a~<|U0)yYxb~LWdo5C){Vs-1;igp<>D}3%aC;z}3C?+2A+MPT20; zs7!ya78Iq*25y%o3B~%kV{518DduNM5q_i-y>M%E1^8E=k{qRIlcNG<#I>Eetw*Qy z_ehK!)kE9Usp2JbDg3Do<{>&6-d_geYIuJ!h`~;fg?3^%88Mj3Qupe@!(s*xa?_3U zYq#YU%nN|iphw>6?r|`*L!YIv`d_{_HXV1(>w?t|6(KY4uzgnY z#EwF}FVa>~VVf>y@E|F|$w)rwJHVOB%L3r~zRYLAth0t!K7^G+C?cIcK}prwwgRLl ss`EgqdnuUd#jm*n000000Pt3R0a$Qy>tzDFPXGV_07*qoM6N<$f(VR)`v3p{ literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00005.png b/tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..0b4bdbd98ccf3f72a060e4b0c5fb192c849418e5 GIT binary patch literal 522 zcmV+l0`>igP)(Y^%m5cW=uhAqiEo}2D=s@d#V3zu;T7DOK7Xv3hhbH zm)c+C`{ZPy+TEs7Laf>n{|HK>x=nwI@{@3>FM8d;bl?g{Q&91{vop+G-0HGAgeUhZ)z;dFJ=on1UuBcjc!}{^=t!)uNlmXctFV;`Avf zhju5ZJC;@|5Tlt>h}q4})Y@Cx@-EwJFJeiC&(fu4o4RXGpMq}ZX*tUICVZIIc@zKu zp2)B|xqb+T_>aDX6}Jeg2Wj45cf^ z;l*|6z+}9iOhJ2hfcsD)a#sVn)cADGRgZaQm+Y#B29K363!Ft47n%A=@&NBwiqNlW z=e5(d?%R<&z-8a*3V~Ug?yDePD%8VHK7`GL({i;gXp3GtDZQ-HpyPAm;)7|5jQYng zq(=S2um*QR7P^yx$gIIukQV>|00000000000000000000003YczYvwlj>9mIv;Y7A M07*qoM6N<$f`&Er1^@s6 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00006.png b/tests/speculos/screenshots/eip191/nanox/personal_sign_opensea/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..c9da92b60a9314d8252cfcd68c1cd10acaf07bb1 GIT binary patch literal 463 zcmV;=0WkiFP)i<1<)ust$A*~1i00000005j&Ypu2Jj^YWw zy90QoT&ZuaQvl6=DP?aYPf1pQ*$k63`;x8zO;>}w*_U($&=hOZQ)gd9es%|NhM$F! zW?$0X0Zo_gyxGq!-I5;w002`g?B41@dShn48j^qcKMg+SRb@~2kiDXt9?G(zZ_&4C zhfSe&Es>ja8l-41$VME{IyOzQ?Ue@1yRzZ^H{)W~!1tfC>juYNH#BJt?4%T&zcu@I zbg0WXI2uYRp~7D9ao)DXaZq_zsB{W|%4eW}Iz^4!e zUu_N6PY6z&;*%m4K>3kw6W0ds>@{hh*5YKJ%(KU&1ONcAAJx@!`E?Y1^<~WN}zCyXs#X zo?o6k@9c|LZskJhD8km*o@uZbHa}-B?&(7HD5C%IYmwHRbJ)2) z`V`bZme<8JnX>F>hL3vOBL0b~>J+pM|9!ySI57nP0000WkROv_^0k3i)wKWs002ov JPDHLkV1lAe!YTj& literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanox/personal_sign_reject/00001.png b/tests/speculos/screenshots/eip191/nanox/personal_sign_reject/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..717f3a5bac5957ea60d4ba4c2c5276a2a15c7761 GIT binary patch literal 503 zcmV2M1_fq%w zZ(xfvpP)qB>paZeW&9moeGw~e>x)+;@yJnA;W)0@v(#SJ@-As-^Q+|>P3iTuoxbjS ztHuh*^OE~ITA!?n4OMo-?pw{8*6P?-t6WTdw<6N1S6|^`9~}ZxQ={MYW6PDN{zAY%HUBI~4K-shfD>fK tpew=)0000000000000000001V^8>!&mq6`OZlM4G002ovPDHLkV1iod?C}5q literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip191/nanox/personal_sign_reject/00002.png b/tests/speculos/screenshots/eip191/nanox/personal_sign_reject/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..c9da92b60a9314d8252cfcd68c1cd10acaf07bb1 GIT binary patch literal 463 zcmV;=0WkiFP)i<1<)ust$A*~1i00000005j&Ypu2Jj^YWw zy90QoT&ZuaQvl6=DP?aYPf1pQ*$k63`;x8zO;>}w*_U($&=hOZQ)gd9es%|NhM$F! zW?$0X0Zo_gyxGq!-I5;w002`g?B41@dShn48j^qcKMg+SRb@~2kiDXt9?G(zZ_&4C zhfSe&Es>ja8l-41$VME{IyOzQ?Ue@1yRzZ^H{)W~!1tfC>juYNH#BJt?4%T&zcu@I zbg0WXI2uYRp~7D9ao)DXaZq_zsB{W|%4eW}Iz^4!e zUu_N6PY6z&;*%m4K>3kw6W0ds>@{hh*gX9g;)ZTl>^=Ar Date: Thu, 30 Jun 2022 14:10:56 +0200 Subject: [PATCH 39/69] fix: rm comment and add new INS PERFORM PRIVACY in insType --- tests/speculos/ethereum_client/ethereum_cmd_builder.py | 1 + tests/speculos/ethereum_client/transaction.py | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index c96bf70..92b10a3 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -41,6 +41,7 @@ class InsType(enum.IntEnum): INS_SET_EXTERNAL_PLUGIN = 0x12 INS_PROVIDE_NFT_INFORMATION = 0x14 INS_SET_PLUGIN = 0x16 + INS_PERFORM_PRIVACY_OPERATION = 0x18 class EthereumCommandBuilder: diff --git a/tests/speculos/ethereum_client/transaction.py b/tests/speculos/ethereum_client/transaction.py index f1c4d9e..f20102f 100644 --- a/tests/speculos/ethereum_client/transaction.py +++ b/tests/speculos/ethereum_client/transaction.py @@ -11,10 +11,6 @@ class TransactionError(Exception): EIP2930 = 1 EIP1559 = 2 -# e0 + 08 + 00 + 00 + 38 + 05 + 8000002c 8000003c 80000000 00000000 00000000 + 0000001f + 4578616d706c652060706572736f6e616c5f7369676e60206d657373616765 -# E0 + 08 + 00 + 00 + 34 + 05 + 8000002C 8000003C 80000000 00000000 00000000 + 4578616D706C652060706572736F6E616C5F7369676E60206D657373616765 -# E0 08 00 00 35058000002C8000003C8000000000000000000000001F4578616D706C652060706572736F6E616C5F7369676E60206D657373616765 - class PersonalTransaction: def __init__(self, msg: Union[str, bytes]) -> None: # If you want to send bytes directly you have to put "0x" before the string From 4297db37e90349e71b26ddc1c9c3c0aeba7e5d16 Mon Sep 17 00:00:00 2001 From: Coline Date: Thu, 30 Jun 2022 18:46:00 +0200 Subject: [PATCH 40/69] docs: apdu.md --- doc/apdu.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/doc/apdu.md b/doc/apdu.md index a08b260..2990481 100644 --- a/doc/apdu.md +++ b/doc/apdu.md @@ -15,6 +15,7 @@ - [Provide](#provide) - [PROVIDE ERC 20 TOKEN INFORMATION](#provide-erc-20-token-information) - [PROVIDE NFT INFORMATION](#provide-nft-information) + - [PERFORM PRIVACY OPERATION](#perform-privacy-operation)

@@ -35,6 +36,7 @@ |[SET EXTERNAL PLUGIN](#set-external-plugin)|0x12| |[PROVIDE NFT INFORMATION](#provide-nft-information)|0x14| |[SET PLUGIN](#set-plugin)|0x16| +|[PERFORM PRIVACY OPERATION](#perform-privacy-operation)|0x18|

@@ -564,6 +566,44 @@ None

+## PERFORM PRIVACY OPERATION + +
+ +Description + +This command performs privacy operations as defined in EIP 1024 (https://ethereum-magicians.org/t/eip-1024-cross-client-encrypt-decrypt/505) + +It can return the public encryption key on Curve25519 for a given Ethereum account or the shared secret (generated by the scalar multiplication of the remote public key by the account private key on Curve25519) used to decrypt private data encrypted for a given Ethereum account + +All data can be optionally checked on the device before being returned. +|CLA|INS|P1|P2|Lc|Le| +|---|---|--|--|--|--| +|E0|18|00 : return data | 00 : return the public encryption key|variable|variable| +| | |01 : display data and confirm before returning | 01 : return the shared secret| | | + +:inbox_tray: input data + +|Description|Length| +|-----------|------| +|Number of BIP 32 derivations to perform (max 10)|1| +|First derivation index (big endian)|4| +|...|4| +|Last derivation index (big endian)|4| +|Third party public key on Curve25519, if returning the shared secret|32| + +:outbox_tray: output data + +|Description|Length| +|-----------|------| +|Public encryption key or shared secret|32| + +
+ +
+
+
+ [//]: # (## Command name) [//]: # () [//]: # (
) From 4da1c462274e88d8bb4386d2c653fafa10bf8b93 Mon Sep 17 00:00:00 2001 From: Coline Date: Thu, 30 Jun 2022 19:48:26 +0200 Subject: [PATCH 41/69] fix: remove nanosp just for test --- .github/workflows/ci-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 5051ad8..23a6d7d 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -125,7 +125,7 @@ jobs: name: Speculos tests strategy: matrix: - model: ["nanos", "nanox", "nanosp"] + model: ["nanos", "nanox"] needs: [building_for_e2e_speculos_tests] runs-on: ubuntu-latest From 5a631121b6e1585f5e50d792c00acbfb3cb589f8 Mon Sep 17 00:00:00 2001 From: Coline Date: Thu, 30 Jun 2022 19:55:50 +0200 Subject: [PATCH 42/69] fix: add nanosp --- .github/workflows/ci-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 23a6d7d..75c7fd9 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -125,7 +125,7 @@ jobs: name: Speculos tests strategy: matrix: - model: ["nanos", "nanox"] + model: ["nanosp", "nanos", "nanox"] needs: [building_for_e2e_speculos_tests] runs-on: ubuntu-latest From 646f943a5e8d05d506602e6e9d7bec3969bdf373 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 1 Jul 2022 09:44:38 +0200 Subject: [PATCH 43/69] fix: nanosp version sdk in conftest --- tests/speculos/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/speculos/conftest.py b/tests/speculos/conftest.py index e5b5a3b..cc0175f 100644 --- a/tests/speculos/conftest.py +++ b/tests/speculos/conftest.py @@ -10,7 +10,7 @@ from ethereum_client.ethereum_cmd import EthereumCommand SCRIPT_DIR = Path(__file__).absolute().parent API_URL = "http://127.0.0.1:5000" -VERSION = {"nanos": "2.1", "nanox": "2.0.2", "nanosp": "1.0"} +VERSION = {"nanos": "2.1", "nanox": "2.0.2", "nanosp": "1.0.3"} def pytest_addoption(parser): From b0f94a183756a35701729215fa4379fa2cd5c20a Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 1 Jul 2022 13:52:52 +0200 Subject: [PATCH 44/69] feat: apdu perform privacy builder preparation --- .../speculos/ethereum_client/ethereum_cmd.py | 21 ++++++++++++++++ .../ethereum_client/ethereum_cmd_builder.py | 24 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index a9949b2..50e38c0 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -98,6 +98,27 @@ class EthereumCommand: result.append(eth_addr) result.append(chain_code) + + @contextmanager + def perform_privacy_operation(self, bip32_path: str, display: bool = False, shared_secret: bool = False, result: List = list()) -> Tuple[bytes, bytes, bytes]: + try: + chunk: bytes = self.builder.perform_privacy_operation(bip32_path=bip32_path, display=display, shared_secret=shared_secret) + + with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], + p1=chunk[2], p2=chunk[3], + data=chunk[5:]) as exchange: + yield exchange + response: bytes = exchange.receive() + print(response) + + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_PERFORM_PRIVACY_OPERATION) + + # response = Public encryption key or shared secret (32) + assert len(response) == 32 + + result.append(response) + def send_apdu(self, apdu: bytes) -> bytes: try: self.client.apdu_exchange(cla=apdu[0], ins=apdu[1], diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index 92b10a3..594e054 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -195,6 +195,30 @@ class EthereumCommandBuilder: p2=0x01, cdata=cdata) + def perform_privacy_operation(self, bip32_path: str, display: bool, shared_secret: bool) -> bytes: + """Command builder for INS_PERFORM_PRIVACY_OPERATION. + + Parameters + ---------- + bip32_path : str + String representation of BIP32 path. + Third party public key on Curve25519 : 32 bytes + Optionnal if returning the shared secret + + """ + bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) + + cdata: bytes = b"".join([ + len(bip32_paths).to_bytes(1, byteorder="big"), + *bip32_paths + ]) + + return self.serialize(cla=self.CLA, + ins=InsType.INS_PERFORM_PRIVACY_OPERATION, + p1=0x01 if display else 0x00, + p2=0x01 if shared_secret else 0x00, + cdata=cdata) + # Not use def sign_tx(self, bip32_path: str, transaction: Transaction) -> Iterator[Tuple[bool, bytes]]: """Command builder for INS_SIGN_TX. From 1edb17098d4a6823ff0a9eb1d490a3d42d66e74c Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 1 Jul 2022 14:03:02 +0200 Subject: [PATCH 45/69] fix: useless import --- tests/speculos/conftest.py | 1 - tests/speculos/ethereum_client/ethereum_cmd_builder.py | 1 - tests/speculos/ethereum_client/plugin.py | 3 +-- tests/speculos/ethereum_client/transaction.py | 4 +--- tests/speculos/ethereum_client/utils.py | 8 +++----- tests/speculos/test_eip1559.py | 5 ++--- tests/speculos/test_eip191.py | 4 ++-- tests/speculos/test_erc1155.py | 5 +++-- tests/speculos/test_erc721.py | 5 +++-- tests/speculos/test_pubkey_cmd.py | 7 +------ tests/speculos/test_sign_cmd.py | 5 ++--- tests/speculos/test_version_cmd.py | 10 ---------- 12 files changed, 18 insertions(+), 40 deletions(-) delete mode 100644 tests/speculos/test_version_cmd.py diff --git a/tests/speculos/conftest.py b/tests/speculos/conftest.py index cc0175f..b10f7a6 100644 --- a/tests/speculos/conftest.py +++ b/tests/speculos/conftest.py @@ -1,5 +1,4 @@ from pathlib import Path - import pytest from speculos.client import SpeculosClient diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index 594e054..e0e8f0a 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -3,7 +3,6 @@ import logging import struct from typing import List, Tuple, Union, Iterator, cast - from ethereum_client.transaction import PersonalTransaction, Transaction from ethereum_client.plugin import Plugin from ethereum_client.utils import bip32_path_from_string diff --git a/tests/speculos/ethereum_client/plugin.py b/tests/speculos/ethereum_client/plugin.py index 2c4f4e2..d6bdc58 100644 --- a/tests/speculos/ethereum_client/plugin.py +++ b/tests/speculos/ethereum_client/plugin.py @@ -1,7 +1,6 @@ from typing import Union -from ethereum_client.utils import (read, read_uint, read_varint, - write_varint, UINT64_MAX) +from ethereum_client.utils import write_varint class Plugin: """Plugin class diff --git a/tests/speculos/ethereum_client/transaction.py b/tests/speculos/ethereum_client/transaction.py index f20102f..08ff529 100644 --- a/tests/speculos/ethereum_client/transaction.py +++ b/tests/speculos/ethereum_client/transaction.py @@ -1,8 +1,6 @@ -from io import BytesIO from typing import Union -from ethereum_client.utils import (read, read_uint, read_varint, - write_varint, UINT64_MAX) +from ethereum_client.utils import write_varint, UINT64_MAX class TransactionError(Exception): diff --git a/tests/speculos/ethereum_client/utils.py b/tests/speculos/ethereum_client/utils.py index e318b7f..78e690c 100644 --- a/tests/speculos/ethereum_client/utils.py +++ b/tests/speculos/ethereum_client/utils.py @@ -1,11 +1,9 @@ from io import BytesIO from typing import List, Optional, Literal, Tuple +import PIL.Image as Image import speculos.client -import PIL.Image as Image -import io - UINT64_MAX: int = 18446744073709551615 UINT32_MAX: int = 4294967295 UINT16_MAX: int = 65535 @@ -26,13 +24,13 @@ def apdu_as_string(apdu: str) -> bytes: def save_screenshot(cmd, path: str): screenshot = cmd.client.get_screenshot() - img = Image.open(io.BytesIO(screenshot)) + img = Image.open(BytesIO(screenshot)) img.save(path) def compare_screenshot(cmd, path: str): screenshot = cmd.client.get_screenshot() - assert speculos.client.screenshot_equal(path, io.BytesIO(screenshot)) + assert speculos.client.screenshot_equal(path, BytesIO(screenshot)) def parse_sign_response(response : bytes) -> Tuple[bytes, bytes, bytes]: diff --git a/tests/speculos/test_eip1559.py b/tests/speculos/test_eip1559.py index 3898c8f..dd3d8d9 100644 --- a/tests/speculos/test_eip1559.py +++ b/tests/speculos/test_eip1559.py @@ -1,7 +1,6 @@ from time import sleep -from ethereum_client.utils import UINT64_MAX, apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response -from ethereum_client.plugin import Plugin -import ethereum_client + +from ethereum_client.utils import apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response def test_sign_eip_1559(cmd): result: list = [] diff --git a/tests/speculos/test_eip191.py b/tests/speculos/test_eip191.py index 579ba7e..822d14d 100644 --- a/tests/speculos/test_eip191.py +++ b/tests/speculos/test_eip191.py @@ -1,7 +1,7 @@ from time import sleep -import ethereum_client -from ethereum_client.utils import UINT64_MAX, apdu_as_string, compare_screenshot, compare_screenshot, parse_sign_response, save_screenshot, PATH_IMG +import ethereum_client +from ethereum_client.utils import apdu_as_string, compare_screenshot, compare_screenshot, parse_sign_response, save_screenshot, PATH_IMG from ethereum_client.transaction import PersonalTransaction def test_personal_sign_metamask(cmd): diff --git a/tests/speculos/test_erc1155.py b/tests/speculos/test_erc1155.py index 5e13def..44463a5 100644 --- a/tests/speculos/test_erc1155.py +++ b/tests/speculos/test_erc1155.py @@ -1,7 +1,8 @@ from time import sleep -from ethereum_client.utils import UINT64_MAX, apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response -from ethereum_client.plugin import Plugin + import ethereum_client +from ethereum_client.utils import apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response +from ethereum_client.plugin import Plugin SIGN_FIRST = apdu_as_string("e004000096058000002c8000003c800000000000000000000000f901090b8520b673dd0082bcb394495f947276749ce646f68ac8c248420045cb7b5e80b8e4f242432a0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596cabf06640f8ca8fc5e0ed471b10befcdf65a33e4300000000") SIGN_MORE = apdu_as_string("e00480008b00006a0000000064000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080") diff --git a/tests/speculos/test_erc721.py b/tests/speculos/test_erc721.py index 9dd9add..f2ac564 100644 --- a/tests/speculos/test_erc721.py +++ b/tests/speculos/test_erc721.py @@ -1,7 +1,8 @@ from time import sleep -from ethereum_client.utils import UINT64_MAX, apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response -from ethereum_client.plugin import Plugin + import ethereum_client +from ethereum_client.utils import apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response +from ethereum_client.plugin import Plugin SIGN_FIRST = apdu_as_string("e004000096058000002c8000003c800000000000000000000000f88a0a852c3ce1ec008301f5679460f80121c31a0d46b5279700f9df786054aa5ee580b86442842e0e0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c000000000000000000000000000000000000000000000000") SIGN_MORE = apdu_as_string("e00480000b0000000000112999018080") diff --git a/tests/speculos/test_pubkey_cmd.py b/tests/speculos/test_pubkey_cmd.py index d059ceb..8e6bfca 100644 --- a/tests/speculos/test_pubkey_cmd.py +++ b/tests/speculos/test_pubkey_cmd.py @@ -1,12 +1,7 @@ - -from cgitb import reset -from pickle import TRUE -from typing import Tuple - from time import sleep import ethereum_client -from ethereum_client.utils import UINT64_MAX, compare_screenshot, save_screenshot, PATH_IMG +from ethereum_client.utils import compare_screenshot, save_screenshot, PATH_IMG def test_get_public_key(cmd): diff --git a/tests/speculos/test_sign_cmd.py b/tests/speculos/test_sign_cmd.py index 0590c2b..2076459 100644 --- a/tests/speculos/test_sign_cmd.py +++ b/tests/speculos/test_sign_cmd.py @@ -1,8 +1,7 @@ from time import sleep + import ethereum_client - - -from ethereum_client.utils import UINT64_MAX, compare_screenshot, compare_screenshot, save_screenshot, PATH_IMG +from ethereum_client.utils import compare_screenshot, compare_screenshot, save_screenshot, PATH_IMG from ethereum_client.transaction import Transaction diff --git a/tests/speculos/test_version_cmd.py b/tests/speculos/test_version_cmd.py deleted file mode 100644 index 1ad0133..0000000 --- a/tests/speculos/test_version_cmd.py +++ /dev/null @@ -1,10 +0,0 @@ -#from warnings import catch_warnings -# -#import boilerplate_client -# -# -#def test_version(cmd): -# try: -# cmd.get_version() -# except boilerplate_client.exception.errors.InsNotSupportedError as error: -# assert error.args[0] == '0x6d00' \ No newline at end of file From 9b4d6504f1b9b0c3712d44008135fe2190f219f1 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 1 Jul 2022 14:23:43 +0200 Subject: [PATCH 46/69] fix: makefile mv functional to zemu --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 0a36e37..05646f3 100644 --- a/Makefile +++ b/Makefile @@ -222,10 +222,10 @@ delete: python3 -m ledgerblue.deleteApp $(COMMON_DELETE_PARAMS) install_tests: - cd tests/functional/ && (yarn install || sudo yarn install) + cd tests/zemu/ && (yarn install || sudo yarn install) run_tests: - cd tests/functional/ && (yarn test || sudo yarn test) + cd tests/zemu/ && (yarn test || sudo yarn test) test: install_tests run_tests From 87eaaeeb5be18e37d9cc2b40b78784f6397d0bab Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 4 Jul 2022 10:38:32 +0200 Subject: [PATCH 47/69] feat: erc20information simple test and refacto plugin class --- .../speculos/ethereum_client/ethereum_cmd.py | 18 ++++++++--- .../ethereum_client/ethereum_cmd_builder.py | 23 ++++++++++++- tests/speculos/ethereum_client/plugin.py | 29 +++++++++++++++-- tests/speculos/test_erc1155.py | 8 ++--- tests/speculos/test_erc20information.py | 32 +++++++++++++++++++ tests/speculos/test_erc721.py | 4 +-- 6 files changed, 100 insertions(+), 14 deletions(-) create mode 100644 tests/speculos/test_erc20information.py diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index 50e38c0..5aa0eeb 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -8,7 +8,7 @@ from speculos.client import SpeculosClient, ApduException from ethereum_client.ethereum_cmd_builder import EthereumCommandBuilder, InsType from ethereum_client.exception import DeviceException from ethereum_client.transaction import PersonalTransaction, Transaction -from ethereum_client.plugin import Plugin +from ethereum_client.plugin import ERC20_Information, Plugin from ethereum_client.utils import parse_sign_response @@ -42,20 +42,30 @@ class EthereumCommand: def set_plugin(self, plugin: Plugin): try: - response = self.client._apdu_exchange( + self.client._apdu_exchange( self.builder.set_plugin(plugin=plugin) ) + except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_SET_PLUGIN) def provide_nft_information(self, plugin: Plugin): try: - response = self.client._apdu_exchange( + self.client._apdu_exchange( self.builder.provide_nft_information(plugin=plugin) ) except ApduException as error: - raise DeviceException(error_code=error.sw, ins=InsType.INS_SET_PLUGIN) + raise DeviceException(error_code=error.sw, ins=InsType.INS_PROVIDE_NFT_INFORMATION) + + def provide_erc20_token_information(self, info: ERC20_Information): + try: + self.client._apdu_exchange( + self.builder.provide_erc20_token_information(info=info) + ) + + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_PROVIDE_ERC20) @contextmanager diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index e0e8f0a..c5213d9 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -4,7 +4,7 @@ import struct from typing import List, Tuple, Union, Iterator, cast from ethereum_client.transaction import PersonalTransaction, Transaction -from ethereum_client.plugin import Plugin +from ethereum_client.plugin import ERC20_Information, Plugin from ethereum_client.utils import bip32_path_from_string MAX_APDU_LEN: int = 255 @@ -164,6 +164,27 @@ class EthereumCommandBuilder: p2=0x00, cdata=cdata) + def provide_erc20_token_information(self, info: ERC20_Information): + """Command builder for PROVIDE_ERC20_INFORMATION. + + Parameters + ---------- + -> Check documentation of APDU + + Returns + ------- + bytes + APDU command for PROVIDE_ERC20_INFORMATION. + + """ + + cdata: bytes = info.serialize() + + return self.serialize(cla=self.CLA, + ins=InsType.INS_PROVIDE_ERC20, + p1=0x00, + p2=0x00, + cdata=cdata) def get_public_key(self, bip32_path: str, display: bool = False) -> bytes: """Command builder for GET_PUBLIC_KEY. diff --git a/tests/speculos/ethereum_client/plugin.py b/tests/speculos/ethereum_client/plugin.py index d6bdc58..8b33cdd 100644 --- a/tests/speculos/ethereum_client/plugin.py +++ b/tests/speculos/ethereum_client/plugin.py @@ -1,6 +1,29 @@ +import string from typing import Union -from ethereum_client.utils import write_varint +from ethereum_client.utils import apdu_as_string, write_varint + +class ERC20_Information: + def __init__(self, erc20_ticker: string , addr: Union[str, bytes], nb_decimals: int, chainID: int, sign: str) -> None: + self.erc20_ticker: bytes = apdu_as_string(erc20_ticker) + self.addr: bytes = bytes.fromhex(addr[2:]) if isinstance(addr, str) else addr + self.nb_decimals: int = nb_decimals + self.chainID: int = chainID + self.sign: bytes = apdu_as_string(sign) + + def serialize(self) -> bytes: + return b"".join([ + write_varint(len(self.erc20_ticker)), + self.erc20_ticker, + + self.addr, + + self.nb_decimals.to_bytes(4, byteorder="big"), + + self.chainID.to_bytes(4, byteorder="big"), + + self.sign, + ]) class Plugin: """Plugin class @@ -11,7 +34,7 @@ class Plugin: do not define a selector """ - def __init__(self, type: int, version: int, name: str, addr: Union[str, bytes], selector: int = -1, chainID: int = 1, keyID: int = 0, algorithm: int = 1, sign: bytes = b'') -> None: + def __init__(self, type: int, version: int, name: str, addr: Union[str, bytes], selector: int = -1, chainID: int = 1, keyID: int = 0, algorithm: int = 1, sign: str = "") -> None: self.type: int = type self.version: int = version self.name: bytes = bytes(name, 'UTF-8') @@ -20,7 +43,7 @@ class Plugin: self.chainID: int = chainID self.keyID: int = keyID self.algorithm: int = algorithm - self.sign: bytes = sign + self.sign: bytes = apdu_as_string(sign) def serialize(self) -> bytes: return b"".join([ diff --git a/tests/speculos/test_erc1155.py b/tests/speculos/test_erc1155.py index 44463a5..c2d634b 100644 --- a/tests/speculos/test_erc1155.py +++ b/tests/speculos/test_erc1155.py @@ -16,7 +16,7 @@ PLUGIN = Plugin( chainID=1, keyID=0, algorithm=1, - sign=b"\x30\x45\x02\x21\x00\xec\x43\x77\xd1\x7e\x8d\x98\xd4\x24\xbf\x16\xb2\x9c\x69\x1b\xc1\xa0\x10\x82\x5f\xb5\xb8\xa3\x5d\xe0\x26\x8a\x9d\xc2\x2e\xab\x24\x02\x20\x67\x01\xb0\x16\xfe\x67\x18\xbf\x51\x9d\x18\xcc\x12\xe9\x83\x8e\x9e\xf8\x98\xcc\x4c\x14\x30\x17\x83\x90\x23\xc3\x26\x0b\x2d\x74", + sign="3045022100ec4377d17e8d98d424bf16b29c691bc1a010825fb5b8a35de0268a9dc22eab2402206701b016fe6718bf519d18cc12e9838e9ef898cc4c143017839023c3260b2d74", ) PROVIDE_NFT_INFORMATION = Plugin( @@ -27,7 +27,7 @@ PROVIDE_NFT_INFORMATION = Plugin( chainID=1, keyID=0, algorithm=1, - sign=b"\x30\x45\x02\x21\x00\x83\xe3\x57\xa8\x28\xf1\x3d\x57\x4b\x12\x96\x21\x4a\x37\x49\xc1\x94\xab\x1d\xf1\xf8\xa2\x43\x65\x5c\x05\x3b\x1c\x72\xf9\x1e\x0c\x02\x20\x1e\xd9\x3c\xfa\xc7\xe8\x77\x59\x44\x5c\x4d\xa2\xe4\xbf\xd6\xe1\xcf\x04\x05\xea\x37\xc7\x29\x3b\xc9\x65\x94\x8f\x51\xbe\xf5\xcc", + sign="304502210083e357a828f13d574b1296214a3749c194ab1df1f8a243655c053b1c72f91e0c02201ed93cfac7e87759445c4da2e4bfd6e1cf0405ea37c7293bc965948f51bef5cc", ) def test_transfer_erc1155(cmd): @@ -139,7 +139,7 @@ PLUGIN_BATCH = Plugin( chainID=1, keyID=0, algorithm=1, - sign=b"\x30\x45\x02\x21\x00\x87\xb3\x5c\xef\xc5\x3f\xd9\x4e\x25\x40\x49\x33\xeb\x0d\x5f\xf0\x8f\x20\xba\x65\x5d\x18\x1d\xe3\xb2\x4f\xf0\x09\x9d\xc3\x31\x7f\x02\x20\x4a\x21\x6a\xa9\xe0\xb8\x4b\xef\x6e\x20\xfc\xb0\x36\xbd\x49\x64\x7b\xf0\xca\xb6\x67\x32\xb9\x9b\x49\xec\x27\x7f\xfb\x68\x2a\xa1", + sign="304502210087b35cefc53fd94e25404933eb0d5ff08f20ba655d181de3b24ff0099dc3317f02204a216aa9e0b84bef6e20fcb036bd49647bf0cab66732b99b49ec277ffb682aa1", ) PROVIDE_NFT_INFORMATION_BATCH = Plugin( @@ -150,7 +150,7 @@ PROVIDE_NFT_INFORMATION_BATCH = Plugin( chainID=1, keyID=0, algorithm=1, - sign=b"\x30\x45\x02\x21\x00\xc7\x4c\xd6\x13\xa2\x7a\x9f\x48\x87\x21\x0f\x5a\x3a\x0e\x12\x74\x5e\x1b\xa0\xab\x3a\x0d\x28\x4c\xb6\x48\x5d\x89\xc3\xcc\xe4\xe6\x02\x20\x5a\x13\xe6\x2a\x91\x16\x49\x85\xcf\x58\xa8\x38\xf8\xf5\x31\xc0\xb9\x1b\x98\x0d\x20\x6a\x5b\xa8\xdf\x28\x27\x00\x23\xef\x93\xa3", + sign="3045022100c74cd613a27a9f4887210f5a3a0e12745e1ba0ab3a0d284cb6485d89c3cce4e602205a13e62a91164985cf58a838f8f531c0b91b980d206a5ba8df28270023ef93a3", ) def test_transfer_batch_erc1155(cmd): diff --git a/tests/speculos/test_erc20information.py b/tests/speculos/test_erc20information.py new file mode 100644 index 0000000..60f411b --- /dev/null +++ b/tests/speculos/test_erc20information.py @@ -0,0 +1,32 @@ +from ethereum_client.plugin import ERC20_Information +import ethereum_client + +def test_provide_erc20_token(cmd): + erc20_info = ERC20_Information( + erc20_ticker="5a5258", + addr="0xe41d2489571d322189246dafa5ebde1f4699f498", + nb_decimals=18, + chainID=1, + sign="304402200ae8634c22762a8ba41d2acb1e068dcce947337c6dd984f13b820d396176952302203306a49d8a6c35b11a61088e1570b3928ca3a0db6bd36f577b5ef87628561ff7" + ) + + # Test if return 9000 + try: + cmd.provide_erc20_token_information(info=erc20_info) + except: + raise + +def test_provide_erc20_token_error(cmd): + erc20_info = ERC20_Information( + erc20_ticker="5a5258", + addr="0xe41d2489571d322189246dafa5ebde1f4699f498", + nb_decimals=18, + chainID=1, + sign="deadbeef" + ) + + # Test if return 9000 + try: + cmd.provide_erc20_token_information(info=erc20_info) + except ethereum_client.exception.errors.UnknownDeviceError as error: + assert error.args[0] == '0x6a80' \ No newline at end of file diff --git a/tests/speculos/test_erc721.py b/tests/speculos/test_erc721.py index f2ac564..c542b89 100644 --- a/tests/speculos/test_erc721.py +++ b/tests/speculos/test_erc721.py @@ -16,7 +16,7 @@ PLUGIN = Plugin( chainID=1, keyID=0, algorithm=1, - sign=b"\x30\x45\x02\x20\x2e\x22\x82\xd7\xd3\xea\x71\x4d\xa2\x83\x01\x0f\x51\x7a\xf4\x69\xe1\xd5\x96\x54\xaa\xee\x0f\xc4\x38\xf0\x17\xaa\x55\x7e\xae\xa5\x02\x21\x00\x8b\x36\x96\x79\x38\x10\x65\xbb\xe0\x11\x35\x72\x3a\x4f\x9a\xdb\x22\x92\x95\x01\x7d\x37\xc4\xd3\x01\x38\xb9\x0a\x51\xcf\x6a\xb6", + sign="304502202e2282d7d3ea714da283010f517af469e1d59654aaee0fc438f017aa557eaea50221008b369679381065bbe01135723a4f9adb229295017d37c4d30138b90a51cf6ab6", ) PROVIDE_NFT_INFORMATION = Plugin( @@ -27,7 +27,7 @@ PROVIDE_NFT_INFORMATION = Plugin( chainID=1, keyID=0, algorithm=1, - sign=b"\x30\x45\x02\x20\x25\x69\x69\x86\xef\x5f\x0e\xe2\xf7\x2d\x9c\x6e\x41\xd7\xe2\xbf\x2e\x4f\x06\x37\x3a\xb2\x6d\x73\xeb\xe3\x26\xc7\xfd\x4c\x7a\x66\x02\x21\x00\x84\xf6\xb0\x64\xd8\x75\x0a\xe6\x8e\xd5\xdd\x01\x22\x96\xf3\x70\x30\x39\x0e\xc0\x6f\xf5\x34\xc5\xda\x6f\x0f\x4a\x44\x60\xaf\x33", + sign="3045022025696986ef5f0ee2f72d9c6e41d7e2bf2e4f06373ab26d73ebe326c7fd4c7a6602210084f6b064d8750ae68ed5dd012296f37030390ec06ff534c5da6f0f4a4460af33", ) def test_transfer_erc721(cmd): From fbb7a4d842ce90215b920fef360fc5263f3da855 Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 4 Jul 2022 10:40:01 +0200 Subject: [PATCH 48/69] fix: comment in code --- tests/speculos/test_erc20information.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/speculos/test_erc20information.py b/tests/speculos/test_erc20information.py index 60f411b..1fe7505 100644 --- a/tests/speculos/test_erc20information.py +++ b/tests/speculos/test_erc20information.py @@ -25,7 +25,6 @@ def test_provide_erc20_token_error(cmd): sign="deadbeef" ) - # Test if return 9000 try: cmd.provide_erc20_token_information(info=erc20_info) except ethereum_client.exception.errors.UnknownDeviceError as error: From 92b2f1c24780e5ca7c971ad5634523de25fd78a8 Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 4 Jul 2022 11:12:19 +0200 Subject: [PATCH 49/69] fix: ci unsage repo zemu --- .github/workflows/ci-workflow.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 75c7fd9..12ebca8 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -45,7 +45,9 @@ jobs: - uses: actions/checkout@v2 - name: Build testing binaries - run: cd tests/zemu/ && ./build_local_test_elfs.sh + run: | + git config --global --add safe.directory "$GITHUB_WORKSPACE" + cd tests/zemu/ && ./build_local_test_elfs.sh - name: Upload app binaries uses: actions/upload-artifact@v2 From e162bbe35e6c48c2888e626e2e3eff7f21b3a3db Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 4 Jul 2022 11:50:25 +0200 Subject: [PATCH 50/69] feat: eip2930 tests --- .../eip2930/nanos/sign_eip_2930/00000.png | Bin 0 -> 374 bytes .../eip2930/nanos/sign_eip_2930/00001.png | Bin 0 -> 307 bytes .../eip2930/nanos/sign_eip_2930/00002.png | Bin 0 -> 489 bytes .../eip2930/nanos/sign_eip_2930/00003.png | Bin 0 -> 494 bytes .../eip2930/nanos/sign_eip_2930/00004.png | Bin 0 -> 391 bytes .../eip2930/nanos/sign_eip_2930/00005.png | Bin 0 -> 351 bytes .../eip2930/nanos/sign_eip_2930/00006.png | Bin 0 -> 355 bytes .../eip2930/nanos/sign_eip_2930/00007.png | Bin 0 -> 414 bytes .../eip2930/nanox/sign_eip_2930/00000.png | Bin 0 -> 414 bytes .../eip2930/nanox/sign_eip_2930/00001.png | Bin 0 -> 370 bytes .../eip2930/nanox/sign_eip_2930/00002.png | Bin 0 -> 766 bytes .../eip2930/nanox/sign_eip_2930/00003.png | Bin 0 -> 409 bytes .../eip2930/nanox/sign_eip_2930/00004.png | Bin 0 -> 418 bytes .../eip2930/nanox/sign_eip_2930/00005.png | Bin 0 -> 472 bytes tests/speculos/test_eip2930.py | 72 ++++++++++++++++++ 15 files changed, 72 insertions(+) create mode 100644 tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00000.png create mode 100644 tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00001.png create mode 100644 tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00002.png create mode 100644 tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00003.png create mode 100644 tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00004.png create mode 100644 tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00005.png create mode 100644 tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00006.png create mode 100644 tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00007.png create mode 100644 tests/speculos/screenshots/eip2930/nanox/sign_eip_2930/00000.png create mode 100644 tests/speculos/screenshots/eip2930/nanox/sign_eip_2930/00001.png create mode 100644 tests/speculos/screenshots/eip2930/nanox/sign_eip_2930/00002.png create mode 100644 tests/speculos/screenshots/eip2930/nanox/sign_eip_2930/00003.png create mode 100644 tests/speculos/screenshots/eip2930/nanox/sign_eip_2930/00004.png create mode 100644 tests/speculos/screenshots/eip2930/nanox/sign_eip_2930/00005.png create mode 100644 tests/speculos/test_eip2930.py diff --git a/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00000.png b/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d84cc70fea8013b7e8b25c0982ce142fa103d5c GIT binary patch literal 374 zcmV-+0g3*JP)K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00001.png b/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..68b7cb31d1a84dc1e6039abaf785716046b86ed2 GIT binary patch literal 307 zcmV-30nGl1P)|fW7|JDj10tfLRY!UbU{X*r-77E-u$esv z01nWVQ(jqUSsS}$Sw8U}Xc0~pfZi*uFbhR;7P)k$oo{BN zUX3+2*G;?6$<5MEgc5D z@%UZK0h_ET2nISJ7>pFOSp(+O{;2&cX{QJwgb+eVC=b{`jZT9x*FXRO002ovPDHLk FV1g77fTREb literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00002.png b/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..304f99e5f9bf817484b65314b911b157b0c170eb GIT binary patch literal 489 zcmV-odiY(bLT(C1~RNG&KY(5BeC0O`lDE2Ebofly8MP@`aiJ~p!=n!Tf^A!mDYzRIY8U048I0;rg_>O^NgO>W2hO#grl8)u z?dbD3rJH>ra|d(tXq(of5+QgILkC`bLvaS6f1mNKV2)NZZo;AT1T{k?oLAFkH@rFH z5~(D1aE?WNS|j?CpabYDfm%1sY0kAQO8IU!(Tzp>NN4{kTA7V*5WaRN(t1H7HOjNL zJC>zmzHI1{+l=;Pk{OyXk-Dy50m2zVsjimQ>_yb z?c1>*mvz8msstfZ6qndD5iRQ&KVe*wf(EXK<(86pN{mTxDxG;!f|`E<=)0}vEt~CG zXA3`!eIi=snwJYMEsV0#%Nm)5*hko!)HkmBKOHZre9s6kYB(DegRf+to)iGj=3Ci+ zAQY;T{fm(?xD%O$?!=j7QHD0%V*I~sKDE}QbJ?yIg=A|xPA!WUuc}L`Dc>cKjjp;@ zN+`H^i%5)2Hx4+~@vTXX~7{H_moQr{aq-vpR|N4t=U)}}+z@#f5>K#(%1a%f< zjJ(jYxg6uZeL1G&M(bWJpW6`?-yYleL>?}P9 k*&-*ANF)-8L?ZFUKN0kBm&Hw-a literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00004.png b/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..39f91a14a02516461e000fc2443f0aeae770a1e0 GIT binary patch literal 391 zcmV;20eJq2P)HJskJ4A6cygwPl zU?r$RE4eyZ97EmSV$>t%TUaGgkH6D!>)r}79ii02gobM?>$;&4sVf!r<*EC0^AUj5 zO_i>ZkmaS{;%a;ZfXbShvVY*CjP&3p05TtCElT~QHVkgkpC)xfK^h-B;JbmG%InMv lEMYxv5*z>k0001}ya1!U^0B^9k5T{t002ovPDHLkV1fvIutER; literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00005.png b/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..2f61fc96779253bc4d2e8563d1aaf00b907e543a GIT binary patch literal 351 zcmV-l0igbgP)JLB_nd%RtAT`w=40GTKcOg#@&*5m)+yHKx*hMTsyNGF>@d~!SuO&f> z5uQ$^e_7MHIp)}E>jtI*I?V&a3j$Et044$X{;*?iF$dWD43ZlveGVmtyV(j%1>|U^ xrg1Xors=hvQ9v%Z#%;j1py$B^5JJdv`2zG9%%`3G%*+4)002ovPDHLkV1f{DlsW(a literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00006.png b/tests/speculos/screenshots/eip2930/nanos/sign_eip_2930/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..493527e1d668d8010ba4d1ea9528890033cee2d0 GIT binary patch literal 355 zcmV-p0i6DcP)1iS?e9rZmtSAtrSW006*S*)%6V59gfQcFEG@DsaPt z5?}2FjN>_?#~2Pk{7`#w&m+C4^biIo7CPWv_}?E?NN$s1>;)ZD^DV*8avrh+JlifM z33kU6eO7L!X&4BAAZt#?oS#-p(}6aJkJiL@@JfY%jbgaN77XkFfgW9AS^Wb}Ef$lo zfxPt36y$~a3&@HL^_Rg&4fPj;7-)i1NRwZYNjG$CRZ^@@*;0sIL$L;yyQ()Vbn*SH zF8Xp?DzVGAv8A);BlMk=Iz^AFga=}#@|s@>S5})g)6e`;d42#Ymrl=Ob=YJunztT7 zWj~f|{k#}B z4)Di%0(GQh%XXzDG$sKK-Q2JkKR-`QsiPFD-4d_!i{fwH;J|_aEL%ZYNu#B0FJ7G| z;=_VQWOA9;dQ4Y9)LpKCV=ri`X({49JagUwO3&5UdSK)wEJxPN%9wG}45n;lzK(aC zKtbL$y*-#9uSql`7 zENOEh^0jsFWbV&<+yj5)WEX_aERLO-`${sQhD#B5ZCio#Fr4qHlr^7X|9DL69eFa= z#kf#}$Pcl(QEE=tNl8Pt$o;~Fk*8r@j8mpwSGW8d!1&11FbzPh@^gWj=oh7f%f7G)4s^6#xJL07*qo IM6N<$g02I(Gynhq literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip2930/nanox/sign_eip_2930/00000.png b/tests/speculos/screenshots/eip2930/nanox/sign_eip_2930/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*ptPbvx20-E~@`Fn5Z1>C1brZ+Vk1 z{oQ8F&%kit`r+R!`@;U-z2vlA>SAoRUzT-QaEns_$Kt6!mbhJcYpS{OmhV!*hl&bE zns5Ak6!Swd%W>NVoBMCQoOlkLdVMkN1NV+huC8Xrf@^#Yr>{)wS7z6IFZK1)mP+28 z%e;PNbN~Nn)M>gYaYE<6Osj=zztod?Y$mqa6v}^dsbB68cn00000fOm49=Xsv_ublpW zj_=h5(B;a1$rG z*&+j&vyyASZ-&<6Rz#m<{T@IQHr1nnBB!t2dsYVEy7RUad}_MvoLQ$%pFQgj5q&MZ zwqFy}ebU-atrflhCJX=o008h#g2&MCtjJC=>>*Eme3ae7v8n;gHs`UmYQMaww91*S zV_;yMb5@i(OgMwzn7q3DwmL&Nc~ud~m?WubLD#ylR^=py){!>P_*8V0RX2!nrSzn( z3=PYXIvbOz$u5Z|%ly5eP?<|%USLgP#Wu$Ks8M|G} zEIE3lMrFo!ujPyuWW`C!dE+Kc*#l;Ke>P4s-3|``s}Gr17Jgp)>!Lcg)S}uSmTXow zW%*(o42i6A3iG#gO#8Ptt4N@<`iiDHHYq5Ua*<7*v??jqW+Vr7lH1hKyf5yO zEv*^C`JX>U4;Jk>0BtIT7gLXX`QvohN7c5%WX~*%UP8@*t zG4Yx-DH*CQ6081(0%QhX6Lmb55ra$40RR91000*&f1*^vQA|rM8IcuuIBKQ!Arvnc zvc>O&$(HPCY@P1E#rRpDp0ssI20000uzxv%hCs&^JuK)l507*qoM6N<$f`-v$00000 literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip2930/nanox/sign_eip_2930/00003.png b/tests/speculos/screenshots/eip2930/nanox/sign_eip_2930/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..b2dc741ab2fa1f5dbd4f21b4a219293f0f430ffb GIT binary patch literal 409 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|>w}ba4!+nDh2#bl+hG9*4kk z6YIqP-bwnO1+OkLT<;f^bE|q^&?S`w=7}jgKqw~ z!m|Edn)Xli1D6&|*&T4xqMm)`xfQ=p1Ksmr^^Q^chsBk{r`OHYFX?Q(FFD1o2PHr>k)X`r@^@+NM!ST-ZwWlB#Ayg z)gQ0DzO*EcaqiYV5t0GFSp%i?A8vZOA|(FKow#g)dq0dd>iFAdIp0Xii7qKxVbm4N zw$0nV-R#^!_8ZmWx9%#Oc=BK^hd$6r$l!xn{kxy6fjYqjH$cLku6{1-oD!M+-pIO}2evV&l1od zyYBU7Kd@o#UH&61@rp{B(QDKHExgMY)U5Kn!d_~h>N@9f($8g3|HH3awkEyW|Ezr5b2qL^VT1Bf3rg}Jz>7!-WpY# z9o0F;civU~^S`+CDXYYvSFhI1)c=}jaJSvh@%I9T*)ywmdoH_t`e}3k*V4Gf$M)w0 z{$6|7&;La86P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000 Date: Mon, 4 Jul 2022 12:40:14 +0200 Subject: [PATCH 51/69] feat: eip712 tests --- .../speculos/ethereum_client/ethereum_cmd.py | 25 ++- .../ethereum_client/ethereum_cmd_builder.py | 37 +++- tests/speculos/ethereum_client/transaction.py | 13 +- .../nanos/sign_eip_712_hashed_msg/00000.png | Bin 0 -> 414 bytes .../nanos/sign_eip_712_hashed_msg/00001.png | Bin 0 -> 503 bytes .../nanos/sign_eip_712_hashed_msg/00002.png | Bin 0 -> 497 bytes .../nanos/sign_eip_712_hashed_msg/00003.png | Bin 0 -> 485 bytes .../nanos/sign_eip_712_hashed_msg/00004.png | Bin 0 -> 486 bytes .../nanos/sign_eip_712_hashed_msg/00005.png | Bin 0 -> 540 bytes .../nanos/sign_eip_712_hashed_msg/00006.png | Bin 0 -> 520 bytes .../nanos/sign_eip_712_hashed_msg/00007.png | Bin 0 -> 517 bytes .../nanos/sign_eip_712_hashed_msg/00008.png | Bin 0 -> 501 bytes .../nanos/sign_eip_712_hashed_msg/00009.png | Bin 0 -> 407 bytes .../sign_eip_712_hashed_msg_reject/00000.png | Bin 0 -> 414 bytes .../sign_eip_712_hashed_msg_reject/00001.png | Bin 0 -> 503 bytes .../sign_eip_712_hashed_msg_reject/00002.png | Bin 0 -> 497 bytes .../sign_eip_712_hashed_msg_reject/00003.png | Bin 0 -> 485 bytes .../sign_eip_712_hashed_msg_reject/00004.png | Bin 0 -> 486 bytes .../sign_eip_712_hashed_msg_reject/00005.png | Bin 0 -> 540 bytes .../sign_eip_712_hashed_msg_reject/00006.png | Bin 0 -> 520 bytes .../sign_eip_712_hashed_msg_reject/00007.png | Bin 0 -> 517 bytes .../sign_eip_712_hashed_msg_reject/00008.png | Bin 0 -> 501 bytes .../sign_eip_712_hashed_msg_reject/00009.png | Bin 0 -> 407 bytes .../sign_eip_712_hashed_msg_reject/00010.png | Bin 0 -> 449 bytes .../nanox/sign_eip_712_hashed_msg/00000.png | Bin 0 -> 473 bytes .../nanox/sign_eip_712_hashed_msg/00001.png | Bin 0 -> 890 bytes .../nanox/sign_eip_712_hashed_msg/00002.png | Bin 0 -> 551 bytes .../nanox/sign_eip_712_hashed_msg/00003.png | Bin 0 -> 919 bytes .../nanox/sign_eip_712_hashed_msg/00004.png | Bin 0 -> 562 bytes .../nanox/sign_eip_712_hashed_msg/00005.png | Bin 0 -> 463 bytes .../sign_eip_712_hashed_msg_reject/00000.png | Bin 0 -> 473 bytes .../sign_eip_712_hashed_msg_reject/00001.png | Bin 0 -> 890 bytes .../sign_eip_712_hashed_msg_reject/00002.png | Bin 0 -> 551 bytes .../sign_eip_712_hashed_msg_reject/00003.png | Bin 0 -> 919 bytes .../sign_eip_712_hashed_msg_reject/00004.png | Bin 0 -> 562 bytes .../sign_eip_712_hashed_msg_reject/00005.png | Bin 0 -> 463 bytes .../sign_eip_712_hashed_msg_reject/00006.png | Bin 0 -> 499 bytes .../sign_eip_712_hashed_msg_reject/00009.png | Bin 0 -> 499 bytes tests/speculos/test_eip712.py | 179 ++++++++++++++++++ 39 files changed, 251 insertions(+), 3 deletions(-) create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00000.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00001.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00002.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00003.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00004.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00005.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00006.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00007.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00008.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00009.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00000.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00001.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00002.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00003.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00004.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00005.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00006.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00007.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00008.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00009.png create mode 100644 tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00010.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00000.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00001.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00002.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00003.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00004.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00005.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00000.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00001.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00002.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00003.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00004.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00005.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00006.png create mode 100644 tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00009.png create mode 100644 tests/speculos/test_eip712.py diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index 5aa0eeb..0d05a3d 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -7,7 +7,7 @@ from speculos.client import SpeculosClient, ApduException from ethereum_client.ethereum_cmd_builder import EthereumCommandBuilder, InsType from ethereum_client.exception import DeviceException -from ethereum_client.transaction import PersonalTransaction, Transaction +from ethereum_client.transaction import EIP712, PersonalTransaction, Transaction from ethereum_client.plugin import ERC20_Information, Plugin from ethereum_client.utils import parse_sign_response @@ -173,6 +173,29 @@ class EthereumCommand: result.append(v) result.append(r) result.append(s) + + + @contextmanager + def sign_eip712(self, bip32_path: str, transaction: EIP712, result: List = list()) -> None: + try: + chunk: bytes = self.builder.sign_eip712(bip32_path=bip32_path, transaction=transaction) + + with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], + p1=chunk[2], p2=chunk[3], + data=chunk[5:]) as exchange: + yield exchange + response: bytes = exchange.receive() + + except ApduException as error: + raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_EIP712) + + # response = V (1) || R (32) || S (32) + assert len(response) == 65 + v, r, s = parse_sign_response(response) + + result.append(v) + result.append(r) + result.append(s) @contextmanager diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index c5213d9..e6c0be3 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -3,7 +3,7 @@ import logging import struct from typing import List, Tuple, Union, Iterator, cast -from ethereum_client.transaction import PersonalTransaction, Transaction +from ethereum_client.transaction import EIP712, PersonalTransaction, Transaction from ethereum_client.plugin import ERC20_Information, Plugin from ethereum_client.utils import bip32_path_from_string @@ -320,6 +320,41 @@ class EthereumCommandBuilder: p2=0x00, cdata=cdata) + def sign_eip712(self, bip32_path: str, transaction: EIP712) -> bytes: + """Command builder for INS_SIGN_EIP712. + + Parameters + ---------- + bip32_path : str + String representation of BIP32 path. + transaction : EIP712 + Domain hash -> 32 bytes + Message hash -> 32 bytes + + Yields + ------- + bytes + APDU command chunk for INS_SIGN_EIP712. + + """ + bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) + + cdata: bytes = b"".join([ + len(bip32_paths).to_bytes(1, byteorder="big"), + *bip32_paths + ]) + + + tx: bytes = transaction.serialize() + + cdata = cdata + tx + + return self.serialize(cla=self.CLA, + ins=InsType.INS_SIGN_EIP712, + p1=0x00, + p2=0x00, + cdata=cdata) + def simple_personal_sign_tx(self, bip32_path: str, transaction: PersonalTransaction) -> bytes: """Command builder for INS_SIGN_PERSONAL_TX. diff --git a/tests/speculos/ethereum_client/transaction.py b/tests/speculos/ethereum_client/transaction.py index 08ff529..178ffea 100644 --- a/tests/speculos/ethereum_client/transaction.py +++ b/tests/speculos/ethereum_client/transaction.py @@ -1,6 +1,6 @@ from typing import Union -from ethereum_client.utils import write_varint, UINT64_MAX +from ethereum_client.utils import apdu_as_string, write_varint, UINT64_MAX class TransactionError(Exception): @@ -83,3 +83,14 @@ class Transaction: self.chainID, ]) + +class EIP712: + def __init__(self, domain_hash: str, msg_hash: str) -> None: + self.domain_hash = apdu_as_string(domain_hash) + self.msg_hash = apdu_as_string(msg_hash) + + def serialize(self) -> bytes: + return b"".join([ + self.domain_hash, + self.msg_hash + ]) \ No newline at end of file diff --git a/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00000.png b/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..910bc4302f985d6662a4ac1db98ae5a445448805 GIT binary patch literal 414 zcmV;P0b%}$P)u4+VS)XAz z7Crj%499dp+qfp9k&{t8C`IMLs_o?&YT5+_fmV{1F#|D+T2QrB5CMGAAF~-IQrE`RCD6UAJkc(3Z3 z-4ZhCGcbmT=y+Wo%zxe_QB|1cQ8%H|&5Xqt4Zw)grqfn#CHJZcbiKsRR@s^})VX*3TB~*$~wY%QDK;dN- zm|s@B8#~!vir6#zGW(rx=>eT;E=^h-p#Zp?!QbP#eo%7M!c(*S%;3^LI$EY+@{4zX zdVcZ@##d-JP?a>ktE61vKyA|~!d8U>psprqlWf7a@VZZ)oYiLx01yBq;WQazRc84K tK0-}OofoRjSuUhIUKB-96h-mB_yOQsc3o##6a@eP002ovPDHLkV1i2B?dkvk literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00002.png b/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..f6dba7ed9b6f8bdd30d46afd1677f219427da355 GIT binary patch literal 497 zcmVv+0TG6AYY)lMhid!P-X4C4AoNfrtNq0JIY)!P@gQGN2{aUNNG<_=Jo zgDbRD?&@Q-V6!s&*s^E*bFAJ0y{uh9RuIP)d);u@iO1IyPW!k%E9WM><(~s-1`*HR z$^|gDhEDH*J>(qlX~xF2YIMIshZ(2;3=?A)!t%kEg?%NxcuUF=N4qZhHk6P>X6jwxMfiwY*<~2Ak+IyU4>=x zi%D(E3-7=$VWyVLd}@-PqvBBF8@fKzeZXhae+MQ2lWibbf0CCa02DI$_YC=1vV>wpNNF9)?gao=mKB0WpP|-&G_9wh n+N!q4W5B{72!bF8f*_?o0MLRs4Y#xq00000NkvXXu0mjf4ir+MMJ=2hlYc?&PJGj%6gdK-9x5eCk|aqCJRcvQaOHtwrctezGL3Hu zcLmAtqeN%`d1UdC8GtSa zv61Q$SD&VrNmf3O;TEJZ#2%0646qWrf>3QOrA)wdbY={}-wLHRu6v|ygSPr}MVMQP z_>`Z{fIZY0M1{H6<5oKx0Q7`}XRK9~A8Jz;=hFuX-V`+E#Kic_vHl%6ZPyGJWPaKE zWlI1!u^;#TP7qh8_cxOpg>>^}liIkmrO<^VapvgoVeD{yq@DtAnR6!0 zTveGu&4w?`eEJru&ZDU#iA7CDY|ex?Ur>thv#e0F0qIQ`=F~uY`(5DzY7f*D13YEt zsFJlpl@tKDbHR80sCpqxSh)4;=_gDDtbHGfMbsf7)|Bif7;8aP82l(TqX%Zc=kkky zI!Hw{VpGof=haYCVG@P))4rqF*dc(dex|Tl1^z@;L zxoONX`84a5M|LNgjZ&AsubsV;s(M#cf-cG;bq7Sr{dS}vo)y+|gYAc(bcr#xJ^2W! zr5%q^Hy`6milH3N`WPR#?tnEMKJdHQlVaqhAwv#ePssj^jf$E_3dg2CrjwjjP6$)0 z&-BNT^5UitW5Cy1pH?|Q8}rT9UkqbvSbs6_!JQxq-O1U=8`B+4q&#Jr(%2WXnw(mi zNL&SptdzW8v}qYr-Yiu~{RFW94dTMYb z*EqoW0&G$-%$T%=wr1(l&;gYANJ1tjeROPKRZ>6_3YqWoPn*gIE~%=gv%_g900000 c03afwKVmX<>Pl4N%K!iX07*qoM6N<$f>`0`tqGtQt0v(i z`~V+iyIqP#Yv1C-&^^moV~mI^S3uj+&ZhR!=&Ngr!Ok$Bc$p${B>DpCx|0sEmYM|0 z2lhxP^GIcH*u8W&@#m9EKO}zFCd?A0o;SDG^oce$8c?f$%!Ww^p)EcLJpYOg<3Q$`I1hu(Gw-Gu#S9tWI;D~{k76ypLI%f-DL@*Njcp*FN@ zyMBjW0F2ze8e~sB%d@gwtHY{nZOLzL`I8CC>YgPi#H1BqFE4uw(O#z4qAh-&2r9Y< zlq%o@_kgxSsi1GF0l_HZ7z&X`Ou6=d^+v}~%NZ_q43*Pd`pGORKEouoAO8XA3MxsG eBuSDaY4`#8e3F_{{>Byn0000=e`v(y|E`A!W5~ zsLd`?QtqnPzSzCmxW-4*)T%Ffw)Z8@40dWfWPEwy$7jTT0%&P)?b-+6{CN|9&VU)( zgGYN$at>B<_bl{m{=Vdmd8`zhqyi2I(TTT^FF$%JX6;b>UR|l|qt}|)PIZa#ZLmWy zp@fB05n?5hkToS;+jT9HZZRiTm{QshCY^-41&Kt!b`oY!lCusCQj8bFELwCe5<5~6 z3{|(J6cj;o4?*U1YBuSDa59AjikFDtedUtdH0000< KMNUMnLSTaNM(3>n literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00007.png b/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..61bcb2d482cdda0d8b70853675f5118dfd2c39cd GIT binary patch literal 517 zcmV+g0{Z=lP)T-;VkG-L=#_thd6qbg)M^+*!m1fDF}if2vD{)ZEM4FWH8ffm8ZF1 zys&L?hVA95W05b-d>Y< z2WN716}mT{gS-fjwFRPWC%Y$Y<;Qo$q90PxI6=|^Yo0arbrZ4M@i>+_+M*CYbs-kA zdookH#r0$%L~{-sFWm0k|d#cJ2cd_&Fqe7KZPCkIPr6qy- z=Wtk1=8=&{FIY==LviHh))JuY;}N|BAoYRuH{H-0y1rBmjDJHL$oP1KK7jsR#Jq%y zlCpXq8Pi2e$L?_VA(40aPibmZQ7@-nq9kNeBZxTlIG&!A0g{SUur6Hty@vL?G2rU% zeZdzbpTSBlorP}C@0+}V)AoB9wrjNEumrSQK!*yIY4T`O3|X{jj9RE45>V#2jS;(} z3tzB&C&xH7)KIc}O}1J_HqDB5^k-GNlhw{|MQB|k=;nGdTUfTL7z?jKQ}U*-D5hsS zlu~TB6V2q<6y!=ZECiuDV0IC8oe%Z6H|@ zz8wshkB{~MB4`H0-uM*3M1j}m%A!300N{kCpu~9KJs1LQ1E{7`qHO>OJQ#XfRy9Bv z^==(ieYk597RD@{OEdS6GT+Lmuf_h$vek1^KVM4p7nbmHWt7bot=9>X{;(33tDmYc z&D9U$Wf)T#sV`+WTVz^Qo=ISYs`0?ozXTD=g%{*$&h`n6Q%*!K%L9vjA?<}S_3O~y z51_40w#ON-)XL64x@JligSXK^F9>U5TpZCDR;l1-dd45KJ?)^knt8<|^tT^?&`+$? zRq8>0Bcb3GkI=CJNF3=@I3K*Rlqo0JRixhcTL&d5MMji-{W*PXyu+hM-x=UTI}_BI zGx^;Gypw%}(Vkv=s~wl1InZ7QJjtlNRl_ihQog8p&yJp0VZ8tV002ovPDHLkV1iJ- Bw$=au literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00000.png b/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..910bc4302f985d6662a4ac1db98ae5a445448805 GIT binary patch literal 414 zcmV;P0b%}$P)u4+VS)XAz z7Crj%499dp+qfp9k&{t8C`IMLs_o?&YT5+_fmV{1F#|D+T2QrB5CMGAAF~-IQrE`RCD6UAJkc(3Z3 z-4ZhCGcbmT=y+Wo%zxe_QB|1cQ8%H|&5Xqt4Zw)grqfn#CHJZcbiKsRR@s^})VX*3TB~*$~wY%QDK;dN- zm|s@B8#~!vir6#zGW(rx=>eT;E=^h-p#Zp?!QbP#eo%7M!c(*S%;3^LI$EY+@{4zX zdVcZ@##d-JP?a>ktE61vKyA|~!d8U>psprqlWf7a@VZZ)oYiLx01yBq;WQazRc84K tK0-}OofoRjSuUhIUKB-96h-mB_yOQsc3o##6a@eP002ovPDHLkV1i2B?dkvk literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00002.png b/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..f6dba7ed9b6f8bdd30d46afd1677f219427da355 GIT binary patch literal 497 zcmVv+0TG6AYY)lMhid!P-X4C4AoNfrtNq0JIY)!P@gQGN2{aUNNG<_=Jo zgDbRD?&@Q-V6!s&*s^E*bFAJ0y{uh9RuIP)d);u@iO1IyPW!k%E9WM><(~s-1`*HR z$^|gDhEDH*J>(qlX~xF2YIMIshZ(2;3=?A)!t%kEg?%NxcuUF=N4qZhHk6P>X6jwxMfiwY*<~2Ak+IyU4>=x zi%D(E3-7=$VWyVLd}@-PqvBBF8@fKzeZXhae+MQ2lWibbf0CCa02DI$_YC=1vV>wpNNF9)?gao=mKB0WpP|-&G_9wh n+N!q4W5B{72!bF8f*_?o0MLRs4Y#xq00000NkvXXu0mjf4ir+MMJ=2hlYc?&PJGj%6gdK-9x5eCk|aqCJRcvQaOHtwrctezGL3Hu zcLmAtqeN%`d1UdC8GtSa zv61Q$SD&VrNmf3O;TEJZ#2%0646qWrf>3QOrA)wdbY={}-wLHRu6v|ygSPr}MVMQP z_>`Z{fIZY0M1{H6<5oKx0Q7`}XRK9~A8Jz;=hFuX-V`+E#Kic_vHl%6ZPyGJWPaKE zWlI1!u^;#TP7qh8_cxOpg>>^}liIkmrO<^VapvgoVeD{yq@DtAnR6!0 zTveGu&4w?`eEJru&ZDU#iA7CDY|ex?Ur>thv#e0F0qIQ`=F~uY`(5DzY7f*D13YEt zsFJlpl@tKDbHR80sCpqxSh)4;=_gDDtbHGfMbsf7)|Bif7;8aP82l(TqX%Zc=kkky zI!Hw{VpGof=haYCVG@P))4rqF*dc(dex|Tl1^z@;L zxoONX`84a5M|LNgjZ&AsubsV;s(M#cf-cG;bq7Sr{dS}vo)y+|gYAc(bcr#xJ^2W! zr5%q^Hy`6milH3N`WPR#?tnEMKJdHQlVaqhAwv#ePssj^jf$E_3dg2CrjwjjP6$)0 z&-BNT^5UitW5Cy1pH?|Q8}rT9UkqbvSbs6_!JQxq-O1U=8`B+4q&#Jr(%2WXnw(mi zNL&SptdzW8v}qYr-Yiu~{RFW94dTMYb z*EqoW0&G$-%$T%=wr1(l&;gYANJ1tjeROPKRZ>6_3YqWoPn*gIE~%=gv%_g900000 c03afwKVmX<>Pl4N%K!iX07*qoM6N<$f>`0`tqGtQt0v(i z`~V+iyIqP#Yv1C-&^^moV~mI^S3uj+&ZhR!=&Ngr!Ok$Bc$p${B>DpCx|0sEmYM|0 z2lhxP^GIcH*u8W&@#m9EKO}zFCd?A0o;SDG^oce$8c?f$%!Ww^p)EcLJpYOg<3Q$`I1hu(Gw-Gu#S9tWI;D~{k76ypLI%f-DL@*Njcp*FN@ zyMBjW0F2ze8e~sB%d@gwtHY{nZOLzL`I8CC>YgPi#H1BqFE4uw(O#z4qAh-&2r9Y< zlq%o@_kgxSsi1GF0l_HZ7z&X`Ou6=d^+v}~%NZ_q43*Pd`pGORKEouoAO8XA3MxsG eBuSDaY4`#8e3F_{{>Byn0000=e`v(y|E`A!W5~ zsLd`?QtqnPzSzCmxW-4*)T%Ffw)Z8@40dWfWPEwy$7jTT0%&P)?b-+6{CN|9&VU)( zgGYN$at>B<_bl{m{=Vdmd8`zhqyi2I(TTT^FF$%JX6;b>UR|l|qt}|)PIZa#ZLmWy zp@fB05n?5hkToS;+jT9HZZRiTm{QshCY^-41&Kt!b`oY!lCusCQj8bFELwCe5<5~6 z3{|(J6cj;o4?*U1YBuSDa59AjikFDtedUtdH0000< KMNUMnLSTaNM(3>n literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00007.png b/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..61bcb2d482cdda0d8b70853675f5118dfd2c39cd GIT binary patch literal 517 zcmV+g0{Z=lP)T-;VkG-L=#_thd6qbg)M^+*!m1fDF}if2vD{)ZEM4FWH8ffm8ZF1 zys&L?hVA95W05b-d>Y< z2WN716}mT{gS-fjwFRPWC%Y$Y<;Qo$q90PxI6=|^Yo0arbrZ4M@i>+_+M*CYbs-kA zdookH#r0$%L~{-sFWm0k|d#cJ2cd_&Fqe7KZPCkIPr6qy- z=Wtk1=8=&{FIY==LviHh))JuY;}N|BAoYRuH{H-0y1rBmjDJHL$oP1KK7jsR#Jq%y zlCpXq8Pi2e$L?_VA(40aPibmZQ7@-nq9kNeBZxTlIG&!A0g{SUur6Hty@vL?G2rU% zeZdzbpTSBlorP}C@0+}V)AoB9wrjNEumrSQK!*yIY4T`O3|X{jj9RE45>V#2jS;(} z3tzB&C&xH7)KIc}O}1J_HqDB5^k-GNlhw{|MQB|k=;nGdTUfTL7z?jKQ}U*-D5hsS zlu~TB6V2q<6y!=ZECiuDV0IC8oe%Z6H|@ zz8wshkB{~MB4`H0-uM*3M1j}m%A!300N{kCpu~9KJs1LQ1E{7`qHO>OJQ#XfRy9Bv z^==(ieYk597RD@{OEdS6GT+Lmuf_h$vek1^KVM4p7nbmHWt7bot=9>X{;(33tDmYc z&D9U$Wf)T#sV`+WTVz^Qo=ISYs`0?ozXTD=g%{*$&h`n6Q%*!K%L9vjA?<}S_3O~y z51_40w#ON-)XL64x@JligSXK^F9>U5TpZCDR;l1-dd45KJ?)^knt8<|^tT^?&`+$? zRq8>0Bcb3GkI=CJNF3=@I3K*Rlqo0JRixhcTL&d5MMji-{W*PXyu+hM-x=UTI}_BI zGx^;Gypw%}(Vkv=s~wl1InZ7QJjtlNRl_ihQog8p&yJp0VZ8tV002ovPDHLkV1iJ- Bw$=au literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00010.png b/tests/speculos/screenshots/eip712/nanos/sign_eip_712_hashed_msg_reject/00010.png new file mode 100644 index 0000000000000000000000000000000000000000..d55782f429e629a5ae929916914befa14613edba GIT binary patch literal 449 zcmV;y0Y3hTP)9Z)nZ zoKdfPKxBZtOD`O!Ud7)^nCSVm48R~fHVz_gJJ3!JB$;A z73W%!0pdWH0?92?e|oM4;Hw|T=q9}++yIP#$#j!m5^exS zz+}2fFX=r8JdElH5Z(1#dLzJ@d7d#T0RR9zkLvC@{o4-b#&d>V@Olw{Qhp=JC*hP* ze&(v$CdMdHq04bD8(yuPe6}+mUxbB+j@Sq&JG)G;>8tv_Of9IF`aC{V8pehyFamrk zsn2Y*0u8Xun9W@KS20j;W!56I20WGIe?vDCyM6$`aiZIsFI~S2dUn1pckwRBmM6XP%`s%YvTHqZ3lwXSA8(yvzTEo$z)$(N682X1xVDy4{PzgV-)>~P%m z(SxSeRT|*hab4YQn?v%8>M*os9$Wn$H1mutMdS&3k#ezJft*eqW4tHkAtS*5@x-oX zb|Lk%2&YUpGG7h%y~aaI0W0RR910Dz=F-WV#{$lGiw P00000NkvXXu0mjfFUZz( literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00001.png b/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd24f466fe52dfc942c6d5aca57bdad6509f6e9 GIT binary patch literal 890 zcmV-=1BLvFP)ds)(R(hY{{DZg>k-qO%^72WeehE92Xlo`<3n99tbg(x-N zjnG3J3}lG1iZsx*;zk3X+DYtL*EI`EZkOp9pb2gSnN3;c^~L4iFX>#yed@UtjA*~K zHX~=3hus;VTS6AW^5rY`x%13O{cJifm;tl&hznPI&!@TU6teGgcK~z}k3UEUYDe01 zwc~$!09tE$t-NMtVz)26B|V?*3naGmndFtocB_`V4`u(hsJ*d1k^KRvii8kC$PWin zLy@hO7D-Yi$5d>z{ggZzc=Ia8WK@VfcgBCE7%|?rItD!%Ly_8y``gwN3}8l=G~-Y(k1v5zGJd$?taD~j00e1 zEnRTlHo;w4)laYqb5R<4Va8n51+P{z>X&nuwTzG9=Q3=~iAs_K2og979})f}Hrh5>M$2eZW})IW~SE-N$DQKp?W>`x$Vv4vUYG@g64MaZM+L`+`>jvg3836MO zxS;{>K))QTZhgUJ{r|{`&6c}B2qAV!Z07*qoM6N<$f(GESasU7T literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00002.png b/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..542bf198f2d1726f2b6c25b14faaca2dd4abf9d4 GIT binary patch literal 551 zcmV+?0@(eDP)`RX{%FPwMEDN_@@!ElcMb(>p-oL_zD#_L1|=VF$}_Bgb{hz2&UvzE7tz z#O@A|(?l|0diwHpCVn$iRXh3j9rCpO}a&o#jo$wk~(K7q4qI-*z%b-nZmGk`flVvGwmrS%4Hv007{R zGtmvTP#Zz@?(ht0ot3PXq|=m@hj2Nmda|80KDQmTg<2Z>^>R1pHxd1jptkNptx_U3 zt8cN%C9Q~$J%fCpVF~T%U~4ycK6G-z@PCr!NmVo2qrR2O)|6)w+@8MJ^7ao7%Kn5k zojP)93d;FIW{unv1&m~3|%nD$&ZIo$yq_CCRV2e zJl+Y~3gKbxYnkeov&&`Zz`b;lZoqUh-oFjS)p-AASc4}a3q8re$*jSp;9dX#00000 p000000000000000004l?_yy@L2YBj25G()y002ovPDHLkV1mNa1PuTH literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00003.png b/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1ff79c12d58646d82b061190f89175a0784760 GIT binary patch literal 919 zcmV;I18Dq-P)_`Nv1IZJX(CH0lU= ziy1B`Y{o!3*Q?m`>;=X|#c=ix=reEjT!b}RwlA9M-dF}Vp{p>?bz#siuNDIcxWnE7 zCfzkyAYsNl(?nQ{i7JQbC*hpB14fUg_idp0gWfG-Q47p&h$aA@b2IHMBu*_ zZ=WaR#toczracodlas?@nF%m^&fg85rsU;iPZ#Q!^p7LLC6cGL^kgt`p6OKb8F0voFMI|}N!E;!beKkNL(Rpax0w3g@8OPBI!toMb;E6_j$Fqn zS_CnhNo@aoFFVyK5t7XdSM<-r9poDQ+c1W@M*n7N4xXg4(31p%Tyt5z|!oNFWwy>TN!cT(&0~44h-17Qs+Kz?N2||r<>Qet5Zo{X1&ejdfOxbae z_o<5-YL!*?;cyvB^eX&Q;F0003~DFZ*#R<@%9x)-2C* z>A5GyeYce24!m_DhRfFWeM9#@p+++)QLeQ1vCY`NTFTENTck zZ=FQ;wD!mq=JM$dsM9WvywlWL@*io4d)vnDVtggyd~9rtOC5O(L-R#+2Z&U^#?Bbm znyV?^h5J@S)vViYOBtVp2%#O&x)WXJhNK6*TDnEuA&#Nz!a#E_rkyyES8lkSNI_bH z7P0e>O_!QMjy*unHSz)sWM<)2tPPTdO`H#vq9`w;H> zkN0cn-$f^My!Nv%?A!`{Y#)3y+VA~v)kb8;d7un^S8cOf?WZSUm*7z_c+f50|2I-| zOl|KoTuWSorX-?m0q({h+i1-U=Wd>fC|Qz%T&ad7!pa@6`{v-#5(}_!`LFy2OkEeh zh23iVGSr<(v0T$u#B3Sr7LLZ9{;@LD7;o}$n!Rgnz7#dcME@8i<1<)ust$A*~1i00000005j&Ypu2Jj^YWw zy90QoT&ZuaQvl6=DP?aYPf1pQ*$k63`;x8zO;>}w*_U($&=hOZQ)gd9es%|NhM$F! zW?$0X0Zo_gyxGq!-I5;w002`g?B41@dShn48j^qcKMg+SRb@~2kiDXt9?G(zZ_&4C zhfSe&Es>ja8l-41$VME{IyOzQ?Ue@1yRzZ^H{)W~!1tfC>juYNH#BJt?4%T&zcu@I zbg0WXI2uYRp~7D9ao)DXaZq_zsB{W|%4eW}Iz^4!e zUu_N6PY6z&;*%m4K>3kw6W0ds>@{hh*=q9}++yIP#$#j!m5^exS zz+}2fFX=r8JdElH5Z(1#dLzJ@d7d#T0RR9zkLvC@{o4-b#&d>V@Olw{Qhp=JC*hP* ze&(v$CdMdHq04bD8(yuPe6}+mUxbB+j@Sq&JG)G;>8tv_Of9IF`aC{V8pehyFamrk zsn2Y*0u8Xun9W@KS20j;W!56I20WGIe?vDCyM6$`aiZIsFI~S2dUn1pckwRBmM6XP%`s%YvTHqZ3lwXSA8(yvzTEo$z)$(N682X1xVDy4{PzgV-)>~P%m z(SxSeRT|*hab4YQn?v%8>M*os9$Wn$H1mutMdS&3k#ezJft*eqW4tHkAtS*5@x-oX zb|Lk%2&YUpGG7h%y~aaI0W0RR910Dz=F-WV#{$lGiw P00000NkvXXu0mjfFUZz( literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00001.png b/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd24f466fe52dfc942c6d5aca57bdad6509f6e9 GIT binary patch literal 890 zcmV-=1BLvFP)ds)(R(hY{{DZg>k-qO%^72WeehE92Xlo`<3n99tbg(x-N zjnG3J3}lG1iZsx*;zk3X+DYtL*EI`EZkOp9pb2gSnN3;c^~L4iFX>#yed@UtjA*~K zHX~=3hus;VTS6AW^5rY`x%13O{cJifm;tl&hznPI&!@TU6teGgcK~z}k3UEUYDe01 zwc~$!09tE$t-NMtVz)26B|V?*3naGmndFtocB_`V4`u(hsJ*d1k^KRvii8kC$PWin zLy@hO7D-Yi$5d>z{ggZzc=Ia8WK@VfcgBCE7%|?rItD!%Ly_8y``gwN3}8l=G~-Y(k1v5zGJd$?taD~j00e1 zEnRTlHo;w4)laYqb5R<4Va8n51+P{z>X&nuwTzG9=Q3=~iAs_K2og979})f}Hrh5>M$2eZW})IW~SE-N$DQKp?W>`x$Vv4vUYG@g64MaZM+L`+`>jvg3836MO zxS;{>K))QTZhgUJ{r|{`&6c}B2qAV!Z07*qoM6N<$f(GESasU7T literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00002.png b/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..542bf198f2d1726f2b6c25b14faaca2dd4abf9d4 GIT binary patch literal 551 zcmV+?0@(eDP)`RX{%FPwMEDN_@@!ElcMb(>p-oL_zD#_L1|=VF$}_Bgb{hz2&UvzE7tz z#O@A|(?l|0diwHpCVn$iRXh3j9rCpO}a&o#jo$wk~(K7q4qI-*z%b-nZmGk`flVvGwmrS%4Hv007{R zGtmvTP#Zz@?(ht0ot3PXq|=m@hj2Nmda|80KDQmTg<2Z>^>R1pHxd1jptkNptx_U3 zt8cN%C9Q~$J%fCpVF~T%U~4ycK6G-z@PCr!NmVo2qrR2O)|6)w+@8MJ^7ao7%Kn5k zojP)93d;FIW{unv1&m~3|%nD$&ZIo$yq_CCRV2e zJl+Y~3gKbxYnkeov&&`Zz`b;lZoqUh-oFjS)p-AASc4}a3q8re$*jSp;9dX#00000 p000000000000000004l?_yy@L2YBj25G()y002ovPDHLkV1mNa1PuTH literal 0 HcmV?d00001 diff --git a/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00003.png b/tests/speculos/screenshots/eip712/nanox/sign_eip_712_hashed_msg_reject/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..ae1ff79c12d58646d82b061190f89175a0784760 GIT binary patch literal 919 zcmV;I18Dq-P)_`Nv1IZJX(CH0lU= ziy1B`Y{o!3*Q?m`>;=X|#c=ix=reEjT!b}RwlA9M-dF}Vp{p>?bz#siuNDIcxWnE7 zCfzkyAYsNl(?nQ{i7JQbC*hpB14fUg_idp0gWfG-Q47p&h$aA@b2IHMBu*_ zZ=WaR#toczracodlas?@nF%m^&fg85rsU;iPZ#Q!^p7LLC6cGL^kgt`p6OKb8F0voFMI|}N!E;!beKkNL(Rpax0w3g@8OPBI!toMb;E6_j$Fqn zS_CnhNo@aoFFVyK5t7XdSM<-r9poDQ+c1W@M*n7N4xXg4(31p%Tyt5z|!oNFWwy>TN!cT(&0~44h-17Qs+Kz?N2||r<>Qet5Zo{X1&ejdfOxbae z_o<5-YL!*?;cyvB^eX&Q;F0003~DFZ*#R<@%9x)-2C* z>A5GyeYce24!m_DhRfFWeM9#@p+++)QLeQ1vCY`NTFTENTck zZ=FQ;wD!mq=JM$dsM9WvywlWL@*io4d)vnDVtggyd~9rtOC5O(L-R#+2Z&U^#?Bbm znyV?^h5J@S)vViYOBtVp2%#O&x)WXJhNK6*TDnEuA&#Nz!a#E_rkyyES8lkSNI_bH z7P0e>O_!QMjy*unHSz)sWM<)2tPPTdO`H#vq9`w;H> zkN0cn-$f^My!Nv%?A!`{Y#)3y+VA~v)kb8;d7un^S8cOf?WZSUm*7z_c+f50|2I-| zOl|KoTuWSorX-?m0q({h+i1-U=Wd>fC|Qz%T&ad7!pa@6`{v-#5(}_!`LFy2OkEeh zh23iVGSr<(v0T$u#B3Sr7LLZ9{;@LD7;o}$n!Rgnz7#dcME@8i<1<)ust$A*~1i00000005j&Ypu2Jj^YWw zy90QoT&ZuaQvl6=DP?aYPf1pQ*$k63`;x8zO;>}w*_U($&=hOZQ)gd9es%|NhM$F! zW?$0X0Zo_gyxGq!-I5;w002`g?B41@dShn48j^qcKMg+SRb@~2kiDXt9?G(zZ_&4C zhfSe&Es>ja8l-41$VME{IyOzQ?Ue@1yRzZ^H{)W~!1tfC>juYNH#BJt?4%T&zcu@I zbg0WXI2uYRp~7D9ao)DXaZq_zsB{W|%4eW}Iz^4!e zUu_N6PY6z&;*%m4K>3kw6W0ds>@{hh*gX9g;)ZTl>^=ArgX9g;)ZTl>^=Ar Date: Mon, 4 Jul 2022 13:52:18 +0200 Subject: [PATCH 52/69] docs: readme in speculos tests --- tests/speculos/README.md | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/tests/speculos/README.md b/tests/speculos/README.md index 8ff6e84..6cca81b 100644 --- a/tests/speculos/README.md +++ b/tests/speculos/README.md @@ -17,23 +17,33 @@ python3 -m pip install --extra-index-url https://test.pypi.org/simple/ -r requir ## Usage -Given the requirements are installed, just do: +### Compilation app -``` -pytest tests/speculos/ +Go to the root of the repository: +```sh +make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOX_SDK ``` -## Tests by APDU +Given the requirements are installed, just do (by default command): -you will find the list of apdu [here](../../doc/apdu.md) +``` +cd tests/speculos/ +pytest +``` -- Get - - GET APP CONFIGURATION ( 1 test ) - - Get the configuration - - GET ETH PUBLIC ADDRESS ( 3 tests ) - - Ether coin without display - - Dai coin with display - - Dai coin with display and reject - - GET ETH2 PUBLIC KEY - - [ ] Test get key - - [ ] Test get key with display \ No newline at end of file +### Custom options +- **--model:** "nanos", "nanox", "nanosp" | default: "nanos" +- **--display:** "qt", "headless" | default: "qt" +- **--path:** the path of the binary app | default: path of makefile compilation + +## Example + +With `nanox` binary app: +```sh +# the --path is variable to where you put your binary + +pytest --model nanox --path ./elfs/nanox.elf + +# Execute specific test: +pytest --model nanox --path ./elfs/nanox.elf test_pubkey_cmd.py +``` \ No newline at end of file From 194f4d5c18cad6c51175bc9692aba5ad83dba096 Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 11 Jul 2022 13:44:26 +0200 Subject: [PATCH 53/69] fix: apdu iterator for eth personal sign --- .../speculos/ethereum_client/ethereum_cmd.py | 27 +++++++----- .../ethereum_client/ethereum_cmd_builder.py | 41 +++++++++++++++---- tests/speculos/test_eip191.py | 28 ++++--------- 3 files changed, 57 insertions(+), 39 deletions(-) diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index 0d05a3d..aa51f79 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -1,6 +1,7 @@ from ast import List from contextlib import contextmanager import struct +from time import sleep from typing import Tuple from speculos.client import SpeculosClient, ApduException @@ -152,6 +153,8 @@ class EthereumCommand: except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) + + @contextmanager def simple_sign_tx(self, bip32_path: str, transaction: Transaction, result: List = list()) -> None: try: @@ -196,24 +199,28 @@ class EthereumCommand: result.append(v) result.append(r) result.append(s) - + @contextmanager - def simple_personal_sign_tx(self, bip32_path: str, transaction: PersonalTransaction, result: List = list()) -> None: + def personal_sign_tx(self, bip32_path: str, transaction: PersonalTransaction, result: List = list()) -> None: + """ + Does the same thing as simple_personal_sign but allows to create a batch of cmd apdu + """ try: - chunk: bytes = self.builder.simple_personal_sign_tx(bip32_path=bip32_path, transaction=transaction) - - with self.client.apdu_exchange_nowait(cla=chunk[0], ins=chunk[1], - p1=chunk[2], p2=chunk[3], - data=chunk[5:]) as exchange: - yield exchange - response: bytes = exchange.receive() + for islast_apdu, apdu in self.builder.personal_sign_tx(bip32_path=bip32_path, transaction=transaction): + if islast_apdu: + with self.client.apdu_exchange_nowait(cla=apdu[0], ins=apdu[1], + p1=apdu[2], p2=apdu[3], + data=apdu[5:]) as exchange: + yield exchange + response: bytes = exchange.receive() + else: + self.send_apdu(apdu) except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) # response = V (1) || R (32) || S (32) - assert len(response) == 65 v, r, s = parse_sign_response(response) result.append(v) diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index e6c0be3..d1e9434 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -1,5 +1,6 @@ import enum import logging +import re import struct from typing import List, Tuple, Union, Iterator, cast @@ -9,6 +10,9 @@ from ethereum_client.utils import bip32_path_from_string MAX_APDU_LEN: int = 255 +def chunked(size, source): + for i in range(0, len(source), size): + yield source[i:i+size] def chunkify(data: bytes, chunk_len: int) -> Iterator[Tuple[bool, bytes]]: size: int = len(data) @@ -355,8 +359,7 @@ class EthereumCommandBuilder: p2=0x00, cdata=cdata) - - def simple_personal_sign_tx(self, bip32_path: str, transaction: PersonalTransaction) -> bytes: + def personal_sign_tx(self, bip32_path: str, transaction: PersonalTransaction) -> Tuple[bool,bytes]: """Command builder for INS_SIGN_PERSONAL_TX. Parameters @@ -372,6 +375,7 @@ class EthereumCommandBuilder: APDU command chunk for INS_SIGN_PERSONAL_TX. """ + bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) cdata: bytes = b"".join([ @@ -383,9 +387,30 @@ class EthereumCommandBuilder: tx: bytes = transaction.serialize() cdata = cdata + tx - - return self.serialize(cla=self.CLA, - ins=InsType.INS_SIGN_PERSONAL_TX, - p1=0x00, - p2=0x00, - cdata=cdata) + last_chunk = len(cdata) // MAX_APDU_LEN + + for i, (chunk) in enumerate(chunked(MAX_APDU_LEN, cdata)): + if i == 0 and i == last_chunk: + yield True, self.serialize(cla=self.CLA, + ins=InsType.INS_SIGN_PERSONAL_TX, + p1=0x00, + p2=0x00, + cdata=chunk) + elif i == 0: + yield False, self.serialize(cla=self.CLA, + ins=InsType.INS_SIGN_PERSONAL_TX, + p1=0x00, + p2=0x00, + cdata=chunk) + elif i == last_chunk: + yield True, self.serialize(cla=self.CLA, + ins=InsType.INS_SIGN_PERSONAL_TX, + p1=0x80, + p2=0x00, + cdata=chunk) + else: + yield False, self.serialize(cla=self.CLA, + ins=InsType.INS_SIGN_PERSONAL_TX, + p1=0x80, + p2=0x00, + cdata=chunk) \ No newline at end of file diff --git a/tests/speculos/test_eip191.py b/tests/speculos/test_eip191.py index 822d14d..45e0f2b 100644 --- a/tests/speculos/test_eip191.py +++ b/tests/speculos/test_eip191.py @@ -12,7 +12,7 @@ def test_personal_sign_metamask(cmd): msg="Example `personal_sign` message" ) - with cmd.simple_personal_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + with cmd.personal_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: sleep(0.5) if cmd.model == "nanos": @@ -47,8 +47,7 @@ def test_personal_sign_metamask(cmd): assert v == 0x1c # 28 assert r.hex() == "916099cf0d9c21911c85f0770a47a9696a8189e78c259cf099749748c507baae" assert s.hex() == "0d72234bc0ac2e94c5f7a5f4f9cd8610a52be4ea55515a85b9703f1bb158415c" - - + def test_personal_sign_reject(cmd): result: list = [] @@ -58,7 +57,7 @@ def test_personal_sign_reject(cmd): ) try: - with cmd.simple_personal_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + with cmd.personal_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: sleep(0.5) if cmd.model == "nanos": @@ -108,7 +107,7 @@ def test_personal_sign_non_ascii(cmd): msg="0x9c22ff5f21f0b81b113e63f7db6da94fedef11b2119b4088b89664fb9a3cb658" ) - with cmd.simple_personal_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: + with cmd.personal_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: sleep(0.5) if cmd.model == "nanos": @@ -150,27 +149,15 @@ def test_personal_sign_non_ascii(cmd): assert r.hex() == "64bdbdb6959425445d00ff2536a7018d2dce904e1f7475938fe4221c3c72500c" assert s.hex() == "7c9208e99b6b9266a73aae17b73472d06499746edec34fd47a9dab42f06f2e42" -# ============================ -# The encoded message is greater than the maximum length of an apdu, that's why we cut it into 3 apdu -# ============================ - -FIRST_PART = apdu_as_string("e008000096058000002c8000003c8000000000000000000000000000015357656c636f6d6520746f204f70656e536561210a0a436c69636b20746f207369676e20696e20616e642061636365707420746865204f70656e536561205465726d73206f6620536572766963653a2068747470733a2f2f6f70656e7365612e696f2f746f730a0a5468697320726571756573742077696c6c206e6f7420") -SECOND_PART = apdu_as_string("e00880009674726967676572206120626c6f636b636861696e207472616e73616374696f6e206f7220636f737420616e792067617320666565732e0a0a596f75722061757468656e7469636174696f6e207374617475732077696c6c20726573657420616674657220323420686f7572732e0a0a57616c6c657420616464726573733a0a3078393835386566666432333262343033336534376439") -THIRD_PART = apdu_as_string("e008800040303030336434316563333465636165646139340a0a4e6f6e63653a0a32623032633861302d663734662d343535342d393832312d613238303534646339313231") - def test_personal_sign_opensea(cmd): result: list = [] - # useless but allows to see which info are in the apdu bip32_path="44'/60'/0'/0/0" transaction = PersonalTransaction( msg="Welcome to OpenSea!\n\nClick to sign in and accept the OpenSea Terms of Service: https://opensea.io/tos\n\nThis request will not trigger a blockchain transaction or cost any gas fees.\n\nYour authentication status will reset after 24 hours.\n\nWallet address:\n0x9858effd232b4033e47d90003d41ec34ecaeda94\n\nNonce:\n2b02c8a0-f74f-4554-9821-a28054dc9121" ) - cmd.send_apdu(FIRST_PART) - cmd.send_apdu(SECOND_PART) - - with cmd.send_apdu_context(THIRD_PART, result=result) as ex: + with cmd.personal_sign_tx(bip32_path, transaction, result) as ex: sleep(0.5) if cmd.model == "nanos": @@ -215,9 +202,8 @@ def test_personal_sign_opensea(cmd): compare_screenshot(cmd, f"screenshots/eip191/{PATH_IMG[cmd.model]}/personal_sign_opensea/00006.png") cmd.client.press_and_release('both') - response: bytes = result[0] - v, r, s = parse_sign_response(response) + v, r, s = result assert v == 0x1c # 28 assert r.hex() == "61a68c986f087730d2f6ecf89d6d1e48ab963ac461102bb02664bc05c3db75bb" - assert s.hex() == "5714729ef441e097673a7b29a681e97f6963d875eeed2081f26b0b6686cd2bd2" \ No newline at end of file + assert s.hex() == "5714729ef441e097673a7b29a681e97f6963d875eeed2081f26b0b6686cd2bd2" From cebc1c65f1e30060a06905e297071608bfe389b5 Mon Sep 17 00:00:00 2001 From: Coline Date: Wed, 20 Jul 2022 13:08:17 +0200 Subject: [PATCH 54/69] fix: merge apdu.md into ethapp.asc --- doc/apdu.md | 636 ------------------------------------------------- doc/ethapp.asc | 2 + 2 files changed, 2 insertions(+), 636 deletions(-) delete mode 100644 doc/apdu.md diff --git a/doc/apdu.md b/doc/apdu.md deleted file mode 100644 index 2990481..0000000 --- a/doc/apdu.md +++ /dev/null @@ -1,636 +0,0 @@ -# APDU Documentation - - - [GET](#get) - - [GET APP CONFIGURATION](#get-app-configuration) - - [GET ETH PUBLIC ADDRESS](#get-eth-public-address) - - [GET ETH2 PUBLIC KEY](#get-eth2-public-key) - - [SIGN](#sign) - - [SIGN ETH TRANSACTION](#sign-eth-transaction) - - [SIGN ETH PERSONAL MESSAGE](#sign-eth-personal-message) - - [SIGN ETH EIP 712](#sign-eth-eip-712) - - [SET](#set) - - [SET EXTERNAL PLUGIN](#set-external-plugin) - - [SET PLUGIN](#set-plugin) - - [SET ETH2 WITHDRAWAL INDEX](#set-eth2-withdrawal-index) - - [Provide](#provide) - - [PROVIDE ERC 20 TOKEN INFORMATION](#provide-erc-20-token-information) - - [PROVIDE NFT INFORMATION](#provide-nft-information) - - [PERFORM PRIVACY OPERATION](#perform-privacy-operation) - -
-
-
- -## Global Instruction - -|Name|INS| -|----|---| -|[GET PUBLIC ADDRESS](#get-eth-public-address)|0x02| -|[SIGN](#sign-eth-transaction)|0x04| -|[GET APP CONFIGURATION](#get-app-configuration)|0x06| -|[SIGN PERSONAL MESSAGE](#sign-eth-personal-message)|0x08| -|[PROVIDE ERC 20 TOKEN INFORMATION](#provide-erc-20-token-information)|0x0A| -|[SIGN EIP 712 MESSAGE](#sign-eth-eip-712)|0x0C| -|[GET ETH2 PUBLIC KEY](#get-eth2-public-key)|0x0E| -|[SET ETH2 WITHDRAWAL INDEX](#set-eth2-withdrawal-index)|0x10| -|[SET EXTERNAL PLUGIN](#set-external-plugin)|0x12| -|[PROVIDE NFT INFORMATION](#provide-nft-information)|0x14| -|[SET PLUGIN](#set-plugin)|0x16| -|[PERFORM PRIVACY OPERATION](#perform-privacy-operation)|0x18| - -
-
- -## GET - -### GET APP CONFIGURATION -
- -Description - -This command returns specific application configuration - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|06|00|00|00|00| - -:inbox_tray: input data - -None - -:outbox_tray: output data - -|Description|Length| -|-----------|------| -|0x01 : arbitrary data signature enabled by user
0x02 : ERC 20 Token information needs to be provided externally|1| -|Application major version|1| -|Application minor version|1| -|Application patch version|1| - -Exemple: -CLA: E0 -INS: 06 -P1 : 00 -P2 : 00 -Lc : 00 -Le : 00 - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|06|00|00|00|00| - --> E0 06 00 00 00 00 - - -
- -
- -### GET ETH PUBLIC ADDRESS - -
- -Description - -This command returns the public key and Ethereum address for the given BIP 32 path. -The address can be optionally checked on the device before being returned. - -Usefull link: -- [HD Wallet by ledger](https://www.ledger.com/academy/crypto/what-are-hierarchical-deterministic-hd-wallets) -- [BIP-044](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) -- [psd-application](https://developers.ledger.com/docs/nano-app/psd-applications/) - -|CLA|INS|P1 |P2 |Lc |Le | -|---|---|-------------------------------------------------|--------------------------------|----------|----------| -|E0 |02 |00 : return address |00: do not return the chain code| variable | variable | -| | |01 : display address and confirm before returning|01 : return the chain code| | | | - -:inbox_tray: input data - -|Description|Length| -|-----------|------| -|Number of BIP 32 derivations to perform (max 10)| 1| -|First derivation index (big endian)| 4| -| ... | 4| -| Last derivation index (big endian) | 4| - -:outbox_tray: output data - -|Description|Length| -|-----------|------| -|Public Key length|1| -|Uncompressed address length|var| -|Ethereum address length|1| -|Ethereum address|var| -|Chain code if requested|32| - -Exemple: -With path `"44'/60'/1'/0/0"` - -CLA: E0 -INS: 02 -P1 : 00 -P2 : 00 -Lc : 11 (17 in hex) -Le : - - 04 (number BIP 32 derivations) - - 80 00 00 2c - - 80 00 00 3C - - 00 00 00 00 - - 00 00 00 00 - -|CLA|INS|P1|P2|Lc|Le - BIP number|First derivation|Second derivation|Third derivation|Fourth derivation| -|-|-|-|-|-|-|-|-|-|-| -| | | | | | |`44'` |`60'` |`0` |`0` | -|E0|02|00|00|11|04|8000002C|8000003C|00000000|00000000| - --> E0 02 00 00 11 04 8000002C 8000003C 00000000 00000000 - -
- -
- -### GET ETH2 PUBLIC KEY - -
- -Description - -This command returns an Ethereum 2 BLS12-381 public key derived following EIP 2333 specification (https://eips.ethereum.org/EIPS/eip-2333) - -This command has been supported since firmware version 1.6.0 - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|0E|00 : return public key|00|variable|variable| -|||01 : display public key and confirm before returning|||| -||||||| - -:inbox_tray: input data - -|Description|Length| -|-----------|------| -|Number of BIP 32 derivations to perform (max 10)|1| -|First derivation index (big endian)|4| -|...|4| -|Last derivation index (big endian)|4| - -:outbox_tray: output data - -|Description|Length| -|-----------|------| -|Public key|48| -
- - -
-
-
- -## SIGN - -- [RLP encoding](https://medium.com/coinmonks/data-structure-in-ethereum-episode-1-recursive-length-prefix-rlp-encoding-decoding-d1016832f919) - -### SIGN ETH TRANSACTION - -
- -Description - -This command signs an Ethereum transaction after having the user validate the following parameters - - - Gas price - - Gas limit - - Recipient address - - Value - -The input data is the RLP encoded transaction, without v/r/s present, streamed to the device in 255 bytes maximum data chunks. - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|04|00 : first transaction data block|00|variable|variable| -|||80 : subsequent transaction data block|||| -||||||| - -:inbox_tray: input data (first transaction data block) - -|Description|Length| -|-----------|------| -|Number of BIP 32 derivations to perform (max 10)|1| -|First derivation index (big endian)|4| -|...|4| -|Last derivation index (big endian)|4| -|RLP transaction chunk|variable| - -:inbox_tray: input data (other transaction data block) - -|Description|Length| -|-----------|------| -|RLP transaction chunk|variable| - -:outbox_tray: output data - -|Description|Length| -|-----------|------| -|v|1| -|r|32| -|s|32| - -Exemple: -With path `"44'/60'/1'/0/0"` - -CLA: E0 -INS: 04 -P1 : 00 (First transaction block) -P2 : 00 -Lc : ? -Le : - - 04 (number BIP 32 derivations) - - 80 00 00 2c - - 80 00 00 3c - - 00 00 00 00 - - 00 00 00 00 - - RLP chunk - -
- -CLA: E0 -INS: 04 -P1 : 80 (subsequent transaction block) -P2 : 00 -Lc : ? -Le : - - RLP chunk - - -
- -
- -### SIGN ETH PERSONAL MESSAGE - -
- -Description - -This command signs an Ethereum message following the personal_sign specification (https://github.com/ethereum/go-ethereum/pull/2940) after having the user validate the SHA-256 hash of the message being signed. - -This command has been supported since firmware version 1.0.8 - -The input data is the message to sign, streamed to the device in 255 bytes maximum data chunks - - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|08|00 : first message data block|00|variable|variable| -|||80 : subsequent message data block|||| -||||||| - -:inbox_tray: input data (first message data block) - -|Description|Length| -|-----------|------| -|Number of BIP 32 derivations to perform (max 10)|1| -|First derivation index (big endian)|4| -|...|4| -|Last derivation index (big endian)|4| -|Message length|4| -|Message chunk|variable| - -:inbox_tray: input data (other transaction data block) - -|Description|Length| -|-----------|------| -|Message chunk|variable| - -:outbox_tray: output data - -|Description|Length| -|-----------|------| -|v|1| -|r|32| -|s|32| - -
- -
- -### SIGN ETH EIP 712 - -
- -Description - -This command signs an Ethereum message following the EIP 712 specification (https://github.com/ethereum/EIPs/blob/master/EIPS/eip-712.md) - -For implementation version 0, the domain hash and message hash are provided to the device, which displays them and returns the signature - -This command has been supported since firmware version 1.5.0 - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|0C|00|implementation version: 00|variable|variable| - -:inbox_tray: input data - -|Description|Length| -|-----------|------| -|Number of BIP 32 derivations to perform (max 10)|1| -|First derivation index (big endian)|4| -|...|4| -|Last derivation index (big endian)|4| -|Domain hash|32| -|Message hash|32| - -:outbox_tray: output data - -|Description|Length| -|-----------|------| -|v|1| -|r|32| -|s|32| - -
- -
-
-
- -## SET - -### SET EXTERNAL PLUGIN - -
- -Description - -This commands provides the name of a trusted binding of a plugin with a contract address and a supported method selector. This plugin will be called to interpret contract data in the following transaction signing command. - -It shall be run immediately before performing a transaction involving a contract supported by this plugin to display the proper information to the user if necessary. - -The function returns an error sw (0x6984) if the plugin requested is not installed on the device, 0x9000 otherwise. - -The signature is computed on - -len(pluginName) || pluginName || contractAddress || methodSelector - -signed by the following secp256k1 public key `0482bbf2f34f367b2e5bc21847b6566f21f0976b22d3388a9a5e446ac62d25cf725b62a2555b2dd464a4da0ab2f4d506820543af1d242470b1b1a969a27578f353` - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|12|00|00|variable|00| - -:inbox_tray: input data - -|Description|Length| -|-----------|------| -|Length of plugin name|1| -|plugin name|variable| -|contract address|20| -|method selector|4| -|signature|variable| - -:outbox_tray: output data - -None - -
- -
- -### SET PLUGIN - -
- -Description - -This commands provides the name of a trusted binding of a plugin with a contract address and a supported method selector. This plugin will be called to interpret contract data in the following transaction signing command. - -It can be used to set both internal and external plugins. - -It shall be run immediately before performing a transaction involving a contract supported by this plugin to display the proper information to the user if necessary. - -The function returns an error sw (0x6984) if the plugin requested is not installed on the device, 0x9000 otherwise. - -The plugin names `ERC20`, `ERC721` and `ERC1155` are reserved. Additional plugin names might be added to this list in the future. - -The signature is computed on - -type || version || len(pluginName) || pluginName || address || selector || chainId || keyId || algorithmId || len(signature) || signature - - - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|16|00|00|variable|00| - -:inbox_tray: input data - -|Description|Length| -|-----------|------| -|Type|1| -|Version|1| -|Plugin Name Length|1| -|Plugin Name|variable| -|Address|20| -|Selector|4| -|Chain ID|8| -|KeyID|1| -|Algorithm|1| -|Signature Length|1| -|Signature|variable| - -:outbox_tray: output data - -None - -
- -
- -### SET ETH2 WITHDRAWAL INDEX - -
- -Description - -This command sets the index of the Withdrawal key used as withdrawal credentials in an ETH2 deposit contract call signature. The path of the Withdrawal key is defined as m/12381/3600/index/0 according to EIP 2334 (https://eips.ethereum.org/EIPS/eip-2334) - -The default index used is 0 if this method isn’t called before the deposit contract transaction is sent to the device to be signed - -This command has been supported since firmware version 1.5.0 - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|10|00|00|variable|variable| - -:inbox_tray: input data - -|Description|Length| -|-----------|------| -|Withdrawal key index (big endian)|4| - -:outbox_tray: output data - -None - -
- -
-
-
- -## Provide - -### PROVIDE ERC 20 TOKEN INFORMATION - -
- -Description - -This commands provides a trusted description of an ERC 20 token to associate a contract address with a ticker and number of decimals. - -It shall be run immediately before performing a transaction involving a contract calling this contract address to display the proper token information to the user if necessary, as marked in GET APP CONFIGURATION flags. - -The signature is computed on - -ticker || address || number of decimals (uint4be) || chainId (uint4be) - -signed by the following secp256k1 public key 0482bbf2f34f367b2e5bc21847b6566f21f0976b22d3388a9a5e446ac62d25cf725b62a2555b2dd4This command returns an Ethereum 2 BLS12-381 public key derived following EIP 2333 specification (https://eips.ethereum.org/EIPS/eip-2333) - -This command has been supported since firmware version 1.6.064a4da0ab2f4d506820543af1d242470b1b1a969a27578f353 - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|0A|00|00|variable|00| - -:inbox_tray: input data - -|Description|Length| -|-----------|------| -|Length of ERC 20 ticker|1| -|ERC 20 ticker|variable| -|ERC 20 contract address|20| -|Number of decimals (big endian encoded)|4| -|Chain ID (big endian encoded)|4| -|Token information signature|variable| - -:outbox_tray: output data - -none - -
- -
- -### PROVIDE NFT INFORMATION - -
- -Description - -This commands provides a trusted description of an NFT to associate a contract address with a collectionName. - -It shall be run immediately before performing a transaction involving a contract calling this contract address to display the proper nft information to the user if necessary, as marked in GET APP CONFIGURATION flags. - -The signature is computed on: - -type || version || len(collectionName) || collectionName || address || chainId || keyId || algorithmId - -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|14|00|00|variable|00| - -:inbox_tray: input data - -|Description|Length| -|-----------|------| -|Type|1| -|Version|1| -|Collection Name Length|1| -|Collection Name|variable| -|Address|20| -|Chain ID|8| -|KeyID|1| -|Algorithm ID|1| -|Signature Length|1| -|Signature|variable| - -:outbox_tray: output data - -None - -
- -
-
-
- -## PERFORM PRIVACY OPERATION - -
- -Description - -This command performs privacy operations as defined in EIP 1024 (https://ethereum-magicians.org/t/eip-1024-cross-client-encrypt-decrypt/505) - -It can return the public encryption key on Curve25519 for a given Ethereum account or the shared secret (generated by the scalar multiplication of the remote public key by the account private key on Curve25519) used to decrypt private data encrypted for a given Ethereum account - -All data can be optionally checked on the device before being returned. -|CLA|INS|P1|P2|Lc|Le| -|---|---|--|--|--|--| -|E0|18|00 : return data | 00 : return the public encryption key|variable|variable| -| | |01 : display data and confirm before returning | 01 : return the shared secret| | | - -:inbox_tray: input data - -|Description|Length| -|-----------|------| -|Number of BIP 32 derivations to perform (max 10)|1| -|First derivation index (big endian)|4| -|...|4| -|Last derivation index (big endian)|4| -|Third party public key on Curve25519, if returning the shared secret|32| - -:outbox_tray: output data - -|Description|Length| -|-----------|------| -|Public encryption key or shared secret|32| - -
- -
-
-
- -[//]: # (## Command name) -[//]: # () -[//]: # (
) -[//]: # () -[//]: # (Description ) -[//]: # () -[//]: # () -[//]: # (|CLA|INS|P1|P2|Lc|Le|) -[//]: # (|---|---|--|--|--|--|) -[//]: # (|||||||) -[//]: # (|||||||) -[//]: # (|||||||) -[//]: # () -[//]: # (:inbox_tray: input data) -[//]: # () -[//]: # (|Description|Length|) -[//]: # (|-----------|------|) -[//]: # (|||) -[//]: # (|||) -[//]: # (|||) -[//]: # () -[//]: # (:outbox_tray: output data) -[//]: # () -[//]: # (|Description|Length|) -[//]: # (|-----------|------|) -[//]: # (|||) -[//]: # (|||) -[//]: # (|||) -[//]: # () -[//]: # (
) \ No newline at end of file diff --git a/doc/ethapp.asc b/doc/ethapp.asc index 496ed0e..839e70b 100644 --- a/doc/ethapp.asc +++ b/doc/ethapp.asc @@ -94,6 +94,8 @@ The address can be optionally checked on the device before being returned. #### Description +https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md + This command signs an Ethereum transaction after having the user validate the following parameters - Gas price From 16ddb1e67d17b2f81b343144d108519796165fe9 Mon Sep 17 00:00:00 2001 From: Coline Date: Wed, 20 Jul 2022 15:40:01 +0200 Subject: [PATCH 55/69] feat: TU demo .c fix: TU demo fix: TU demo --- tests/unit/CMakeLists.txt | 10 ++++++---- tests/unit/demo_tu.c | 12 ++++++++++++ tests/unit/tests/{utils.c => demo.c} | 6 +++--- 3 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 tests/unit/demo_tu.c rename tests/unit/tests/{utils.c => demo.c} (64%) diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index cf5b0d5..93605b2 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -54,10 +54,12 @@ add_compile_definitions(TEST DEBUG=0 SKIP_FOR_CMOCKA) include_directories(../../src/) include_directories(../../src_common) -add_executable(test_utils tests/utils.c) +# add cmocka tests +add_executable(test_demo tests/demo.c) -add_library(utils SHARED ../../src/utils2.c) +# add src +add_library(demo SHARED ./demo_tu.c) -target_link_libraries(test_utils PUBLIC cmocka gcov utils) +target_link_libraries(test_demo PUBLIC cmocka gcov demo) -add_test(test_utils test_utils) \ No newline at end of file +add_test(test_demo test_demo) \ No newline at end of file diff --git a/tests/unit/demo_tu.c b/tests/unit/demo_tu.c new file mode 100644 index 0000000..c4f450c --- /dev/null +++ b/tests/unit/demo_tu.c @@ -0,0 +1,12 @@ +#include + +int local_strchr_demo(char *string, char ch) { + unsigned int length = strlen(string); + unsigned int i; + for (i = 0; i < length; i++) { + if (string[i] == ch) { + return i; + } + } + return -1; +} \ No newline at end of file diff --git a/tests/unit/tests/utils.c b/tests/unit/tests/demo.c similarity index 64% rename from tests/unit/tests/utils.c rename to tests/unit/tests/demo.c index b2424d7..1da227d 100644 --- a/tests/unit/tests/utils.c +++ b/tests/unit/tests/demo.c @@ -3,11 +3,11 @@ #include #include -int local_strchr(char *string, char ch); +int local_strchr_demo(char *string, char ch); static void null_test_success(void **state) { - assert_int_equal(local_strchr("salut", 'c'), -1); - assert_int_equal(local_strchr("av", 'a'), 0); + assert_int_equal(local_strchr_demo("salut", 'c'), -1); + assert_int_equal(local_strchr_demo("av", 'a'), 0); } int main(void) { From de036b38e8eb4bf7771c1bffa097a3466341fdb1 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 22 Jul 2022 10:18:11 +0200 Subject: [PATCH 56/69] fix: ci use matrix for build nano app fix: ; into && in ci --- .github/workflows/build-workflow.yml | 107 +++++---------------------- .github/workflows/ci-workflow.yml | 6 +- 2 files changed, 22 insertions(+), 91 deletions(-) diff --git a/.github/workflows/build-workflow.yml b/.github/workflows/build-workflow.yml index 0c5ddc6..0c9ef5f 100644 --- a/.github/workflows/build-workflow.yml +++ b/.github/workflows/build-workflow.yml @@ -11,10 +11,18 @@ on: - develop jobs: - job_build_debug_nano_s: - name: Build debug Nano S + nano_debug_build: + name: Build debug application for NanoS, X and S+ + strategy: + matrix: + include: + - SDK: "$NANOS_SDK" + artifact: nanos + - SDK: "$NANOX_SDK" + artifact: nanox + - SDK: "$NANOSP_SDK" + artifact: nanosp runs-on: ubuntu-latest - container: image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest @@ -26,100 +34,23 @@ jobs: - name: Build an altcoin run: | - make DEBUG=1 ALLOW_DATA=1 CHAIN=ethereum_classic - mv bin/app.elf ethereum_classic_nanos.elf + make BOLOS_SDK=${{ matrix.SDK }} DEBUG=1 ALLOW_DATA=1 CHAIN=ethereum_classic + mv bin/app.elf ethereum_classic_${{ matrix.artifact }}.elf - name: Upload altcoin binary uses: actions/upload-artifact@v2 with: - name: ethereum_classic_nanos - path: ./ethereum_classic_nanos.elf + name: ethereum_classic_${{ matrix.artifact }} + path: ./ethereum_classic_${{ matrix.artifact }}.elf - name: Build Ethereum run: | make clean - make DEBUG=1 ALLOW_DATA=1 - mv bin/app.elf ethereum_nanos.elf + make BOLOS_SDK=${{ matrix.SDK }} DEBUG=1 ALLOW_DATA=1 + mv bin/app.elf ethereum_${{ matrix.artifact }}.elf - name: Upload app binary uses: actions/upload-artifact@v2 with: - name: ethereum_nanos - path: ./ethereum_nanos.elf - - - - job_build_debug_nano_x: - name: Build debug Nano X - runs-on: ubuntu-latest - - container: - image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest - - steps: - - name: Clone - uses: actions/checkout@v2 - with: - submodules: recursive - - - name: Build an altcoin Nano X - run: | - make clean - make BOLOS_SDK=$NANOX_SDK DEBUG=1 ALLOW_DATA=1 CHAIN=ethereum_classic - mv bin/app.elf ethereum_classic_nanox.elf - - - name: Upload altcoin binary - uses: actions/upload-artifact@v2 - with: - name: ethereum_classic_nanox - path: ./ethereum_classic_nanox.elf - - - name: Build Ethereum Nano X - run: | - make clean - make BOLOS_SDK=$NANOX_SDK DEBUG=1 ALLOW_DATA=1 - mv bin/app.elf ethereum_nanox.elf - - - name: Upload app binary - uses: actions/upload-artifact@v2 - with: - name: ethereum_nanox - path: ./ethereum_nanox.elf - - - job_build_debug_nano_sp: - name: Build debug Nano SP - runs-on: ubuntu-latest - - container: - image: ghcr.io/ledgerhq/ledger-app-builder/ledger-app-builder:latest - - steps: - - name: Clone - uses: actions/checkout@v2 - with: - submodules: recursive - - - name: Build an altcoin Nano SP - run: | - make clean - make BOLOS_SDK=$NANOSP_SDK DEBUG=1 ALLOW_DATA=1 CHAIN=ethereum_classic - mv bin/app.elf ethereum_classic_nanosp.elf - - - name: Upload altcoin binary - uses: actions/upload-artifact@v2 - with: - name: ethereum_classic_nanosp - path: ./ethereum_classic_nanosp.elf - - - name: Build Ethereum Nano SP - run: | - make clean - make BOLOS_SDK=$NANOSP_SDK DEBUG=1 ALLOW_DATA=1 - mv bin/app.elf ethereum_nanosp.elf - - - name: Upload app binary - uses: actions/upload-artifact@v2 - with: - name: ethereum_nanosp - path: ./ethereum_nanosp.elf \ No newline at end of file + name: ethereum_${{ matrix.artifact }} + path: ./ethereum_${{ matrix.artifact }}.elf \ No newline at end of file diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 12ebca8..1da55b7 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -112,9 +112,9 @@ jobs: - name: Build testing binaries run: | mkdir tests/speculos/elfs - make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOS_SDK; mv bin/app.elf .; mv app.elf nanos.elf; mv nanos.elf tests/speculos/elfs - make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOX_SDK; mv bin/app.elf .; mv app.elf nanox.elf; mv nanox.elf tests/speculos/elfs - make clean; make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOSP_SDK; mv bin/app.elf .; mv app.elf nanosp.elf; mv nanosp.elf tests/speculos/elfs + make clean && make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOS_SDK && mv bin/app.elf . && mv app.elf nanos.elf && mv nanos.elf tests/speculos/elfs + make clean && make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOX_SDK && mv bin/app.elf . && mv app.elf nanox.elf && mv nanox.elf tests/speculos/elfs + make clean && make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOSP_SDK && mv bin/app.elf . && mv app.elf nanosp.elf && mv nanosp.elf tests/speculos/elfs - name: Upload app binaries uses: actions/upload-artifact@v2 From d82bf765e88a3dd9177edbb84fbcc684b308380f Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 22 Jul 2022 10:32:33 +0200 Subject: [PATCH 57/69] fix: explicite decorator useless --- tests/speculos/conftest.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/speculos/conftest.py b/tests/speculos/conftest.py index b10f7a6..7e9434f 100644 --- a/tests/speculos/conftest.py +++ b/tests/speculos/conftest.py @@ -22,7 +22,6 @@ def pytest_addoption(parser): path: str = SCRIPT_DIR.parent.parent / "bin" / "app.elf" parser.addoption("--path", action="store", default=path) -@pytest.fixture() def client(pytestconfig): file_path = pytestconfig.getoption("path") model = pytestconfig.getoption("model") From 84230c921ac451ee0f140ac6ab80e1febac6aec3 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 22 Jul 2022 10:55:32 +0200 Subject: [PATCH 58/69] fix: merge some similary code and clean code --- .../speculos/ethereum_client/ethereum_cmd.py | 7 +- .../ethereum_client/ethereum_cmd_builder.py | 112 ++---------------- 2 files changed, 10 insertions(+), 109 deletions(-) diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index aa51f79..1ee1e59 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -120,7 +120,6 @@ class EthereumCommand: data=chunk[5:]) as exchange: yield exchange response: bytes = exchange.receive() - print(response) except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_PERFORM_PRIVACY_OPERATION) @@ -148,8 +147,6 @@ class EthereumCommand: yield exchange result.append(exchange.receive()) - #response: bytes = exchange.receive() - except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) @@ -169,7 +166,7 @@ class EthereumCommand: except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_TX) - # response = V (1) || R (32) || S (32) + # response = V (1) || R (32) || S (32) assert len(response) == 65 v, r, s = parse_sign_response(response) @@ -192,7 +189,7 @@ class EthereumCommand: except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_SIGN_EIP712) - # response = V (1) || R (32) || S (32) + # response = V (1) || R (32) || S (32) assert len(response) == 65 v, r, s = parse_sign_response(response) diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index d1e9434..1592309 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -124,71 +124,21 @@ class EthereumCommandBuilder: p2=0x00, cdata=b"") - def set_plugin(self, plugin: Plugin) -> bytes: - """Command builder for SET_PLUGIN. - - Parameters - ---------- - -> Check documentation of APDU - - Returns - ------- - bytes - APDU command for SET_PLUGIN. - - """ - - cdata: bytes = plugin.serialize() - + def _same_header_builder(self, data: Union[Plugin, ERC20_Information], ins: int) -> bytes: return self.serialize(cla=self.CLA, - ins=InsType.INS_SET_PLUGIN, + ins=ins, p1=0x00, p2=0x00, - cdata=cdata) + cdata=data.serialize()) + + def set_plugin(self, plugin: Plugin) -> bytes: + return self._same_header_builder(plugin, InsType.INS_SET_PLUGIN) def provide_nft_information(self, plugin: Plugin) -> bytes: - """Command builder for PROVIDE_NFT_INFORMATION. - - Parameters - ---------- - -> Check documentation of APDU - - Returns - ------- - bytes - APDU command for PROVIDE_NFT_INFORMATION. - - """ - - cdata: bytes = plugin.serialize() - - return self.serialize(cla=self.CLA, - ins=InsType.INS_PROVIDE_NFT_INFORMATION, - p1=0x00, - p2=0x00, - cdata=cdata) + return self._same_header_builder(plugin, InsType.INS_PROVIDE_NFT_INFORMATION) def provide_erc20_token_information(self, info: ERC20_Information): - """Command builder for PROVIDE_ERC20_INFORMATION. - - Parameters - ---------- - -> Check documentation of APDU - - Returns - ------- - bytes - APDU command for PROVIDE_ERC20_INFORMATION. - - """ - - cdata: bytes = info.serialize() - - return self.serialize(cla=self.CLA, - ins=InsType.INS_PROVIDE_ERC20, - p1=0x00, - p2=0x00, - cdata=cdata) + return self._same_header_builder(info, InsType.INS_PROVIDE_ERC20) def get_public_key(self, bip32_path: str, display: bool = False) -> bytes: """Command builder for GET_PUBLIC_KEY. @@ -243,52 +193,6 @@ class EthereumCommandBuilder: p2=0x01 if shared_secret else 0x00, cdata=cdata) - # Not use - def sign_tx(self, bip32_path: str, transaction: Transaction) -> Iterator[Tuple[bool, bytes]]: - """Command builder for INS_SIGN_TX. - - Parameters - ---------- - bip32_path : str - String representation of BIP32 path. - transaction : Transaction - Representation of the transaction to be signed. - - Yields - ------- - bytes - APDU command chunk for INS_SIGN_TX. - - """ - bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) - - cdata: bytes = b"".join([ - len(bip32_paths).to_bytes(1, byteorder="big"), - *bip32_paths - ]) - - yield False, self.serialize(cla=self.CLA, - ins=InsType.INS_SIGN_TX, - p1=0x00, - p2=0x00, - cdata=cdata) - - tx: bytes = transaction.serialize() - - for i, (is_last, chunk) in enumerate(chunkify(tx, MAX_APDU_LEN)): - if is_last: - yield True, self.serialize(cla=self.CLA, - ins=InsType.INS_SIGN_TX, - p1=0x00, - p2=0x00, - cdata=chunk) - return - else: - yield False, self.serialize(cla=self.CLA, - ins=InsType.INS_SIGN_TX, - p1=0x00, - p2=0x00, - cdata=chunk) def simple_sign_tx(self, bip32_path: str, transaction: Transaction) -> bytes: """Command builder for INS_SIGN_TX. From d3b8cdcfdf5879468e624c89534d89472f8cee2c Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 22 Jul 2022 10:59:24 +0200 Subject: [PATCH 59/69] fix: add fixture decorator --- tests/speculos/conftest.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/speculos/conftest.py b/tests/speculos/conftest.py index 7e9434f..b10f7a6 100644 --- a/tests/speculos/conftest.py +++ b/tests/speculos/conftest.py @@ -22,6 +22,7 @@ def pytest_addoption(parser): path: str = SCRIPT_DIR.parent.parent / "bin" / "app.elf" parser.addoption("--path", action="store", default=path) +@pytest.fixture() def client(pytestconfig): file_path = pytestconfig.getoption("path") model = pytestconfig.getoption("model") From d5a8859ebfbb73f409f8b76410225d708792f685 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 22 Jul 2022 11:13:27 +0200 Subject: [PATCH 60/69] fix: named ERC20Infomation --- tests/speculos/ethereum_client/ethereum_cmd.py | 4 ++-- tests/speculos/ethereum_client/ethereum_cmd_builder.py | 6 +++--- tests/speculos/ethereum_client/plugin.py | 2 +- tests/speculos/test_erc20information.py | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index 1ee1e59..2b40a92 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -9,7 +9,7 @@ from speculos.client import SpeculosClient, ApduException from ethereum_client.ethereum_cmd_builder import EthereumCommandBuilder, InsType from ethereum_client.exception import DeviceException from ethereum_client.transaction import EIP712, PersonalTransaction, Transaction -from ethereum_client.plugin import ERC20_Information, Plugin +from ethereum_client.plugin import ERC20Information, Plugin from ethereum_client.utils import parse_sign_response @@ -59,7 +59,7 @@ class EthereumCommand: except ApduException as error: raise DeviceException(error_code=error.sw, ins=InsType.INS_PROVIDE_NFT_INFORMATION) - def provide_erc20_token_information(self, info: ERC20_Information): + def provide_erc20_token_information(self, info: ERC20Information): try: self.client._apdu_exchange( self.builder.provide_erc20_token_information(info=info) diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index 1592309..3585c26 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -5,7 +5,7 @@ import struct from typing import List, Tuple, Union, Iterator, cast from ethereum_client.transaction import EIP712, PersonalTransaction, Transaction -from ethereum_client.plugin import ERC20_Information, Plugin +from ethereum_client.plugin import ERC20Information, Plugin from ethereum_client.utils import bip32_path_from_string MAX_APDU_LEN: int = 255 @@ -124,7 +124,7 @@ class EthereumCommandBuilder: p2=0x00, cdata=b"") - def _same_header_builder(self, data: Union[Plugin, ERC20_Information], ins: int) -> bytes: + def _same_header_builder(self, data: Union[Plugin, ERC20Information], ins: int) -> bytes: return self.serialize(cla=self.CLA, ins=ins, p1=0x00, @@ -137,7 +137,7 @@ class EthereumCommandBuilder: def provide_nft_information(self, plugin: Plugin) -> bytes: return self._same_header_builder(plugin, InsType.INS_PROVIDE_NFT_INFORMATION) - def provide_erc20_token_information(self, info: ERC20_Information): + def provide_erc20_token_information(self, info: ERC20Information): return self._same_header_builder(info, InsType.INS_PROVIDE_ERC20) def get_public_key(self, bip32_path: str, display: bool = False) -> bytes: diff --git a/tests/speculos/ethereum_client/plugin.py b/tests/speculos/ethereum_client/plugin.py index 8b33cdd..d043e35 100644 --- a/tests/speculos/ethereum_client/plugin.py +++ b/tests/speculos/ethereum_client/plugin.py @@ -3,7 +3,7 @@ from typing import Union from ethereum_client.utils import apdu_as_string, write_varint -class ERC20_Information: +class ERC20Information: def __init__(self, erc20_ticker: string , addr: Union[str, bytes], nb_decimals: int, chainID: int, sign: str) -> None: self.erc20_ticker: bytes = apdu_as_string(erc20_ticker) self.addr: bytes = bytes.fromhex(addr[2:]) if isinstance(addr, str) else addr diff --git a/tests/speculos/test_erc20information.py b/tests/speculos/test_erc20information.py index 1fe7505..87dbee6 100644 --- a/tests/speculos/test_erc20information.py +++ b/tests/speculos/test_erc20information.py @@ -1,8 +1,8 @@ -from ethereum_client.plugin import ERC20_Information +from ethereum_client.plugin import ERC20Information import ethereum_client def test_provide_erc20_token(cmd): - erc20_info = ERC20_Information( + erc20_info = ERC20Information( erc20_ticker="5a5258", addr="0xe41d2489571d322189246dafa5ebde1f4699f498", nb_decimals=18, @@ -17,7 +17,7 @@ def test_provide_erc20_token(cmd): raise def test_provide_erc20_token_error(cmd): - erc20_info = ERC20_Information( + erc20_info = ERC20Information( erc20_ticker="5a5258", addr="0xe41d2489571d322189246dafa5ebde1f4699f498", nb_decimals=18, From 02b5c686e849c818fbed7d5e5524e30c98766163 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 22 Jul 2022 11:23:09 +0200 Subject: [PATCH 61/69] fix: apdu_as_bytes() into bytes.fromhex() --- tests/speculos/ethereum_client/plugin.py | 8 ++++---- tests/speculos/ethereum_client/transaction.py | 6 +++--- tests/speculos/ethereum_client/utils.py | 11 ----------- tests/speculos/test_eip1559.py | 4 ++-- tests/speculos/test_eip191.py | 2 +- tests/speculos/test_eip2930.py | 4 ++-- tests/speculos/test_erc1155.py | 14 +++++++------- tests/speculos/test_erc721.py | 6 +++--- 8 files changed, 22 insertions(+), 33 deletions(-) diff --git a/tests/speculos/ethereum_client/plugin.py b/tests/speculos/ethereum_client/plugin.py index d043e35..9274fde 100644 --- a/tests/speculos/ethereum_client/plugin.py +++ b/tests/speculos/ethereum_client/plugin.py @@ -1,15 +1,15 @@ import string from typing import Union -from ethereum_client.utils import apdu_as_string, write_varint +from ethereum_client.utils import write_varint class ERC20Information: def __init__(self, erc20_ticker: string , addr: Union[str, bytes], nb_decimals: int, chainID: int, sign: str) -> None: - self.erc20_ticker: bytes = apdu_as_string(erc20_ticker) + self.erc20_ticker: bytes = bytes.fromhex(erc20_ticker) self.addr: bytes = bytes.fromhex(addr[2:]) if isinstance(addr, str) else addr self.nb_decimals: int = nb_decimals self.chainID: int = chainID - self.sign: bytes = apdu_as_string(sign) + self.sign: bytes = bytes.fromhex(sign) def serialize(self) -> bytes: return b"".join([ @@ -43,7 +43,7 @@ class Plugin: self.chainID: int = chainID self.keyID: int = keyID self.algorithm: int = algorithm - self.sign: bytes = apdu_as_string(sign) + self.sign: bytes = bytes.fromhex(sign) def serialize(self) -> bytes: return b"".join([ diff --git a/tests/speculos/ethereum_client/transaction.py b/tests/speculos/ethereum_client/transaction.py index 178ffea..4c9fe23 100644 --- a/tests/speculos/ethereum_client/transaction.py +++ b/tests/speculos/ethereum_client/transaction.py @@ -1,6 +1,6 @@ from typing import Union -from ethereum_client.utils import apdu_as_string, write_varint, UINT64_MAX +from ethereum_client.utils import write_varint, UINT64_MAX class TransactionError(Exception): @@ -86,8 +86,8 @@ class Transaction: class EIP712: def __init__(self, domain_hash: str, msg_hash: str) -> None: - self.domain_hash = apdu_as_string(domain_hash) - self.msg_hash = apdu_as_string(msg_hash) + self.domain_hash = bytes.fromhex(domain_hash) + self.msg_hash = bytes.fromhex(msg_hash) def serialize(self) -> bytes: return b"".join([ diff --git a/tests/speculos/ethereum_client/utils.py b/tests/speculos/ethereum_client/utils.py index 78e690c..c91c5a5 100644 --- a/tests/speculos/ethereum_client/utils.py +++ b/tests/speculos/ethereum_client/utils.py @@ -11,17 +11,6 @@ UINT16_MAX: int = 65535 # Association tableau si écran nanos ou nanox PATH_IMG = {"nanos": "nanos", "nanox": "nanox", "nanosp": "nanox"} -def apdu_as_string(apdu: str) -> bytes: - buffer: bytearray = bytearray(len(apdu) // 2) - - for i in range(0, len(apdu), 2): - str_extract: str = apdu[i: i + 2] - buffer[i // 2] = int(str_extract, 16) - - return bytes(buffer) - - - def save_screenshot(cmd, path: str): screenshot = cmd.client.get_screenshot() img = Image.open(BytesIO(screenshot)) diff --git a/tests/speculos/test_eip1559.py b/tests/speculos/test_eip1559.py index dd3d8d9..25330ff 100644 --- a/tests/speculos/test_eip1559.py +++ b/tests/speculos/test_eip1559.py @@ -1,11 +1,11 @@ from time import sleep -from ethereum_client.utils import apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response +from ethereum_client.utils import compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response def test_sign_eip_1559(cmd): result: list = [] # with bip32_path "44'/60'/0'/0/0" - apdu_sign_eip_1559 = apdu_as_string("e004000088058000002c8000003c80000000000000000000000002f87001018502540be4008502540be40086246139ca800094cccccccccccccccccccccccccccccccccccccccc8000c001a0e07fb8a64ea3786c9a6649e54429e2786af3ea31c6d06165346678cf8ce44f9ba00e4a0526db1e905b7164a858fd5ebd2f1759e22e6955499448bd276a6aa62830") + apdu_sign_eip_1559 = bytes.fromhex("e004000088058000002c8000003c80000000000000000000000002f87001018502540be4008502540be40086246139ca800094cccccccccccccccccccccccccccccccccccccccc8000c001a0e07fb8a64ea3786c9a6649e54429e2786af3ea31c6d06165346678cf8ce44f9ba00e4a0526db1e905b7164a858fd5ebd2f1759e22e6955499448bd276a6aa62830") with cmd.send_apdu_context(apdu_sign_eip_1559, result) as ex: sleep(0.5) diff --git a/tests/speculos/test_eip191.py b/tests/speculos/test_eip191.py index 45e0f2b..b76bad2 100644 --- a/tests/speculos/test_eip191.py +++ b/tests/speculos/test_eip191.py @@ -1,7 +1,7 @@ from time import sleep import ethereum_client -from ethereum_client.utils import apdu_as_string, compare_screenshot, compare_screenshot, parse_sign_response, save_screenshot, PATH_IMG +from ethereum_client.utils import compare_screenshot, compare_screenshot, parse_sign_response, save_screenshot, PATH_IMG from ethereum_client.transaction import PersonalTransaction def test_personal_sign_metamask(cmd): diff --git a/tests/speculos/test_eip2930.py b/tests/speculos/test_eip2930.py index cf0959d..972cbc5 100644 --- a/tests/speculos/test_eip2930.py +++ b/tests/speculos/test_eip2930.py @@ -1,10 +1,10 @@ from time import sleep -from ethereum_client.utils import apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response +from ethereum_client.utils import compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response def test_sign_eip_2930(cmd): result: list = [] - apdu_sign_eip_2930 = apdu_as_string("e004000096058000002c8000003c80000000000000000000000001f886030685012a05f20082520894b2bb2b958afa2e96dab3f3ce7162b87daea39017872386f26fc1000080f85bf85994de0b295669a9fd93d5f28d9ec85e40f4cb697baef842a00000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000007") + apdu_sign_eip_2930 = bytes.fromhex("e004000096058000002c8000003c80000000000000000000000001f886030685012a05f20082520894b2bb2b958afa2e96dab3f3ce7162b87daea39017872386f26fc1000080f85bf85994de0b295669a9fd93d5f28d9ec85e40f4cb697baef842a00000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000007") with cmd.send_apdu_context(apdu_sign_eip_2930, result) as ex: sleep(0.5) diff --git a/tests/speculos/test_erc1155.py b/tests/speculos/test_erc1155.py index c2d634b..163c97e 100644 --- a/tests/speculos/test_erc1155.py +++ b/tests/speculos/test_erc1155.py @@ -1,11 +1,11 @@ from time import sleep import ethereum_client -from ethereum_client.utils import apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response +from ethereum_client.utils import compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response from ethereum_client.plugin import Plugin -SIGN_FIRST = apdu_as_string("e004000096058000002c8000003c800000000000000000000000f901090b8520b673dd0082bcb394495f947276749ce646f68ac8c248420045cb7b5e80b8e4f242432a0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596cabf06640f8ca8fc5e0ed471b10befcdf65a33e4300000000") -SIGN_MORE = apdu_as_string("e00480008b00006a0000000064000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080") +SIGN_FIRST = bytes.fromhex("e004000096058000002c8000003c800000000000000000000000f901090b8520b673dd0082bcb394495f947276749ce646f68ac8c248420045cb7b5e80b8e4f242432a0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596cabf06640f8ca8fc5e0ed471b10befcdf65a33e4300000000") +SIGN_MORE = bytes.fromhex("e00480008b00006a0000000064000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080") PLUGIN = Plugin( type=1, @@ -125,10 +125,10 @@ def test_transfer_erc1155_without_set_plugin(cmd): # Batch # =========================== -SIGN_FIRST_BATCH = apdu_as_string("e004000096058000002c8000003c800000000000000000000000f9020b0e850d8cfd86008301617d94495f947276749ce646f68ac8c248420045cb7b5e80b901e42eb2c2d60000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c00000000000000000000000000000000000000000000") -SIGN_MORE_1_BATCH = apdu_as_string("e004800096000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000003abf06640f8ca8fc5e0ed471b10befcdf65a33e430000000000006a0000000064def9d99ff495856496c028c0") -SIGN_MORE_2_BATCH = apdu_as_string("e00480009689732473fcd0bbbe000000000000a30000000001abf06640f8ca8fc5e0ed471b10befcdf65a33e430000000000006a00000000640000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000") -SIGN_MORE_3_BATCH = apdu_as_string("e00480006100000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080") +SIGN_FIRST_BATCH = bytes.fromhex("e004000096058000002c8000003c800000000000000000000000f9020b0e850d8cfd86008301617d94495f947276749ce646f68ac8c248420045cb7b5e80b901e42eb2c2d60000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c00000000000000000000000000000000000000000000") +SIGN_MORE_1_BATCH = bytes.fromhex("e004800096000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000003abf06640f8ca8fc5e0ed471b10befcdf65a33e430000000000006a0000000064def9d99ff495856496c028c0") +SIGN_MORE_2_BATCH = bytes.fromhex("e00480009689732473fcd0bbbe000000000000a30000000001abf06640f8ca8fc5e0ed471b10befcdf65a33e430000000000006a00000000640000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000") +SIGN_MORE_3_BATCH = bytes.fromhex("e00480006100000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000043078303000000000000000000000000000000000000000000000000000000000018080") PLUGIN_BATCH = Plugin( type=1, diff --git a/tests/speculos/test_erc721.py b/tests/speculos/test_erc721.py index c542b89..7997616 100644 --- a/tests/speculos/test_erc721.py +++ b/tests/speculos/test_erc721.py @@ -1,11 +1,11 @@ from time import sleep import ethereum_client -from ethereum_client.utils import apdu_as_string, compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response +from ethereum_client.utils import compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response from ethereum_client.plugin import Plugin -SIGN_FIRST = apdu_as_string("e004000096058000002c8000003c800000000000000000000000f88a0a852c3ce1ec008301f5679460f80121c31a0d46b5279700f9df786054aa5ee580b86442842e0e0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c000000000000000000000000000000000000000000000000") -SIGN_MORE = apdu_as_string("e00480000b0000000000112999018080") +SIGN_FIRST = bytes.fromhex("e004000096058000002c8000003c800000000000000000000000f88a0a852c3ce1ec008301f5679460f80121c31a0d46b5279700f9df786054aa5ee580b86442842e0e0000000000000000000000006cbcd73cd8e8a42844662f0a0e76d7f79afd933d000000000000000000000000c2907efcce4011c491bbeda8a0fa63ba7aab596c000000000000000000000000000000000000000000000000") +SIGN_MORE = bytes.fromhex("e00480000b0000000000112999018080") PLUGIN = Plugin( type=1, From 1dbe04c8ca9f853b8ad60fbb00b5aa5847cbdafe Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 22 Jul 2022 11:26:02 +0200 Subject: [PATCH 62/69] fix: useless pass --- tests/speculos/test_eip1559.py | 1 - tests/speculos/test_erc1155.py | 2 -- 2 files changed, 3 deletions(-) diff --git a/tests/speculos/test_eip1559.py b/tests/speculos/test_eip1559.py index 25330ff..f834df3 100644 --- a/tests/speculos/test_eip1559.py +++ b/tests/speculos/test_eip1559.py @@ -55,7 +55,6 @@ def test_sign_eip_1559(cmd): # Accept and send compare_screenshot(cmd, f"screenshots/eip1559/{PATH_IMG[cmd.model]}/sign_eip_1559/00004.png") cmd.client.press_and_release('both') - pass response: bytes = result[0] v, r, s = parse_sign_response(response) diff --git a/tests/speculos/test_erc1155.py b/tests/speculos/test_erc1155.py index 163c97e..26d278e 100644 --- a/tests/speculos/test_erc1155.py +++ b/tests/speculos/test_erc1155.py @@ -197,8 +197,6 @@ def test_transfer_batch_erc1155(cmd): # Accept and send compare_screenshot(cmd, f"screenshots/erc1155/{PATH_IMG[cmd.model]}/test_transfer_batch_erc1155/00007.png") cmd.client.press_and_release('both') - pass - response: bytes = result[0] v, r, s = parse_sign_response(response) From 8da09ec892a6bdabf622f3e0c024ccec06094a81 Mon Sep 17 00:00:00 2001 From: Coline Date: Fri, 22 Jul 2022 11:59:45 +0200 Subject: [PATCH 63/69] fix: real errors test --- tests/speculos/test_eip191.py | 6 +++--- tests/speculos/test_eip712.py | 14 +++++++------- tests/speculos/test_erc1155.py | 16 +++++++++------- tests/speculos/test_erc20information.py | 6 +++--- tests/speculos/test_erc721.py | 10 ++++++---- tests/speculos/test_pubkey_cmd.py | 11 +++++++---- tests/speculos/test_sign_cmd.py | 22 ++++++++++++---------- 7 files changed, 47 insertions(+), 38 deletions(-) diff --git a/tests/speculos/test_eip191.py b/tests/speculos/test_eip191.py index b76bad2..d24ad0b 100644 --- a/tests/speculos/test_eip191.py +++ b/tests/speculos/test_eip191.py @@ -1,5 +1,7 @@ from time import sleep +import pytest + import ethereum_client from ethereum_client.utils import compare_screenshot, compare_screenshot, parse_sign_response, save_screenshot, PATH_IMG from ethereum_client.transaction import PersonalTransaction @@ -56,7 +58,7 @@ def test_personal_sign_reject(cmd): msg="This is an reject sign" ) - try: + with pytest.raises(ethereum_client.exception.errors.DenyError) as error: with cmd.personal_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: sleep(0.5) @@ -95,8 +97,6 @@ def test_personal_sign_reject(cmd): # Cancel signature compare_screenshot(cmd, f"screenshots/eip191/{PATH_IMG[cmd.model]}/personal_sign_reject/00003.png") cmd.client.press_and_release('both') - - except ethereum_client.exception.errors.DenyError as error: assert error.args[0] == '0x6985' def test_personal_sign_non_ascii(cmd): diff --git a/tests/speculos/test_eip712.py b/tests/speculos/test_eip712.py index 2c2b3ea..6a72aa4 100644 --- a/tests/speculos/test_eip712.py +++ b/tests/speculos/test_eip712.py @@ -1,5 +1,7 @@ from time import sleep +import pytest + from ethereum_client.utils import compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response from ethereum_client.transaction import EIP712 import ethereum_client @@ -81,7 +83,7 @@ def test_sign_eip_712_hashed_msg_reject(cmd): msg_hash="9d96be8a7cca396e711a3ba356bd9878df02a726d753ddb6cda3c507d888bc77" ) - try: + with pytest.raises(ethereum_client.exception.errors.DenyError) as error: with cmd.sign_eip712(bip32_path=bip32_path, transaction=transaction, result=result) as ex: sleep(0.5) @@ -142,8 +144,6 @@ def test_sign_eip_712_hashed_msg_reject(cmd): # Cancel signature compare_screenshot(cmd, f"screenshots/eip712/{PATH_IMG[cmd.model]}/sign_eip_712_hashed_msg_reject/00006.png") cmd.client.press_and_release('both') - - except ethereum_client.exception.errors.DenyError as error: assert error.args[0] == '0x6985' def test_sign_eip_712_bad_domain(cmd): @@ -155,11 +155,11 @@ def test_sign_eip_712_bad_domain(cmd): msg_hash="9d96be8a7cca396e711a3ba356bd9878df02a726d753ddb6cda3c507d888bc77" ) - try: + with pytest.raises(ethereum_client.exception.errors.UnknownDeviceError) as error: + with cmd.sign_eip712(bip32_path=bip32_path, transaction=transaction, result=result) as ex: pass - except ethereum_client.exception.errors.UnknownDeviceError as error: assert error.args[0] == '0x6a80' def test_sign_eip_712_bad_msg(cmd): @@ -171,9 +171,9 @@ def test_sign_eip_712_bad_msg(cmd): msg_hash="deadbeef" ) - try: + with pytest.raises(ethereum_client.exception.errors.UnknownDeviceError) as error: + with cmd.sign_eip712(bip32_path=bip32_path, transaction=transaction, result=result) as ex: pass - except ethereum_client.exception.errors.UnknownDeviceError as error: assert error.args[0] == '0x6a80' \ No newline at end of file diff --git a/tests/speculos/test_erc1155.py b/tests/speculos/test_erc1155.py index 26d278e..b0692ec 100644 --- a/tests/speculos/test_erc1155.py +++ b/tests/speculos/test_erc1155.py @@ -1,5 +1,7 @@ from time import sleep +import pytest + import ethereum_client from ethereum_client.utils import compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response from ethereum_client.plugin import Plugin @@ -92,7 +94,8 @@ def test_transfer_erc1155_without_nft_provide_info(cmd): result: list = [] if cmd.model == "nanox" or cmd.model == "nanosp": - try: + with pytest.raises(ethereum_client.exception.errors.UnknownDeviceError) as error: + cmd.set_plugin(plugin=PLUGIN) @@ -100,24 +103,23 @@ def test_transfer_erc1155_without_nft_provide_info(cmd): with cmd.send_apdu_context(SIGN_MORE, result) as ex: pass - - except ethereum_client.exception.errors.UnknownDeviceError as error: - assert error.args[0] == '0x6a80' + + assert error.args[0] == '0x6a80' def test_transfer_erc1155_without_set_plugin(cmd): result: list = [] if cmd.model == "nanox" or cmd.model == "nanosp": - try: + with pytest.raises(ethereum_client.exception.errors.DenyError) as error: + cmd.provide_nft_information(plugin=PROVIDE_NFT_INFORMATION) cmd.send_apdu(SIGN_FIRST) with cmd.send_apdu_context(SIGN_MORE, result) as ex: pass - - except ethereum_client.exception.errors.DenyError as error: + assert error.args[0] == '0x6985' diff --git a/tests/speculos/test_erc20information.py b/tests/speculos/test_erc20information.py index 87dbee6..9af2c7b 100644 --- a/tests/speculos/test_erc20information.py +++ b/tests/speculos/test_erc20information.py @@ -1,3 +1,4 @@ +import pytest from ethereum_client.plugin import ERC20Information import ethereum_client @@ -25,7 +26,6 @@ def test_provide_erc20_token_error(cmd): sign="deadbeef" ) - try: + with pytest.raises(ethereum_client.exception.errors.UnknownDeviceError) as error: cmd.provide_erc20_token_information(info=erc20_info) - except ethereum_client.exception.errors.UnknownDeviceError as error: - assert error.args[0] == '0x6a80' \ No newline at end of file + assert error.args[0] == '0x6a80' \ No newline at end of file diff --git a/tests/speculos/test_erc721.py b/tests/speculos/test_erc721.py index 7997616..8652501 100644 --- a/tests/speculos/test_erc721.py +++ b/tests/speculos/test_erc721.py @@ -1,5 +1,7 @@ from time import sleep +import pytest + import ethereum_client from ethereum_client.utils import compare_screenshot, save_screenshot, PATH_IMG, parse_sign_response from ethereum_client.plugin import Plugin @@ -85,14 +87,15 @@ def test_transfer_erc721_without_nft_provide_info(cmd): result: list = [] if cmd.model == "nanox" or cmd.model == "nanosp": - try: + with pytest.raises(ethereum_client.exception.errors.UnknownDeviceError) as error: + cmd.set_plugin(plugin=PLUGIN) cmd.send_apdu(SIGN_FIRST) with cmd.send_apdu_context(SIGN_MORE, result) as ex: pass - except ethereum_client.exception.errors.UnknownDeviceError as error: + assert error.args[0] == '0x6a80' @@ -101,7 +104,7 @@ def test_transfer_erc721_without_set_plugin(cmd): result: list = [] if cmd.model == "nanox" or cmd.model == "nanosp": - try: + with pytest.raises(ethereum_client.exception.errors.DenyError) as error: cmd.provide_nft_information(plugin=PROVIDE_NFT_INFORMATION) cmd.send_apdu(SIGN_FIRST) @@ -109,5 +112,4 @@ def test_transfer_erc721_without_set_plugin(cmd): with cmd.send_apdu_context(SIGN_MORE, result) as ex: pass - except ethereum_client.exception.errors.DenyError as error: assert error.args[0] == '0x6985' \ No newline at end of file diff --git a/tests/speculos/test_pubkey_cmd.py b/tests/speculos/test_pubkey_cmd.py index 8e6bfca..17f1d78 100644 --- a/tests/speculos/test_pubkey_cmd.py +++ b/tests/speculos/test_pubkey_cmd.py @@ -1,5 +1,7 @@ from time import sleep +import pytest + import ethereum_client from ethereum_client.utils import compare_screenshot, save_screenshot, PATH_IMG @@ -66,9 +68,11 @@ def test_get_public_key(cmd): def test_reject_get_public_key(cmd): - try: - # DAI COIN with display - result: list = [] + # DAI COIN with display + result: list = [] + + with pytest.raises(ethereum_client.exception.errors.DenyError) as error: + with cmd.get_public_key(bip32_path="44'/700'/1'/0/0", display=True, result=result) as exchange: sleep(0.5) @@ -110,5 +114,4 @@ def test_reject_get_public_key(cmd): compare_screenshot(cmd, f"screenshots/pubkey/{PATH_IMG[cmd.model]}/reject_get_public_key/00003.png") cmd.client.press_and_release('both') - except ethereum_client.exception.errors.DenyError as error: assert error.args[0] == '0x6985' diff --git a/tests/speculos/test_sign_cmd.py b/tests/speculos/test_sign_cmd.py index 2076459..0e0207a 100644 --- a/tests/speculos/test_sign_cmd.py +++ b/tests/speculos/test_sign_cmd.py @@ -1,5 +1,7 @@ from time import sleep +import pytest + import ethereum_client from ethereum_client.utils import compare_screenshot, compare_screenshot, save_screenshot, PATH_IMG from ethereum_client.transaction import Transaction @@ -183,7 +185,8 @@ def test_sign_reject(cmd): chainID=1, ) - try: + with pytest.raises(ethereum_client.exception.errors.DenyError) as error: + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: sleep(0.5) @@ -245,7 +248,6 @@ def test_sign_reject(cmd): compare_screenshot(cmd, f"screenshots/sign/{PATH_IMG[cmd.model]}/reject/00005.png") cmd.client.press_and_release('both') - except ethereum_client.exception.errors.DenyError as error: assert error.args[0] == '0x6985' @@ -343,19 +345,18 @@ def test_sign_error_transaction_type(cmd): chainID=1, ) - try: + with pytest.raises(ethereum_client.exception.errors.UnknownDeviceError) as error: + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: pass - except ethereum_client.exception.errors.UnknownDeviceError as error: - # Throw error of transaction type not supported + assert error.args[0] == '0x6501' transaction.txType = 0x7F - try: + with pytest.raises(ethereum_client.exception.errors.UnknownDeviceError) as error: with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: pass - except ethereum_client.exception.errors.UnknownDeviceError as error: - # Throw error of transaction type not supported + assert error.args[0] == '0x6501' @@ -579,7 +580,8 @@ def test_sign_blind_error_disabled(cmd): data="ok", ) - try: + with pytest.raises(ethereum_client.exception.errors.UnknownDeviceError) as error: + with cmd.simple_sign_tx(bip32_path=bip32_path, transaction=transaction, result=result) as ex: sleep(0.5) @@ -587,7 +589,7 @@ def test_sign_blind_error_disabled(cmd): pass if cmd.model == "nanox" or cmd.model == "nanosp": pass - except ethereum_client.exception.errors.UnknownDeviceError as error: + assert error.args[0] == '0x6a80' From a476bbb5698055850aad4292c8d3117af3791e2e Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 25 Jul 2022 10:39:42 +0200 Subject: [PATCH 64/69] fix: merge 3 mv into 1 and README --- .github/workflows/ci-workflow.yml | 6 +++--- tests/speculos/README.md | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 1da55b7..85efce8 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -112,9 +112,9 @@ jobs: - name: Build testing binaries run: | mkdir tests/speculos/elfs - make clean && make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOS_SDK && mv bin/app.elf . && mv app.elf nanos.elf && mv nanos.elf tests/speculos/elfs - make clean && make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOX_SDK && mv bin/app.elf . && mv app.elf nanox.elf && mv nanox.elf tests/speculos/elfs - make clean && make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOSP_SDK && mv bin/app.elf . && mv app.elf nanosp.elf && mv nanosp.elf tests/speculos/elfs + make clean && make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOS_SDK && mv bin/app.elf tests/speculos/elfs/nanos.elf + make clean && make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOX_SDK && mv bin/app.elf tests/speculos/elfs/nanox.elf + make clean && make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOSP_SDK && mv bin/app.elf tests/speculos/elfs/nanosp.elf - name: Upload app binaries uses: actions/upload-artifact@v2 diff --git a/tests/speculos/README.md b/tests/speculos/README.md index 6cca81b..c3bb346 100644 --- a/tests/speculos/README.md +++ b/tests/speculos/README.md @@ -22,6 +22,7 @@ python3 -m pip install --extra-index-url https://test.pypi.org/simple/ -r requir Go to the root of the repository: ```sh make DEBUG=1 NFT_TESTING_KEY=1 BOLOS_SDK=$NANOX_SDK +mv bin/app.elf tests/speculos/.elf ``` Given the requirements are installed, just do (by default command): From a064839efac2e15b836082a7c703d388a99a11ee Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 25 Jul 2022 10:48:03 +0200 Subject: [PATCH 65/69] fix: result positional argument --- tests/speculos/ethereum_client/ethereum_cmd.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index 2b40a92..d3b31ad 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -70,7 +70,7 @@ class EthereumCommand: @contextmanager - def get_public_key(self, bip32_path: str, display: bool = False, result: List = list()) -> Tuple[bytes, bytes, bytes]: + def get_public_key(self, bip32_path: str, result: List, display: bool = False) -> Tuple[bytes, bytes, bytes]: try: chunk: bytes = self.builder.get_public_key(bip32_path=bip32_path, display=display) @@ -111,7 +111,7 @@ class EthereumCommand: @contextmanager - def perform_privacy_operation(self, bip32_path: str, display: bool = False, shared_secret: bool = False, result: List = list()) -> Tuple[bytes, bytes, bytes]: + def perform_privacy_operation(self, bip32_path: str, result: List, display: bool = False, shared_secret: bool = False) -> Tuple[bytes, bytes, bytes]: try: chunk: bytes = self.builder.perform_privacy_operation(bip32_path=bip32_path, display=display, shared_secret=shared_secret) From 986b4b427ecb9acc838951ee7b633ff36e6fbdf8 Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 25 Jul 2022 10:55:47 +0200 Subject: [PATCH 66/69] fix: merge len bip32 with path function --- .../ethereum_client/ethereum_cmd_builder.py | 41 ++++--------------- tests/speculos/ethereum_client/utils.py | 9 ++++ 2 files changed, 16 insertions(+), 34 deletions(-) diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index 3585c26..f52e8c5 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -6,7 +6,7 @@ from typing import List, Tuple, Union, Iterator, cast from ethereum_client.transaction import EIP712, PersonalTransaction, Transaction from ethereum_client.plugin import ERC20Information, Plugin -from ethereum_client.utils import bip32_path_from_string +from ethereum_client.utils import packed_bip32_path_from_string MAX_APDU_LEN: int = 255 @@ -156,13 +156,8 @@ class EthereumCommandBuilder: APDU command for GET_PUBLIC_KEY. """ - bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) - - cdata: bytes = b"".join([ - len(bip32_paths).to_bytes(1, byteorder="big"), - *bip32_paths - ]) - + cdata = packed_bip32_path_from_string(bip32_path) + return self.serialize(cla=self.CLA, ins=InsType.INS_GET_PUBLIC_KEY, p1=0x01 if display else 0x00, @@ -180,12 +175,7 @@ class EthereumCommandBuilder: Optionnal if returning the shared secret """ - bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) - - cdata: bytes = b"".join([ - len(bip32_paths).to_bytes(1, byteorder="big"), - *bip32_paths - ]) + cdata = packed_bip32_path_from_string(bip32_path) return self.serialize(cla=self.CLA, ins=InsType.INS_PERFORM_PRIVACY_OPERATION, @@ -210,13 +200,7 @@ class EthereumCommandBuilder: APDU command chunk for INS_SIGN_TX. """ - bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) - - cdata: bytes = b"".join([ - len(bip32_paths).to_bytes(1, byteorder="big"), - *bip32_paths - ]) - + cdata = packed_bip32_path_from_string(bip32_path) tx: bytes = transaction.serialize() @@ -245,12 +229,7 @@ class EthereumCommandBuilder: APDU command chunk for INS_SIGN_EIP712. """ - bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) - - cdata: bytes = b"".join([ - len(bip32_paths).to_bytes(1, byteorder="big"), - *bip32_paths - ]) + cdata = packed_bip32_path_from_string(bip32_path) tx: bytes = transaction.serialize() @@ -280,13 +259,7 @@ class EthereumCommandBuilder: """ - bip32_paths: List[bytes] = bip32_path_from_string(bip32_path) - - cdata: bytes = b"".join([ - len(bip32_paths).to_bytes(1, byteorder="big"), - *bip32_paths - ]) - + cdata = packed_bip32_path_from_string(bip32_path) tx: bytes = transaction.serialize() diff --git a/tests/speculos/ethereum_client/utils.py b/tests/speculos/ethereum_client/utils.py index c91c5a5..be3cdde 100644 --- a/tests/speculos/ethereum_client/utils.py +++ b/tests/speculos/ethereum_client/utils.py @@ -52,6 +52,15 @@ def bip32_path_from_string(path: str) -> List[bytes]: for p in splitted_path] +def packed_bip32_path_from_string(path: str) -> bytes: + bip32_paths = bip32_path_from_string(path) + + return b"".join([ + len(bip32_paths).to_bytes(1, byteorder="big"), + *bip32_paths + ]) + + def write_varint(n: int) -> bytes: if n < 0xFC: return n.to_bytes(1, byteorder="little") From fd0f8936157f62b5e3fe31f718ddc7339a0e06f7 Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 25 Jul 2022 11:03:41 +0200 Subject: [PATCH 67/69] docs: some comment in code --- tests/speculos/ethereum_client/ethereum_cmd.py | 4 +--- tests/speculos/ethereum_client/ethereum_cmd_builder.py | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/speculos/ethereum_client/ethereum_cmd.py b/tests/speculos/ethereum_client/ethereum_cmd.py index d3b31ad..a13a817 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd.py +++ b/tests/speculos/ethereum_client/ethereum_cmd.py @@ -200,15 +200,13 @@ class EthereumCommand: @contextmanager def personal_sign_tx(self, bip32_path: str, transaction: PersonalTransaction, result: List = list()) -> None: - """ - Does the same thing as simple_personal_sign but allows to create a batch of cmd apdu - """ try: for islast_apdu, apdu in self.builder.personal_sign_tx(bip32_path=bip32_path, transaction=transaction): if islast_apdu: with self.client.apdu_exchange_nowait(cla=apdu[0], ins=apdu[1], p1=apdu[2], p2=apdu[3], data=apdu[5:]) as exchange: + # the "yield" here allows to wait for a button interaction (click right, left, both) yield exchange response: bytes = exchange.receive() else: diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index f52e8c5..454e99e 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -266,6 +266,7 @@ class EthereumCommandBuilder: cdata = cdata + tx last_chunk = len(cdata) // MAX_APDU_LEN + # The generator allows to send apdu frames because we can't send an apdu > 255 for i, (chunk) in enumerate(chunked(MAX_APDU_LEN, cdata)): if i == 0 and i == last_chunk: yield True, self.serialize(cla=self.CLA, From e926f9f34770eb2c10e864870b8ab76b9f1dde9d Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 25 Jul 2022 11:40:52 +0200 Subject: [PATCH 68/69] docs: Docs of client --- tests/speculos/docs/client.puml | 35 ------------------- .../ethereum_client/ethereum_cmd_builder.py | 1 - 2 files changed, 36 deletions(-) delete mode 100644 tests/speculos/docs/client.puml diff --git a/tests/speculos/docs/client.puml b/tests/speculos/docs/client.puml deleted file mode 100644 index ccadea4..0000000 --- a/tests/speculos/docs/client.puml +++ /dev/null @@ -1,35 +0,0 @@ -@startuml Network - -enum InsType { - INS_GET_PUBLIC_KEY = 0x02 - INS_SIGN_TX = 0x04 - INS_GET_CONFIGURATION = 0x06 - INS_SIGN_PERSONAL_TX = 0x08 - INS_PROVIDE_ERC20 = 0x0A - INS_SIGN_EIP712 = 0x0c - INS_ETH2_GET_PUBLIC_KEY = 0x0E - INS_SET_ETH2_WITHDRAWAL = 0x10 - INS_SET_EXTERNAL_PLUGIN = 0x12 - INS_PROVIDE_NFT_INFORMATION = 0x14 - INS_SET_PLUGIN = 0x16 -} - -class BoilerPlateCommandBuilder { - +bytes serialize(cla int, ins InsType, p1 int, p2 int, cdata bytes) - ____ - .. APDU Builder.. - +get_configuration() -> bytes - +get_public_key(bip32_path str, display bool) -> bytes -} - -class BoilerplateCommand { - +get_configuration() -> Tuple[int, int, int] - +get_public_key(bip32_path str, diplay bool) -> Tuple[bytes, bytes, bytes] -} - -class Transaction { - +serialize() -> bytes - +from_bytes(cls, hexa: Union[bytes, BytesIO]) -} - -@enduml \ No newline at end of file diff --git a/tests/speculos/ethereum_client/ethereum_cmd_builder.py b/tests/speculos/ethereum_client/ethereum_cmd_builder.py index 454e99e..f2f721e 100644 --- a/tests/speculos/ethereum_client/ethereum_cmd_builder.py +++ b/tests/speculos/ethereum_client/ethereum_cmd_builder.py @@ -1,6 +1,5 @@ import enum import logging -import re import struct from typing import List, Tuple, Union, Iterator, cast From 293efa533cd4ad5a77709888b63abb5e2aa9c2d6 Mon Sep 17 00:00:00 2001 From: Coline Date: Mon, 25 Jul 2022 11:42:45 +0200 Subject: [PATCH 69/69] docs: Docs of client --- tests/speculos/docs/README.md | 133 ++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 tests/speculos/docs/README.md diff --git a/tests/speculos/docs/README.md b/tests/speculos/docs/README.md new file mode 100644 index 0000000..eb6df71 --- /dev/null +++ b/tests/speculos/docs/README.md @@ -0,0 +1,133 @@ +# Documentation of Ethereum's client test + +```sh +. +├── conftest.py # Configuration for pytest +├── ethereum_client # All utils of client test +│ ├── ethereum_cmd_builder.py # Creation of apdu to send +│ ├── ethereum_cmd.py # Send Apdu and parsing of response +│ ├── exception +│ │ ├── device_exception.py +│ │ └── errors.py +│ ├── plugin.py # Creation of content apdu which manage plugin, erc20Information, provide nft information +│ ├── transaction.py # Creation of content apdu which manage personal tx, transaction, eip712 +│ └── utils.py +├── requirements.txt +├── screenshots # All screenshot of nanoS,X,SP for compare in tests +├── setup.cfg + +# ========= All Tests ========= +├── test_configuration_cmd.py +├── test_eip1559.py +├── test_eip191.py +├── test_eip2930.py +├── test_eip712.py +├── test_erc1155.py +├── test_erc20information.py +├── test_erc721.py +├── test_pubkey_cmd.py +└── test_sign_cmd.py +``` + +## Ethereum_client + +### Ethereum_cmd_builder +```py +def chunked(size, source) + +class EthereumCommandBuilder: + # Creation of the apdu + def get_configuration(self) -> bytes: + def set_plugin(self, plugin: Plugin) -> bytes: + def provide_nft_information(self, plugin: Plugin) -> bytes: + def provide_erc20_token_information(self, info: ERC20Information): + def get_public_key(self, bip32_path: str, display: bool = False) -> bytes: + def perform_privacy_operation(self, bip32_path: str, display: bool, shared_secret: bool) -> bytes: + def simple_sign_tx(self, bip32_path: str, transaction: Transaction) -> bytes: + def sign_eip712(self, bip32_path: str, transaction: EIP712) -> bytes: + def personal_sign_tx(self, bip32_path: str, transaction: PersonalTransaction) -> Tuple[bool,bytes]: +``` + +### Ethereum_cmd +```py +class EthereumCommand: + # Sending apdu and parsing the response in the right form + def get_configuration(self) -> Tuple[int, int, int, int]: + def set_plugin(self, plugin: Plugin): + def provide_nft_information(self, plugin: Plugin): + def provide_erc20_token_information(self, info: ERC20Information): + def get_public_key(self, bip32_path: str, result: List, display: bool = False) -> Tuple[bytes, bytes, bytes]: + def perform_privacy_operation(self, bip32_path: str, result: List, display: bool = False, shared_secret: bool = False) -> Tuple[bytes, bytes, bytes]: + def simple_sign_tx(self, bip32_path: str, transaction: Transaction, result: List = list()) -> None: + def sign_eip712(self, bip32_path: str, transaction: EIP712, result: List = list()) -> None: + def personal_sign_tx(self, bip32_path: str, transaction: PersonalTransaction, result: List = list()) -> None: + + + # Allows to send an apdu without return of speculos + def send_apdu(self, apdu: bytes) -> bytes: + # Allows to send an apdu with return of speculos + def send_apdu_context(self, apdu: bytes, result: List = list()) -> bytes: + +``` + +### Utils +```py +def save_screenshot(cmd, path: str): +def compare_screenshot(cmd, path: str): +def parse_sign_response(response : bytes) -> Tuple[bytes, bytes, bytes]: +def bip32_path_from_string(path: str) -> List[bytes]: +def packed_bip32_path_from_string(path: str) -> bytes: +def write_varint(n: int) -> bytes: +def read_varint(buf: BytesIO, prefix: Optional[bytes] = None) -> int: +def read(buf: BytesIO, size: int) -> bytes: +def read_uint(buf: BytesIO, +``` + +## Tests new apdu + +If a new instruction is programmed it will be necessary to create 2 new functions. +one in `ethereum_cmd_builder` : +- Creation of the raw apdu you can find some examples in this same file + +and one in `ethereum_cmd`: +- Send the apdu to speculos and parse the answer in a `list` named result you can find some examples in this same file + +## Example for write new tests + +To send several apdu and get the return + +```py +FIRST = bytes.fromhex("{YourAPDU}") +SECOND = bytes.fromhex("{YourAPDU}") + +def test_multiple_raw_apdu(cmd): + result: list = [] + + cmd.send_apdu(FIRST) + with cmd.send_apdu_context(SECOND, result) as ex: + sleep(0.5) + # Here your code for press button and compare screen if you want + + response: bytes = result[0] # response returning + # Here you function to parse response of some code + v, r, s = parse_sign_response(response) + + # And here assertion of your tests + assert v == 0x25 # 37 + assert r.hex() == "68ba082523584adbfc31d36d68b51d6f209ce0838215026bf1802a8f17dcdff4" + assert s.hex() == "7c92908fa05c8bc86507a3d6a1c8b3c2722ee01c836d89a61df60c1ab0b43fff" +``` + +To test an error + +```py +def test_some_error(cmd): + result: list = [] + + with pytest.raises(ethereum_client.exception.errors.UnknownDeviceError) as error: + # With an function in ethereum_cmd + with cmd.send_apdu_context(bytes.fromhex("{YourAPDU}"), result) as ex: + pass + assert error.args[0] == '0x6a80' +``` +