diff options
| author | Lieuwe <lieuwemo@gmail.com> | 2011-03-18 16:04:51 (GMT) |
|---|---|---|
| committer | Lieuwe <lieuwemo@gmail.com> | 2011-03-18 16:04:51 (GMT) |
| commit | 9c39875ef09d439ef51716dba091188f72977f5e (patch) | |
| tree | fb0fd27a1bcd3e54a1913852c23aa137ee5eb30b /src/python/stdlib/test/test_getargs.py | |
| parent | bc8af4e2101ac93bdc51b59ee64fa43ecb2442f3 (diff) | |
| download | powder-9c39875ef09d439ef51716dba091188f72977f5e.zip powder-9c39875ef09d439ef51716dba091188f72977f5e.tar.gz | |
...
Diffstat (limited to 'src/python/stdlib/test/test_getargs.py')
| -rw-r--r-- | src/python/stdlib/test/test_getargs.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/python/stdlib/test/test_getargs.py b/src/python/stdlib/test/test_getargs.py new file mode 100644 index 0000000..4ac5aa2 --- /dev/null +++ b/src/python/stdlib/test/test_getargs.py @@ -0,0 +1,31 @@ +""" +Test the internal getargs.c implementation + + PyArg_ParseTuple() is defined here. + +The test here is not intended to test all of the module, just the +single case that failed between 2.1 and 2.2a2. +""" + +# marshal.loads() uses PyArg_ParseTuple(args, "s#:loads") +# The s code will cause a Unicode conversion to occur. This test +# verify that the error is propagated properly from the C code back to +# Python. + +import marshal +import unittest +from test import test_support + +class GetArgsTest(unittest.TestCase): + # If the encoding succeeds using the current default encoding, + # this test will fail because it does not test the right part of the + # PyArg_ParseTuple() implementation. + def test_with_marshal(self): + arg = unicode(r'\222', 'unicode-escape') + self.assertRaises(UnicodeError, marshal.loads, arg) + +def test_main(): + test_support.run_unittest(GetArgsTest) + +if __name__ == '__main__': + test_main() |
