[New-bugs-announce] [issue21829] Wrong test in ctypes

Claudiu Popa report at bugs.python.org
Mon Jun 23 14:52:05 CEST 2014


New submission from Claudiu Popa:

There's a problem with ctypes.test.test_values on Windows.
First, the test is wrong because it uses the following:

if __debug__:
    self.assertEqual(opt, 0)
elif ValuesTestCase.__doc__ is not None:
    self.assertEqual(opt, 1)

ValuesTestCase doesn't have a docstring and the check always fails when running the test suite with -O or -OO.
Second, running the test suite with -O and afterwards with -OO, will lead to the following failure:

======================================================================
FAIL: test_optimizeflag (ctypes.test.test_values.Win_ValuesTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\Projects\cpython\lib\ctypes\test\test_values.py", line 50, in test_optimizeflag
    self.assertEqual(opt, 1)
AssertionError: 2 != 1

----------------------------------------------------------------------

That's because the .pyo file for test_values already exist when rerunning with -OO and the docstring will be there. Now, I don't know why the file is not rebuilt and the documentation regarding -OO and -O is pretty scarce. The attached file tries a different approach, regenerate a test class each time the test is run in order to obtain its docstring. If run with -OO, it will be dropped properly.

----------
components: Tests, ctypes
files: ctypes.patch
keywords: patch
messages: 221351
nosy: Claudiu.Popa
priority: normal
severity: normal
stage: patch review
status: open
title: Wrong test in ctypes
type: behavior
versions: Python 3.5
Added file: http://bugs.python.org/file35738/ctypes.patch

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue21829>
_______________________________________


More information about the New-bugs-announce mailing list