mirror of
https://github.com/boostorg/python.git
synced 2026-01-26 06:42:27 +00:00
Changed name of extension module so it would work with DebugPython, fixed
exception message checking to work with Python 2.0 [SVN r9421]
This commit is contained in:
@@ -7,6 +7,15 @@ r'''
|
||||
// The author gratefully acknowleges the support of Dragon Systems, Inc., in
|
||||
// producing this work.
|
||||
|
||||
// Revision History:
|
||||
// 04 Mar 01 Changed name of extension module so it would work with DebugPython,
|
||||
// fixed exception message checking to work with Python 2.0
|
||||
// (Dave Abrahams)
|
||||
|
||||
Load up the extension module
|
||||
|
||||
>>> from boost_python_test import *
|
||||
|
||||
Automatic checking of the number and type of arguments. Foo's constructor takes
|
||||
a single long parameter.
|
||||
|
||||
@@ -17,9 +26,9 @@ a single long parameter.
|
||||
|
||||
>>> try: ext = Foo('foo')
|
||||
... except TypeError, err:
|
||||
... assert re.match(
|
||||
... '(illegal argument type for built-in operation)|(an integer is required)', str(err))
|
||||
... else: print 'no exception'
|
||||
... assert_integer_expected(err)
|
||||
... else:
|
||||
... print 'no exception'
|
||||
|
||||
>>> ext = Foo(1)
|
||||
|
||||
@@ -209,7 +218,7 @@ Polymorphism also works:
|
||||
Pickling tests:
|
||||
|
||||
>>> world.__module__
|
||||
'test'
|
||||
'boost_python_test'
|
||||
>>> world.__safe_for_unpickling__
|
||||
1
|
||||
>>> world.__reduce__()
|
||||
@@ -697,10 +706,11 @@ Testing interaction between callbacks, base declarations, and overloading
|
||||
>>> c = CallbackTest()
|
||||
>>> c.testCallback(1)
|
||||
2
|
||||
>>> c.testCallback('foo')
|
||||
Traceback (innermost last):
|
||||
File "<stdin>", line 1, in ?
|
||||
TypeError: illegal argument type for built-in operation
|
||||
|
||||
>>> try: c.testCallback('foo')
|
||||
... except TypeError, err: assert_integer_expected(err)
|
||||
... else: print 'no exception'
|
||||
|
||||
>>> c.callback(1)
|
||||
2
|
||||
>>> c.callback('foo')
|
||||
@@ -719,10 +729,11 @@ Testing interaction between callbacks, base declarations, and overloading
|
||||
-1
|
||||
>>> r.callback('foo')
|
||||
'foo 1'
|
||||
>>> r.testCallback('foo')
|
||||
Traceback (innermost last):
|
||||
File "<stdin>", line 1, in ?
|
||||
TypeError: illegal argument type for built-in operation
|
||||
|
||||
>>> try: r.testCallback('foo')
|
||||
... except TypeError, err: assert_integer_expected(err)
|
||||
... else: print 'no exception'
|
||||
|
||||
>>> r.testCallback(1)
|
||||
-1
|
||||
>>> testCallback(r, 1)
|
||||
@@ -1145,8 +1156,15 @@ test methodologies for wrapping functions that return a pointer
|
||||
'6.35'
|
||||
|
||||
'''
|
||||
#'
|
||||
|
||||
def assert_integer_expected(err):
|
||||
"""Handle a common error report which appears differently in Python 1.5.x and 2.0"""
|
||||
assert isinstance(err, TypeError)
|
||||
message = str(err)
|
||||
assert (message == "illegal argument type for built-in operation"
|
||||
or message == "an integer is required")
|
||||
|
||||
from test import *
|
||||
import string
|
||||
import re
|
||||
import sys
|
||||
|
||||
Reference in New Issue
Block a user