Mercurial > pytave
comparison 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 |
comparison
equal
deleted
inserted
replaced
382:d36f06f07082 | 383:d18843ff4dfd |
---|---|
37 | 37 |
38 DOC_FILES = \ | 38 DOC_FILES = \ |
39 INSTALL.md \ | 39 INSTALL.md \ |
40 README.md | 40 README.md |
41 | 41 |
42 M_FILES = \ | |
43 @py/py.m \ | |
44 @py/subsref.m \ | |
45 @pyobject/cell.m \ | |
46 @pyobject/char.m \ | |
47 @pyobject/display.m \ | |
48 @pyobject/dummy.m \ | |
49 @pyobject/fieldnames.m \ | |
50 @pyobject/methods.m \ | |
51 @pyobject/pyobject.m \ | |
52 @pyobject/subsasgn.m \ | |
53 @pyobject/subsref.m \ | |
54 __py_tests__.m \ | |
55 pyargs.m \ | |
56 pyversion.m | |
57 | |
42 OCT_FILES = \ | 58 OCT_FILES = \ |
43 __py_struct_from_dict__.oct \ | 59 __py_struct_from_dict__.oct \ |
44 pycall.oct \ | 60 pycall.oct \ |
45 pyeval.oct \ | 61 pyeval.oct \ |
46 pyexec.oct | 62 pyexec.oct |
61 package/__init__.py \ | 77 package/__init__.py \ |
62 package/pytave.py \ | 78 package/pytave.py \ |
63 test/exceptions.py \ | 79 test/exceptions.py \ |
64 test/test.py | 80 test/test.py |
65 | 81 |
82 TST_FILES = $(addsuffix -tst,$(OCT_SOURCE_FILES)) | |
83 | |
66 EXTRA_DIST = $(DOC_FILES) $(OCT_SOURCE_FILES) $(PY_FILES) | 84 EXTRA_DIST = $(DOC_FILES) $(OCT_SOURCE_FILES) $(PY_FILES) |
67 | 85 |
68 EXTRA_libdir = $(PYTAVE_MODULE_INSTALL_PATH) | 86 EXTRA_libdir = $(PYTAVE_MODULE_INSTALL_PATH) |
69 EXTRA_lib_LTLIBRARIES = _pytave.la | 87 EXTRA_lib_LTLIBRARIES = _pytave.la |
70 | 88 |
75 | 93 |
76 noinst_LTLIBRARIES = libpytave.la | 94 noinst_LTLIBRARIES = libpytave.la |
77 libpytave_la_CPPFLAGS = $(AM_CPPFLAGS) | 95 libpytave_la_CPPFLAGS = $(AM_CPPFLAGS) |
78 libpytave_la_SOURCES = $(COMMON_SOURCE_FILES) $(PYTAVE_HEADER_FILES) | 96 libpytave_la_SOURCES = $(COMMON_SOURCE_FILES) $(PYTAVE_HEADER_FILES) |
79 | 97 |
80 CLEANFILES = *.oct PKG_ADD PKG_DEL | 98 CLEANFILES = *.oct *-tst PKG_ADD PKG_DEL fntests.log |
81 SUFFIXES = .oct | 99 SUFFIXES = .oct |
82 | 100 |
83 AM_V_MKOCTFILE = $(am__v_MKOCTFILE_$(V)) | 101 AM_V_MKOCTFILE = $(am__v_MKOCTFILE_$(V)) |
84 am__v_MKOCTFILE_ = $(am__v_MKOCTFILE_$(AM_DEFAULT_VERBOSITY)) | 102 am__v_MKOCTFILE_ = $(am__v_MKOCTFILE_$(AM_DEFAULT_VERBOSITY)) |
85 am__v_MKOCTFILE_0 = @echo " MKOCTFIL" $@; | 103 am__v_MKOCTFILE_0 = @echo " MKOCTFIL" $@; |
90 --mode=link $(MKOCTFILE) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ | 108 --mode=link $(MKOCTFILE) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ |
91 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ | 109 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ |
92 | 110 |
93 %.oct: %.cc libpytave.la $(PYTAVE_HEADER_FILES) | 111 %.oct: %.cc libpytave.la $(PYTAVE_HEADER_FILES) |
94 $(AM_V_MKOCTFILE)$(OCT_LINK) $< $(OCT_LIBS) | 112 $(AM_V_MKOCTFILE)$(OCT_LINK) $< $(OCT_LIBS) |
113 | |
114 %.cc-tst: %.cc | |
115 $(AM_V_GEN)rm -f $@-t $@ && \ | |
116 ( echo "## DO NOT EDIT! Generated automatically from $(<F) by Make."; \ | |
117 $(GREP) '^%!' $< \ | |
118 ) > $@-t && \ | |
119 mv $@-t $@ | |
95 | 120 |
96 PKG_ADD: $(OCT_SOURCE_FILES) | 121 PKG_ADD: $(OCT_SOURCE_FILES) |
97 $(AM_V_GEN)for f in $(OCT_SOURCE_FILES); do \ | 122 $(AM_V_GEN)for f in $(OCT_SOURCE_FILES); do \ |
98 b=$${f%.cc}; \ | 123 b=$${f%.cc}; \ |
99 funcs=`$(SED) -n 's/^DEFUN.*(\(\w\+\),.*/\1/p' $$f | grep -v $$b`; \ | 124 funcs=`$(SED) -n 's/^DEFUN.*(\(\w\+\),.*/\1/p' $$f | grep -v $$b`; \ |
125 @echo "" | 150 @echo "" |
126 @echo " * run a Python session with pytave package" | 151 @echo " * run a Python session with pytave package" |
127 @echo " PYTHONPATH=\"\$$(pwd)/.libs:\$$(pwd)/package\" python" | 152 @echo " PYTHONPATH=\"\$$(pwd)/.libs:\$$(pwd)/package\" python" |
128 @echo "" | 153 @echo "" |
129 | 154 |
130 check-local: | 155 check-local: $(M_FILES) $(TST_FILES) |
131 PYTHONPATH="$(abs_srcdir)/package:$$(pwd)/package:$$(pwd)/.libs" $(PYTHON) $(srcdir)/test/exceptions.py | 156 octave-cli --path="$(abs_builddir)" --path="$(abs_srcdir)" __py_tests__.m $(M_FILES) $(TST_FILES) |
132 PYTHONPATH="$(abs_srcdir)/package:$$(pwd)/package:$$(pwd)/.libs" $(PYTHON) $(srcdir)/test/test.py |