Patrick Georgi | 5ac6a63 | 2020-10-28 17:29:38 +0100 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | set -e |
| 3 | |
Nico Huber | 819ba50 | 2023-03-07 22:59:01 +0000 | [diff] [blame] | 4 | TEMP_DIR=$(mktemp -d) |
| 5 | trap "rm -rf ${TEMP_DIR}" EXIT |
| 6 | |
Nico Huber | 4eb9748 | 2024-04-21 21:44:33 +0200 | [diff] [blame^] | 7 | dd bs=$((128*1024)) count=1 </dev/urandom >"${TEMP_DIR}/rand" |
| 8 | dd bs=$((128*1024)) count=1 </dev/urandom >"${TEMP_DIR}/rand2" |
| 9 | dd bs=$((128*1024)) count=1 </dev/zero | tr '\000' '\377' >"${TEMP_DIR}/empty" |
Nico Huber | 819ba50 | 2023-03-07 22:59:01 +0000 | [diff] [blame] | 10 | |
Nico Huber | 4eb9748 | 2024-04-21 21:44:33 +0200 | [diff] [blame^] | 11 | test_prog() { |
| 12 | prog="$1" |
Nico Huber | 819ba50 | 2023-03-07 22:59:01 +0000 | [diff] [blame] | 13 | |
Nico Huber | 4eb9748 | 2024-04-21 21:44:33 +0200 | [diff] [blame^] | 14 | "${prog}" -p dummy:emulate=M25P10.RES,image="${TEMP_DIR}/image" -w "${TEMP_DIR}/rand" |
| 15 | "${prog}" -p dummy:emulate=M25P10.RES,image="${TEMP_DIR}/image" -r "${TEMP_DIR}/bak" |
| 16 | cmp "${TEMP_DIR}/rand" "${TEMP_DIR}/bak" |
Nico Huber | 7a48031 | 2023-04-10 14:54:22 +0200 | [diff] [blame] | 17 | |
Nico Huber | 4eb9748 | 2024-04-21 21:44:33 +0200 | [diff] [blame^] | 18 | "${prog}" -p dummy:emulate=M25P10.RES,image="${TEMP_DIR}/image" -c M25P10 -w "${TEMP_DIR}/rand2" |
| 19 | "${prog}" -p dummy:emulate=M25P10.RES,image="${TEMP_DIR}/image" -c M25P10 -v "${TEMP_DIR}/rand2" |
| 20 | |
| 21 | "${prog}" -p dummy:emulate=M25P10.RES,image="${TEMP_DIR}/image" -c M25P10 -E |
| 22 | "${prog}" -p dummy:emulate=M25P10.RES,image="${TEMP_DIR}/image" -c M25P10 -v "${TEMP_DIR}/empty" |
| 23 | } |
| 24 | |
| 25 | ${MAKECMD:-make} clean |
| 26 | ${MAKECMD:-make} -j${CPUS:-$(nproc)} CC="${CC:-ccache cc}" CONFIG_EVERYTHING=yes |
| 27 | test_prog ./flashprog |
| 28 | |
| 29 | ${MESONCMD:-meson} setup --buildtype release "${TEMP_DIR}/build" |
| 30 | ninja ${CPUS:+-j${CPUS}} -C "${TEMP_DIR}/build" |
| 31 | test_prog "${TEMP_DIR}/build/flashprog" |