Commit graph

4,753 commits

Author SHA1 Message Date
Simon Marchetto
057faf6cac scilab: fix test-suite makefiles and util scripts for standard build tools 2014-10-20 15:14:05 +02:00
Simon Marchetto
20fc167624 scilab: support typed constants (U UL L) in scilabconst(1) 2014-10-16 16:00:51 +02:00
William S Fulton
8441e3eab4 Java gc tests failure fix
Sometimes the GC just won't run the finalizers, so we output a warning
instead of throwing an error, so now the test-suite will pass but with a
warning if the number of objects is not as expected.

Was notably failing on RHEL6 using OpenSUSE build testing with openjdk-1.6
2014-10-14 19:22:25 +01:00
William S Fulton
17721f4682 Correct cpp11_function_objects testcase
Fixes SWIG warning
2014-10-13 19:38:47 +01:00
Simon Marchetto
07eb661565 scilab: fix union and nested tests (they are C and not CPP tests) 2014-10-13 15:19:05 +02:00
Simon Marchetto
4acda6d25b scilab: fix preproc_line_file test 2014-10-13 12:33:46 +02:00
Simon Marchetto
455e4a468b scilab: fix unions test 2014-10-13 11:34:16 +02:00
Simon Marchetto
43ad424c21 scilab: fix nested test 2014-10-13 11:27:44 +02:00
Simon Marchetto
772023efd9 scilab: fix li_std_combinations test 2014-10-13 11:27:12 +02:00
Simon Marchetto
87f02c4d00 scilab: fix template_nested test 2014-10-13 11:12:31 +02:00
Simon Marchetto
c238e9e62c scilab: fix li_boost_shared_ptr test 2014-10-13 10:35:00 +02:00
Yann Diorcet
aeacff3b14 Improve cpp11_function_objects test for python 2014-10-11 20:20:10 +02:00
William S Fulton
78b904764a Merge branch 'diorcety-python_property'
* diorcety-python_property:
  Changes file entry for Python director property fix
  Python: Fix property access with director

Conflicts:
	CHANGES.current
2014-10-11 00:22:21 +01:00
William S Fulton
ef4d44e92d Fix syntax error in autodoc testcase when using Python 2.4 and earlier 2014-10-10 23:56:14 +01:00
William S Fulton
d10efb658e Merge branch 'python-builtin-test-suite'
* python-builtin-test-suite:
  Add Python -builtin Travis testing
  Bypass Python exmples not supported by -builtin
  Remove Python swigrun example
  Display testname when running the import_packages Python examples
  Fix Python 3 import_packages/relativeimport2 example clean
  Fixes when using python -builtin and STL container wrappers.
  Bypass Python tests not supported by -builtin
  Bypass Python tests not supported by -builtin
  Bypass Python tests not supported by -builtin
  Bypass Python tests not supported by -builtin
  Bypass Python tests failing with -builtin
  Bypass Python tests throwing base classes as exceptions for -builtin
  Add some more Python -builtin tests that don't work
  Disable test not relevant for Python -builtin

Conflicts:
	CHANGES.current
2014-10-10 22:49:11 +01:00
William S Fulton
49038b30b7 Bypass Python tests not supported by -builtin
Builtin types can't inherit from pure-python abstract bases
2014-10-07 20:58:40 +01:00
William S Fulton
ab79441151 Bypass Python tests not supported by -builtin
The base class is needed for the builtin class hierarchy, like many
other languages
2014-10-07 20:58:40 +01:00
William S Fulton
185d65895f Bypass Python tests not supported by -builtin
There are a number of autodoc comment differences when using -builtin.
Some of which might need fixing, but for now we'll accept them as they
are.
2014-10-07 20:58:39 +01:00
William S Fulton
afcd61388a Bypass Python tests not supported by -builtin
The old static syntax (e.g., dc.new_A() rather than dc.A()) is not
supported with -builtin
2014-10-07 20:58:39 +01:00
William S Fulton
9f1b051c16 Bypass Python tests failing with -builtin
Reverse operators not supported in builtin types
2014-10-07 20:58:39 +01:00
William S Fulton
bbad7f96ab Bypass Python tests throwing base classes as exceptions for -builtin
Throwing builtin classes as exceptions is not supported
2014-10-07 20:58:30 +01:00
Anthony Li
d0b6a4bfc5 del tmp files 2014-10-06 19:35:33 +08:00
Anthony Li
60da096a07 GoLang:fix overload functions with polymorphic issue 2014-10-06 19:26:07 +08:00
Karl Wette
0d16b19122 Octave: remove '\' line continuation in director_detect_runme.m
- Deprecated in Octave 3.8.1
2014-10-04 13:28:46 +02:00
William S Fulton
34eb4b15d3 Add some more Python -builtin tests that don't work 2014-10-02 19:08:58 +01:00
Yann Diorcet
558af639bd Python: Fix property access with director 2014-10-01 11:07:02 +02:00
William S Fulton
0fb34cb019 Disable test not relevant for Python -builtin 2014-10-01 07:57:23 +01:00
Oliver Buchtala
53d7fc8a16 Merge branch 'Richie765-master'
Conflicts:
	CHANGES.current
2014-09-30 18:46:25 +02:00
Simon Marchetto
35ff88709e scilab: fix tests having too long identifier names 2014-09-29 17:32:49 +02:00
Simon Marchetto
7307d967d0 scilab: fix tests having too long identifier names 2014-09-29 14:52:05 +02:00
Simon Marchetto
78360b4d1b scilab: fix allprotected test 2014-09-26 17:23:41 +02:00
Simon Marchetto
8b998cb538 scilab: truncates too long (struct, class) member names 2014-09-26 17:23:27 +02:00
Simon Marchetto
fb1b9432ec scilab: add li_std_string_extra test 2014-09-25 16:08:36 +02:00
Simon Marchetto
3ca185197c scilab: truncates too long identifier names (in addition to display warnings) 2014-09-25 14:29:52 +02:00
Simon Marchetto
d421884a3b scilab: fix li_std_except test error codes 2014-09-25 09:33:53 +02:00
Simon Marchetto
b42375a257 scilab: fix tests returning wrong error code 2014-09-24 12:24:41 +02:00
Simon Marchetto
a2c2aaec80 scilab: fix test-suite (scripts were not executed) 2014-09-24 11:44:38 +02:00
Thomas Maslach
de6b433cb1 Fix Python crash when using -threads iterating containers
Also fixes li_std_vector_enum testcase when run with -threads.

Patch supplied on swig-devel mailing list on 12 Sep with details...

==============================================
I just wanted to mention that I found a crash issue in bug..

I am using SWIG 2.0.11 with python and have –threads enabled.  I have a C++ std::vector that I instantiate in SWIG with %template.  I also have a method in a class that returns this vector.  I also include std_vector.i, btw..

When I iterate like so:

children = Action.getActionList()
for child in children:
  pass

Everything is fine..

When I iterate like this:

for child in Action.getActionList()
  pass

Product crashes.

The problem is the following.  This code gets called first:

SWIGINTERN PyObject *_wrap_delete_SwigPyIterator(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
  PyObject *resultobj = 0;
  swig::SwigPyIterator *arg1 = (swig::SwigPyIterator *) 0 ;
  void *argp1 = 0 ;
  int res1 = 0 ;
  PyObject * obj0 = 0 ;

  if(!PyArg_UnpackTuple(args,(char *)"delete_SwigPyIterator",1,1,&obj0)) SWIG_fail;
  res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_swig__SwigPyIterator, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SwigPyIterator" "', argument " "1"" of type '" "swig::SwigPyIterator *""'");
  }
  arg1 = reinterpret_cast< swig::SwigPyIterator * >(argp1);
  {
    SWIG_PYTHON_THREAD_BEGIN_ALLOW;
    delete arg1;
    SWIG_PYTHON_THREAD_END_ALLOW;
  }
  resultobj = SWIG_Py_Void();
  return resultobj;
fail:
  return NULL;
}

Note the SWIG_PYTHON_THREAD_BEGIN_ALLOW/END_ALLOW. In between those two statements, we delete arg1.  That in turn will eventually end up in this code:

namespace swig {
  class SwigPtr_PyObject {
  protected:
    PyObject *_obj;

  public:
    … snip! …
    ~SwigPtr_PyObject()
    {
      Py_XDECREF(_obj);
    }

Uh-oh!  We call Py_XDECREF when we aren’t supposed to because we are in a SWIG_PYTHON_THREAD_BEGIN_ALLOW/END_ALLOW section!

This takes care of the issue:

namespace swig {
  class SwigPtr_PyObject {
  protected:
    PyObject *_obj;

  public:
    … snip! …
    ~SwigPtr_PyObject()
    {
      SWIG_PYTHON_THREAD_BEGIN_BLOCK;
      Py_XDECREF(_obj);
      SWIG_PYTHON_THREAD_END_BLOCK;
    }

There are several other methods in this class that use the Python API, but don’t have the BEGIN/END block defined.  I’m not sure if they are required for all of them, but I believe they are..

I have attached a modified pyclasses.swg with what I believe are the correct changes.  This code is from 2.0.11, but as far as I can tell, it’s the same as what is in 3.0.2…

Apologies for not doing more here (making/running tests, getting it in the code repository, etc..), but I’m under some pressure to get some unrelated things done…
2014-09-23 22:33:25 +01:00
William S Fulton
783e816d89 Testcase warning suppression 2014-09-23 19:54:13 +01:00
Olly Betts
1a99212c2c [PHP] Add support for specifying any PHP interfaces a wrapped class
implements, e.g.: %typemap("phpinterfaces") MyIterator "Iterator";
2014-09-12 12:48:37 -03:00
Olly Betts
e12322df86 [PHP] Fix throwing a PHP exception through C++ from a subclassed
director method - PHP NULL gets returned by the subclassed method
in this case, so the directorout typemap needs to allow that (at
least if an exception is active).
2014-09-11 13:09:08 -03:00
Olly Betts
fa94a29df4 Fix comment typo 2014-09-11 13:06:17 -03:00
Vadim Zeitlin
05b5ed11bc Add a possibility to flexibly ignore custom Doxygen tags.
Add %feature("doxygen:ignore:<command>") implementation, documentation and
test case.

This feature allows to use custom tags in C++ Doxygen comments for
C++-specific things that don't make sense in the context of the target
language and also allows to insert contents specific to the target language in
the C++ comments using (different) custom commands, which is very useful in
practice to explain the particularities of the API wrappers.
2014-09-11 01:39:42 +02:00
Vadim Zeitlin
cd1f4619d2 Stop completely ignoring many Doxygen comments.
For some reason, Doxygen comments such as @class or @enum were considered to
be "structural" (whatever this means) and completely removed during the
parsing time. This is wrong as such comments can be attached to their
corresponding declarations and while it would be arguably better to check that
this is indeed the case (e.g. "@class Foo" really appears before or after the
declaration of this class), throwing them away is definitely not the right
thing to do and keeping them without any further checks is a better alternative.
2014-09-10 21:55:41 +02:00
Vadim Zeitlin
846a90f8d7 Use "//", not "#", for comments in SWIG input.
One Doxygen test file used "#" for comments for some reason, this doesn't work
with the latest SWIG trunk where a lone "#" is considered to be an unknown
preprocessor directive.
2014-09-10 21:55:41 +02:00
Ian Lance Taylor
acaaa0f31f [Go] Add goargout typemap. 2014-09-09 11:28:04 -07:00
Olly Betts
0dd7b61c57 Fix segmentation faults with directors in PHP >= 5.4 2014-09-09 13:39:30 -03:00
Ian Lance Taylor
be145043df Add run test case for argout.i. 2014-09-07 15:44:12 -07:00
Ian Lance Taylor
1addbb46a8 [Go] Add imtype, goin, goout, godirectorin, and godirectorout
typemaps, to support writing Go code to convert between types.
2014-09-05 17:54:19 -07:00
Olly Betts
6eaec9ce7c Update expected output for pp_constant error test 2014-09-04 09:29:20 -03:00