Commit Graph

104 Commits

Author SHA1 Message Date
Victor Stinner cc4b6f1c62 bpo-31719: Fix test_regrtest.test_crashed() on s390x (#3912)
Add a new _testcapi._read_null() function to crash Python in a
reliable way on s390x.

On s390x, ctypes.string_at(0) returns an empty string rather than
crashing.
2017-10-09 00:52:06 -07:00
Benjamin Peterson a72d15c97f consistently use Py_TYPE, Py_REFCNT, and correct initializer macros (#3563)
This no-op change makes 2.7 more consistent with 3.x to ease comparison and backports.
2017-09-13 21:20:29 -07:00
Oren Milman 20958e6d91 [2.7] bpo-31243: Fixed PyArg_ParseTuple failure checks. (GH-3171) (#3235) 2017-08-29 19:16:12 +03:00
Victor Stinner 4dea06531e bpo-31173: Rewrite WSTOPSIG test of test_subprocess (#3055) (#3071)
The current test_child_terminated_in_stopped_state() function test
creates a child process which calls ptrace(PTRACE_TRACEME, 0, 0) and
then crash (SIGSEGV). The problem is that calling os.waitpid() in the
parent process is not enough to close the process: the child process
remains alive and so the unit test leaks a child process in a
strange state. Closing the child process requires non-trivial code,
maybe platform specific.

Remove the functional test and replaces it with an unit test which
mocks os.waitpid() using a new _testcapi.W_STOPCODE() function to
test the WIFSTOPPED() path.
(cherry picked from commit 7b7c6dcfff)
2017-08-11 14:38:37 +02:00
Victor Stinner 95a91df036 bpo-30764: Windows support.SuppressCrashReport (#2423)
* Add Windows support to test.support.SuppressCrashReport: call
  SetErrorMode() and CrtSetReportMode().
* _testcapi: add CrtSetReportMode() and CrtSetReportFile() functions
  and CRT_xxx and CRTDBG_xxx constants needed by SuppressCrashReport.
2017-06-27 14:31:40 +02:00
Victor Stinner d2aff60719 [2.7] bpo-30283: Backport test_regrtest from master to 2.7 (#1513)
* bpo-30283: regrtest: add --testdir option

* bpo-30283: Backport _testcapi.raise_signal()

Function used by test_regrtest to simulate an interrupted unit test.

* bpo-30283: Backport test_regrtest from master
2017-05-09 13:57:20 +02:00
Benjamin Peterson 888a29fedb fix _testcapi to work when statically linked into python 2017-01-15 23:57:56 -08:00
Serhiy Storchaka 12cf60c7fa Issue #26168: Fixed possible refleaks in failing Py_BuildValue() with the "N"
format unit.
2016-05-20 22:31:24 +03:00
Serhiy Storchaka d0dc72b497 Issue #26995: Added tests for "f", "d", "D", "S", "Y", and "U" format codes
in PyArg_ParseTuple().
2016-05-16 10:12:02 +03:00
Serhiy Storchaka c6a7c96a8f Backported tests for issue #18531. 2016-05-16 09:55:32 +03:00
Serhiy Storchaka 4b40c3e69e Fixed a crash in new tests in test_getargs2 added in 60a2d67dacb3 (issue #26198). 2016-01-29 00:55:37 +02:00
Serhiy Storchaka 3ecb6ab993 Issue #26198: Added tests for string-related format units of PyArg_Parse*()
functions: "s", "s*", "s#", "t#", "z", "z*", "z#", "w", "w*", "w#", "u",
"u#", "es", "et", "es#", "et#" and "c".
2016-01-28 19:56:04 +02:00
Antoine Pitrou 0d2fac1fba Issue #24489: ensure a previously set C errno doesn't disturb cmath.polar(). 2015-06-23 14:31:11 +02:00
Serhiy Storchaka 4068b01cb5 Issue #23392: Added tests for marshal C API that works with FILE*. 2015-02-06 08:56:33 +02:00
Stefan Krah 0a7fc53be2 Issue #23370: Fix off-by-one error for non-contiguous buffers. 2015-02-01 16:10:35 +01:00
Stefan Krah 5606cd9800 Issue #23349: Fix off-by-one error in PyBuffer_ToContiguous(). Initial patch
by Richard Hansen.
2015-01-30 20:11:10 +01:00
Victor Stinner 66c6e9dcb4 Issue #14432: Generator now clears the borrowed reference to the thread state
Fix a crash when a generator is created in a C thread that is destroyed while
the generator is still used. The issue was that a generator contains a frame,
and the frame kept a reference to the Python state of the destroyed C thread.
The crash occurs when a trace function is setup.
2013-12-13 02:37:09 +01:00
Serhiy Storchaka e822b034e7 Issue #15866: The xmlcharrefreplace error handler no more produces two XML
entities for a non-BMP character on narrow build.
2013-08-06 16:56:26 +03:00
Antoine Pitrou 1e18102a72 Issue #17928: Fix test_structmembers on 64-bit big-endian machines.
(_testcapi isn't Py_ssize_t-clean, the "s#" code should use an int for length)
2013-05-08 02:07:13 +02:00
Victor Stinner 9f915d9c20 Issue #13093: Fix _testcapi.unicode_encodedecimal()
_testcapimodule.c is not "ssize_t" safe in Python 2.7: the length argument type
is int, not Py_ssize_t.
2011-11-29 00:53:09 +01:00
Victor Stinner 975134e2a2 Issue #13093: Fix error handling on PyUnicode_EncodeDecimal()
Add tests for PyUnicode_EncodeDecimal()
2011-11-22 01:54:19 +01:00
Benjamin Peterson a7b0976c3e PyEval_CallObject requires a tuple of args (closes #13186) 2011-10-15 13:43:21 -04:00
Antoine Pitrou c83ea137d7 Untabify C files. Will watch buildbots. 2010-05-09 14:46:46 +00:00
Mark Dickinson b05dc00fb7 Fix a couple of issues with the test_structmembersType class in _testcapimodule
- rename to _test_structmembersType to avoid the class being automatically
   called by test_capi

 - allow space for trailing NUL in inplace_member field of all_structmembers

 - use T_STRING_INPLACE instead of T_INPLACE_STRING as keyword argument
   to _test_structmembersType initializer

 - don't attempt to initialize inplace_member field if T_STRING_INPLACE
   argument wasn't supplied.
2010-04-03 10:27:05 +00:00
Benjamin Peterson 1c7c11ef61 give TypeError when trying to set T_STRING_INPLACE 2010-04-03 01:28:57 +00:00
Larry Hastings 402b73fb8d Backported PyCapsule from 3.1, and converted most uses of
CObject to PyCapsule.
2010-03-25 00:54:54 +00:00
Antoine Pitrou 526e421b12 Issue #7385: Fix a crash in `MemoryView_FromObject` when
`PyObject_GetBuffer` fails.  Patch by Florent Xicluna.
2010-02-02 22:36:17 +00:00
Benjamin Peterson 46bff79d1f be robust against test being run over and over (such as -R) 2010-01-30 23:28:38 +00:00
Benjamin Peterson a04ae012ce move test outside WITH_THREAD section 2010-01-30 23:26:05 +00:00
Mark Dickinson a36507c64c Issue #7767: Add new C-API function PyLong_AsLongLongAndOverflow, a
long long variant of PyLong_AsLongAndOverflow.  Patch by Case Van
Horsen.
2010-01-30 10:08:33 +00:00
Georg Brandl 740cdc3a9f #7033: add new API function PyErr_NewExceptionWithDoc, for easily giving new exceptions a docstring. 2009-12-28 08:34:58 +00:00
Mark Dickinson bd335bfce7 Additional edge-case tests for test_long_and_overflow. 2009-12-21 12:15:48 +00:00
Mark Dickinson ed02b3f342 Fix reference counts for test_long_and_overflow. 2009-12-21 11:31:54 +00:00
Mark Dickinson e31d300664 Issue #7528: Backport PyLong_AsLongAndOverflow from py3k to trunk.
Thanks Case Van Horsen for the patch.
2009-12-21 11:21:25 +00:00
Mark Dickinson b5e348b305 Add missing tests for PyArg_Parse* with format 'h' 2009-12-20 15:57:56 +00:00
Benjamin Peterson 001e4a6c07 add a test of loading the datetime capi 2009-12-13 21:27:53 +00:00
Mark Dickinson 82864d1ab1 Issue #7228: Add '%lld' and '%llu' support to PyFormat_FromString,
PyFormat_FromStringV and PyErr_Format.
2009-11-15 16:18:58 +00:00
Jeffrey Yasskin 1aa4700234 PyCode_NewEmpty:
Most uses of PyCode_New found by http://www.google.com/codesearch?q=PyCode_New
are trying to build an empty code object, usually to put it in a dummy frame
object. This patch adds a PyCode_NewEmpty wrapper which lets the user specify
just the filename, function name, and first line number, instead of also
requiring lots of code internals.
2009-05-08 21:51:06 +00:00
Benjamin Peterson c6c1f96420 tabify :( 2009-05-05 23:00:48 +00:00
Benjamin Peterson a98c8e1d2d fix running test_capi with -R ::
Also, fix a refleak in the test that was preventing running. :)
2009-05-05 21:09:21 +00:00
Mark Dickinson 6b265f1bf8 Issue 4474: On platforms with sizeof(wchar_t) == 4 and
sizeof(Py_UNICODE) == 2, PyUnicode_FromWideChar now converts
each character outside the BMP to the appropriate surrogate pair.

Thanks Victor Stinner for the patch.

(backport of r70452 from py3k to trunk)
2009-03-18 16:07:26 +00:00
Kristján Valur Jónsson 0e2d8c36e3 Issue 4293: Make Py_AddPendingCall() thread safe
Add test cases and documentation
2009-01-09 21:35:16 +00:00
Hirokazu Yamamoto 3cda1db67f Just inserted blank line. 2008-12-31 05:47:19 +00:00
Hirokazu Yamamoto 52c1e3cc08 Fixed compile error on windows. 2008-12-31 05:24:37 +00:00
Nick Coghlan 180e400766 Issue #4701: implicitly call PyType_Ready from PyObject_Hash 2008-12-30 01:18:48 +00:00
Benjamin Peterson e098c4abe5 make global static 2008-12-23 20:12:33 +00:00
Benjamin Peterson b6a53b5c52 use a global variable, so the compiler doesn't optimize the assignment out 2008-12-23 20:09:28 +00:00
Benjamin Peterson 5423abd182 silence compiler warning 2008-12-22 22:12:19 +00:00
Benjamin Peterson 4caef5c7e2 fix #4720: the format to PyArg_ParseTupleAndKeywords can now start with '|' 2008-12-22 20:51:15 +00:00
Amaury Forgeot d'Arc 07d539d08b #4122: On Windows, Py_UNICODE_ISSPACE cannot be used in an extension module:
compilation fails with "undefined reference to _Py_ascii_whitespace"

Will backport to 2.6.
2008-10-14 21:47:22 +00:00