comparison build-aux/common.mk @ 16019:5b2126a8c84f

install tests and functions to run them * configure.ac (octtestsdir): New variable. * build-aux/common.mk (octtestsdir): New variable. (do_subst_default_vals): Substitute it. (test-file-commands): New macro. (%.cc-tst:%.cc, %.yy-tst:%.yy, %.ll-tst:%.ll): New rules. * libinterp/Makefile.am (TST_FILES_SRC, TST_FILES, libinterptestsdir, nobase_libinterptests_DATA): New variables. * defaults.in.h (OCTAVE_OCTTESTSDIR): New macro. * liboctave/Makefile.am (LIBOCTAVE_TST_SRC, TST_FILES_SRC, TST_FILES, liboctavetestsdir, nobase_liboctavetests_DATA): New variables. * toplev.cc (Foctave_config_info): Include octtestsdir in the struct. * fntests.m: Look in topbuilddir for C++ test files. * __run_test_suite__.m: New function, extracted from test/fntests.m. Look for -tst files, not .cc files. Don't report -tst files that are missing tests (there won't be any). * __prog_output_assert__.m, __printf_assert__.m: New functions, extracted from __run_test_suite__.m and renamed from prog_output_assert and printf_assert. Change all uses. * scripts/testfun/module.mk (testfun_FCN_FILES): Include new files in the list. * test/Makefile.am (GENERATED_BC_OVERLOADS_DIRS, GENERATED_BC_OVERLOADS_FILES, fixedtestsdir, nobase_fixedtests_DATA): New variables. (CLEANFILES): Include $(GENERATED_BC_OVERRLOADS_FILES) in the list. (clean-local): Use $(GENERATED_BC_OVERLOADS_DIRS). * build_bc_overload_tests.sh: New options, --list-files, --list-dirs, and --list-classes. * test/classes/module.mk (classes_FCN_FILES): Include recently added .m files in the list. * test.m: Use "var" argument for exist in tests.
author John W. Eaton <jwe@octave.org>
date Fri, 08 Feb 2013 16:53:14 -0500
parents e27d9b9b71f4
children b309a5da17f5
comparison
equal deleted inserted replaced
16018:e0df71fbe39b 16019:5b2126a8c84f
360 # Where to install Octave's man pages, and what extension they should 360 # Where to install Octave's man pages, and what extension they should
361 # have. The default is ${prefix}/man/man1 361 # have. The default is ${prefix}/man/man1
362 mandir = @mandir@ 362 mandir = @mandir@
363 man1dir = @man1dir@ 363 man1dir = @man1dir@
364 man1ext = @man1ext@ 364 man1ext = @man1ext@
365
366 # Where to install test files.
367 octtestsdir = @octtestsdir@
365 368
366 # The full path to the default doc cache file. 369 # The full path to the default doc cache file.
367 doc_cache_file = @doc_cache_file@ 370 doc_cache_file = @doc_cache_file@
368 371
369 # The full path to the default texi macros file. 372 # The full path to the default texi macros file.
675 -e "s|%OCTAVE_OCTFILEDIR%|\"${octfiledir}\"|" \ 678 -e "s|%OCTAVE_OCTFILEDIR%|\"${octfiledir}\"|" \
676 -e "s|%OCTAVE_OCTETCDIR%|\"${octetcdir}\"|" \ 679 -e "s|%OCTAVE_OCTETCDIR%|\"${octetcdir}\"|" \
677 -e "s|%OCTAVE_OCTINCLUDEDIR%|\"${octincludedir}\"|" \ 680 -e "s|%OCTAVE_OCTINCLUDEDIR%|\"${octincludedir}\"|" \
678 -e "s|%OCTAVE_OCTLIBDIR%|\"${octlibdir}\"|" \ 681 -e "s|%OCTAVE_OCTLIBDIR%|\"${octlibdir}\"|" \
679 -e "s|%OCTAVE_OCTLOCALEDIR%|\"${octlocaledir}\"|" \ 682 -e "s|%OCTAVE_OCTLOCALEDIR%|\"${octlocaledir}\"|" \
683 -e "s|%OCTAVE_OCTTESTSDIR%|\"${octtestsdir}\"|" \
680 -e "s|%OCTAVE_STARTUPFILEDIR%|\"${startupfiledir}\"|" \ 684 -e "s|%OCTAVE_STARTUPFILEDIR%|\"${startupfiledir}\"|" \
681 -e "s|%OCTAVE_PREFIX%|\"${prefix}\"|" \ 685 -e "s|%OCTAVE_PREFIX%|\"${prefix}\"|" \
682 -e "s|%OCTAVE_API_VERSION%|\"${api_version}\"|" \ 686 -e "s|%OCTAVE_API_VERSION%|\"${api_version}\"|" \
683 -e "s|%OCTAVE_RELEASE%|\"${OCTAVE_RELEASE}\"|" \ 687 -e "s|%OCTAVE_RELEASE%|\"${OCTAVE_RELEASE}\"|" \
684 -e "s|%OCTAVE_TEXI_MACROS_FILE%|\"${texi_macros_file}\"|" \ 688 -e "s|%OCTAVE_TEXI_MACROS_FILE%|\"${texi_macros_file}\"|" \
723 do rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/$$f; \ 727 do rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/$$f; \
724 done 728 done
725 rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD 729 rm -f $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)/PKG_ADD
726 -rmdir $(DESTDIR)$(fcnfiledir)/$(script_sub_dir) 730 -rmdir $(DESTDIR)$(fcnfiledir)/$(script_sub_dir)
727 endef 731 endef
732
733 define test-file-commands
734 ( echo "## DO NOT EDIT! Generated automatically from $(<F) by Make."; grep '^%!' $< ) > $@-t
735 mv $@-t $@
736 endef
737
738 %.cc-tst : %.cc
739 $(test-file-commands)
740
741 %.yy-tst : %.yy
742 $(test-file-commands)
743
744 %.ll-tst : %.ll
745 $(test-file-commands)