Commit graph

20,732 commits

Author SHA1 Message Date
William S Fulton
c33f352069 python -> Python in html docs 2018-08-21 22:41:02 +01:00
William S Fulton
f7818d5ed3 Simplify nested testcase
Remove duplicate code (that just had shorter names for Scilab).
2018-08-20 19:28:29 +01:00
William S Fulton
3baf6e9f97 Merge branch 'wkalinin-duplicate-unions'
* wkalinin-duplicate-unions:
  Add testcase for nested C struct name conflict
  Nested structures in "C" mode symbol table fix
2018-08-20 19:22:31 +01:00
William S Fulton
c39a379942 Add testcase for nested C struct name conflict
Issue #1305
2018-08-20 19:21:14 +01:00
William S Fulton
c2805e5a44 Change location of Python -fastproxy methods in proxy class
Output methods in the same place that they would be generated in the
proxy class when not using -fastproxy. When using autodoc, the two
definitions of the method are then right after each other.
2018-08-20 07:37:29 +01:00
William S Fulton
eb81355196 Fix makefile recursion when running python test-suite.
Use terminal / double-colon rules in makefile pattern matching rule to
prevent recursion reported on some versions of make.

Closes #688
2018-08-19 17:40:56 +01:00
William S Fulton
4930fab5a0 Fix some Python tests not being run in out of source tree builds
When there is just a _runme3.py file and no _runme.py file, out of
source builds were not running the script.
Currently only applies to python_abstractbase_runme3.py.
2018-08-19 16:18:38 +01:00
William S Fulton
3de67de8f0 Travis: python3.5 -fastproxy no longer failing 2018-08-18 00:45:43 +01:00
William S Fulton
c9cac931c7 Re-implement Python -fastproxy option.
The previous implementation failed with Python 3 and abstract base clases.
The new implementation replaces the Python 2 implementation using new.instancemethod with C API PyMethod_New to match the equivalent Python 3 implementation which uses PyInstanceMethod_New.

Closes #1310
2018-08-18 00:36:23 +01:00
Vladimir Kalinin
5a22bcf007 Nested structures in "C" mode symbol table fix 2018-08-14 21:25:35 +03:00
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