diff options
Diffstat (limited to '')
-rw-r--r-- | tests/test_sha512sum.in | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/test_sha512sum.in b/tests/test_sha512sum.in new file mode 100644 index 0000000..027092a --- /dev/null +++ b/tests/test_sha512sum.in @@ -0,0 +1,36 @@ +#! @BUILD_SHEBANG@ + +# create a randome file +file="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1 +cat >$file <<EOF +hello world! +EOF + +. "@builddir@/grub-core/modinfo.sh" + +if [ x"${grub_modinfo_platform}" = xemu ]; then + grub_file="(host)$file" +else + grub_file="/boot/grub/file" +fi + + +outfile1="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1 +@builddir@/grub-shell --files=/boot/grub/file=$file >$outfile1 <<EOF +sha512sum $grub_file +EOF + +outfile2="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1 +sha512sum $file >$outfile2 + +SHA1=`cat $outfile1 | tr -d '\n' | cut -f1 -d\ ` +SHA2=`cat $outfile2 | cut -f1 -d\ ` + +if test "$SHA1" = "$SHA2"; then + rm -f ${outfile1} ${outfile2} + exit 0 +else + echo "GRUB sha512sum output did not match sha512sum output." + echo "See diff -u ${outfile1} ${outfile2}" + exit 1 +fi |