added python test case li_std_except_as_class for SF bug 1295

This commit is contained in:
Paweł Tomulik 2013-01-04 15:43:44 +01:00
commit da00bdb12d
3 changed files with 29 additions and 0 deletions

View file

@ -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 \

View file

@ -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"); }

View file

@ -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