# -*- makefile -*-

# For grub-shell
grub-shell: tests/util/grub-shell.in config.status
	./config.status --file=$@:$<
	chmod +x $@
check_SCRIPTS += grub-shell
CLEANFILES += grub-shell

# For grub-shell-tester
grub-shell-tester: tests/util/grub-shell-tester.in config.status
	./config.status --file=$@:$<
	chmod +x $@
check_SCRIPTS += grub-shell-tester
CLEANFILES += grub-shell-tester

pkglib_MODULES += functional_test.mod
functional_test_mod_SOURCES = tests/lib/functional_test.c tests/lib/test.c
functional_test_mod_CFLAGS  = $(COMMON_CFLAGS)
functional_test_mod_LDFLAGS = $(COMMON_LDFLAGS)

# Rules for unit tests
check_UTILITIES += example_unit_test
example_unit_test_SOURCES = tests/example_unit_test.c kern/list.c kern/misc.c tests/lib/test.c tests/lib/unit_test.c
example_unit_test_CFLAGS  = -Wno-format

# Rules for functional tests
pkglib_MODULES += example_functional_test.mod
example_functional_test_mod_SOURCES = tests/example_functional_test.c
example_functional_test_mod_CFLAGS  = -Wno-format $(COMMON_CFLAGS)
example_functional_test_mod_LDFLAGS = $(COMMON_LDFLAGS)

# Rules for scripted tests
check_SCRIPTS += example_scripted_test
example_scripted_test_SOURCES = tests/example_scripted_test.in

check_SCRIPTS += example_grub_script_test
example_grub_script_test_SOURCES = tests/example_grub_script_test.in


# List of tests to execute on "make check"
SCRIPTED_TESTS    = example_scripted_test
SCRIPTED_TESTS   += example_grub_script_test
UNIT_TESTS        = example_unit_test
FUNCTIONAL_TESTS  = example_functional_test.mod

# dependencies between tests and testing-tools
$(SCRIPTED_TESTS): grub-shell grub-shell-tester
$(FUNCTIONAL_TESTS): functional_test.mod

