summaryrefslogtreecommitdiffstats
path: root/tests/grub_func_test.in
diff options
context:
space:
mode:
Diffstat (limited to 'tests/grub_func_test.in')
-rw-r--r--tests/grub_func_test.in21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/grub_func_test.in b/tests/grub_func_test.in
new file mode 100644
index 0000000..c67f9e4
--- /dev/null
+++ b/tests/grub_func_test.in
@@ -0,0 +1,21 @@
+#! @BUILD_SHEBANG@
+set -e
+
+. "@builddir@/grub-core/modinfo.sh"
+
+case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
+ # PLATFORM: Max RAM is 256M
+ mips-qemu_mips | mipsel-qemu_mips)
+ mem=256M;;
+ *)
+ mem=512M;;
+esac
+
+# Increase memory as some of tests are high-resolution and need a lot of memory.
+out=`echo all_functional_test | @builddir@/grub-shell --timeout=3600 --files="/boot/grub/fonts/unicode.pf2"="@builddir@/"unicode.pf2 --qemu-opts="-m $mem"`
+
+if [ "$(echo "$out" | tail -n 1)" != "ALL TESTS PASSED" ]; then
+ echo "Functional test failure: $out"
+ exit 1
+fi
+