Commit graph

53 commits

Author SHA1 Message Date
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
6ccef6dae1 Ocaml clean fixes 2022-06-30 09:36:29 +01: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
cbd9bd6d71 Fix running make-cpp11 for ocaml 2022-03-27 16:43:30 +01:00
William S Fulton
f44153069b Ocaml test-suite '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 13:50:30 +01:00
William S Fulton
a71c318b06 Stop testing two recently failing ocaml tests
Problem here seems to be one also affecting other ocaml broken tests:
1. Enum value names should be using sym:name not name (ie %rename is broken for ocaml enum items)
2. directorin typemaps are not correct
2022-03-27 13:33:02 +01:00
Seth R Johnson
fc2b90acd1 Add a "diamond" pattern to multi-impmort test
This tests whether multiple modules can correctly import
the same common module.

```
a -> d
  -> b -> c -> d*
```
2022-02-12 19:40:03 -05:00
William S Fulton
f318bb8286 Add missing clean targets
template_typedef_cplx2 files are generated by the template_typedef_import.multicpptest
but can also be cleaned by the template_typedef_cplx2.cpptest target.
2020-10-10 15:02:26 +01:00
Zackery Spytz
b1b13d7d0a Use %rename 2020-06-07 13:56:07 -06:00
Zackery Spytz
470ce2dd31 [OCaml] Add missing INPUT, OUTPUT, and INOUT typemaps for primitives
The typemaps are based on PHP's.
2019-02-18 04:23:40 -07:00
William S Fulton
ad7f9cd8d7 Mark and setup OCaml as an experimental target language.
Issue #1437
2019-02-11 18:30:35 +00:00
William S Fulton
5c66ed3d0b Merge branch 'ZackerySpytz-OCaml-fix-typedef_mptr'
* ZackerySpytz-OCaml-fix-typedef_mptr:
  [OCaml] Fix and re-enable typedef_mptr_runme.ml
2019-02-09 22:29:18 +00:00
Zackery Spytz
d3b1211a92 [OCaml] Fix and re-enable typedef_mptr_runme.ml
typedef_mptr_runme.ml was attempting to pass OCaml functions to
do_op().

Remove unneeded prints.
2019-02-05 20:10:06 -07:00
Zackery Spytz
9942e6a582 [OCaml] Fix director_pass_by_value
Add a directorin typemap for SWIGTYPE.

Add director_frob_runme.ml, director_pass_by_value_runme.ml, and
director_unroll_runme.ml.

This commit fixes most of the director-related warnings in the OCaml
test suite. Of the director tests that are currently included in the
OCaml test suite, director_basic and director_property are the only
ones which give warnings (due to issues with typecheck typemaps).
2019-02-04 11:29:54 -07:00
William S Fulton
526b2cf0ae Merge branch 'ZackerySpytz-OCaml-director-classes-throw'
* ZackerySpytz-OCaml-director-classes-throw:
  [OCaml] Fix handling of exception specifications for director classes
2019-01-31 07:21:50 +00:00
Zackery Spytz
35663b1622 [OCaml] Fix handling of exception specifications for director classes
The OCaml module was generating invalid code for director classes
which contain methods with exception specifications. The fix is based
on some of the code in python.cxx's classDirectorMethod().

This commit fixes compilation failures for a number of director unit
tests.

Add director_exception_catches_runme.ml,
director_exception_nothrow_runme.ml, and director_ignore_runme.ml.
2019-01-26 05:58:38 -07:00
Zackery Spytz
4074f788b3 [OCaml] Fix %allowexception
OCaml's variableWrapper() wasn't calling emit_action_code() for
in/out typemaps, which meant that %allowexception was being ignored.

In addition, remove all comments in the typemaps in Lib/ocaml. In the
case of the allowexcept test, one of the typemap comments caused
compilation to fail because it became nested within another comment
in an %exception block.

Re-enable the allowexcept test.
Add allowexcept_runme.ml.
2019-01-22 07:51:45 -07:00
William S Fulton
3fe9bbe907 Merge branch 'ZackerySpytz-OCaml-copy_string-test'
* ZackerySpytz-OCaml-copy_string-test:
  [OCaml] Fix and re-enable the string_simple, minherit, and unions tests
2019-01-14 23:20:24 +00:00
William S Fulton
36846e9342 Merge branch 'ZackerySpytz-OCaml-class-example'
* ZackerySpytz-OCaml-class-example:
  [OCaml] Re-enable the using_protected unit test
  [OCaml] Add a class example
2019-01-14 23:16:59 +00:00
Zackery Spytz
83df4e8ed6 [OCaml] Fix and re-enable the string_simple, minherit, and unions tests
copy_string() is a macro in the OCaml C API, so rename the function
to copy_str(). Add a runtime test.

The minherit runtime test was fixed by b64d685.

Use the proper syntax for accessing member variables in
unions_runme.ml
2019-01-13 17:28:00 -07:00
Zackery Spytz
ded4abab62 Some renaming
Add OCaml to Tools/testflags.py.
2019-01-11 21:31:42 -07:00
Zackery Spytz
51bfdce781 Merge remote-tracking branch 'upstream/master' into OCaml-make-j-race-conds 2019-01-11 21:21:56 -07:00
Zackery Spytz
a851e0a9ac [OCaml] Re-enable the using_protected unit test
Use the [member-variable] syntax in using_protected_runme.ml as
required by the OCaml module's documentation and implementation.

Fix the return type for vec_write() in example.h in the OCaml stl
example.
2019-01-11 17:59:23 -07:00
William S Fulton
b64d685d5f Merge branch 'ZackerySpytz-OCaml-fix-member-var-access'
* ZackerySpytz-OCaml-fix-member-var-access:
  OCaml's classHandler() requires name, not sym:name.
  [OCaml] Fix member var getters and setters
2019-01-11 18:42:19 +00:00
Zackery Spytz
7c653ba7df Add rules for swig.cmi, swig.cmo, and swigp4.cmi
In addition, give runme executables unique names (based on the go
Makefile).
2019-01-10 14:11:16 -07:00
Zackery Spytz
4ca6fdc551 OCaml's classHandler() requires name, not sym:name.
In classHandler(), assign sym:name to the classname global so that it
can be used in membervariableHandler().

Add a small runme test for li_std_vector.
Use swigp4 when compiling the runme tests.
2019-01-08 20:10:07 -07:00
Zackery Spytz
8d9d4cc5f1 [OCaml] Improve "make clean" and similar
When cleaning, remove the runme file and generated *.mli files.
Remove unneeded MLFILE variables from Makefiles.
2019-01-07 14:24:58 -07:00
Zackery Spytz
8f7bc4cc10 [OCaml] Rename example_prog.ml to runme.ml in the OCaml examples
Name the output executable "runme" in the examples.
Replace use of "foolib" in the string_from_ptr example.
Fix a warning in the std_vector example.
Add strings_test to Examples/ocaml/check.list.
Disable two tests that were causing the OCaml test suite to fail.
2019-01-07 11:59:07 -07:00
William S Fulton
f17e993ed7 Remove some non-standard cruft from OCaml test-suite 2019-01-03 07:54:29 +00:00
Zackery Spytz
f2a05bda8b Don't override SCRIPTDIR. 2019-01-02 05:01:54 -07:00
Zackery Spytz
5f941bc3c7 Replace mv hack. 2019-01-02 01:33:53 -07:00
Zackery Spytz
9973628268 [OCaml] Update OCaml for out-of-source builds
This is one of the steps needed to fix the OCaml test suite.

In addition, disable the creation of toplevels by default in the OCaml
examples (toplevels are currently broken).
2018-12-29 08:24:24 -07:00
William S Fulton
c40131d321 Setup list of failing Ocaml tests
This makes the test-suite show as passed for the remaining tests
2017-03-23 19:11:20 +00:00
William S Fulton
ca64b06229 Consistent quoting in Makefile 2015-08-21 22:48:34 +01:00
Olly Betts
064f18131d Fix "check_quant" target in ocaml testsuite
Previously it would be confused by testcases names which were a suffix
of another testcase name (e.g. name and keyword_rename).
2015-03-18 15:49:48 +13:00
Olly Betts
eec4e7e2ee Use the ocamlc configure found 2015-03-18 13:12:12 +13: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
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
a1933f7bbc Fix make partialcheck-ocaml-test-suite
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11132 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-02-17 20:08:57 +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
Art Yerkes
3101067a2d Uniform SWIGSTATIC on all prototypes.
#ifdef __GNUC__ -> static inline to remove warning spew using gcc
typemaps: tweaks for arrays, enums
ocaml.cxx: remove Swig. qualifier everywhere it's not needed


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6655 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-04 04:17:00 +00:00
Art Yerkes
db57b0d6d8 Some delayed maintenance.
Fixes for multimodule targets.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6407 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-10-17 07:56:17 +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