swig/Examples/test-suite
2009-08-10 01:40:09 +00:00
..
allegrocl remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
cffi remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
chicken remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
clisp remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
csharp remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
errors
guile remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
guilescm remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
java remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
lua remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
mzscheme remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
ocaml remove unnecessary extra shells being spawned in the test-suite 2009-08-09 22:39:51 +00:00
octave remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
perl5 remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
php remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
pike remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
python remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
r remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
ruby remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
schemerunme
scilab a better way to deal with constants and enums and some change about the doc 2009-08-08 13:25:29 +00:00
tcl remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
testdir
uffi remove unnecessary extra semicolons in the tesuite 2009-08-09 22:52:08 +00:00
abstract_access.i
abstract_inherit.i
abstract_inherit_ok.i
abstract_signature.i
abstract_typedef.i
abstract_typedef2.i
abstract_virtual.i
access_change.i
add_link.i
aggregate.i
allowexcept.i
allprotected.i
anonymous_bitfield.i
apply_signed_char.i
apply_strings.i
argcargvtest.i
argout.i
array_member.i
array_typedef_memberin.i
arrayref.i
arrays.i
arrays_dimensionless.i
arrays_global.i
arrays_global_twodim.i
arrays_scope.i
bloody_hell.i
bools.i
callback.i
cast_operator.i
casts.i
char_constant.i
char_strings.i
chicken_ext_test.i
class_ignore.i
class_scope_weird.i
clientdata_prop.list
clientdata_prop_a.h
clientdata_prop_a.i
clientdata_prop_b.h
clientdata_prop_b.i
common.mk add a new testcase testing combinations of STL types... just vector and pair at the moment 2009-08-05 22:19:04 +00:00
compactdefaultargs.i
complextest.i
const_const.i
const_const_2.i
constant_pointers.i Avoid dereferencing a NULL pointer in the constant_pointers testcase 2009-08-09 13:13:21 +00:00
constants.i
constover.i
constructor_copy.i
constructor_exception.i
constructor_explicit.i
constructor_ignore.i
constructor_value.i
contract.i
conversion.i
conversion_namespace.i
conversion_ns_template.i
cplusplus_throw.i
cpp_basic.i
cpp_broken.i
cpp_enum.i
cpp_namespace.i
cpp_nodefault.i
cpp_static.i
cpp_typedef.i
csharp_attributes.i
csharp_exceptions.i
csharp_features.i
csharp_lib_arrays.i
csharp_prepost.i
csharp_typemaps.i
default_args.i
default_constructor.i
defvalue_constructor.i
derived_byvalue.i
derived_nested.i
destructor_reprotected.i
director_abstract.i
director_basic.i
director_classes.i
director_classic.i
director_constructor.i
director_default.i
director_detect.i
director_enum.i
director_exception.i
director_extend.i
director_finalizer.i
director_frob.i
director_ignore.i
director_namespace_clash.i
director_nested.i
director_overload.i
director_primitives.i
director_profile.i
director_protected.i
director_protected_overloaded.i
director_redefined.i
director_stl.i
director_string.i
director_thread.i
director_unroll.i
director_using.i
director_wombat.i
director_wstring.i
disown.i
dynamic_cast.i
empty.i
enum_plus.i
enum_scope_template.i
enum_template.i
enum_thorough.i
enum_thorough_proper.i
enum_thorough_simple.i
enum_thorough_typesafe.i
enum_thorough_typeunsafe.i
enum_var.i
enums.i
evil_diamond.i
evil_diamond_ns.i
evil_diamond_prop.i
exception_order.i
exception_partial_info.i
extend.i
extend_default.i
extend_placement.i
extend_template.i
extend_template_ns.i
extend_variable.i
extern_declaration.i
extern_namespace.i
extern_throws.i
features.i
file_test.i
fragments.i
friends.i
funcptr.i
function_typedef.i
fvirtual.i
global_namespace.i
global_ns_arg.i
global_vars.i
grouping.i
guilescm_ext_test.i
iadd.i
ignore_parameter.i
ignore_template_constructor.i
immutable.i
implicittest.i
import_nomodule.h
import_nomodule.i
imports.list
imports_a.h
imports_a.i
imports_b.h
imports_b.i
inctest.h
inctest.i
inherit.i
inherit_missing.i
inherit_same_name.i
inherit_target_language.i
inherit_void_arg.i
inline_initializer.i
inout.i
inplaceadd.i
input.i
insert_directive.i
integers.i
intermediary_classname.i
java_constants.i
java_director.i
java_enums.i
java_jnitypes.i
java_lib_arrays.i
java_lib_arrays_dimensionless.i
java_lib_various.i
java_pgcpp.i
java_pragmas.i
java_prepost.i
java_throws.i
java_typemaps_proxy.i
java_typemaps_typewrapper.i
keyword_rename.i
kind.i
langobj.i
lextype.i
li_attribute.i
li_boost_intrusive_ptr.i
li_boost_shared_ptr.i
li_boost_shared_ptr_bits.i
li_carrays.i
li_cdata.i
li_cdata_carrays.i
li_cmalloc.i
li_constraints.i
li_cpointer.i
li_cstring.i
li_cwstring.i
li_factory.i
li_implicit.i
li_math.i
li_reference.i
li_std_carray.i
li_std_combinations.i add a new testcase testing combinations of STL types... just vector and pair at the moment 2009-08-05 22:19:04 +00:00
li_std_deque.i
li_std_except.i
li_std_functors.i
li_std_list.i
li_std_map.i use so that macros are no longer needed for std::map wrappers 2009-08-04 17:58:17 +00:00
li_std_multimap.i
li_std_pair.i
li_std_pair_extra.i
li_std_pair_lang_object.i
li_std_queue.i
li_std_set.i
li_std_stack.i
li_std_stream.i
li_std_string.i
li_std_string_extra.i
li_std_vector.i
li_std_vector_extra.i
li_std_vector_ptr.i
li_std_vectora.i
li_std_wstream.i
li_std_wstring.i
li_stdint.i
li_typemaps.i
li_windows.i
list_vector.i
long_long.i
long_long_apply.i
member_pointer.i
member_template.i
memberin1.i
memberin_extend.i
minherit.i
minherit2.i
mixed_types.i
mod.h
mod.list
mod_a.i
mod_b.i
multi_import.h
multi_import.list
multi_import_a.i
multi_import_b.i
multi_import_c.i
multiple_inheritance.i
multivalue.i
name.i
name_cxx.i
name_warnings.i
namespace_class.i
namespace_enum.i
namespace_extend.i
namespace_nested.i
namespace_spaces.i
namespace_template.i
namespace_typedef_class.i
namespace_typemap.i
namespace_union.i
namespace_virtual_method.i
naturalvar.i
nested.i
nested_comment.i
nested_structs.i
newobject1.i
newobject2.i
null_pointer.i
octave_cell_deref.i
operator_overload.i
operator_overload_break.i
operbool.i
ordering.i
overload_complicated.i
overload_copy.i
overload_extend.i
overload_extendc.i
overload_rename.i
overload_simple.i
overload_subtype.i
overload_template.i
overload_template_fast.i
packageoption.h
packageoption.list
packageoption_a.i
packageoption_b.i
packageoption_c.i
php_namewarn_rename.i
pointer_in_out.i
pointer_reference.i
prefix.i
preproc.i
primitive_ref.i
primitive_types.i
private_assign.i
profiletest.i
protected_rename.i
pure_virtual.i
python_abstractbase.i
python_append.i
python_autodoc.i
python_kwargs.i
python_nondynamic.i
python_overload_simple_cast.i
python_pybuf.i
r_copy_struct.i
r_double_delete.i
r_legacy.i
README
redefined.i
refcount.h
refcount.i
reference_global_vars.i
register_par.i
rename.h
rename1.i
rename2.i
rename3.i
rename4.i
rename_camel.i
rename_scope.i
rename_strip_encoder.i
restrict_cplusplus.i
ret_by_value.i
return_const_value.i
return_value_scope.i
rname.i
ruby_keywords.i
ruby_li_std_speed.i
ruby_naming.i
ruby_track_objects.i
ruby_track_objects_directors.i
samename.i
samename_runme.m
shared_ptr_wrapper.h
simple_array.i
simutry.i
sizeof_pointer.i
sizet.i
smart_pointer_const.i
smart_pointer_const2.i
smart_pointer_extend.i
smart_pointer_inherit.i
smart_pointer_member.i
smart_pointer_multi.i
smart_pointer_multi_typedef.i
smart_pointer_namespace.i
smart_pointer_namespace2.i
smart_pointer_not.i
smart_pointer_overload.i
smart_pointer_protected.i
smart_pointer_rename.i
smart_pointer_simple.i
smart_pointer_static.i
smart_pointer_templatemethods.i
smart_pointer_templatevariables.i
smart_pointer_typedef.i
sneaky1.i
special_variable_macros.i fix $typemap() when the type contains template parameters 2009-08-05 21:40:49 +00:00
special_variables.i
static_array_member.i
static_const_member.i
static_const_member_2.i
std_containers.i
stl_new.i
struct_rename.i
struct_value.i
swig_examples_lock.h
swigobject.i
sym.i
tag_no_clash_with_variable.i
template.i
template_arg_replace.i
template_arg_scope.i
template_arg_typename.i
template_array_numeric.i
template_base_template.i
template_classes.i
template_const_ref.i
template_construct.i
template_default.i
template_default2.i
template_default_arg.i
template_default_class_parms.i
template_default_inherit.i
template_default_pointer.i
template_default_qualify.i
template_default_vw.i
template_enum.i
template_enum_ns_inherit.i
template_enum_typedef.i
template_explicit.i
template_expr.i
template_extend1.i
template_extend2.i
template_extend_overload.i
template_extend_overload_2.i
template_forward.i
template_inherit.i
template_inherit_abstract.i
template_int_const.i
template_matrix.i
template_methods.i
template_ns.i
template_ns2.i
template_ns3.i
template_ns4.i
template_ns_enum.i
template_ns_enum2.i
template_ns_inherit.i
template_ns_scope.i
template_opaque.i
template_partial_arg.i
template_qualifier.i
template_ref_type.i
template_rename.i
template_retvalue.i
template_specialization.i
template_specialization_defarg.i
template_specialization_enum.i
template_static.i
template_tbase_template.i
template_template_parameters.i
template_type_namespace.i
template_typedef.i
template_typedef_cplx.i
template_typedef_cplx2.h
template_typedef_cplx2.i
template_typedef_cplx3.i
template_typedef_cplx4.i
template_typedef_cplx5.i
template_typedef_fnc.i
template_typedef_funcptr.i
template_typedef_import.i
template_typedef_import.list
template_typedef_ns.i
template_typedef_ptr.i
template_typedef_rec.i
template_typemaps.i
template_using.i
template_virtual.i
template_whitespace.i
threads.i
throw_exception.i
traits.i
typedef_array_member.i
typedef_class.i
typedef_funcptr.i
typedef_inherit.i
typedef_mptr.i
typedef_reference.i
typedef_scope.i
typedef_sizet.i
typedef_struct.i
typemap_namespace.i
typemap_ns_using.i
typemap_numinputs.i
typemap_out_optimal.i only display debug info when debug flag set 2009-08-05 21:47:46 +00:00
typemap_self.i
typemap_subst.i
typemap_variables.i
typemap_various.i
typename.i
types_directive.i
union_parameter.i
union_scope.i
unions.i
using1.i
using2.i
using_composition.i
using_extend.i
using_inherit.i
using_namespace.i
using_pointers.i
using_private.i
using_protected.i
valuewrapper.i
valuewrapper_base.i
valuewrapper_const.i
valuewrapper_opaque.i
varargs.i
virtual_derivation.i
virtual_destructor.i
virtual_poly.i
voidtest.i
wallkw.i
wrapmacro.i PHP: fix for the wrapmacro testcase 2009-08-04 09:32:12 +00:00

SWIG testsuite README file
--------------------------

This testsuite is here to ensure SWIG can handle a wide range of c/c++
syntax. The testsuite comprises many testcases in this directory. Each
test case is tested under each of the language modules thereby
thoroughly testing all of SWIG. It ensures that each of the language
modules are at a similar standard.

Those modules that support shadow classes run the tests producing
shadow classes to test the full language module functionality.

Some test cases need a runtime test. These need implementing in each
of the language modules. The language modules look for a file in the
language specific test-suite directory which has _runme appended after
the testcase name. If one is found it will be run as part of the test.

Some language modules add to this common set of test cases for
language specific tests. These can be found in the appropriate
language test-suite directory. There is also a README in each of the
language module directories.

For each testcase a message showing which testcase is being tested is
displayed. Nothing else is printed unless the test fails.


Some Developer Guidelines
-------------------------

Note that the whole test suite need not be run each time a testcase is
modified. An individual testcase may be run by going to the language
module test-suite directory and using make testcasename.xxx where xxx
is the type of test (eg cpptest). See common.mk. make -s doesn't print
any junk on the screen and is useful for emulating the way make check
works from the SWIG root directory.

If there are runtime tests needed, don't print anything unless there
is an error in which case stderr is suggested.

Please set the name of the module to the same name as the testcase,
otherwise modules will not be found.