Commit graph

4,928 commits

Author SHA1 Message Date
Vladimir Kalinin
1050f14558 added foo() definition to satisfy some test linking fails 2016-05-28 22:45:06 +03:00
William S Fulton
550da9f7ef Testcase warning suppression for vc++ 2016-05-28 15:52:44 +01:00
Vladimir Kalinin
1f1286ab75 func() renamed to foo() for 'go' 2016-05-28 16:01:09 +03:00
Vladimir Kalinin
4b3694bf15 fixed test-suite/nested_ignore.i 2016-05-28 15:32:31 +03:00
William S Fulton
db54a8d5d1 Fix unused warnings in perl wrappers 2016-05-28 09:59:16 +01:00
William S Fulton
6725b2fdf6 Fix unused variable warnings in test-suite 2016-05-28 00:45:24 +01:00
William S Fulton
43fe8aced6 Testcase workaround for missing boost::array::fill
Some older versions of boost don't have this function.
2016-05-26 20:55:28 +01:00
Vladimir Kalinin
f9ad86b0c3 test for #662 2016-05-24 22:38:50 +03:00
William S Fulton
763827c2e1 Ruby opaque pointer handling regression fix
This bug was introduced in swig-3.0.8 in #146252 adding shared_ptr
support. An ObjectPreviouslyDeleted error was incorrectly thrown
when the pointer was used as a parameter after being set to zero
via a call to 'DATA_PTR(self) = 0'.

It isn't clear to me which approach is better in this corner case,
so I've gone for backwards compatibility and restored the old behaviour.

Closes #602
2016-05-24 19:09:17 +01:00
William S Fulton
809d54b13a php test warning fix 2016-05-14 21:32:24 +01:00
William S Fulton
98a31ff633 Fix directorin SWIGTYPE typemaps to make a copy as these are used for pass by value.
Closes #434
2016-05-14 21:32:24 +01:00
William S Fulton
f2d4e2ea0d Display Rout file when R test case fails
To aid debugging
2016-05-08 00:08:10 +01:00
William S Fulton
63e2f636de Testcase fix for R
Workaround bug in R when a method with default arguments end in 'get'
2016-05-07 19:30:13 +01:00
William S Fulton
15ebf3df03 Fix assertion handling defaultargs
Occurs when using %extend for a template class and the extended methods
contain default arguments.

Closes #611
2016-05-07 12:33:29 +01:00
William S Fulton
5e6ab1d61d Merge branch 'ejulien-python_operator_overload_test_suite'
* ejulien-python_operator_overload_test_suite:
  Add __str__ to operator_overload testcase for python builtin
  Python operator_overload runtime testcase cleanup
  Work around a limitation of the Python binding generator related to the += family of operators.
  Fix Python 3 division member operator when -builtin is not used.
  Fix class member division operator.
  Remove the PY3BUILTIN switch as its behavior can be achieved with the existing SWIG_FEATURES=-builtin switch.
  Implement the operator overload test suite for Python.

Conflicts:
	Examples/test-suite/operator_overload.i
2016-05-05 23:01:35 +01:00
William S Fulton
e7f9a3e8f4 Add __str__ to operator_overload testcase for python builtin
Just for debugging the testcase with -builtin
2016-05-05 21:10:52 +01:00
William S Fulton
a09ef99606 Python operator_overload runtime testcase cleanup
Remove C test code comment ... this code is in operator_overload.i already
2016-05-05 20:28:22 +01:00
Vadim Zeitlin
b97612f1d6 Make check-failing-test make macro more hygienic
Minor fix to avoid using the variable defined outside of the macro in its
expansion.

See #665.
2016-05-03 17:23:25 +02:00
William S Fulton
3efdbc8f2e Don't issue unnecessary base class ignored message
Don't warn about base class being ignored when the derived class is
itself ignored.

Closes #669
2016-05-02 22:50:09 +01:00
William S Fulton
57f1c378b2 Remove JNI checks due to numerous spurious warnings in some versions of jdk-1.8
Was happening with openjdk-1.9 on Ubuntu 16.04 Xenial Xerus and also seen in jdk-1.8 on Fedora 23 (jdk-1.8.0_65-b17)
2016-05-01 17:35:55 +01:00
William S Fulton
cc15fcebd0 Fix java testcase for jdk-1.9
Package.getName() returns an empty string instead of null in jdk-1.9
exposing bug in use of replaceAll whose 1st arg is a regex expression.
2016-05-01 16:32:15 +01:00
Vadim Zeitlin
160074a025 Suppress warnings about no typemaps being defined in C test suite
In many (although perhaps not all, so don't suppress this warning
unconditionally) cases, there is no need for special typemaps in C, the
parameters can be just used directly, so this warning is harmless but it was
given many times during the test suite execution, distracting from more
important messages.
2016-04-21 15:23:27 +02:00
Vadim Zeitlin
e2bb89ccb3 Replace unknown enums with int in the wrappers
An enum can be declared outside of the code wrapped by SWIG, just use int
instead of it then.
2016-04-21 01:37:42 +02:00
Vadim Zeitlin
4b5e5d0cc8 Allow to use the original name of the global functions
It is impossible to have two functions with the same name inside the same
program, but it is possible to provide a #define to allow the user code to use
the original function name for the wrapper function, so do it for convenience.

Remove the old changes adding explicit "_wrap_" prefix to the examples and the
tests and remove the few more now passing tests from the list of failing tests.
2016-04-21 01:37:42 +02:00
Vadim Zeitlin
36fdd4e78f Wrap unknown type as opaque pointers
Don't give errors for the unknown types, instead wrap them using the mangled
name of the type.

This is the expected (even if not particularly useful) SWIG behaviour and
allows many more tests to pass.
2016-04-21 01:37:42 +02:00
Vadim Zeitlin
2ec9d9da6e Don't try to export variables in namespace scope directly
The generated code, which used C++ scope operator "::" in a C header, didn't
compile and couldn't work anyhow.

Just use the accessor functions for not really global variables.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
e39265ba13 Handle primitive types when expanding "resolved_type" in typemaps
Although the default typemaps only use "resolved_type" for non-simple types,
the generic SWIGTYPE typemap can also be applied explicitly to other types as
"apply_strings" and "char_binary" unit tests do.

In this case just use the original type unchanged if we can, this is enough to
make these tests pass.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
59c131ea08 Fix broken anonymous_bitfield C checking code
For some reason the test expected another bit field be changed when setting
the given one, which was just plain wrong and prevented the test from passing.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
b062a63cd1 Fix abstract_typedef C test code
Don't refer to the typedef name (especially with a typo in it...), it is not
supposed to be exported.

Also fix the write() method call: use the right class for it and pass it the
correct arguments.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
b7bd0165e8 Remove more tests which pass now
All tests detected as passing by "make check-failing".
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
19268d0865 Add check-failing target to check that failing tests still do fail
This is useful to remove the tests which pass after the latest fixes from the
list of the failing tests.
2016-04-21 01:37:41 +02:00
Vadim Zeitlin
3764ee1764 Make anonymous_bitfield test compile
It still doesn't pass, but at least include the correct header from it.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
af9dd72bb6 Fix function name in cpp_basic_template_function test
Use "_wrap_" prefix to make the test compile and pass.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
2edbbfd87f Fix cpp_basic_global_var_built_in unit test
Use the correct header name in it and remove it from the list of the failing
tests.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
7bb7fe135a Let cpp_basic unit test pass without method pointers support
This was the only part of the test that didn't work, test at least the rest of
it.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
e8c6bfbc8f Remove completely broken handling of member function pointers
Member function pointers can't possibly be represented as function pointers,
they have a strictly bigger size and attempting to do it resulted in code
which, with a lot of bad casts, compiled, but crashed during run-time.

The proper solution is to represent C++ method pointers with an appropriate
opaque type, but for now this remains broken -- just make it explicitly broken
instead of pretending that it works when it actually has no chance to.

Let "namespace_spaces" unit test pass, as it's not really related to the
function pointers, by adding an explicit SWIGC test to it.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
11fbdba9de Remove cpp_basic_template_class from the list of failing tests
It passes now.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
e28bd6bf3a Fix cpp_basic_class_var_pub_member_built_in test compilation
Use the correct header name in the test.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
4d774887cc Only syntax check generated header when not using run test
There is no need to syntax check the header if it's going to be really used,
so this is a small optimization.

It also separates building of the wrappers from testing them better.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
87d4a0da71 Reuse c_compile rule in C unit test suite makefile
No real changes, just reuse the commands defined in the C section of the top
level Examples/Makefile instead of (imperfectly, i.e. CFLAGS was forgotten
here) duplicating them in Examples/test-suite/c/Makefile.
2016-04-21 01:37:40 +02:00
Vadim Zeitlin
9a7114cc38 Add check-failing target to check that failing tests still do fail
This is useful to remove the tests which pass after the latest fixes from the
list of the failing tests.
2016-04-20 19:55:29 +02:00
Vadim Zeitlin
7a392fd21f Fix typemaps for "void*"
Pass void pointers directly to C, don't handle them objects which was done by
default previously because we didn't define any specific typemaps for them.

This allows to reenable another test.
2016-04-20 18:46:12 +02:00
Vadim Zeitlin
85c9b87f9b Fix ctype typemap for bool& too
Don't add an extra pointer, this is already done at the code level currently.

This makes the "bools" unit test pass.
2016-04-20 18:46:12 +02:00
Vadim Zeitlin
c8e4abd16e Use wrapper functions for global variables of non-C types
Don't try to export the variables whose type can't be represented in C
directly, this can't work.

Instead, just let use the default implementation to generate wrapper functions
for them.

Update "cpp_basic_global_var_class" unit test accordingly and remove it from
the list of the failing tests.
2016-04-20 18:45:42 +02:00
Vadim Zeitlin
c73acc44a7 Show the number of passed tests in "make check"
This is especially useful when some tests are disabled by using
FAILING_XXX_TESTS variables.
2016-04-20 01:53:23 +02:00
Vadim Zeitlin
3aafd9373f Merge branch 'allow-failing-tests'
Closes #661.
2016-04-20 01:52:32 +02:00
Vadim Zeitlin
4f222aa78e Show the number of passed tests in "make check"
This is especially useful when some tests are disabled by using
FAILING_XXX_TESTS variables.
2016-04-20 01:52:22 +02:00
Ian Lance Taylor
0f54384ee3 [Go] Fix use of goout typemap when calling base method by
forcing the "type" attribute to the value we need.
2016-04-18 15:30:06 -07:00
Vadim Zeitlin
79b665f9ff Add a possibility to disable failing test cases
Allow defining FAILING_{C,CPP,MULTI_CPP}_TESTS variables to exclude some tests
from the unit tests suite. This is useful to disable tests failing for some
language only.
2016-04-18 20:51:30 +02:00
Vadim Zeitlin
668f2b4a85 Syntax check headers by C module when running the unit tests suite
Catch errors in the generated headers even when we don't have a run test.

Unfortunately this uncovered that almost no unit tests actually pass, so many,
many more of them had to be disabled.
2016-04-18 20:30:49 +02:00