From 694d936c99cca90e87e19495c7bbc891221185b2 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Thu, 12 Sep 2019 11:44:56 +0100 Subject: [PATCH] Add unit test for rpi-eeprom-config Add a basic unit test to verify that rpi-eeprom-config updates the EEPROM image as expected (only the config + header updated). --- test/bootconf-2019-05-10.txt | 2 + test/bootconf-2019-07-15-freeze.txt | 16 ++++++ test/bootconf-2019-07-15.txt | 16 ++++++ test/pieeprom-2019-07-15-freeze.bin | Bin 0 -> 524288 bytes test/test-rpi-eeprom-config | 75 ++++++++++++++++++++++++++++ 5 files changed, 109 insertions(+) create mode 100644 test/bootconf-2019-05-10.txt create mode 100644 test/bootconf-2019-07-15-freeze.txt create mode 100644 test/bootconf-2019-07-15.txt create mode 100644 test/pieeprom-2019-07-15-freeze.bin create mode 100755 test/test-rpi-eeprom-config diff --git a/test/bootconf-2019-05-10.txt b/test/bootconf-2019-05-10.txt new file mode 100644 index 0000000..2f9f956 --- /dev/null +++ b/test/bootconf-2019-05-10.txt @@ -0,0 +1,2 @@ +BOOT_UART=0 +WAKE_ON_GPIO=0 diff --git a/test/bootconf-2019-07-15-freeze.txt b/test/bootconf-2019-07-15-freeze.txt new file mode 100644 index 0000000..db43a54 --- /dev/null +++ b/test/bootconf-2019-07-15-freeze.txt @@ -0,0 +1,16 @@ +BOOT_UART=0 +WAKE_ON_GPIO=1 +POWER_OFF_ON_HALT=0 +FREEZE_VERSION=1 + + + + + + + + + + + + diff --git a/test/bootconf-2019-07-15.txt b/test/bootconf-2019-07-15.txt new file mode 100644 index 0000000..8cf72d5 --- /dev/null +++ b/test/bootconf-2019-07-15.txt @@ -0,0 +1,16 @@ +BOOT_UART=0 +WAKE_ON_GPIO=1 +POWER_OFF_ON_HALT=0 + + + + + + + + + + + + + diff --git a/test/pieeprom-2019-07-15-freeze.bin b/test/pieeprom-2019-07-15-freeze.bin new file mode 100644 index 0000000000000000000000000000000000000000..cc791ee56da7194cf3018d34d65948c28aa1690b GIT binary patch literal 524288 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%0Dlih%kY$oQS`Zk399N%Jd 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 z z`TCoQjr{Ad-`OnmsNc+fXCEN^zh%F(nimhh-`S+}`N@=t)o1Vz0=6= zrQ_3ZDkD#(3_6GQ+cB{$3P)>Sy+7Hnbu+#Bo#%86ve# zn~!l^n+f4AjLRC_FXFD@Z#91z{$7f66|f5Z&jd{1Kb63*sz&0X1@ps2ix#vlT5#^P zMf2v&oH2d+w4TEJ`766FUpBAMbJY~Y4ACMiG#0}0cTQ`Y{`Qu(>F0++p{wxjd8<~g zT6KPySD1%8Ai7w1&%E>T>cVT4+|pruFW2Kmm{lv~*1h;yj@MMYR^di(urRfg8+^2L zQP1Vedak^(dr?;>;)Ip?K_{Rk#@>G=JtR`L1)iNy|nt1&%6EFc2FaZ-V0TVERUpfNwMl^kV z>*Xtkj-2pY@0+sp{cTIP9{c+r+V=8KLO25X1phMu6EFc2FaZ-V0TVC*6EFc2FaZV@SN3$QyyDW+dsg?TL!xEQoCS+MG;Q93vzta;H0`_@i{@OgXx7|w z=bU}UsJU}4nlW$DoS8G_*EVgog3O#ZW5&fZ7F{@F-u!dtTyXXog@4z-QU9*1Uv;r> z_bMcB*u(7JFsfGt{Kc~S#on#(%G-_lRV%j~UlT9^6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* z6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2 zFaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V z0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC*6EFc2FaZ-V0TVC* R6EFc2FaZ-Vf!_=Q{~Kk`eK7z4 literal 0 HcmV?d00001 diff --git a/test/test-rpi-eeprom-config b/test/test-rpi-eeprom-config new file mode 100755 index 0000000..309b991 --- /dev/null +++ b/test/test-rpi-eeprom-config @@ -0,0 +1,75 @@ +#!/bin/sh + +set -e + +script_dir="$(cd "$(dirname "$0")" && pwd)" +die() { + echo "$@" >&2 + exit 1 +} + +TMP_CONFIG="" +TMP_EEPROM="" +cleanup() { + rm -f "${TMP_CONFIG}" -f "${TMP_EEPROM}" + TMP_CONFIG="" + TMP_EEPROM="" +} +trap cleanup EXIT + +check_loopback() +{ + echo "check_update $1 $2" + + image="${script_dir}/$1" + conf="${script_dir}/$2" + + # Check that the production config file can be read correctly + expected_md5="$(md5sum "${conf}" | awk '{print $1}')" + actual_md5="$("${script_dir}/../rpi-eeprom-config" "${image}" | md5sum | awk '{print $1}')" + [ "${actual_md5}" = "${expected_md5}" ] || die "Config-read: checksum mismatch" + + # Check that overwriting the config section produces an identical binary + TMP_EEPROM=$(mktemp) + "${script_dir}/../rpi-eeprom-config" \ + "${image}" \ + --config "${conf}" \ + --out "${TMP_EEPROM}" + + expected_md5="$(md5sum "${image}" | awk '{print $1}')" + actual_md5="$(md5sum "${TMP_EEPROM}" | awk '{print $1}')" + [ "${actual_md5}" = "${expected_md5}" ] || die "EEPROM loopback: checksum mismatch" +} + +# Update the EEPROM with a new config and check the expected image is produced +check_update() +{ + echo "check_update $1 $2 $3" + + image="${script_dir}/$1" + ref_image="${script_dir}/$2" + conf="${script_dir}/$3" + + expected_md5="$(md5sum "${ref_image}" | awk '{print $1}')" + + TMP_EEPROM="$(mktemp)" + "${script_dir}/../rpi-eeprom-config" \ + "${image}" \ + --config "${conf}" \ + --out "${TMP_EEPROM}" + + actual_md5="$(md5sum "${TMP_EEPROM}" | awk '{print $1}')" + if [ "${actual_md5}" != "${expected_md5}" ]; then + hexdump -C "${TMP_EEPROM}" > "tmp.hex" + die "EEPROM update: checksum mismatch" + fi +} + +check_loopback "../firmware/critical/pieeprom-2019-05-10.bin" "bootconf-2019-05-10.txt" +cleanup + +check_loopback "../firmware/critical/pieeprom-2019-07-15.bin" "bootconf-2019-07-15.txt" +cleanup + +check_update "../firmware/critical/pieeprom-2019-07-15.bin" "pieeprom-2019-07-15-freeze.bin" "bootconf-2019-07-15-freeze.txt" +cleanup