mirror of https://github.com/wolfSSL/wolfBoot.git
[CI] test automation on target
parent
fd501b976d
commit
c989a13d94
|
@ -5,7 +5,7 @@ LD=gcc
|
||||||
CROSS_COMPILE=
|
CROSS_COMPILE=
|
||||||
WOLFBOOT_ROOT=../../
|
WOLFBOOT_ROOT=../../
|
||||||
BOOTUTIL_ROOT=$(WOLFBOOT_ROOT)/lib/bootutil
|
BOOTUTIL_ROOT=$(WOLFBOOT_ROOT)/lib/bootutil
|
||||||
CFLAGS:=-lwolfssl -DHAVE_ECC -DHAVE_ASN -DWOLFCRYPT_ONLY -DTFM_TIMING_RESISTANT -DNO_RSA -DECC_TIMING_RESISTANT -DWOLFSSL_DER_TO_PEM -DWOLFSSL_VALIDATE_ECC_IMPORT -I$(WOLFBOOT_ROOT)/include
|
CFLAGS:=-lwolfssl -DHAVE_ECC -DHAVE_ASN -DWOLFCRYPT_ONLY -DTFM_TIMING_RESISTANT -DNO_RSA -DECC_TIMING_RESISTANT -DWOLFSSL_DER_TO_PEM -DWOLFSSL_VALIDATE_ECC_IMPORT -DHAVE_ECC_KEY_EXPORT -I$(WOLFBOOT_ROOT)/include
|
||||||
LDFLAGS:=-lwolfssl
|
LDFLAGS:=-lwolfssl
|
||||||
LDFLAGS_EXTRA=
|
LDFLAGS_EXTRA=
|
||||||
EXTRA_LDFLAGS=
|
EXTRA_LDFLAGS=
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#
|
#
|
||||||
CROSS_COMPILE=
|
CROSS_COMPILE=
|
||||||
WOLFBOOT_ROOT=../../
|
WOLFBOOT_ROOT=../../
|
||||||
CFLAGS:=-lwolfssl -DHAVE_ED25519 -DHAVE_ASN -DWOLFCRYPT_ONLY -DTFM_TIMING_RESISTANT -DNO_RSA -DECC_TIMING_RESISTANT -DWOLFSSL_DER_TO_PEM -I$(WOLFBOOT_ROOT)/include -I$(WOLFBOOT_ROOT)/lib/wolfssl
|
CFLAGS:=-lwolfssl -DHAVE_ECC_KEY_EXPORT -DHAVE_ED25519 -DHAVE_ASN -DWOLFCRYPT_ONLY -DTFM_TIMING_RESISTANT -DNO_RSA -DECC_TIMING_RESISTANT -DWOLFSSL_DER_TO_PEM -I$(WOLFBOOT_ROOT)/include -I$(WOLFBOOT_ROOT)/lib/wolfssl
|
||||||
LDFLAGS:=-lwolfssl
|
LDFLAGS:=-lwolfssl
|
||||||
LDFLAGS_EXTRA=
|
LDFLAGS_EXTRA=
|
||||||
EXTRA_LDFLAGS=
|
EXTRA_LDFLAGS=
|
||||||
|
|
|
@ -172,7 +172,6 @@ int main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
wc_Sha256Final(&sha, shabuf);
|
wc_Sha256Final(&sha, shabuf);
|
||||||
wc_ed25519_sign_msg(shabuf, 32, signature, &outlen, &key);
|
wc_ed25519_sign_msg(shabuf, 32, signature, &outlen, &key);
|
||||||
wc_Sha256Free(&sha);
|
|
||||||
|
|
||||||
|
|
||||||
*(ptr++) = HDR_SHA256;
|
*(ptr++) = HDR_SHA256;
|
||||||
|
@ -186,7 +185,6 @@ int main(int argc, char *argv[])
|
||||||
*(ptr++) = HDR_PUBKEY;
|
*(ptr++) = HDR_PUBKEY;
|
||||||
*(ptr++) = SHA256_DIGEST_SIZE;
|
*(ptr++) = SHA256_DIGEST_SIZE;
|
||||||
memcpy(ptr, shabuf, SHA256_DIGEST_SIZE);
|
memcpy(ptr, shabuf, SHA256_DIGEST_SIZE);
|
||||||
wc_Sha256Free(&keyhash);
|
|
||||||
ptr += SHA256_DIGEST_SIZE;
|
ptr += SHA256_DIGEST_SIZE;
|
||||||
|
|
||||||
*(ptr++) = HDR_SIGNATURE;
|
*(ptr++) = HDR_SIGNATURE;
|
||||||
|
|
101
tools/test.mk
101
tools/test.mk
|
@ -5,31 +5,100 @@ $(EXPVER):
|
||||||
make -C tools/test-expect-version
|
make -C tools/test-expect-version
|
||||||
|
|
||||||
test-update: test-app/image.bin FORCE
|
test-update: test-app/image.bin FORCE
|
||||||
$(SIGN_TOOL) test-app/image.bin $(PRIVATE_KEY) $(TEST_UPDATE_VERSION) 131072
|
@$(SIGN_TOOL) test-app/image.bin $(PRIVATE_KEY) $(TEST_UPDATE_VERSION) 131072 >/dev/null
|
||||||
dd if=test-app/image.bin.v$(TEST_UPDATE_VERSION).signed of=test-update.bin bs=1 count=131067
|
@dd if=test-app/image.bin.v$(TEST_UPDATE_VERSION).signed of=test-update.bin bs=1 count=131067
|
||||||
printf "pBOOT" >> test-update.bin
|
@printf "pBOOT" >> test-update.bin
|
||||||
sudo st-term reset init || true
|
@make test-reset
|
||||||
sleep 2
|
@sleep 2
|
||||||
sudo st-flash --reset write test-update.bin 0x08040000
|
@sudo st-flash --reset write test-update.bin 0x08040000 || \
|
||||||
|
(make test-reset && sleep 1 && sudo st-flash --reset write test-update.bin 0x08040000) || \
|
||||||
|
(make test-reset && sleep 1 && sudo st-flash --reset write test-update.bin 0x08040000)
|
||||||
|
|
||||||
|
|
||||||
test-erase: FORCE
|
test-erase: FORCE
|
||||||
sudo st-term reset init || true
|
@echo Mass-erasing the internal flash:
|
||||||
sleep 2
|
@make test-reset
|
||||||
sudo st-flash erase
|
@sleep 2
|
||||||
|
@sudo st-flash erase
|
||||||
|
|
||||||
|
|
||||||
test-factory: factory.bin
|
test-factory: factory.bin
|
||||||
sudo st-term reset init || true
|
@make test-reset
|
||||||
sleep 2
|
@sleep 2
|
||||||
sudo st-flash --reset write factory.bin 0x08000000
|
@sudo st-flash --reset write factory.bin 0x08000000 || \
|
||||||
|
(make test-reset && sleep 1 && sudo st-flash --reset write factory.bin 0x08000000) || \
|
||||||
|
(make test-reset && sleep 1 && sudo st-flash --reset write factory.bin 0x08000000)
|
||||||
|
|
||||||
test-reset: FORCE
|
test-reset: FORCE
|
||||||
sudo st-info --reset || true
|
@sudo st-info --reset
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Test cases:
|
## Test cases:
|
||||||
|
|
||||||
test-00-forward-update: $(EXPVER) FORCE
|
test-01-forward-update-no-downgrade: $(EXPVER) FORCE
|
||||||
make test-factory
|
@echo Creating and uploading factory image...
|
||||||
$(EXPVER)
|
@make test-factory
|
||||||
|
@echo Expecting version '1'
|
||||||
|
@$$(test `$(EXPVER)` -eq 1)
|
||||||
|
@echo
|
||||||
|
@echo Creating and uploading update image...
|
||||||
|
@make test-update TEST_UPDATE_VERSION=4
|
||||||
|
@echo Expecting version '4'
|
||||||
|
@$$(test `$(EXPVER)` -eq 4)
|
||||||
|
@echo
|
||||||
|
@echo Creating and uploading update image...
|
||||||
|
@make test-update TEST_UPDATE_VERSION=1
|
||||||
|
@echo Expecting version '4'
|
||||||
|
@$$(test `$(EXPVER)` -eq 4)
|
||||||
|
@make clean
|
||||||
|
@echo TEST PASSED
|
||||||
|
|
||||||
|
test-02-forward-update-allow-downgrade: $(EXPVER) FORCE
|
||||||
|
@echo Creating and uploading factory image...
|
||||||
|
@make test-factory ALLOW_DOWNGRADE=1
|
||||||
|
@echo Expecting version '1'
|
||||||
|
@$$(test `$(EXPVER)` -eq 1)
|
||||||
|
@echo
|
||||||
|
@echo Creating and uploading update image...
|
||||||
|
@make test-update TEST_UPDATE_VERSION=4
|
||||||
|
@echo Expecting version '4'
|
||||||
|
@$$(test `$(EXPVER)` -eq 4)
|
||||||
|
@echo
|
||||||
|
@echo Creating and uploading update image...
|
||||||
|
@make test-update TEST_UPDATE_VERSION=2
|
||||||
|
@echo Expecting version '4'
|
||||||
|
@$$(test `$(EXPVER)` -eq 2)
|
||||||
|
@make clean
|
||||||
|
@echo TEST PASSED
|
||||||
|
|
||||||
|
test-03-rollback: $(EXPVER) FORCE
|
||||||
|
@echo Creating and uploading factory image...
|
||||||
|
@make test-factory ALLOW_DOWNGRADE=1
|
||||||
|
@echo Expecting version '1'
|
||||||
|
@$$(test `$(EXPVER)` -eq 1)
|
||||||
|
@echo
|
||||||
|
@echo Creating and uploading update image...
|
||||||
|
@make test-update TEST_UPDATE_VERSION=4
|
||||||
|
@echo Expecting version '4'
|
||||||
|
@$$(test `$(EXPVER)` -eq 4)
|
||||||
|
@echo
|
||||||
|
@echo Creating and uploading update image...
|
||||||
|
@make test-update TEST_UPDATE_VERSION=5
|
||||||
|
@echo Expecting version '5'
|
||||||
|
@$$(test `$(EXPVER)` -eq 5)
|
||||||
|
@echo
|
||||||
|
@echo Resetting to trigger rollback...
|
||||||
|
@make test-reset
|
||||||
|
@$$(test `$(EXPVER)` -eq 4)
|
||||||
|
@make clean
|
||||||
|
@echo TEST PASSED
|
||||||
|
|
||||||
|
test-11-forward-update-no-downgrade-ECC: $(EXPVER) FORCE
|
||||||
|
@make test-01-forward-update-no-downgrade SIGN=ECC256
|
||||||
|
|
||||||
|
test-13-rollback-ECC: $(EXPVER) FORCE
|
||||||
|
@make test-03-rollback SIGN=ECC256
|
||||||
|
|
||||||
|
|
||||||
|
test-all: clean test-01-forward-update-no-downgrade test-02-forward-update-allow-downgrade test-03-rollback test-11-forward-update-no-downgrade-ECC test-13-rollback-ECC
|
||||||
|
|
Loading…
Reference in New Issue