This is done in preparation for adding namespace support to the Ruby part of SWIG. Some existing test cases were reorganized or duplicated for flat/nonflat nesting. For some a Ruby test script was added. Finally the ruby/Makefile.in was improved so that for test cases without an explicit test script, the generated wrapper library will be loaded by the Ruby interpreter to ensure loading works fine.
96 lines
2.4 KiB
Makefile
96 lines
2.4 KiB
Makefile
#######################################################################
|
|
# Makefile for ruby test-suite
|
|
#######################################################################
|
|
|
|
LANGUAGE = ruby
|
|
RUBY = @RUBY@
|
|
SCRIPTSUFFIX = _runme.rb
|
|
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
top_builddir = @top_builddir@
|
|
|
|
CPP_TEST_CASES = \
|
|
li_cstring \
|
|
li_factory \
|
|
li_std_functors \
|
|
li_std_list \
|
|
li_std_multimap \
|
|
li_std_pair_lang_object \
|
|
li_std_queue \
|
|
li_std_set \
|
|
li_std_stack \
|
|
li_std_wstring_inherit \
|
|
primitive_types \
|
|
ruby_alias_method \
|
|
ruby_global_immutable_vars_cpp \
|
|
ruby_keywords \
|
|
ruby_minherit_shared_ptr \
|
|
ruby_naming \
|
|
ruby_rdata \
|
|
ruby_track_objects \
|
|
ruby_track_objects_directors \
|
|
std_containers \
|
|
# ruby_li_std_speed \
|
|
# stl_new \
|
|
|
|
CPP11_TEST_CASES = \
|
|
cpp11_hash_tables \
|
|
cpp11_shared_ptr_const \
|
|
cpp11_shared_ptr_nullptr_in_containers \
|
|
cpp11_shared_ptr_overload \
|
|
cpp11_shared_ptr_upcast \
|
|
cpp11_std_unordered_map \
|
|
cpp11_std_unordered_multimap \
|
|
cpp11_std_unordered_multiset \
|
|
cpp11_std_unordered_set \
|
|
|
|
C_TEST_CASES += \
|
|
li_cstring \
|
|
ruby_alias_global_function \
|
|
ruby_alias_module_function \
|
|
ruby_global_immutable_vars \
|
|
ruby_manual_proxy \
|
|
|
|
include $(srcdir)/../common.mk
|
|
|
|
# Overridden variables here
|
|
SWIGOPT += -w801 -noautorename -features autodoc=4
|
|
|
|
# Custom tests - tests with additional commandline options
|
|
ruby_alias_global_function.ctest: SWIGOPT += -globalmodule
|
|
ruby_global_immutable_vars.ctest: SWIGOPT += -globalmodule
|
|
ruby_global_immutable_vars_cpp.cpptest: SWIGOPT += -globalmodule
|
|
ruby_naming.cpptest: SWIGOPT += -autorename
|
|
|
|
# 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.rb appended after the testcase name.
|
|
run_testcase = \
|
|
if [ -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX) ]; then \
|
|
env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) $(RUBY) $(RUBYFLAGS) -I$(srcdir):. $(SCRIPTDIR)/$(SCRIPTPREFIX)$*$(SCRIPTSUFFIX); \
|
|
elif [ -f $(SCRIPTDIR)/$(SCRIPTPREFIX)$*.so ] ; then \
|
|
env LD_LIBRARY_PATH=.:$$LD_LIBRARY_PATH $(RUNTOOL) $(RUBY) $(RUBYFLAGS) -I$(srcdir):. -r$(SCRIPTDIR)/$(SCRIPTPREFIX)$*.so -e '' ; \
|
|
fi
|
|
|
|
# Clean
|
|
%.clean:
|
|
@exit 0
|
|
|
|
clean:
|
|
$(MAKE) -f $(top_builddir)/$(EXAMPLES)/Makefile SRCDIR='$(SRCDIR)' ruby_clean
|