test: Add a test for command repeat

This performs a command, then repeats it, and checks that the repeat
happens.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2014-09-14 12:40:17 -06:00 committed by Tom Rini
parent 07b342783a
commit 129acd4c75
3 changed files with 52 additions and 17 deletions

29
test/cmd_repeat.sh Executable file
View file

@ -0,0 +1,29 @@
#!/bin/sh
# Test for U-Boot cli including command repeat
BASE="$(dirname $0)"
. $BASE/common.sh
run_test() {
./${OUTPUT_DIR}/u-boot <<END
setenv ctrlc_ignore y
md 0
reset
END
}
check_results() {
echo "Check results"
grep -q 00000100 ${tmp} || fail "Command did not repeat"
}
echo "Test CLI repeat"
echo
tmp="$(tempfile)"
build_uboot
run_test >${tmp}
check_results ${tmp}
rm ${tmp}
echo "Test passed"

20
test/common.sh Normal file
View file

@ -0,0 +1,20 @@
#!/bin/sh
OUTPUT_DIR=sandbox
fail() {
echo "Test failed: $1"
if [ -n ${tmp} ]; then
rm ${tmp}
fi
exit 1
}
build_uboot() {
echo "Build sandbox"
OPTS="O=${OUTPUT_DIR} $1"
NUM_CPUS=$(grep -c processor /proc/cpuinfo)
echo ${OPTS}
make ${OPTS} sandbox_config
make ${OPTS} -s -j${NUM_CPUS}
}

View file

@ -5,24 +5,10 @@
# Simple test script for tracing with sandbox
OUTPUT_DIR=sandbox
TRACE_OPT="FTRACE=1"
fail() {
echo "Test failed: $1"
if [ -n ${tmp} ]; then
rm ${tmp}
fi
exit 1
}
build_uboot() {
echo "Build sandbox"
OPTS="O=${OUTPUT_DIR} ${TRACE_OPT}"
NUM_CPUS=$(grep -c processor /proc/cpuinfo)
make ${OPTS} sandbox_config
make ${OPTS} -s -j${NUM_CPUS}
}
BASE="$(dirname $0)/.."
. $BASE/common.sh
run_trace() {
echo "Run trace"
@ -69,7 +55,7 @@ check_results() {
echo "Simple trace test / sanity check using sandbox"
echo
tmp="$(tempfile)"
build_uboot
build_uboot "${TRACE_OPT}"
run_trace >${tmp}
check_results ${tmp}
rm ${tmp}