[New-bugs-announce] [issue19439] Build _testembed on Windows

Zachary Ware report at bugs.python.org
Tue Oct 29 21:58:13 CET 2013


New submission from Zachary Ware:

Here's a patch that builds _testembed on Windows and adjusts test_capi to not skip EmbeddingTests on Windows.  The .vcxproj is based on _freeze_importlib, with "when to build" settings lifted from _testimportmultiple.

The patch also adjusts test_capi.EmbeddingTests.test_forced_io_encoding such that it doesn't blow up completely on Windows (and should still pass anywhere it does currently, though I haven't been able to test anywhere but on Windows yet).  The test still fails, though; here's the relevant output I get:

"""
======================================================================
FAIL: test_forced_io_encoding (test.test_capi.EmbeddingTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "P:\Projects\OSS\Python\_cpython\lib\test\test_capi.py", line 298, in test_forced_io_encoding
    self.assertEqual(out.strip(), expected_output)
AssertionError: '--- [106 chars]t: cp1252:strict\r\nstderr: cp1252:backslashre[575 chars]lace' != '--- [106 chars]t: cp437:strict\r\nstderr:
 cp437:backslashrepl[571 chars]lace'
  --- Use defaults ---
  Expected encoding: default
  Expected errors: default
  stdin: cp437:strict
- stdout: cp1252:strict
?           ^^^^
+ stdout: cp437:strict
?           ^^^
- stderr: cp1252:backslashreplace
?           ^^^^
+ stderr: cp437:backslashreplace
?           ^^^
  --- Set errors only ---
  Expected encoding: default
  Expected errors: surrogateescape
  stdin: cp437:surrogateescape
- stdout: cp1252:surrogateescape
?           ^^^^
+ stdout: cp437:surrogateescape
?           ^^^
- stderr: cp1252:backslashreplace
?           ^^^^
+ stderr: cp437:backslashreplace
?           ^^^
  --- Set encoding only ---
  Expected encoding: latin-1
  Expected errors: default
  stdin: latin-1:strict
  stdout: latin-1:strict
  stderr: latin-1:backslashreplace
  --- Set encoding and errors ---
  Expected encoding: latin-1
  Expected errors: surrogateescape
  stdin: latin-1:surrogateescape
  stdout: latin-1:surrogateescape
  stderr: latin-1:backslashreplace

----------------------------------------------------------------------
"""

I'm not sure whether this is a bug in the way _testembed is built or otherwise.  EmbeddingTests.test_subinterps passes, though.

Due to my ongoing inability to get a 64-bit build to work, this has only been tested on 32-bit Windows 7.

----------
components: Tests, Windows
files: windows_testembed.diff
keywords: patch
messages: 201671
nosy: brian.curtin, loewis, ncoghlan, pitrou, tim.golden, zach.ware
priority: normal
severity: normal
status: open
title: Build _testembed on Windows
type: enhancement
versions: Python 3.4
Added file: http://bugs.python.org/file32412/windows_testembed.diff

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


More information about the New-bugs-announce mailing list