[Python-Dev] [Python-checkins] cpython: Issue #14769: test_capi now has SkipitemTest, which cleverly checks
Terry Reedy
tjreedy at udel.edu
Fri Jun 22 22:29:07 CEST 2012
On 6/22/2012 2:21 PM, MRAB wrote:
> On 22/06/2012 17:39, Terry Reedy wrote:
>> On 6/22/2012 6:57 AM, larry.hastings wrote:
>>> http://hg.python.org/cpython/rev/ace45d23628a
>>> changeset: 77567:ace45d23628a
>>> user: Larry Hastings <larry at hastings.org>
>>> date: Fri Jun 22 03:56:29 2012 -0700
>>> summary:
>>> Issue #14769: test_capi now has SkipitemTest, which cleverly checks
>>> for "parity" between PyArg_ParseTuple() and the Python/getargs.c static
>>> function skipitem() for all possible "format units".
>>
>> You sensibly only test printable ascii chars, which are in the
>> contiguous range 32 to 127 inclusive. So it makes no sense to claim
>> otherwise and then deny the wrong claim, or to enlarge the range and
>> then shrink it again.
>>
> ASCII character 127 is a control character, not a printable character.
Of course. And character 32 <space> is also not usable and perhaps not
worth testing.
>>> + This function brute-force tests all** ASCII characters (1 to
>>> 127
>>> + inclusive) as format units, checking to see that
>>
> There are 128 ASCII characters (0 to 127 inclusive).
>
>> With a few exceptions**, test all printable ASCII characters (32 to 127
>> inclusive) as...
>>
>>> +
>>> + ** Okay, it actually skips some ASCII characters. Some
>>> characters
>>
>> ** Some characters ...
>>> + have special funny semantics, and it would be difficult to
>>> + accomodate them here.
>>
>>> + for i in range(1, 128):
>>
>> for i in range(32, 128):
so,
for i in range(32, 127):
or
for i in range(33, 127):
>>> + if (not c.isprintable()) or (c in '()e|$'):
>>
>> if c in '()e|$':
>>
--
Terry Jan Reedy
More information about the Python-Dev
mailing list