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 <[email protected]>
<http://bugs.python.org/issue21829>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com