# Makefile.am for texinfo/tp/tests.
# Copyright 2012-2019 Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# autogenerated list of scripts that only run one test, and lists of 
# list-of-tests files specifying the tests to run, by category of test.
include $(srcdir)/Makefile.onetst

$(srcdir)/Makefile.onetst: \
  ../maintain/regenerate_cmd_tests.sh $(test_driving_files_generated_list)
	cd $(srcdir) \
	&& $(SHELL) ../maintain/regenerate_cmd_tests.sh Makefile.onetst . \
	  -base '$(base_tests_dirs)' \
	  -tex_html '$(tex_html_tests_dirs)' \
	  -other '$(other_tests_dirs)'

base_tests_dirs = formatting sectioning indices nested_formats contents layout
tex_html_tests_dirs = tex_html
other_tests_dirs = other

DIST_SUBDIRS = many_input_files $(base_tests_dirs) $(tex_html_tests_dirs) $(other_tests_dirs)
SUBDIRS = . many_input_files

copy-tests:
	$(srcdir)/parser_tests.sh -copy $(base_tests_dirs)
	cd many_input_files && $(MAKE) copy-tests

copy-tex-html:
	$(srcdir)/parser_tests.sh -copy $(tex_html_tests_dirs)
	cd many_input_files && $(MAKE) copy-tex-html

copy-other-tests:
	$(srcdir)/parser_tests.sh -copy $(other_tests_dirs)

clean-tests:
	$(srcdir)/parser_tests.sh -clean $(base_tests_dirs) $(tex_html_tests_dirs) $(other_tests_dirs)

TESTS = $(one_test_files_generated_list)

AM_TESTS_ENVIRONMENT = srcdir="$(srcdir)"; export srcdir; top_srcdir="$(top_srcdir)"; export top_srcdir; builddir="$(builddir)"; export buildir; top_builddir="$(top_builddir)"; export top_builddir;

all-checks all-check: all
	$(MAKE) $(AM_MAKEFLAGS) check TEX_HTML_TESTS=yes OTHER_TESTS=yes

# need to set SUBDIRS= otherwise the recursion in many_input_files
# tries to run the tests in TESTS which do not exist in many_input_files.
# The recursion is explicitly done after.
tex-html-checks tex-html-check: all
	$(MAKE) $(AM_MAKEFLAGS) check TEX_HTML_TESTS=yes TESTS='$(type_tex_html_one_test_files_generated_list)' SUBDIRS=
	cd many_input_files && $(MAKE) $(AM_MAKEFLAGS) check TEX_HTML_TESTS=yes

# type_other_one_test_files_generated_list is automatically defined in
# Makefile.onetst
other-checks: all
	$(MAKE) $(AM_MAKEFLAGS) check OTHER_TESTS=yes TESTS='$(type_other_one_test_files_generated_list)' SUBDIRS=

check_DATA = input_file_names_recoded_stamp.txt

input_file_names_recoded_stamp.txt: $(srcdir)/input/included_latin1.texi
	if $(PERL) $(srcdir)/../maintain/copy_change_file_name_encoding.pl $(srcdir)/input/included_latin1.texi . ; then echo 'OK' > $@ ; else echo 'FAILED' > $@ ; fi

distclean-local:
	rm -f input_file_names_recoded_stamp.txt included_lat*n1.texi

EXTRA_DIST = run_parser_all.sh parser_tests.sh \
 $(one_test_files_generated_list) coverage_macro.texi included_akçentêd.texi \
 input/included_latin1.texi
