#!/bin/bash
# Crash-capture test on the dracut-generated capture initramfs (the dracut
# counterpart to crash+makedumpfile). Builds via dracut, asserts the initrd
# carries the 50kdump-tools hook, then panics and checks a compressed dump is saved.

TEST_NAME="crash-dracut"
# shellcheck source=debian/tests/kdump-test-lib.sh
. "$(dirname "$0")/kdump-test-lib.sh"

case "$AUTOPKGTEST_REBOOT_MARK" in
	"")
		command -v dracut > /dev/null 2>&1 || error "dracut not installed"
		report "building the capture initrd with dracut"
		set_default KDUMP_INITRD_GENERATOR dracut
		rebuild_capture_initrd
		assert_dracut_capture_initrd
		assert_size_hint
		report "rebooting to have crashkernel on cmdline"
		/tmp/autopkgtest-reboot crashkernel
		;;
	crashkernel)
		assert_dracut_capture_initrd
		assert_kdump_ready_then_crash
		;;
	crash)
		verify_dump_in_var_crash
		;;
esac
