diff Makefile.am @ 383:d18843ff4dfd

Rewrite the test suite to run Octave-style built-in tests * Makefile.am (M_FILES): New declaration. (TST_FILES): New derived declaration. (%.cc-tst): New rule to generate test scripts from compiled sources. (check-local): Call __py_tests__.m script file to run test suite. (CLEANFILES): Include fntests.log and *-tst. * __py_tests__.m: New script file to run built-in tests. * .hgignore: Include fntests.log and *.cc-tst.
author Mike Miller <mtmiller@octave.org>
date Sun, 02 Apr 2017 11:20:53 -0700
parents eec3ed1c0578
children 132fec49e438
line wrap: on
line diff
--- a/Makefile.am	Sun Apr 02 10:06:42 2017 -0700
+++ b/Makefile.am	Sun Apr 02 11:20:53 2017 -0700
@@ -39,6 +39,22 @@
   INSTALL.md \
   README.md
 
+M_FILES = \
+  @py/py.m \
+  @py/subsref.m \
+  @pyobject/cell.m \
+  @pyobject/char.m \
+  @pyobject/display.m \
+  @pyobject/dummy.m \
+  @pyobject/fieldnames.m \
+  @pyobject/methods.m \
+  @pyobject/pyobject.m \
+  @pyobject/subsasgn.m \
+  @pyobject/subsref.m \
+  __py_tests__.m \
+  pyargs.m \
+  pyversion.m
+
 OCT_FILES = \
   __py_struct_from_dict__.oct \
   pycall.oct \
@@ -63,6 +79,8 @@
   test/exceptions.py \
   test/test.py
 
+TST_FILES = $(addsuffix -tst,$(OCT_SOURCE_FILES))
+
 EXTRA_DIST = $(DOC_FILES) $(OCT_SOURCE_FILES) $(PY_FILES)
 
 EXTRA_libdir = $(PYTAVE_MODULE_INSTALL_PATH)
@@ -77,7 +95,7 @@
 libpytave_la_CPPFLAGS = $(AM_CPPFLAGS)
 libpytave_la_SOURCES = $(COMMON_SOURCE_FILES) $(PYTAVE_HEADER_FILES)
 
-CLEANFILES = *.oct PKG_ADD PKG_DEL
+CLEANFILES = *.oct *-tst PKG_ADD PKG_DEL fntests.log
 SUFFIXES = .oct
 
 AM_V_MKOCTFILE = $(am__v_MKOCTFILE_$(V))
@@ -93,6 +111,13 @@
 %.oct: %.cc libpytave.la $(PYTAVE_HEADER_FILES)
 	$(AM_V_MKOCTFILE)$(OCT_LINK) $< $(OCT_LIBS)
 
+%.cc-tst: %.cc
+	$(AM_V_GEN)rm -f $@-t $@ && \
+	( echo "## DO NOT EDIT!  Generated automatically from $(<F) by Make."; \
+	  $(GREP) '^%!' $< \
+	) > $@-t && \
+	mv $@-t $@
+
 PKG_ADD: $(OCT_SOURCE_FILES)
 	$(AM_V_GEN)for f in $(OCT_SOURCE_FILES); do \
 	  b=$${f%.cc}; \
@@ -127,6 +152,5 @@
 	@echo "    PYTHONPATH=\"\$$(pwd)/.libs:\$$(pwd)/package\" python"
 	@echo ""
 
-check-local:
-	PYTHONPATH="$(abs_srcdir)/package:$$(pwd)/package:$$(pwd)/.libs" $(PYTHON) $(srcdir)/test/exceptions.py
-	PYTHONPATH="$(abs_srcdir)/package:$$(pwd)/package:$$(pwd)/.libs" $(PYTHON) $(srcdir)/test/test.py
+check-local: $(M_FILES) $(TST_FILES)
+	octave-cli --path="$(abs_builddir)" --path="$(abs_srcdir)" __py_tests__.m $(M_FILES) $(TST_FILES)