Commit graph

67 commits

Author SHA1 Message Date
William S Fulton
4a29229bab Add catches_strings test to test throws char * typemap 2022-09-19 09:09:29 +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
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
748bad3db2 Add guile test for %newobject 2022-08-15 19:56:31 +01:00
William S Fulton
23ce0655a6 Add Guile support for std::unique_ptr and std::auto_ptr
Equivalent to Python/Ruby implementations.
2022-08-12 23:50:54 +01:00
Olly Betts
336de2f745 [guile] Stop using deprecated aliases
The replacements should all work with Guile 1.8.0, which is the
oldest version we still aim to support.

Fixes #1624
2022-08-04 10:39:02 +12: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
99954d6d4e Shorten testcase variable names for Scilab 6 to work 2021-11-15 22:45:56 +00:00
William S Fulton
eb151e43be Fix overloading for non-pointers and NULL - Guile 2018-12-30 09:26:33 +00:00
William S Fulton
f4644d7c30 Run overload_complicated testcase
Was marked as broken, seems to work now
2017-10-04 20:43:44 +01:00
Brian Caine
892f3592cc Redid the source and the text to check for SCM_MAJOR_VERSION >= 2 2017-01-27 19:06:33 +00:00
Brian Caine
567f944129 Doesn't run argout test if (system foreign), and in particular, bytevector->pointer doesn't exist 2017-01-27 19:06:12 +00:00
Brian Caine
391bb79cba Added support for guile's native pointer type 2016-12-16 15:15:13 +13:00
William S Fulton
155e31626c Duplicate tests that are run twice as both C and C++ tests to fix parallel make: overload_extend 2016-02-21 19:24:11 +00:00
William S Fulton
ca64b06229 Consistent quoting in Makefile 2015-08-21 22:48:34 +01:00
William S Fulton
c6f8aadc64 Cosmetic corrections - Mac OS X 2015-08-02 20:14:20 +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
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
William S Fulton
3d230ea253 Fix Guile li_std_string testcase which requires a UTF-8 locale set
This was failing on Mac OSX and is a further fix to
43c8f2351c to fix #139
2014-03-14 14:18:42 +00:00
Geert Janssens
43c8f2351c guile std_string test: run test in utf8 locale
Guile can't properly handle non-ascii strings in the default C locale
2014-02-18 16:35:58 +01:00
Geert Janssens
c6d03a6a9f Guile: make scm to string conversion work with non-ascii strings 2014-02-05 12:17:16 +01:00
William S Fulton
70b9df5ee9 Portable dynamic library loading for Guile
dynamic-link and load-extension work without passing the .so or .dll as
the shared library extension, so these have been dropped so the examples
and test-suite work on Cygwin.

Also update documentation and use the 'lib' prefix as that is what we
commonly name the shared libraries.
2013-05-08 12:42:17 +01:00
Geert Janssens
469022d311 Disable guile 2's autocompilation feature for the test suite
Autocompilation generates a lot of warnings. Most of them
just informational, but it clutters the test output.
2013-04-28 22:06:26 +02:00
Geert Janssens
7dfe4a0653 Make guile test suite default to scm api
In other words guilescm becomes guile.
Deprecated gh api tests are moved to guilegh.
2013-04-28 22:06:21 +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
4851213163 Improved way of overriding commandline options for the multicpptests
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11358 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-03 23:16:08 +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
8ed7554802 overlooked build system mods now implemented to remove warning 125
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11005 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-12-24 23:42:39 +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
Matthias Köppe
95f21258b3 Add test suites for CLISP, CFFI, UFFI.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8429 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-14 13:36:28 +00:00
Matthias Köppe
4c5986550c Don't forget to exit.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7535 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-26 21:45:34 +00:00
Matthias Köppe
b30b77c60c *** empty log message ***
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7530 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-09-25 21:33:56 +00:00
Matthias Köppe
a79d4e9f63 Fix library name.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7277 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-06-11 16:38:15 +00:00
Matthias Köppe
c716c5082e Fix Bash-ism.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7269 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-06-10 11:30:32 +00:00
John Lenz
d5974f3e1e SWIG chicken module now returns multiple values instead of returning a list.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7156 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-04-15 22:38:09 +00:00
John Lenz
b599732cdc Add a whole bunch of chicken runme scripts, and fix the bugs exposed by those scripts
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7155 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-04-15 05:23:14 +00:00
John Lenz
897e5ad40d Lots more bug fixes for the chicken module: almost the entire test-sutie now runs
The only tests that are failing are ones that depend on std_vector.i and similar


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7079 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-03-17 07:28:19 +00:00
John Lenz
eec55ff302 Update Guile makefiles to work with default -scm mode.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6652 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-04 01:28:37 +00:00
John Lenz
c65f985bc6 Revert guile_gh.swg and guile_gh_run.swg to not use new runtime system.
Added global variable to hold status of -runtime,-c,-noruntime flag for use
  in guile gh module mode.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6630 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-02 22:06:53 +00:00
Matthias Köppe
3c62788f46 Fix name of module init function.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6027 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-07-11 17:09:13 +00:00