swig/Examples/test-suite/java
William S Fulton d3a20504be Fix multicharacter constants to have type int, not char
A character constant containing more than one character, e.g. 'ab', has
type int per both the C standard (6.4.4.4p10) and the C++ standard
([lex.ccon], which describes it as a "multicharacter literal"). SWIG
previously classified every character constant as char regardless of
length, which caused the generated wrapper accessor for a constant such
as #define X 'ab' to be declared char instead of int, silently
truncating the value.

The literal text is left untouched (SWIG does not evaluate constant
expressions), only the internal type tag changes, so the real compiler
that builds the generated wrapper still computes the (implementation
defined) value, exactly as it would for hand written C/C++ code.

Add a new C-only multichar_constant.i test case with per-language runme
files, and keep the new csharp/java char_constant runme files (which
had no coverage before) for the existing, unrelated character constant
checks.

Compiling a real multicharacter constant always triggers GCC's
-Wmultichar warning. #pragma GCC diagnostic ignored "-Wmultichar" does
not suppress it: this is a known, longstanding GCC C++ front-end bug
(gcc.gnu.org PR57241/PR53431, fixed in GCC 13) - verified locally that
it fails identically on GCC 11 and 12 regardless of file- or
function-level pragma scope, while working fine in C or with GCC 13+
or Clang (which also defines __GNUC__ but doesn't have this bug).

The new testcase avoids the warning entirely, with no build system
changes needed:

- The %inline global variable imulti_ab uses the real literal (guarded
  by the pragma) wherever that's known to work, and otherwise falls
  back to reconstructing the identical value GCC's own packing of
  'ab' produces (most significant byte first) without writing a
  multicharacter literal at all - the same symbol name and type either
  way, so the generated accessor links correctly regardless of which
  branch was compiled.
- The #define-driven MULTICHAR_AB constant (whose registration code is
  auto-generated per target language, so a similar fallback isn't
  portable to hand-write once for every language) is skipped entirely
  for octave and javascript's node/napi/v8 engines, the only
  configurations that always compile the generated wrapper as C++
  regardless of SWIG's own -c/-c++ mode (their runtime APIs require
  it) and so would otherwise still hit the GCC bug above.

Verified against both GCC 13 (default) and GCC 11 (matching the actual
CI toolchain that originally failed) across all configured languages.

Assisted-by: Claude Code (Sonnet 5)
2026-07-29 19:46:45 +01:00
..
CommentParser.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
Makefile.in Keep unsupported nested classes as ignored classes, not forward declarations 2026-06-08 07:57:22 +01:00
README Fix assorted comment and documentation typos 2014-02-23 17:15:22 +13:00
abstract_inherit_using_runme.java Fix missing constructor generation due to abstract class test failure 2023-08-05 19:47:17 +01:00
aggregate_runme.java contract assertion test 2003-11-18 23:19:47 +00:00
allprotected_runme.java Fix directors and allprotected mode and using declarations. 2023-06-24 12:29:59 +01:00
apply_signed_char_runme.java %apply signed char test added 2006-08-10 21:22:12 +00:00
apply_strings_runme.java ensure %apply with char*, unsigned char* and signed char* works 2006-05-03 20:58:19 +00:00
argcargvtest_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
array_member_runme.java Array member runtime test 2003-06-01 13:56:02 +00:00
arrays_global_twodim_runme.java The great merge 2002-11-30 22:01:28 +00:00
assign_const_runme.java Non-assignable detection fixes when wrapping const 2D arrays 2023-09-09 12:31:33 +01:00
assign_reference_runme.java Restore missing variable setters for types containing non-assignable static members 2023-09-08 07:49:01 +01:00
catches_strings_runme.java std::string throws typemaps 2022-09-19 09:09:29 +01:00
char_binary_rev_len_runme.java Add typecheck. 2025-08-11 08:28:02 +01:00
char_binary_runme.java Fixes of STRING/BYTES LENGTH typemaps. 2024-02-29 02:09:09 +01:00
char_constant_runme.java Fix multicharacter constants to have type int, not char 2026-07-29 19:46:45 +01:00
char_strings_runme.java Add char *& string typemaps to all languages and char_strings runme parity 2026-07-09 21:55:58 +01:00
class_scope_namespace_runme.java Testcase changes to satisfy pep8 E742 and E743 checks 2017-10-09 07:27:38 +01:00
constant_directive_runme.java fix handling of function pointers by %constant directive 2016-03-24 11:22:51 +01:00
constructor_copy_non_const_runme.java Fix %copyctor used on class hierarchies with non-const copy constructor 2023-07-29 18:16:40 +01:00
copyctor_runme.java Fix duplicate sym:overname values using %copyctor 2023-07-29 00:28:28 +01:00
cpp11_alias_nested_template_scoping_runme.java Template instantion fixes when template parameter is used twice in type 2019-02-17 20:03:18 +00:00
cpp11_alias_template_inheritance_runme.java Add test coverage and docs for alias templates as a base class and using-declaration qualifier 2026-06-20 07:20:37 +01:00
cpp11_alias_templates_runme.java C++20 constrained alias templates: parse and support 2026-05-27 20:35:03 +01:00
cpp11_assign_delete_runme.java Assignable fixes for reference member variables 2024-09-19 19:52:14 +01:00
cpp11_assign_rvalue_reference_runme.java Restore missing variable setters for types containing non-assignable static members 2023-09-08 07:49:01 +01:00
cpp11_brackets_expression_runme.java Fix syntax error parsing an expression 2023-06-30 08:54:23 +01:00
cpp11_constexpr_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
cpp11_copyctor_delete_runme.java C++11 deleted destructors fixes 2023-09-02 22:55:58 +01:00
cpp11_default_delete_runme.java C++11 single default deleted constructor fix 2023-09-02 14:07:47 +01:00
cpp11_director_using_constructor_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
cpp11_inheriting_constructors_runme.java Inherit constructors named through a typedef base 2026-06-17 01:47:06 +01:00
cpp11_inheriting_constructors_typedef_runme.java Detect inheriting constructors by base class match in the parser 2026-06-17 01:47:06 +01:00
cpp11_initializer_list_runme.java gcc-9 testcase warning fix 2019-07-09 08:06:18 +01:00
cpp11_lambda_functions_runme.java Rename all C++0x to C++11 and cpp0x to cpp11 2013-10-07 20:37:00 +01:00
cpp11_move_only_runme.java Add missing use of move constructor 2024-03-06 21:46:58 +00:00
cpp11_move_only_valuewrapper_runme.java Movable and move-only types supported in "out" typemaps. 2022-06-30 17:26:48 +01:00
cpp11_move_typemaps_runme.java Add missing use of move constructor 2024-03-06 21:46:58 +00:00
cpp11_raw_string_literals_runme.java Add more tests for C++11 raw string literals 2019-01-06 00:10:01 +00:00
cpp11_ref_qualifiers_runme.java Add support for conversion operators with ref-qualifiers 2017-08-30 18:17:05 +01:00
cpp11_ref_qualifiers_rvalue_unignore_runme.java Add unignore for rvalue ref-qualifiers 2017-08-30 18:17:04 +01:00
cpp11_ref_qualifiers_typemaps_runme.java Add support for %typemap and member function pointers with qualifiers 2017-09-09 23:46:14 +01:00
cpp11_result_of_runme.java C++11 result_of testcase 2014-03-14 01:57:16 +00:00
cpp11_rvalue_reference_move_runme.java rvalue reference outputs 2022-09-08 08:46:32 +01:00
cpp11_shared_ptr_overload_runme.java Improve handling of NULL vs nullptr vs 0 vs 0L 2026-06-29 14:36:06 +12:00
cpp11_shared_ptr_template_upcast_runme.java Applying shared_ptr template upcast fix to CSharp, adding CSharp test, and cleanup 2019-05-06 15:30:54 -04:00
cpp11_std_array_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
cpp11_std_function_runme.java Final fixes and tweaks to std::function wrappers 2026-05-03 19:00:24 +01:00
cpp11_std_unique_ptr_runme.java Add const std::unique_ptr & input typemaps 2024-03-06 21:46:58 +00:00
cpp11_std_unordered_map_runme.java Combine duplicate unordered_set unordered_map testcases 2019-02-12 06:48:13 +00:00
cpp11_std_unordered_set_runme.java Combine duplicate unordered_set unordered_map testcases 2019-02-12 06:48:13 +00:00
cpp11_strongly_typed_enumerations_runme.java R: Honour %rename of enum items in the generated R code 2026-07-15 00:24:05 +01:00
cpp11_strongly_typed_enumerations_simple_runme.java Enhance C++11 strongly typed enums testcase 2014-11-27 19:56:08 +00:00
cpp11_template_pack_specialization_runme.java Fix partial template specialization for function-typed arguments 2026-05-03 19:00:24 +01:00
cpp11_template_parameters_decltype_runme.java Consistency in warnings for ambiguous/redefined templated constructors 2023-07-25 20:04:49 +01:00
cpp11_template_templated_methods_runme.java template templated static methods support 2024-02-28 22:32:04 +00:00
cpp11_template_typedefs_runme.java Fix scope lookup for template parameters containing unary scope operators 2017-08-16 00:24:24 +01:00
cpp11_template_using_base_runme.java Detect inheriting constructors by base class match in the parser 2026-06-17 01:47:06 +01:00
cpp11_thread_local_runme.java Rename all C++0x to C++11 and cpp0x to cpp11 2013-10-07 20:37:00 +01:00
cpp11_type_aliasing_runme.java Fix C++11 type aliasing seg fault. 2015-06-09 07:59:22 +01:00
cpp11_using_constructor_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
cpp11_using_functor_runme.java C++11: cpp11_using_functor - Overloaded functor with %rename and %template 2026-05-28 20:16:15 +01:00
cpp11_using_typedef_template_member_runme.java Fix template parameter expansion for members inherited via a typedef qualifier 2026-06-17 22:28:32 +01:00
cpp14_generic_lambda_runme.java C++14/20: parse auto parameters in functions and lambdas 2026-05-12 23:04:20 +01:00
cpp14_variable_templates_runme.java Add cpp14_variable_templates testcase and document the support 2026-05-10 17:37:51 +01:00
cpp17_class_template_argument_deduction_runme.java C++17: parse user-defined deduction guides 2026-05-30 10:56:19 +01:00
cpp17_director_string_view_runme.java Sort out directorout typemaps for std::string_view 2023-12-21 10:59:44 +13:00
cpp17_enable_if_t_runme.java rename cpp14_enable_if_t to cpp17_enable_if_t 2022-11-05 17:13:30 +00:00
cpp17_inheriting_constructors_pack_runme.java Fix C++17 inheriting constructor pack dropping the last base constructor 2026-06-18 22:01:51 +01:00
cpp17_nested_namespaces_runme.java Add support for c++17 nested namespaces 2018-05-14 21:02:10 +01:00
cpp17_nspace_nested_namespaces_runme.java Test c++17 nested namespaces and %nspace 2018-05-14 21:03:31 +01:00
cpp17_string_view_runme.java Expand std::string_view test coverage 2023-05-26 16:19:05 +12:00
cpp17_using_pack_alias_template_runme.java Add test coverage and docs for alias templates as a base class and using-declaration qualifier 2026-06-20 07:20:37 +01:00
cpp17_using_pack_expansion_runme.java C++17: parse and support pack expansion in a using-declaration 2026-05-30 00:11:23 +01:00
cpp17_using_typename_pack_runme.java Fix syntax error for typename member type pack in a using declaration (#3479) 2026-06-18 21:42:06 +01:00
cpp20_abbreviated_template_decorated_runme.java C++20: mix abbreviated function templates with explicit template parameter lists; decorated auto 2026-05-13 19:23:12 +01:00
cpp20_abbreviated_template_mixed_runme.java C++20: mix abbreviated function templates with a variadic explicit pack 2026-05-13 19:29:27 +01:00
cpp20_abbreviated_template_runme.java C++20: avoid 'Numeric auto' with trailing return type in abbreviated_template test 2026-05-14 01:27:45 +01:00
cpp20_alias_template_runme.java C++20 constrained alias templates: parse and support 2026-05-27 20:35:03 +01:00
cpp20_concepts_class_methods_runme.java cpp20_concepts: add class methods and class template test cases 2026-05-10 17:37:52 +01:00
cpp20_concepts_classes_runme.java C++20 concepts: extend tests and document broader support 2026-05-12 23:04:20 +01:00
cpp20_concepts_constrained_param_runme.java C++20: accept template-id concept-id as a type-constraint 2026-05-12 23:04:20 +01:00
cpp20_concepts_extra_runme.java C++20: parse type constrained template parameters 2026-05-12 23:04:20 +01:00
cpp20_concepts_lambda_runme.java C++20: parse abbreviated function templates with constrained auto 2026-05-12 23:04:20 +01:00
cpp20_concepts_overloads_runme.java C++20 concepts: extend tests and document broader support 2026-05-12 23:04:20 +01:00
cpp20_concepts_runme.java cpp20_concepts: cover the remaining requires-expression body forms 2026-05-10 17:37:52 +01:00
cpp20_variable_templates_runme.java C++20: parse a requires-expression as a primary in expression position 2026-05-10 17:37:51 +01:00
cpp_typedef_runme.java update to use proxy terminology 2006-06-29 21:17:30 +00:00
curiously_recurring_template_pattern_runme.java Add a testcase for the Curiously Recurring Template Pattern - CRTP 2012-09-13 20:15:03 +00:00
default_args_runme.java *** empty log message *** 2004-11-09 21:24:57 +00:00
default_constructor_runme.java Don't generate constructor wrappers if a base class has a private constructor 2015-07-07 20:15:55 +01:00
derived_nested_runme.java fixed %template declared within class, next to template declaration 2013-12-16 11:43:28 +04:00
director_abstract_runme.java Fix for the imports testcase breaking - many of the tests have classes with the same names and so these were being compiled as .class files in this directory. Solved this by giving these classes unique names based on the test name. 2005-04-28 22:13:32 +00:00
director_basic_runme.java Fix director typemaps for pointers so that NULL pointers are correctly marshalled to C#/Java null in director methods 2008-07-14 21:09:23 +00:00
director_binary_string_rev_len_runme.java Fix Length & string reverse order typemap. 2025-07-28 17:07:42 +02:00
director_binary_string_runme.java Fixes of STRING/BYTES LENGTH typemaps. 2024-02-29 02:09:09 +01:00
director_classes_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
director_classic_runme.java remove svn:executable property where applied incorrectly 2008-11-26 21:54:49 +00:00
director_default_runme.java director string testing additions 2022-02-12 12:09:01 +00:00
director_enum_runme.java Fix for the imports testcase breaking - many of the tests have classes with the same names and so these were being compiled as .class files in this directory. Solved this by giving these classes unique names based on the test name. 2005-04-28 22:13:32 +00:00
director_exception_catches_runme.java Changes to use common DirectorException class 2017-11-29 20:31:55 +00:00
director_exception_runme.java Fix for the imports testcase breaking - many of the tests have classes with the same names and so these were being compiled as .class files in this directory. Solved this by giving these classes unique names based on the test name. 2005-04-28 22:13:32 +00:00
director_frob_runme.java unsigned long long test added 2006-10-11 22:36:15 +00:00
director_ignore_runme.java remove svn:executable property where applied incorrectly 2008-11-26 21:54:49 +00:00
director_minimal_runme.java Add a minimal director test (#3346) 2026-02-24 08:58:50 +00:00
director_nested_class_runme.java Expand director_nested_class test to test more than one level of nesting 2014-11-10 19:57:49 +00:00
director_nspace_runme.java Fix for SourceForge Bug #1278 2013-01-02 15:07:56 -06:00
director_ownership_runme.java Fix Java swigReleaseOwnership() and swigTakeOwnership() regression 2018-03-09 08:13:41 +00:00
director_pass_by_value_runme.java [java] Suppress System.runFinalization() removal warnings 2024-03-01 10:42:22 +13:00
director_primitives_runme.java comprehensive director runtime tests based on C# version 2006-07-07 10:09:46 +00:00
director_property_runme.java More director const std::string& testing and C# leak fix 2022-02-13 23:00:04 +00:00
director_protected_runme.java Fix protected/private nested class referenced in generated upcast helper 2026-07-11 21:02:49 +01:00
director_ref_runme.java Added missing untracked files. 2015-05-04 15:27:51 -07:00
director_shared_ptr_runme.java shared_ptr tests cleanup 2026-03-26 08:37:18 +00:00
director_string_runme.java Expand director_string_runme.* 2023-12-21 10:59:44 +13:00
director_thread_runme.java Java director_thread forget to call stop. (#2959) 2024-07-17 07:17:10 +01:00
director_unroll_runme.java Fix for the imports testcase breaking - many of the tests have classes with the same names and so these were being compiled as .class files in this directory. Solved this by giving these classes unique names based on the test name. 2005-04-28 22:13:32 +00:00
director_using_member_scopes_runme.java Using declarations, directors and overloaded methods 2022-03-10 22:18:23 +00:00
director_wombat_runme.java test directors with classes passed by value, ref and pointer 2005-09-13 21:02:21 +00:00
doxygen_alias_runme.java Rewrite Doxygen unit tests for Java using Java 9 API 2019-12-18 02:45:06 +01:00
doxygen_basic_notranslate_runme.java Rewrite Doxygen unit tests for Java using Java 9 API 2019-12-18 02:45:06 +01:00
doxygen_basic_translate_runme.java Merge branch 'Issue-1643' 2020-01-16 18:54:47 +00:00
doxygen_basic_translate_style2_runme.java Rewrite Doxygen unit tests for Java using Java 9 API 2019-12-18 02:45:06 +01:00
doxygen_basic_translate_style3_runme.java Update anther newly merged doxygen Java test for Java 9 API 2020-01-16 19:30:44 +00:00
doxygen_code_blocks_runme.java Remove unused import in java testcase 2020-01-15 22:17:18 +00:00
doxygen_ignore_runme.java Rewrite Doxygen unit tests for Java using Java 9 API 2019-12-18 02:45:06 +01:00
doxygen_interface_runme.java Add runtime tests for checking interface Doxygen docs 2026-02-11 19:02:36 +00:00
doxygen_misc_constructs_runme.java Doxygen misc constructs: cover @{ group marker and /// @file variant 2026-05-15 23:27:03 +01:00
doxygen_nested_class_runme.java Rewrite Doxygen unit tests for Java using Java 9 API 2019-12-18 02:45:06 +01:00
doxygen_parsing_enums_proper_runme.java Doxygen comments formatting fixes for multi-line comments 2024-07-30 00:00:12 +01:00
doxygen_parsing_enums_simple_runme.java Doxygen comments formatting fixes for multi-line comments 2024-07-30 00:00:12 +01:00
doxygen_parsing_enums_typesafe_runme.java Doxygen comments formatting fixes for multi-line comments 2024-07-30 00:00:12 +01:00
doxygen_parsing_enums_typeunsafe_runme.java Doxygen comments formatting fixes for multi-line comments 2024-07-30 00:00:12 +01:00
doxygen_parsing_runme.java Doxygen comments formatting fixes for multi-line comments 2024-07-30 00:00:12 +01:00
doxygen_translate_all_tags_runme.java Doxygen Java fix quoting for \image command 2022-10-06 00:29:03 +01:00
doxygen_translate_links_runme.java Rewrite Doxygen unit tests for Java using Java 9 API 2019-12-18 02:45:06 +01:00
doxygen_translate_runme.java Doxygen Java fix quoting for \image command 2022-10-06 00:29:03 +01:00
dynamic_cast_runme.java Better error detection in some java testcases 2014-03-01 16:14:36 +00:00
enum_forward_runme.java Fix C enum forward declarations in some target languages (notably Java) 2012-05-01 18:44:22 +00:00
enum_macro_runme.java Fix parser error containing multiple #define statements inside an enum. 2019-02-16 08:09:56 +00:00
enum_thorough_proper_runme.java SF bug #3195112 - fix wrapping of enums that are type char 2011-03-26 15:28:31 +00:00
enum_thorough_runme.java SF bug #3195112 - fix wrapping of enums that are type char 2011-03-26 15:28:31 +00:00
enum_thorough_simple_runme.java SF bug #3195112 - fix wrapping of enums that are type char 2011-03-26 15:28:31 +00:00
enum_thorough_typeunsafe_runme.java SF bug #3195112 - fix wrapping of enums that are type char 2011-03-26 15:28:31 +00:00
extend_constructor_destructor_runme.java keyword variable workaround in testcase 2011-12-21 07:18:45 +00:00
extend_default_runme.java Fix Java 'extend_default' test (#3402) 2026-04-20 19:24:02 +01:00
extend_special_variables_runme.java Support special variable expansion in %extend. 2012-10-11 19:28:02 +00:00
extend_template_method_runme.java Enhance %extend to extend a class with template constructors 2017-01-24 19:01:43 +00:00
extend_typedef_class_runme.java Fix %extend on typedef classes in a namespace using the typedef name 2011-09-08 18:18:33 +00:00
extern_declaration_runme.java new test to test windows calling conventions with extern functions 2005-06-27 21:15:55 +00:00
friends_nested_runme.java Further fixes for handling friends in deeply nested mixes of templates and classes 2024-09-04 08:24:00 +01:00
friends_runme.java Wrap friend functions that are defined or declared within a namespace 2024-01-15 19:18:13 +00:00
friends_template_runme.java Add support for friend templates, including operator overloading. 2015-05-05 06:48:25 +01:00
global_namespace_runme.java Fix unary scope operator (::) (global scope) regression introduced in 2.0.0. The mangled symbol names were incorrect, sometimes resulting in types being incorrectly treated as opaque types. 2010-10-13 05:48:59 +00:00
ignore_parameter_runme.java Better error detection in some java testcases 2014-03-01 16:14:36 +00:00
imports_runme.java The great merge 2002-11-30 22:01:28 +00:00
inctest_runme.java test include within a structure - #1162194 2006-10-06 22:59:22 +00:00
inherit_target_language_runme.java Add test for notderived attribute in csbase/javabase typemap 2009-05-01 06:26:42 +00:00
injecting_base_class_runme.java Inject a base class name into the derived class so it can be named there 2026-06-17 01:47:06 +01:00
intermediary_classname_runme.java reverse merge last commit - 11348 2009-07-02 22:40:49 +00:00
java_constants_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
java_director_assumeoverride_runme.java Rename func to funk in tests to avoid Go keyword problems 2017-06-16 19:24:48 +01:00
java_director_exception_feature_nspace_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
java_director_exception_feature_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
java_director_ptrclass_runme.java Enable variable and typemap substitution in typemap kwargs, and a test that verifies this works for directorin:descriptor. 2015-07-22 11:31:21 -07:00
java_director_runme.java [java] Suppress System.runFinalization() removal warnings 2024-03-01 10:42:22 +13:00
java_director_typemaps_ptr_runme.java Fix crash Java directors 2018-08-12 13:45:43 +01:00
java_director_typemaps_runme.java Java director typemaps.i testing for pointers added 2018-08-11 17:11:24 +01:00
java_enums_runme.java Fix missing value for first item of enums with trailing comma 2019-07-11 17:15:38 +02:00
java_jnitypes_runme.java Better error detection in some java testcases 2014-03-01 16:14:36 +00:00
java_lib_arrays_dimensionless_runme.java dimensionless arrays tests marshalling with proper Java arrays 2004-12-08 22:52:07 +00:00
java_lib_arrays_runme.java Marshalling char[] and char[ANY] to Java byte[] is now a bit easier 2011-06-17 06:41:53 +00:00
java_lib_various_runme.java Add support for java.nio.Buffer 2014-07-18 15:45:16 +03:00
java_pgcpp_runme.java Strip C comments from the java typemaps when determining to use the premature garbage collection prevention parameter 2007-10-12 21:41:27 +00:00
java_pragmas_runme.java The great merge 2002-11-30 22:01:28 +00:00
java_prepost_runme.java Tweak test so it works if test-suite is run using -copyctor 2012-11-13 22:17:55 +00:00
java_throws_runme.java Add missing Java throws clause for interfaces when using the %interface family of macros. 2018-01-12 07:34:32 +00:00
java_typemaps_proxy_runme.java Test and document imfuncname special variable expansion 2022-05-30 19:00:04 +01:00
java_typemaps_typewrapper_runme.java The great merge 2002-11-30 22:01:28 +00:00
kwargs_feature_runme.java The kwargs feature no longer turns on compactdefaultargs for languages that don't support kwargs. 2014-10-21 07:34:51 +01:00
li_boost_intrusive_ptr_runme.java [java] Suppress System.runFinalization() removal warnings 2024-03-01 10:42:22 +13:00
li_boost_shared_ptr_attribute_runme.java Add testcase for %attributestring on shared_ptr 2014-01-11 19:34:22 +00:00
li_boost_shared_ptr_bits_runme.java Fix shared_ptr of classes with private constructors and destructors. 2015-05-14 19:03:06 +01:00
li_boost_shared_ptr_director_runme.java Add director shared_ptr typemaps for Java 2017-10-16 18:21:31 +01:00
li_boost_shared_ptr_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
li_boost_shared_ptr_template_runme.java %shared_ptr fixes when the type is a template using template parameters that are typedef'd to another type. Also fixed %shared_ptr when the template parameter has a default value. 2011-08-13 00:36:12 +00:00
li_carrays_cpp_runme.java Duplicate tests that are run twice as both C and C++ tests to fix parallel make: li_carrays 2016-02-21 18:04:04 +00:00
li_carrays_runme.java Fix array overrun in li_carrays testcase 2015-07-04 20:53:49 +01:00
li_cdata_bytes_cpp_runme.java cdata.i changes and new test li_cdata_bytes 2026-05-25 13:16:09 +01:00
li_cdata_bytes_runme.java cdata.i changes and new test li_cdata_bytes 2026-05-25 13:16:09 +01:00
li_cdata_cpp_runme.java Fixes of STRING/BYTES LENGTH typemaps. 2024-02-29 02:09:09 +01:00
li_cdata_runme.java Fixes of STRING/BYTES LENGTH typemaps. 2024-02-29 02:09:09 +01:00
li_constraints_runme.java Add li_constraints test, testing 'constraints.i'. 2023-05-12 01:23:31 +02:00
li_std_auto_ptr_runme.java [java] Suppress System.runFinalization() removal warnings 2024-03-01 10:42:22 +13:00
li_std_except_runme.java check std::exception typemaps are working correctly and throwing the correct Java exceptions. 2006-01-03 23:28:19 +00:00
li_std_list_runme.java Java std::vector improvements for types that do not have a default constructor. 2019-03-01 18:01:14 +00:00
li_std_map_runme.java Maps both working as java.util impls 2018-12-27 01:11:54 -05:00
li_std_set_runme.java Fix std::vector<> Java typemaps for primitive types 2019-07-11 13:10:23 +02:00
li_std_string_runme.java Expand li_std_string_runme.* 2023-05-12 16:05:48 +12:00
li_std_vector_enum_runme.java Fix #3475492 - iterating through std::vector wrappers of enumerations. 2012-03-13 07:10:24 +00:00
li_std_vector_runme.java Java std::vector constructor performance improvement 2019-06-06 19:29:11 +01:00
li_typemaps_runme.java lib_xxx to li_xxx name change fixes 2004-11-02 22:31:12 +00:00
long_long_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
member_pointer_const_runme.java Add some tests for typedef to member function pointers 2017-03-10 23:25:31 +00:00
member_pointer_runme.java Add some tests for typedef to member function pointers 2017-03-10 23:25:31 +00:00
memberin_extend_runme.java add test for %extend on member variable 2009-07-09 19:56:47 +00:00
minherit2_runme.java runtime test for turning multiple inherited classes into Java interfaces 2006-10-31 22:10:34 +00:00
multichar_constant_runme.java Fix multicharacter constants to have type int, not char 2026-07-29 19:46:45 +01:00
multiple_inheritance_abstract_runme.java Fix Java %interface family of macros 2021-04-27 23:37:18 +01:00
multiple_inheritance_interfaces_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
multiple_inheritance_nspace_runme.java Fix Java %interface family of macros 2021-04-27 23:37:18 +01:00
multiple_inheritance_overload_runme.java Fix warning in D test-suite 2022-03-28 19:30:47 +01:00
multiple_inheritance_runme.java multiple inheritance and ignored base classes test 2005-10-08 11:36:16 +00:00
multiple_inheritance_shared_ptr_runme.java Fix Java %interface family of macros 2021-04-27 23:37:18 +01:00
namespace_chase_runme.java Fix type lookup in the presence of using directives and using declarations 2017-08-16 00:24:25 +01:00
namespace_forward_declaration_runme.java Fix using declarations combined with using directives with forward class 2012-08-04 20:23:07 +00:00
namespace_template_runme.java %template scope enforcement and class definition fixes 2017-08-16 00:24:25 +01:00
native_directive_runme.java Add a testcase for testing %native 2019-01-31 23:01:42 +00:00
naturalvar_more_runme.java Add naturalvar_more testcase runtime test 2013-10-11 19:42:19 +01:00
naturalvar_onoff_runme.java %naturalvar feature fixes and documentation 2014-01-11 19:32:43 +00:00
nested_class_runme.java Nested classes support 2013-11-29 07:02:34 +00:00
nested_extend_c_runme.java Add runtime test for %extend and nested union 2014-06-02 07:09:35 +01:00
nested_inheritance_interface_runme.java Java compiler lint warnings fixes in test code 2025-04-02 22:52:30 +01:00
nested_structs_runme.java fixed out-of-scope nested class definitions, added a test 2013-12-04 01:53:42 +04:00
nested_template_base_runme.java Add testcase for nested inner class deriving from a templated base class and defined outside of the outer class. 2014-12-19 19:35:38 +00:00
nested_workaround_runme.java add missing nested_workaround runtime test 2009-11-17 19:28:29 +00:00
nspace_extend_runme.java Test %extend and nspace feature 2010-03-08 23:02:53 +00:00
nspace_interface_runme.java Fix Java using %interface and %nspace together 2026-03-06 08:23:26 +00:00
nspace_runme.java [D] nspace support. 2011-03-13 00:32:26 +00:00
nspacemove_nested_runme.java Fix %nspace and %nspacemove for nested classes and enums in a class 2024-06-01 08:04:08 +01:00
nspacemove_runme.java Enhance %nspace with %nspacemove for moving symbols into a different target language namespace 2024-06-01 08:02:49 +01:00
nspacemove_stl_runme.java Add nspacemove example for STL types 2024-06-01 08:04:14 +01:00
operator_overload_runme.java test virtual operators 2006-09-25 20:15:24 +00:00
overload_complicated_runme.java remove svn:executable property where applied incorrectly 2008-11-26 21:54:49 +00:00
overload_template_runme.java Rename max() to maximum() as max() is a built-in function in PHP. 2009-08-14 01:33:23 +00:00
pointer_reference_runme.java Fix typecheck typemaps for SWIGTYPE *const& 2011-01-30 00:42:27 +00:00
preproc_constants_runme.java Improve handling of zero bytes in string literals 2024-08-30 11:07:15 +12:00
preproc_line_file_runme.java Fix preproc_line_file test 2015-01-26 22:35:17 +00:00
primitive_ref_runme.java Better error detection in some java testcases 2014-03-01 16:14:36 +00:00
private_assign_runme.java Variable setters for non-assignable types 2023-09-04 07:34:06 +01:00
profiletest_runme.java added profile test 2004-06-14 18:11:38 +00:00
proxycode_runme.java Add %proxycode directive for adding code into proxy classes for C#, D and Java 2017-01-13 20:43:50 +00:00
rename1_runme.java testcase fixes for gcc-9 2019-04-15 23:25:53 +01:00
rename2_runme.java testcase fixes for gcc-9 2019-04-15 23:25:53 +01:00
rename3_runme.java testcase fixes for gcc-9 2019-04-15 23:25:53 +01:00
rename4_runme.java testcase fixes for gcc-9 2019-04-15 23:25:53 +01:00
rename_pcre_encoder_runme.java Add support for case conversion characters in regex substitutions. 2013-10-15 07:17:56 +01:00
rename_pcre_enum_runme.java Add support for "[not]regexmatch" and "regextarget" to %rename. 2010-07-22 17:02:10 +00:00
rename_wildcard_runme.java Fix %rename override of wildcard %rename for templates 2016-11-28 22:50:52 +00:00
ret_by_value_runme.java The great merge 2002-11-30 22:01:28 +00:00
rname_runme.java Eliminate use of fn in testcases 2021-03-30 11:01:51 +13:00
sizet_runme.java size_t tests 2006-10-17 21:41:39 +00:00
smart_pointer_const_overload_runme.java Add MinGW-W64 Ruby Github CI testing (#2981) 2025-08-04 18:26:43 +01:00
smart_pointer_ignore_runme.java Fix some test-suite warnings 2016-10-16 19:10:35 +01:00
special_variable_macros_runme.java Add support for $n special variable expansion in the names of typemap local variables 2025-02-19 20:44:40 +00:00
special_variables_runme.java Two additional special variable are expanded in %exception - $parentname 2012-10-11 19:24:24 +00:00
string_constants_runme.java Improve handling of zero bytes in string literals 2024-08-30 11:07:15 +12:00
template_advanced_rename_runme.java Test fix for php 2026-04-25 09:28:59 +01:00
template_class_reuse_name_runme.java Allow an instantiated template to have the same name as the C++ template name 2017-09-29 23:28:04 +01:00
template_classes_runme.java update to use proxy terminology 2006-06-29 21:17:30 +00:00
template_construct_runme.java Constructors and destructors declared with template parameters 2023-07-18 19:29:40 +01:00
template_default_arg_runme.java runtime tests for templated functions in a namespace added (overloading and default arg tests) 2004-10-20 21:07:53 +00:00
template_default_cache_runme.java Add template_default_cache runtime tests 2017-01-16 07:46:03 +00:00
template_default_class_parms_runme.java Fix abort using template default parameters 2014-12-28 10:39:53 +00:00
template_default_class_parms_typedef_runme.java Fix some scope and symbol lookup problems when template default parameters are being used with typedef - add the fully expanded template into the c symbol table and scope table. 2011-07-01 22:59:55 +00:00
template_function_parm_runme.java Fix seg fault using %template 2023-01-03 23:53:34 +00:00
template_methods_runme.java Advanced %rename fixes for templates 2026-04-24 22:56:50 +01:00
template_namespace_forward_declaration_runme.java Fix using declarations and templates. %template was putting the 2012-08-04 20:24:22 +00:00
template_nested_flat_runme.java Add and improve Ruby test cases in the context of nesting and namespaces 2020-12-16 22:30:46 +01:00
template_nested_runme.java fixed %template within %extend, test added 2013-12-19 02:11:22 +04:00
template_nested_typemaps_runme.java minor improvement to testcase 2009-10-24 21:58:06 +00:00
template_parameters_global_scope_runme.java Re-enable template_parameters_global_scope test 2026-05-31 15:10:03 +01:00
template_partial_specialization_more_runme.java Partial template specialization fixes to support default arguments 2023-03-01 19:42:00 +00:00
template_partial_specialization_runme.java Testcase changes to satisfy pep8 E742 and E743 checks 2017-10-09 07:27:38 +01:00
template_partial_specialization_typedef_runme.java Fix deduction of partially specialized template parameters 2023-02-17 08:23:41 +00:00
template_specialization_runme.java Add more missing primary template definition testing 2024-06-28 19:32:09 +01:00
template_specialization_using_declaration_runme.java Add testcase for using declarations and templates 2023-07-09 15:56:20 +01:00
template_template_parameters_runme.java Improved template template parameters support. 2022-12-02 19:16:02 +00:00
template_template_template_parameters_runme.java Improved template template parameters support. 2022-12-02 19:16:02 +00:00
template_templated_constructors_runme.java More refactoring for internal destructor and constructor names 2023-07-22 18:21:32 +01:00
template_type_collapse_runme.java Fix duplicate const in generated code wrapping templates 2023-03-08 19:45:17 +00:00
template_typedef_inherit_runme.java Add testcase for bug #3378145 which was fixed in r12764 2011-07-28 06:29:20 +00:00
template_typedef_typedef_runme.java Work around D test suite failure due to issue #254. 2014-11-06 23:04:35 +01:00
template_using_directive_and_declaration_forward_runme.java Add using declarations to templates into typedef table. 2017-08-16 00:24:25 +01:00
template_using_directive_typedef_runme.java Add using declarations to templates into typedef table. 2017-08-16 00:24:25 +01:00
template_using_member_default_arg_runme.java Fix using declarations and templates with explicitly declared constructors 2023-07-12 18:44:42 +01:00
typedef_classforward_same_name_runme.java Add more runtime typedef_classforward_same_name runtime testing 2017-12-31 16:37:27 +00:00
typedef_funcptr_runme.java Fix handling of typedef'd function pointers for Go 2017-03-17 07:49:21 +00:00
typedef_inherit_using_runme.java Fix syntax error for inherited conversion operator in a using declaration (#3480) 2026-06-18 21:42:06 +01:00
typemap_arrays_runme.java Fix expansion in array typemaps 2010-12-14 21:38:36 +00:00
typemap_namespace_runme.java runtime test for Java added 2005-12-29 23:58:17 +00:00
typemap_out_optimal_runme.java Rename debug in testcases to trace 2022-08-20 15:09:23 +01:00
typemap_template_parms_runme.java Fix typemap matching to expand template parameters when the name contains template parameters. 2019-02-17 21:38:48 +00:00
unions_runme.java Better error detection in some java testcases 2014-03-01 16:14:36 +00:00
using_directive_and_declaration_forward_runme.java Fix using declarations combined with using directives with forward class 2012-08-04 20:23:07 +00:00
using_directive_and_declaration_runme.java Fix using declarations combined with using directives with forward class 2012-08-04 20:23:07 +00:00
using_duplicates_runme.java Move the #2933 duplicate using declaration regression test to its own test case 2026-06-17 01:53:49 +01:00
using_extend_flatten_runme.java Add testcase for using declaration and extend for flattening class 2024-09-04 08:22:01 +01:00
using_member_multiple_inherit_runme.java Adding test case for #2872. 2024-04-27 09:19:09 -07:00
using_member_typedef_overload_runme.java Add test coverage and docs for alias templates as a base class and using-declaration qualifier 2026-06-20 07:20:37 +01:00
using_member_typedef_runme.java Fix resolution of names with a typedef scope qualifier (#2694) 2026-06-04 22:45:38 +01:00
using_member_typedef_template_runme.java Qualify typedef-to-template scope qualifier before lookup 2026-06-04 22:45:38 +01:00
using_method_typedefs_runme.java Inject a base class name into the derived class so it can be named there 2026-06-17 01:47:06 +01:00
using_nested_member_typedef_runme.java Add a 3-level deep nested test 2026-06-08 18:34:56 +01:00
using_pointers_runme.java test using declaration for methods with an exception specification 2005-05-25 21:17:17 +00:00
varargs_runme.java %varargs tests for Java 2005-03-21 22:04:19 +00:00
virtual_poly_runme.java added a reference polymorphic return type case, and 2003-12-24 06:53:47 +00:00
wallkw_runme.java Fix wallkw runtime test since D was added 2010-12-08 19:58:19 +00:00

README

See ../README for common README file.

The Java implementation of the test-suite is a little different to the other languages in that all of SWIG's output goes into a subdirectory named after the individual test case. This is so that all the shadow classes can be compiled as Java classes which have to go into separate files. Otherwise the Makefile wouldn't know which .java files would be relevant to the testcase. For this to work the testcase must go into a Java package.

Any testcases which have _runme.java appended after the testcase name will be detected and run.