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 | |
Nico Huber | 3d2f212 | 2024-04-21 21:54:15 +0200 | [diff] [blame^] | 25 | if [ "${MAKECMD=make}" ]; then |
| 26 | ${MAKECMD} clean |
| 27 | eval ${MAKECMD} -j${CPUS:-$(nproc)} CC="\"${CC:-ccache cc}\"" ${MAKEARGS-CONFIG_EVERYTHING=yes} |
| 28 | test_prog ./flashprog |
| 29 | fi |
Nico Huber | 4eb9748 | 2024-04-21 21:44:33 +0200 | [diff] [blame] | 30 | |
Nico Huber | 3d2f212 | 2024-04-21 21:54:15 +0200 | [diff] [blame^] | 31 | if [ "${MESONCMD=meson}" ]; then |
| 32 | eval ${MESONCMD} setup ${MESONARGS--D programmer=all --buildtype release} "${TEMP_DIR}/build" |
| 33 | ninja ${CPUS:+-j${CPUS}} -C "${TEMP_DIR}/build" |
| 34 | test_prog "${TEMP_DIR}/build/flashprog" |
| 35 | fi |