diff options
author | Paweł Tomulik <ptomulik@meil.pw.edu.pl> | 2013-01-04 15:43:44 +0100 |
---|---|---|
committer | Paweł Tomulik <ptomulik@meil.pw.edu.pl> | 2013-01-04 15:43:44 +0100 |
commit | da00bdb12dba1383983a62a385da6aa1036d12e6 (patch) | |
tree | 375fb17c23a0f4baa38076419a991e5684a1ae05 /Examples/test-suite | |
parent | 3e2c6bb03d07a7cbe004be91d29f711339a61e9e (diff) | |
download | swig-da00bdb12dba1383983a62a385da6aa1036d12e6.tar.gz |
added python test case li_std_except_as_class for SF bug 1295
Diffstat (limited to 'Examples/test-suite')
-rw-r--r-- | Examples/test-suite/common.mk | 1 | ||||
-rw-r--r-- | Examples/test-suite/li_std_except_as_class.i | 19 | ||||
-rw-r--r-- | Examples/test-suite/python/li_std_except_as_class_runme.py | 9 |
3 files changed, 29 insertions, 0 deletions
diff --git a/Examples/test-suite/common.mk b/Examples/test-suite/common.mk index 0c790caf6..4ba669497 100644 --- a/Examples/test-suite/common.mk +++ b/Examples/test-suite/common.mk @@ -480,6 +480,7 @@ CPP_STD_TEST_CASES += \ li_std_combinations \ li_std_deque \ li_std_except \ + li_std_except_as_class \ li_std_map \ li_std_pair \ li_std_pair_using \ diff --git a/Examples/test-suite/li_std_except_as_class.i b/Examples/test-suite/li_std_except_as_class.i new file mode 100644 index 000000000..00de76eac --- /dev/null +++ b/Examples/test-suite/li_std_except_as_class.i @@ -0,0 +1,19 @@ +/* File : li_std_except_as_class.i */ +%module li_std_except_as_class + +/* NOTE: SF bug 1295: + * if there were also functions throwing 'std::logic_error' and + * 'std::exception' then the bug would not be fully replicated */ + +%{ +#include <exception> +#include <stdexcept> +void test_domain_error() throw(std::domain_error) +{ throw std::domain_error("std::domain_error"); } +%} + +%include <std_string.i> +#define SWIG_STD_EXCEPTIONS_AS_CLASSES +%include <std_except.i> +void test_domain_error() throw(std::domain_error) +{ throw std::domain_error("std::domain_error"); } diff --git a/Examples/test-suite/python/li_std_except_as_class_runme.py b/Examples/test-suite/python/li_std_except_as_class_runme.py new file mode 100644 index 000000000..386a878bf --- /dev/null +++ b/Examples/test-suite/python/li_std_except_as_class_runme.py @@ -0,0 +1,9 @@ +from li_std_except_as_class import * + +# std::domain_error hierarchy +try: test_domain_error() +except domain_error: pass +try: test_domain_error() +except logic_error: pass +try: test_domain_error() +except exception: pass |