blob: da8bf10bd3afdb63fe9c959f9eb0ee198f5b8911 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
#!/bin/bash
unset board
unset manual
while [[ "$1" != "" ]]
do
case "$1" in
"--board")
board="$2"
shift
shift
;;
"--manual")
manual="true"
shift
;;
esac
done
if [[ "$board" == "" ]]
then
echo "Specify a --board to test" >&2
exit 1
fi
if [[ "$manual" == "true" ]]
then
echo "You're running in manual test mode. Please connect a $board to continue..."
read -p "Press ENTER to continue"
fi
set -e
find software -mindepth 1 -maxdepth 2 -type d | cut -d/ -f2 | while read program
do
# Allow examples to specify the boards on which they won't run.
if test -f software/$program/.unsupported-boards
then
if grep -q $board software/$program/.unsupported-boards
then
continue
fi
fi
# Build the example.
make BOARD=$board PROGRAM=$program software
# We require user interaction in order to verify the tests succeed. If the
# user hasn't specified the manual flag then don't bother running the tests.
if [[ "$manual" == "true" ]]
then
echo "We're about to run $program on $board, waiting 10 seconds"
sleep 1s
echo "flashing $program"
make BOARD=$board PROGRAM=$program upload
echo "$program has been flashed to your $board, please test it. GDB will open in 2 seconds"
urxvt -hold -e make BOARD=$board PROGRAM=$program run_openocd &
sleep 2s
urxvt -hold -e make BOARD=$board PROGRAM=$program run_gdb
echo "Close the running OpenOCD"
wait
fi
done
if [[ "$manual" != "true" ]]
then
echo "You haven't actually verified the tests run, please don't release!" >&2
fi
|