Commit graph

42 commits

Author SHA1 Message Date
William S Fulton
ed333b6b97 std::string throws typemaps
Go, Guile, Racket, Scilab: Add throws typemaps for std::string so that
thrown string exception messages can be seen.

Test all language for std::string throws typemaps
2022-09-19 09:09:29 +01:00
William S Fulton
4a29229bab Add catches_strings test to test throws char * typemap 2022-09-19 09:09:29 +01:00
William S Fulton
e97181ebc0 Add missing typecheck typemaps for std::auto_ptr and std::unique_ptr
To fix overloading when using these types.
2022-09-17 10:23:51 +01:00
William S Fulton
dad7c93ca0 Provide SWIGTYPE MOVE typemaps in swigmove.i
For implementing full move semantics when passing parameters by value.
Based on SWIGTYPE && and std::unique_ptr typemaps which implement move
semantics.

Added for all languages, but untested for: Go, Ocaml, R, Scilab (and
unlikely to be fully functional for same reasons as for std::unique_ptr
support).

Issue #999
2022-09-16 08:36:25 +01:00
William S Fulton
2212af3f4f rvalue reference outputs
Document rvalue reference outputs behaviour
Test rvalue reference outputs
2022-09-08 08:46:32 +01:00
William S Fulton
4c58bb558f Fix Racket tests using schemerunme directory
For out of source builds
2022-09-02 19:17:38 +01:00
William S Fulton
7934561874 Test/fixes to handle NULL pointer for unique_ptr/auto_ptr
Also add missing unique_ptr tests for Lua and Racket.
2022-08-31 19:42:55 +01:00
William S Fulton
2cfd77b1c0 Racket - NULL pointer handling
SWIG now converts a C/C++ NULL pointer into a null value by calling
scheme_make_null(), so that scheme's null? is true for a NULL C/C++
pointer value.

Consistency with Guile and needed for a pending commit for handling
NULL and std::unique_ptr.
2022-08-31 19:40:13 +01:00
William S Fulton
e139a36511 SWIGTYPE && input typemaps now assume object has been moved
Replicated Java implementation.

Fully implemented for:
- C#
- D
- Guile
- Javascript (UTL)
- Lua
- MzScheme
- Octave (UTL)
- Perl (UTL)
- PHP
- Python (UTL)
- Ruby (UTL)
- Tcl (UTL)

PHP std::auto_ptr std::unique_ptr minor tweaks and testcase corrections
2022-08-31 19:40:14 +01:00
William S Fulton
48c644ea6e Add Racket support for std::unique_ptr and std::auto_ptr
Equivalent to Guile implementation.

Slight tweak to proxy ownership was required by adding in
the own member to swig_mz_proxy.
2022-08-18 22:45:03 +01:00
William S Fulton
c9f5a85e45 Add Racket test for %newobject
Uses common mzscheme test, but corrections for Racket error:

if: bad syntax (must have an "else" expression)
2022-08-17 08:16:47 +01:00
Olly Betts
07f0b732ba Add machinery for C++14, C++17 and C++20 testing
Support running testcases conditional on the compiler supporting
a each language version, like we already handle C++11.

Currently no testcases are actually run in this way for these
newer language versions.
2022-07-26 15:28:51 +12:00
William S Fulton
5cc4591ae7 Consistent cpp11 testing in test-suite
Move HAVE_CXX11 into makefiles so that running test-suite
from top level directory or in the language's test-suite directory
is consistent. For example, running 'make check-java-test-suite'
behaves the same as 'cd Examples/test-suite/java && make check'.
2022-03-27 19:34:20 +01:00
William S Fulton
282fdb1715 MzScheme 'passes' with c++11 testing now
Test c++17 on Github Actions to try keep it passing when
configure detects g++ can test c++17.
2022-03-27 15:06:47 +01:00
William S Fulton
424eebfb6a Disable broken mzscheme testcases
Failing tests due to:
-Werror=overflow
-Werror=write-strings
2019-02-10 10:46:26 +00:00
William S Fulton
454c1f1aa4 Fix mzscheme name and unions testcases 2019-02-09 20:32:39 +00:00
William S Fulton
c06dba6b58 Suppress experimental language warning when running the test-suite 2019-02-09 20:32:06 +00:00
William S Fulton
20344093ef Fix mzscheme static variable wrappers
$argnum needs to be expanded in the 'varin' typemap which shares
code used by the 'in' typemap.
Setting the static variable is also a function call (argnum=1).

Added class examples - needs static variables to work
Test newly working test cases with this fix
2019-02-09 14:44:33 +00:00
William S Fulton
43bdffcbc1 Skip failing MzScheme tests 2019-02-09 14:44:33 +00:00
William S Fulton
ca64b06229 Consistent quoting in Makefile 2015-08-21 22:48:34 +01:00
Karl Wette
3fe1eb7056 Set SRCDIR when calling test-suite clean targets, in case it's needed 2014-05-29 02:29:27 +02:00
William S Fulton
beccd3258f Update all languages to use SCRIPTDIR
R also to use SCRIPTPREFIX and SCRIPTSUFFIX
2014-05-15 23:11:07 +01:00
William S Fulton
2b5499a262 Slight simplification of test-suite build for new out-of-source changes
Provide default SRCDIR and SCRIPTDIR variables in common.mk and override
only where needed.
2014-05-15 23:11:07 +01:00
Karl Wette
f574a34155 Allow examples and test-suite to be built out of source tree
- Examples/Makefile.in rules use SRCDIR as the relative source directory

- ./config.status replicates Examples/ source directory tree in build
  directory, and copies each Makefile to build directory, prefixed with
  a header which sets SRCDIR to source directory

- Examples/test-suite/.../Makefile.in set SRCDIR from Autoconf-set srcdir

- Examples/test-suite/errors/Makefile.in needs to filter out source
  directory from SWIG error messages

- Lua: embedded interpreters are passed location of run-time test

- Python: copy run-time scripts to build directory because of 2to3
  conversion; import_packages example copies __init__.py from source
  directory; test-suite sets SCRIPTDIR to location of run-time tests

- Javascript: binding.gyp renamed to binding.gyp.in so that $srcdir
  can be substituted with SRCDIR; removed './' from require() statements
  so that NODE_PATH can be used to point Node.js to build directory
2014-05-11 23:21:10 +02:00
Karl Wette
d5b765d388 Whitespace cleanup of all Makefiles*
- some of the %.clean rules in the test-suite Makefiles were using a single tab
  as an empty rule, dangerous! I've replaced these with the safer '@exit 0'.
2014-05-02 20:06:11 +02:00
Miklos Vajna
451f71d7b1 remove unnecessary extra semicolons in the tesuite
Basically just style cleanup, "fi;" or "fi; \" -> "fi".

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11523 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-09 22:52:08 +00:00
William S Fulton
56c5b52c1d remove unnecessary extra shells being spawned in the test-suite
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11522 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-09 22:39:51 +00:00
William S Fulton
9064b08651 better way to provide custom commandline options for individual tests
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11356 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-03 22:23:43 +00:00
William S Fulton
f06222b993 Add partialcheck make targets. Also add RUNTOOL, COMPILETOOL and SWIGTOOL variables for invoking tools when running tests, compiling or invoking swig
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10482 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-05-20 21:27:22 +00:00
William S Fulton
ede8b8c87a Remove cvs $Header$
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10007 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-10-17 21:56:11 +00:00
William S Fulton
e4bade15f3 fixes to use parallel make when running the examples and test-suite
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9875 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-07-24 21:26:54 +00:00
John Lenz
6dda6f8321 Remove cvsignore files: this is stored on svn:igonre property now
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9593 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-12-03 08:28:42 +00:00
Matthias Köppe
ca7f3bf836 New test case integers.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8815 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-02-14 18:25:16 +00:00
William S Fulton
f736ec91c2 Get clean target working again
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7873 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-26 09:36:21 +00:00
William S Fulton
6e570eda85 Testcases that used the prebuilt runtime library generate their own runtime library DLL/so and use that instead now
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6022 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-07-10 16:36:19 +00:00
William S Fulton
d3d9210bd0 Replace ; with && where appropriate. This fixes the makefiles so that Make correctly errors out rather than blindly carrying on when some error occurs.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5731 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-02-20 22:57:23 +00:00
William S Fulton
b0520285d1 *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5089 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-06 15:58:14 +00:00
William S Fulton
5206dd0912 Multiple build directory support
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5040 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-01 15:15:50 +00:00
William S Fulton
976d6e5a2b Makefile replaced with Makefile.in
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5027 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-08-31 16:22:43 +00:00
William S Fulton
de504871c4 removed
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4741 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-04-29 11:11:15 +00:00
William S Fulton
44ec6a24f8 imports runtime test name change - this must have got left out when imports was renamed from import
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4740 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-04-29 11:03:15 +00:00
Dave Beazley
12a43edc2d The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2002-11-30 22:01:28 +00:00