summaryrefslogtreecommitdiffstats
path: root/tests/grub_cmd_set_date.in
blob: aac120a6c52731649678549d34372af14fef52d9 (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
#! @BUILD_SHEBANG@
set -e

. "@builddir@/grub-core/modinfo.sh"

case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in
    # FIXME: OpenBIOS on sparc64 doesn't implement RTC
    sparc64-ieee1275)
	exit 0;;
    # PLATFORM: ARC doesn't provide any way to set time
    *-arc)
	exit 0;;
    # PLATFORM: EMU doesn't provide any way to set time
    # Even if it did we'd need some kind of sandbox to avoid
    # modifying real system time.
    *-emu)
	exit 0;;
esac

out=$(cat <<EOF | @builddir@/grub-shell
insmod datehook
date
if [ \$YEAR = 2004 -a \$MONTH = 4 -a \$DAY = 4 -a \$HOUR = 20 -a \$MINUTE = 47 ]; then
  hello
  halt
fi
date 2004-04-04 20:47:00
reboot
EOF
)

if [ "$(echo "$out" | tail -n 1)" != "Hello World" ]; then
  echo "Test failed: $out"
  exit 1
fi