Commit graph

20,722 commits

Author SHA1 Message Date
William S Fulton
bb5c46079b Better detection of builtin in Python testcase 2018-08-14 19:16:25 +01:00
William S Fulton
345b4fec43 Testcase fix 2018-08-14 08:55:55 +01:00
William S Fulton
fdd2bcf0e6 Remove asserts from Python testcase
Also rename testcase python_pybuf to python_pybuffer.
2018-08-12 15:16:03 +01:00
William S Fulton
4313c2c168 Update pybuffer.i library to use new-style Python buffer C API.
Removed old API altogether as Python 2.7 is now the minimum version
supported and it supports the new-style buffer API.
2018-08-12 15:02:28 +01:00
William S Fulton
33f3dbb005 Merge branch 'gmazzamuto-pybuf_test'
* gmazzamuto-pybuf_test:
  pybuffer: don't use the old deprecated buffer protocol for Python 3
  Enable test case for python_pybuf
2018-08-12 14:19:40 +01:00
William S Fulton
934c402238 Merge branch 'bryanhatwood-java_directorargout'
* bryanhatwood-java_directorargout:
  Fix crash Java directors
  Java director typemaps.i testing for pointers added
  Fix Java directorargout typemap crash when argument pointer is null
2018-08-12 13:50:41 +01:00
William S Fulton
61d9dd40a0 Fix crash Java directors
Further crash fixes when using OUTPUT and INOUT typemaps in typemaps.i and
passing NULL pointers in C++ to director method overloaded and implemented
in Java.

Don't create the one element array in these directorin typemaps if the
input is a NULL pointer, that is, translate a NULL C++ pointer into a
null Java object.

Also add some missing JNI error checks in these typemaps.
2018-08-12 13:45:43 +01:00
William S Fulton
99f8e12d32 Java director typemaps.i testing for pointers added
Copy java_director_typemaps testcase to test pointers instead of references.
2018-08-11 17:11:24 +01:00
William S Fulton
c7dca4e49f Merge branch 'sethtroisi-master'
* sethtroisi-master:
  [Minor Doc Fix] Fix Python struct example
2018-08-11 15:44:03 +01:00
Bryan Atwood
7eeffe698c Fix Java directorargout typemap crash when argument pointer is null 2018-08-10 17:12:34 -07:00
William S Fulton
e19ad6d471 Test Python 3 -O on Travis (currently failing) 2018-08-10 18:42:30 +01:00
William S Fulton
3938e6f769 Python2 -O testing finally no longer fails 2018-08-10 18:39:53 +01:00
William S Fulton
91e9743014 Fix to make ISOC89 compliant: -Werror=declaration-after-statement 2018-08-10 12:44:23 +01:00
William S Fulton
36a7c49b1e Merge branch 'python-type-error'
* python-type-error:
  Python fastdispatch error message improvements
  Correct PyErr_Fetch/PyErr_Restore variable names
  Overloaded C++ function Python wrappers now raise a TypeError instead of NotImplementedError
2018-08-10 08:17:43 +01:00
William S Fulton
4f7406624d Python fastdispatch error message improvements
When overloaded C++ methods are called, the fastdispatch mode sometimes
optimises out the generation of the typecheck typemap code, resulting in
the 'Possible C/C++ prototypes' information not being in the error message.
Now when a TypeError is thrown, the exception message is modified to contain the
'Possible C/C++ prototypes'.

See issue #1293
2018-08-10 08:14:19 +01:00
William S Fulton
e0b23969d0 Correct PyErr_Fetch/PyErr_Restore variable names 2018-08-10 08:14:19 +01:00
William S Fulton
fd651ff4e2 Overloaded C++ function Python wrappers now raise a TypeError instead of NotImplementedError
Occurs when the types passed are incorrect. This change means
there is now consistency with non-overloaded function wrappers which have always
raised TypeError when the incorrect types are passed.

See issue #1293
2018-08-10 08:14:12 +01:00
Seth Troisi
3738dcc747
[Minor Doc Fix] Fix Python struct example 2018-08-09 12:54:15 -07:00
William S Fulton
779d76ca6a Correct Travis Ruby compilation flags 2018-08-07 06:50:39 +01:00
William S Fulton
aaa67702ec Cosmetic corrections in python.cxx 2018-08-06 19:51:13 +01:00
William S Fulton
b998514a59 Restore Travis macOS Ruby and Tcl testing 2018-08-06 19:50:14 +01:00
William S Fulton
82517489ee Fix to find tclConfig.sh on more recent versions of macOS 2018-08-06 19:02:21 +01:00
William S Fulton
4e523fb823 Fix Travis Ruby MacOS builds with -Wno-deprecated-declarations
Work around Ruby on MacOS Xcode 9.4 misconfiguration defining 'isfinite'
to deprecated 'finite'. Example warning:

li_std_list_wrap.cxx:7197:9: error: 'finite' is deprecated: first deprecated in macOS 10.9 [-Werror,-Wdeprecated-declarations]
    if (SWIG_Float_Overflow_Check(v)) {
        ^
li_std_list_wrap.cxx:7156:73: note: expanded from macro 'SWIG_Float_Overflow_Check'
                                                                        ^
li_std_list_wrap.cxx:7122:29: note: expanded from macro 'SWIG_isfinite'
                            ^
/Users/travis/.rvm/rubies/ruby-2.4.3/include/ruby-2.4.0/ruby/missing.h:180:24: note: expanded from macro 'isfinite'
                       ^
/usr/include/math.h:757:12: note: 'finite' has been explicitly marked deprecated here
extern int finite(double) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_9, __IPHONE_NA, __IPHONE_NA);
2018-08-06 19:02:21 +01:00
William S Fulton
7a8efb901e Disable Travis OSX ruby and tcl builds
These have started to fail since XCode was upgraded to 9.4
2018-08-02 19:20:40 +01:00
William S Fulton
15e2bdac7a Add recent Javascript node improvements to changes file 2018-08-02 08:07:16 +01:00
William S Fulton
4f7106cda2 Merge branch 'js-v8-52-tests'
* js-v8-52-tests:
  fixed nvm
  node tests: use provided version if present
  travis tests for different node versions
  fix travis tests
  Test NodeJS 4, 6, 8, and 10
  Remove warnings on Node 6.x aka V8 5.0 and 5.1
  Add Node 7.x aka V8 5.2+ support
2018-08-02 07:10:55 +01:00
William S Fulton
8f224694e7 Python help for py3 update 2018-07-23 07:56:47 +01:00
William S Fulton
0bede22fbc Add changes file entry for %pythonnondynamic fix 2018-07-23 07:39:09 +01:00
William S Fulton
037bf2b385 Slim down pythonnondynamic testing feature testing
No need to test twice, just test using C.
2018-07-23 07:27:01 +01:00
William S Fulton
89f00ca2f3 Fix pythonnondynamic feature for modern classes and Python 3
Corrects adding metaclass to the nondynamic class so that the
implementation works. Uses metaclass syntax that will work for both
python 2 and 3 or proper Python 3 syntax when using -py3.
2018-07-23 07:26:48 +01:00
William S Fulton
fe082382c7 Fix pythonnondynamic feature for modern classes
Fixes nondynamic mode when an instance variable is set with the same
name as a class variable in a class derived from a SWIG proxy class.
The python_nondynamic testcase now works using -modern and testcase
enhanced slightly too.

Fixes #718
2018-07-23 07:25:11 +01:00
furylynx
bb73a1ce52 fixed nvm 2018-07-21 21:19:28 +02:00
furylynx
2785313706 node tests: use provided version if present 2018-07-21 16:41:06 +02:00
furylynx
1cbabb2e06 travis tests for different node versions 2018-07-21 16:17:54 +02:00
furylynx
7f886fd4fc fix travis tests 2018-07-21 12:47:03 +02:00
William S Fulton
5ce880ee41 Fix SWIG_Py_None regression from last commit 2018-07-18 11:44:27 +01:00
William S Fulton
344e9fefa8 Python singletons tidy up 2018-07-17 20:23:55 +01:00
William S Fulton
d56d7a7253 Initialize Python function-local statics (singletons)
Singletons are created during Python module initialization in order to avoid
deadlocks with subsequent multi-threaded usage.
Fixes #1275 #1279
2018-07-17 19:56:12 +01:00
William S Fulton
8e6799d783 Revert "Merge branch 'petrmitrichev-remove-function-local-statics'"
This reverts commit b8ed7759d5, reversing
changes made to 6f2399e86d.
2018-07-17 08:46:53 +01:00
Giacomo Mazzamuto
3594e54f7e pybuffer: don't use the old deprecated buffer protocol for Python 3 2018-07-05 00:29:28 +02:00
Giacomo Mazzamuto
5a8c4fde4c Enable test case for python_pybuf 2018-07-04 10:48:06 +02:00
William S Fulton
f8ffc04215 Use SWIGRUNTIME for SwigPyObject_repr2 2018-06-30 19:30:58 +01:00
William S Fulton
b8ed7759d5 Merge branch 'petrmitrichev-remove-function-local-statics'
* petrmitrichev-remove-function-local-statics:
  Python initialization code tidy up
  Remove SWIG_STATIC_POINTER (Python)
  Add comments that explain the need for globals.
  Avoid function-local statics that call Python code to avoid deadlocks with GIL
2018-06-30 19:29:29 +01:00
William S Fulton
4b4e0180f4 Python initialization code tidy up
I've moved the initialization of statics a little earlier on - a little
safer as it is hard to follow exactly when some of these were being
used, such as SWIG_Py_None which sometimes replaces Py_None.
2018-06-30 19:28:03 +01:00
William S Fulton
b3763c8dc8 Remove SWIG_STATIC_POINTER (Python)
It's use has been removed to discourage thread unsafe static
initialisation.
2018-06-30 17:47:01 +01:00
Petr Mitrichev
40ea0a9606 Add comments that explain the need for globals. 2018-06-28 17:33:31 +02:00
Petr Mitrichev
d956081fd3 Avoid function-local statics that call Python code to avoid deadlocks with GIL 2018-06-28 14:27:52 +02:00
William S Fulton
6f2399e86d Switch Travis additional testing from python 3.6 to 3.7 2018-06-18 19:40:16 +01:00
William S Fulton
602b0d5a2c Add doxygen testing of Java constructor wrappers 2018-06-18 18:56:21 +01:00
William S Fulton
9cc05724ef Add java runtime test for nested classes 2018-06-18 18:55:14 +01:00