| ####################################################################### | |
| # Makefile for lua test-suite | |
| ####################################################################### | |
| LANGUAGE = lua | |
| LUA = @LUABIN@ | |
| SCRIPTSUFFIX = _runme.lua | |
| HAVE_CXX11 = @HAVE_CXX11@ | |
| HAVE_CXX14 = @HAVE_CXX14@ | |
| HAVE_CXX17 = @HAVE_CXX17@ | |
| HAVE_CXX20 = @HAVE_CXX20@ | |
| HAVE_CXX23 = @HAVE_CXX23@ | |
| HAVE_CXX26 = @HAVE_CXX26@ | |
| srcdir = @srcdir@ | |
| top_srcdir = @top_srcdir@ | |
| top_builddir = @top_builddir@ | |
| # import 'helpers.lua' to all testing, so they can use the provided global functions | |
| LUA_OPTIONS = -lhelpers | |
| # sorry, currently very few test cases work/have been written | |
| CPP_TEST_CASES += \ | |
| director_keywords \ | |
| director_profile \ | |
| director_stl \ | |
| iadd \ | |
| exception_partial_info \ | |
| extend_variable \ | |
| li_factory \ | |
| li_std_map_member \ | |
| li_std_set \ | |
| lua_module_global \ | |
| lua_no_module_global \ | |
| lua_inherit_getitem \ | |
| lua_lightuserdata \ | |
| CPP11_TEST_CASES += \ | |
| cpp11_std_unordered_map \ | |
| cpp11_std_unordered_set \ | |
| C_TEST_CASES += \ | |
| lua_module_global \ | |
| lua_no_module_global \ | |
| include $(srcdir)/../common.mk | |
| # Overridden variables here | |
| LIBS = -L. | |
| # Ensure testsuite remains free from SWIG warnings. | |
| SWIGOPT += -Werror | |
| # Custom tests - tests with additional commandline options | |
| lua_no_module_global.%: SWIGOPT += -nomoduleglobal | |
| # Rules for the different types of tests | |
| %.cpptest: | |
| $(setup) | |
| +$(swig_and_compile_cpp) | |
| $(run_testcase) | |
| %.ctest: | |
| $(setup) | |
| +$(swig_and_compile_c) | |
| $(run_testcase) | |
| %.multicpptest: | |
| $(setup) | |
| +$(swig_and_compile_multi_cpp) | |
| $(run_testcase) | |
| # Runs the testcase. A testcase is only run if | |
| # a file is found which has _runme.lua appended after the testcase name. | |
| run_testcase = \ | |
| if [ -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then \ | |
| env LUA_PATH="$(srcdir)/?.lua;" $(RUNTOOL) $(LUA) $(LUA_OPTIONS) $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); \ | |
| fi | |
| # Clean: (does nothing, we don't generate extra lua code) | |
| %.clean: | |
| @exit 0 | |
| clean: | |
| $(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR='$(SRCDIR)' lua_clean |