Skip to content

Commit

Permalink
Added SGX support to firmware test framework
Browse files Browse the repository at this point in the history
- Implemented middleware HSM2Dongle for SGX
- Updated test runner to support SGX in addition to Ledger and x86
- Added packaging capabilities to be able to copy the test suite to an SGX host
- Renamed the test targets to account for the additional "real device" platforms
- Updated documentation
  • Loading branch information
amendelzon committed Aug 29, 2024
1 parent f0925fe commit 2efb81b
Show file tree
Hide file tree
Showing 37 changed files with 256 additions and 61 deletions.
7 changes: 7 additions & 0 deletions firmware/test/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# Ignore compiled python modules and cache
**/*.pyc
**/__pycache__


# Ignore package artifacts
package/bin
package/build
package/run.spec
package/bundle.tgz
39 changes: 37 additions & 2 deletions firmware/test/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# powHSM firmware test suite

## Build parameters for a physical Ledger Nano S
## Blockchain parameters to run the tests on any implementation (i.e., Ledger, SGX, TCPSigner, etc)

*Checkpoint:* 0xbdcb3c17c7aee714cec8ad900341bfd987b452280220dcbd6e7191f67ea4209b
*Difficulty:* 0x32 (50)
*Network:* regtest

### Example command to build a signer to run the tests against
### Example command to build a ledger signer to run the tests against

```bash
~/repo> firmware/build/build-ledger-signer 0xbdcb3c17c7aee714cec8ad900341bfd987b452280220dcbd6e7191f67ea4209b 50 regtest
Expand All @@ -25,3 +25,38 @@ To test against a physical dongle, issue:
```bash
~/repo> firmware/test/test-all dongle
```

To test against an SGX instance, there are a few more steps involved, since normally the
instance will be running in an SGX-enabled server elsewhere. Therefore, there are some
prerequisites for this:

- Your server must have Docker installed
- Have a running SGX powHSM instance on your server
- Said instance MUST be already onboarded
- The instance MUST be running with the server bound to `0.0.0.0`
- We'll assume that the instance is listening on port `7777`

To run the tests, follow these steps:
- Package the tests:

```bash
~/repo> firmware/test/package/generate
```

- Copy the generated `firmware/test/package/bundle.tgx` to the server on which the SGX
powHSM instance is running
- On the server, decompress the bundle to a directory of your choice (say
`~/powhsm-tests`)
- Run the tests:

```bash
~/powhsm-tests> ./run-with-docker -dsgx -p7777 -shost.docker.internal -m
```

The above command will run the tests in "manual unlocking" mode. You can change this to
automatic unlocking replacing the `-m` option with `-P <PIN>`. Also, to see the test
runner options, issue:

```bash
~/powhsm-tests> ./run-with-docker --help
```
5 changes: 3 additions & 2 deletions firmware/test/cases/case.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,12 @@ class TestCase:

RUN_ON_KEY = "runOn"
RUN_ON_VALUE_BOTH = "both"
RUN_ON_VALUE_TCPSIGNER = "tcpsigner"
RUN_ON_VALUE_DONGLE = "dongle"
RUN_ON_VALUE_SIMULATOR = "simulator"
RUN_ON_VALUE_DEVICE = "device"

RUN_ARGS_PIN_KEY = "pin"
RUN_ARGS_MANUAL_KEY = "manual"
RUN_ARGS_DEVICE_KIND_KEY = "deviceKind"

op_mapping = None
PATHS = None
Expand Down
25 changes: 17 additions & 8 deletions firmware/test/cases/reconnect.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ def wait_for_reconnection(self):
def assert_dongle_mode(self, dongle, expected_mode):
curr_mode = dongle.get_current_mode()
if curr_mode != expected_mode:
raise TestCaseError(f'Unexpected dongle mode: {curr_mode} '
f'(expected {expected_mode})')
raise TestCaseError(f"Unexpected dongle mode: {curr_mode} "
f"(expected {expected_mode})")

def run(self, dongle, debug, run_args):
try:
Expand All @@ -67,26 +67,35 @@ def run(self, dongle, debug, run_args):

# Unlock device (can be performed automatically or manually by user)
if manual_unlock:
output.prompt_user('Please disconnect and re-connect the device, '
'unlock it and open the signer', wait_confirm=True)
if run_args[TestCase.RUN_ARGS_DEVICE_KIND_KEY] == "ledger":
output.prompt_user("Please disconnect and re-connect the device, "
"unlock it and make sure the signer is running",
wait_confirm=True)
else:
output.prompt_user("Please restart the powHSM and unlock it",
wait_confirm=True)
self.wait_for_reconnection()
dongle.connect()
else:
output.prompt_user('Please disconnect and re-connect the device.',
wait_confirm=True)
if run_args[TestCase.RUN_ARGS_DEVICE_KIND_KEY] == "ledger":
output.prompt_user("Please disconnect and re-connect the device.",
wait_confirm=True)
else:
output.prompt_user("Please restart the powHSM",
wait_confirm=True)
self.wait_for_reconnection()
dongle.connect()
self.assert_dongle_mode(dongle, HSM2Dongle.MODE.BOOTLOADER)
if not dongle.echo():
raise TestCaseError("Echo error")
if not dongle.unlock(pin):
raise TestCaseError('Failed to unlock device')
raise TestCaseError("Failed to unlock device")
try:
dongle.exit_menu(autoexec=True)
except Exception:
# exit_menu() always throws due to USB disconnection. we don't care
pass
output.debug('Device unlocked')
output.debug("Device unlocked")
# Disconnect from bootloader, connect to app
dongle.disconnect()
self.wait_for_reconnection()
Expand Down
15 changes: 8 additions & 7 deletions firmware/test/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,12 @@ def parse(self):

parser.add_argument(
"-d",
"--dongle",
dest="dongle",
action="store_true",
default=False,
help="Run with a physical dongle (defaults to no)",
"--device",
dest="device",
choices=["tcpsigner", "ledger", "sgx"],
default="tcpsigner",
help="Type of device to run with (one of \"tcpsigner\", \"ledger\" or "
"\"sgx\", defaults to \"tcpsigner\")",
)
parser.add_argument(
"-r",
Expand All @@ -70,8 +71,8 @@ def parse(self):
help=f"Listening port (default {self.default_port})",
)
parser.add_argument(
"-b",
"--bind",
"-s",
"--server",
dest="host",
default=self.default_host,
help=f"IP to bind to (default '{self.default_host}')",
Expand Down
1 change: 1 addition & 0 deletions firmware/test/package/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM python:3.12-slim-bookworm
25 changes: 25 additions & 0 deletions firmware/test/package/build-runner
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash

if [[ $1 == "exec" ]]; then
# Directories
PACKAGE_DIR=$(dirname $0)
BIN_DIR=bin

# Remove existing build

# Build
echo "Building test runner..."

cd $PACKAGE_DIR
rm -rf $BIN_DIR
mkdir $BIN_DIR
pyinstaller --distpath $BIN_DIR --onefile ../run.py
rm -rf build run.spec

echo "Done."
else
REPO_ROOT=$(dirname $0)/../../..
TESTS_DIR=$(realpath $(dirname $0)/.. --relative-to=$REPO_ROOT)

$REPO_ROOT/docker/mware/do-notty-nousb /hsm2/$TESTS_DIR "./package/$(basename $0) exec"
fi
24 changes: 24 additions & 0 deletions firmware/test/package/generate
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

# Directories and files
PACKAGE_DIR=$(dirname $0)
BIN_DIR=$PACKAGE_DIR/bin
RUNNER_FILE=$BIN_DIR/run
RESOURCES_DIR=$PACKAGE_DIR/../resources
TARGET_DIR=$PACKAGE_DIR/bundle
BUNDLE_FILE=$PACKAGE_DIR/bundle.tgz

rm -rf $TARGET_DIR
mkdir $TARGET_DIR
$PACKAGE_DIR/build-runner
mkdir $TARGET_DIR/bin
cp $RUNNER_FILE $TARGET_DIR/bin
echo "Copying files..."
cp -R $RESOURCES_DIR $TARGET_DIR
cp $PACKAGE_DIR/Dockerfile $TARGET_DIR
cp $PACKAGE_DIR/run-with-docker $TARGET_DIR
echo "Generating package..."
tar -czf $BUNDLE_FILE -C $TARGET_DIR .
echo "Cleaning up..."
rm -rf $TARGET_DIR $BIN_DIR
echo "Done."
7 changes: 7 additions & 0 deletions firmware/test/package/run-with-docker
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash

SCRIPT_DIR=$(realpath $(dirname $0))
DOCKER_IMAGE=powhsm:tests

docker build -t $DOCKER_IMAGE .
docker run -ti --rm -v $SCRIPT_DIR:/tests --add-host=host.docker.internal:host-gateway -w /tests $DOCKER_IMAGE ./bin/run $@
2 changes: 1 addition & 1 deletion firmware/test/resources/307-reconnect-dongle.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"name": "Reconnect dongle",
"operation": "reconnectDongle",
"exitSigner": true,
"runOn": "dongle"
"runOn": "device"
}
2 changes: 1 addition & 1 deletion firmware/test/resources/308-get-after-reconnection.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Get blockchain state after reconnection",
"operation": "getState",
"runOn": "dongle",
"runOn": "device",
"expected": {
"best_block": "b4d586b2c2f51d6dcb6e7870df329e780d8e4b85517b91a822dc52c04d801f4b",
"newest_valid_block": "05cf1ca3197482828cfa5d1777350996593bdd62f73ce388a280a9e08b69dac9",
Expand Down
2 changes: 1 addition & 1 deletion firmware/test/resources/602-sign-long-redeemscript.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Sign with a long redeemScript",
"operation": "signAuthorized",
"runOn": "tcpsigner",
"runOn": "simulator",
"expected": true,
"fake_ancestor_receipts_root": "b669533aad43aca9bb1f12a29d3cf8852fa7279747c503eb6632c98faf46871c",
"btcTx": "0100000001ea0972997fabb54841aea288b81fe5c337b997bca3874cc8c2ba00b743c5d7c164000000fd13020000000000000000000000000000004d010258210271df73590582950f35db74b143d5b33d236b85c4879b843b72501ec6a2848938210235f05d65271026dee084dfa85b4e1d9003d7222e41b77ff7a9d96dde1c1df4b621021af9a946169d37fe597a8f18ae24bab5f1d67389b4969e3b2968d83a89ddb77221035a1991fea6c84847cfcd744c2b2ceda52068ee6121ab45d401d589946586399821038dab9d13aab76fb67dae25ff3444e5fa034e92abd734813193c808fef1f3c4402103a4729c1b5985797db6d6684b1d6ed20799bd2907583522a60849cad2aafa38132102d6b7d281af02859e6ba4f7e17284ea5e9ff6f8ab499ecbbc15a716497491d9be21034e85baa81c962d5649beff5c8df9f615369e7e7a107ce3e4a13b8ffbb2fbf906210271e5df883f5ba4e741c97bbcaca3d6c76c5a290db4b04554a99bbba5834ead6b2102f9994a4066656e8d31da1bdf68da7443d0160805c378ec068d03ced7b94d15142102d7582f433664a6b3ed5ad4ce8c62fb9771c1b73306faa2ea8183ff4a325193ce2102a036e410405eb60f6637e0f23507ef8414083ac4c3b1f295268b4ee96dd19411210203e012375a9cd95c9e35e1e084b567941b5961e9cc1679cde20ed2fa53af2ab521020001c24db69a74345f8b16b318b19c87da14b3e5cb7583be9a902aead6084b3321025c587d630165a13a6fe9460ea572e42f0bacf5f66270e7440c100775821d38a65faeffffffff02b011e111000000001976a91447a5bfd415108c37e918e8b114b83f8d5ae9834988ac00bbeea00000000017a914896ed9f3446d51b5510f7f0b6ef81b2bde55140e8700000000",
Expand Down
2 changes: 1 addition & 1 deletion firmware/test/resources/610-sign-tx-with-many-inputs.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion firmware/test/resources/612-sign-sample-mainnet-tx.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Sign with a sample mainnet BTC tx (49b52b570d7b3fb5428fb90da0b03fa48712569353291b86c8627515300c6eb7)",
"operation": "signAuthorized",
"runOn": "tcpsigner",
"runOn": "simulator",
"expected": true,
"fake_ancestor_receipts_root": "b0c9d5840ff55a2c06c3969e4d5ac05f39c2fb2f8867b1b934af4896b5bc0348",
"btcTx": "0200000001c36068f22ad1285b0e8c75547e634a7df21d7bf3e23788b8942e3ad14bd7ab8a01000000fdc80100000000000000004dbd0157210231a395e332dde8688800a0025cccc5771ea1aa874a633b8ab6e5c89d300c7c3621026b472f7d59d201ff1f540f111b6eb329e071c30a9d23e3d2bcd128fe73dc254c21027319afb15481dbeb3c426bcc37f9a30e7f51ceff586936d85548d9395bcc2344210294c817150f78607566e961b3c71df53a22022a80acbb982f83c0c8baac040adc2103250c11be0561b1d7ae168b1f59e39cbc1fd1ba3cf4d2140c1a365b2723a2bf9321033ada6ef3b1d93a1978b595c7a9e2aa613860b26d4f5a7abb88576aa42b3432ad210357f7ed4c118e581f49cd3b4d9dd1edb4295f4def49d6dcf2faaaaac87a1a0a42210372cd46831f3b6afd4c044d160b7667e8ebf659d6cb51a825a3104df6ee0638c62103ae72827d25030818c4947a800187b1fbcc33ae751e248ae60094cc989fb880f62103b3a7aa25702000c5c1faa300600e8e2bd89cde2be7fb1ec898a39c50d9de90d12103b53899c390573471ba30e5054f78376c5f797fda26dde7a760789f02908cbad22103e05bf6002b62651378b1954820539c36ca405cbb778c225395dd9ebff67802992103ecd8af1e93c57a1b8c7f917bd9980af798adeb0205e9687865673353eb041e8d5daeffffffff02bb57eb0b000000001976a9147e8784d8b1e299d8f55c9977fbfa9c1821eb472188ace274a04c0000000017a914596cff92a275960df9cb2ab9df0ff69faa2b1d8a8700000000",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Sign with a sample ERP testnet BTC tx (ef48d91ca32d694c36826c74a21191e6528f11f6beaa10bc8dc0c51de38f930c)",
"operation": "signAuthorized",
"runOn": "tcpsigner",
"runOn": "simulator",
"expected": true,
"fake_ancestor_receipts_root": "fa0cfbb9525f7b3a5a78fec0b5c4acb7c50eb13583affbb7c80290cffa09101b",
"btcTx": "020000000101724031bd8b47b66d05158a1aa8f737aee95bfdbad0592270198f38cd68c2ff01000000de000000004cd8645221024c759affafc5589872d218ca30377e6d97211c039c375672c169ba76ce7fad6a21031f4aa4943fa2b731cd99c551d6992021555877b3b32c125385600fbc1b89c2a92103767a0994daa8babee7215b2371916d09fc1158de3c23feeefaae2dfe5baf483053670132b275522102132685d71b0109fecef0160f1efcab0187eff916f4d472289741bff2666d0e1c2102ed498022f9d618a96f272b1990a640d9f24fb97d2648f8716f9ee22dc008eba721036f66639295ca8e4294c24d63e3fbc11247f6ba6a27b6b4de9a3492f414152d9b5368ae3c00000001e0930400000000001976a9140a4f09cbd39d5d8072b24385e1a9eb1c84ae544688ac00000000",
Expand Down
2 changes: 1 addition & 1 deletion firmware/test/resources/614-sign-match-not-last-log.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Sign when the matching log is not the last one",
"operation": "signAuthorized",
"runOn": "tcpsigner",
"runOn": "simulator",
"expected": true,
"fake_ancestor_receipts_root": "dbab9d8e87550d4a3ccb496b25326403b1d339e487e342bf43469c622d693ca1",
"btcTx": "01000000010c25db7dc67a51c2aa406514373c83a87b25cb313f530fbfa5210007fa65e1f0000000006e0000004c69522102cd53fc53a07f211641a677d250f6de99caf620e8e77071e811a28b3bcddf0be1210362634ab57dae9cb373a5d536e66a8c4f67468bbcfb063809bab643072d78a1242103c5946b3fbae03a654237da863c9ed534e0878657175b132b8ca630f245df04db53aeffffffff02b011e111000000001976a91447a5bfd415108c37e918e8b114b83f8d5ae9834988ac00bbeea00000000017a914896ed9f3446d51b5510f7f0b6ef81b2bde55140e8700000000",
Expand Down
2 changes: 1 addition & 1 deletion firmware/test/resources/615-sign-match-long-proof.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Sign with a long partial receipt merkle proof",
"operation": "signAuthorized",
"runOn": "tcpsigner",
"runOn": "simulator",
"expected": true,
"fake_ancestor_receipts_root": "5609cc9ca4e1379222c35bc54b9be88d69d53c9fe1c4e422815db890339951ff",
"btcTx": "01000000010c25db7dc67a51c2aa406514373c83a87b25cb313f530fbfa5210007fa65e1f0000000006e0000004c69522102cd53fc53a07f211641a677d250f6de99caf620e8e77071e811a28b3bcddf0be1210362634ab57dae9cb373a5d536e66a8c4f67468bbcfb063809bab643072d78a1242103c5946b3fbae03a654237da863c9ed534e0878657175b132b8ca630f245df04db53aeffffffff02b011e111000000001976a91447a5bfd415108c37e918e8b114b83f8d5ae9834988ac00bbeea00000000017a914896ed9f3446d51b5510f7f0b6ef81b2bde55140e8700000000",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Sign a 3-input, 5-output testnet transaction",
"operation": "signAuthorized",
"runOn": "tcpsigner",
"runOn": "simulator",
"expected": true,
"fake_ancestor_receipts_root": "736a36d733f0faff88dbd36332e773a82e8e5ce9829a34b4d5750c91d641fc74",
"btcTx": "020000000396f1ed3e9075af583e8e1e2b50bd5e37c761f677418db75a295901380864d95e01000000fd270100000000004d1f016453210225e892391625854128c5c4ea4340de0c2a70570f33db53426fc9c746597a03f421025a2f522aea776fab5241ad72f7f05918e8606676461cb6ce38265a52d4ca9ed62102afc230c2d355b1a577682b07bc2646041b5d0177af0f98395a46018da699b6da21032822626c45fc1c4e3a3def5b4983636d6291a7a6677f66874c337e78bc3b77842103fb8e1d5d0392d35ca8c3656acb6193dbf392b3e89b9b7b86693f5c80f7ce858155ae670350cd00b27552210216c23b2ea8e4f11c3f9e22711addb1d16a93964796913830856b568cc3ea21d3210275562901dd8faae20de0a4166362a4f82188db77dbed4ca887422ea1ec185f1421034db69f2112f4fb1bb6141bf6e2bd6631f0484d0bd95b16767902c9fe219d4a6f53ae68ffffffff375b0696785b04a56b6a9f3f84a0fc3715837f7a2ab427f220ef2932b64a93ae01000000fd270100000000004d1f016453210225e892391625854128c5c4ea4340de0c2a70570f33db53426fc9c746597a03f421025a2f522aea776fab5241ad72f7f05918e8606676461cb6ce38265a52d4ca9ed62102afc230c2d355b1a577682b07bc2646041b5d0177af0f98395a46018da699b6da21032822626c45fc1c4e3a3def5b4983636d6291a7a6677f66874c337e78bc3b77842103fb8e1d5d0392d35ca8c3656acb6193dbf392b3e89b9b7b86693f5c80f7ce858155ae670350cd00b27552210216c23b2ea8e4f11c3f9e22711addb1d16a93964796913830856b568cc3ea21d3210275562901dd8faae20de0a4166362a4f82188db77dbed4ca887422ea1ec185f1421034db69f2112f4fb1bb6141bf6e2bd6631f0484d0bd95b16767902c9fe219d4a6f53ae68ffffffff8797d86f4653e0c778e54f527d4d9bd2b1b57715d0a0ae4dd7918ab7b468a2b002000000fd270100000000004d1f016453210225e892391625854128c5c4ea4340de0c2a70570f33db53426fc9c746597a03f421025a2f522aea776fab5241ad72f7f05918e8606676461cb6ce38265a52d4ca9ed62102afc230c2d355b1a577682b07bc2646041b5d0177af0f98395a46018da699b6da21032822626c45fc1c4e3a3def5b4983636d6291a7a6677f66874c337e78bc3b77842103fb8e1d5d0392d35ca8c3656acb6193dbf392b3e89b9b7b86693f5c80f7ce858155ae670350cd00b27552210216c23b2ea8e4f11c3f9e22711addb1d16a93964796913830856b568cc3ea21d3210275562901dd8faae20de0a4166362a4f82188db77dbed4ca887422ea1ec185f1421034db69f2112f4fb1bb6141bf6e2bd6631f0484d0bd95b16767902c9fe219d4a6f53ae68ffffffff05bbed0600000000001976a9148394379a5ab5974f2bd6368ce479e28fca91631e88acbbed0600000000001976a91409197f6153cb3a91bb51eec373360a1cb3b7c0e088acbbed0600000000001976a91409197f6153cb3a91bb51eec373360a1cb3b7c0e088acbbed0600000000001976a91409197f6153cb3a91bb51eec373360a1cb3b7c0e088ac061e5f000000000017a9145e6cf80958803e9b3c81cd90422152520d2a505c8700000000",
Expand Down
2 changes: 1 addition & 1 deletion firmware/test/resources/620-sign-segwit-basic.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Sign with a basic segwit tx",
"operation": "signAuthorized",
"runOn": "tcpsigner",
"runOn": "simulator",
"expected": true,
"fake_ancestor_receipts_root": "eabbc877b16f4f484beadb403a9a65e04a9c8c8a5cea57315f729ceedbc0d6a7",
"txType": "segwit",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Sign with a segwit BTC tx with many inputs",
"operation": "signAuthorized",
"runOn": "tcpsigner",
"runOn": "simulator",
"expected": true,
"fake_ancestor_receipts_root": "b550311160cd59f4d912fa7246a21332dda29ba54ff782a76d19fe26ed2ab533",
"txType": "segwit",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Sign with a segwit BTC tx with a long witness script",
"operation": "signAuthorized",
"runOn": "tcpsigner",
"runOn": "simulator",
"expected": true,
"fake_ancestor_receipts_root": "8d87508bb18f696e2e41fef9abe7d25555899ff69e8310c706aaaa35ff7443bd",
"txType": "segwit",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Attempt to fake the ancestor receipts root on a physical dongle fails",
"operation": "signAuthorized",
"runOn": "dongle",
"runOn": "device",
"expected": "0x6e11",
"fake_ancestor_receipts_root": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"btcTx": "",
Expand Down
2 changes: 1 addition & 1 deletion firmware/test/resources/900-set-is-onboarded-no.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"name": "Set is onboarded to false",
"operation": "adminIsOnboarded",
"value": false,
"runOn": "tcpsigner"
"runOn": "simulator"
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
"operation": "signUnauthorized",
"expected": "0x6bee",
"hash": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"runOn": "tcpsigner"
"runOn": "simulator"
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@
"7006002c05a0d7d85908466fdd3e6896af6c88a588701d4aa19769600875a7aa9a64a0000203",
"4f2670060290077e20feb9ffb4ed5abdcb42dc4e034fe2496cca6b38fd479dcd598cfa151b000388267006002c05a0d7d85908466fdd3e6896af6c88a588701d4aa19769600875a7aa9a64a0000203fdd705"
],
"runOn": "tcpsigner"
"runOn": "simulator"
}
2 changes: 1 addition & 1 deletion firmware/test/resources/903-no-onboarded-get-bs-fails.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
"name": "Non-onboarded get blockchain state fails",
"operation": "getState",
"expected": "0x6bee",
"runOn": "tcpsigner"
"runOn": "simulator"
}
Loading

0 comments on commit 2efb81b

Please sign in to comment.