tests: add test command file tests
This requires access to files in both host and grub image, so implementing as separate test unit instead of script test was more easy.
This commit is contained in:
parent
f153fcb5a5
commit
1e047e53ae
2 changed files with 73 additions and 0 deletions
|
@ -1156,6 +1156,12 @@ script = {
|
|||
common = tests/file_filter_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_cmd_test;
|
||||
common = tests/grub_cmd_test.in;
|
||||
};
|
||||
|
||||
program = {
|
||||
testcase;
|
||||
name = example_unit_test;
|
||||
|
|
67
tests/grub_cmd_test.in
Normal file
67
tests/grub_cmd_test.in
Normal file
|
@ -0,0 +1,67 @@
|
|||
#! /bin/bash
|
||||
|
||||
# create a randome file
|
||||
empty="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
|
||||
non_empty="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
|
||||
cat >$non_empty <<EOF
|
||||
hello world!
|
||||
EOF
|
||||
|
||||
. "@builddir@/grub-core/modinfo.sh"
|
||||
|
||||
if [ x"${grub_modinfo_platform}" = xemu ]; then
|
||||
grub_empty="(host)$empty"
|
||||
grub_non_empty="(host)$non_empty"
|
||||
grub_dir="(host)${TMPDIR:-/tmp}"
|
||||
else
|
||||
grub_empty="/boot/empty"
|
||||
grub_non_empty="/boot/non_empty"
|
||||
grub_dir="/boot/grub"
|
||||
fi
|
||||
|
||||
|
||||
outfile="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
|
||||
@builddir@/grub-shell --files=$grub_empty=$empty --files=$grub_non_empty=$non_empty>$outfile <<EOF
|
||||
if ! test -f $grub_empty; then
|
||||
echo FAIL1
|
||||
fi
|
||||
if ! test -e $grub_empty; then
|
||||
echo FAIL2
|
||||
fi
|
||||
if test -d $grub_empty; then
|
||||
echo FAIL3
|
||||
fi
|
||||
if ! test -d $grub_dir; then
|
||||
echo FAIL4
|
||||
fi
|
||||
if test -s $grub_empty; then
|
||||
echo FAIL5
|
||||
fi
|
||||
if ! test -s $grub_non_empty; then
|
||||
echo FAIL6
|
||||
fi
|
||||
if test -f $grub_empty -a foo = bar; then
|
||||
echo FAIL7
|
||||
fi
|
||||
if test -e $grub_empty -a foo = bar; then
|
||||
echo FAIL8
|
||||
fi
|
||||
if test -s $grub_non_empty -a foo = bar; then
|
||||
echo FAIL9
|
||||
fi
|
||||
if test -d $grub_dir -a foo = bar; then
|
||||
echo FAIL10
|
||||
fi
|
||||
|
||||
EOF
|
||||
|
||||
rm -f "$empty" "$non_empty"
|
||||
|
||||
if grep FAIL "$outfile" > /dev/null 2>&1; then
|
||||
echo "GRUB test command file tests failed."
|
||||
cat "$outfile"
|
||||
exit 1
|
||||
else
|
||||
rm -f "${outfile}"
|
||||
exit 0
|
||||
fi
|
Loading…
Reference in a new issue