This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author zach.ware
Recipients brian.curtin, loewis, ncoghlan, pitrou, tim.golden, zach.ware
Date 2013-10-29.20:58:11
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1383080293.2.0.31204430631.issue19439@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2013-10-29 20:58:13zach.waresetrecipients: + zach.ware, loewis, ncoghlan, pitrou, tim.golden, brian.curtin
2013-10-29 20:58:13zach.waresetmessageid: <1383080293.2.0.31204430631.issue19439@psf.upfronthosting.co.za>
2013-10-29 20:58:13zach.warelinkissue19439 messages
2013-10-29 20:58:12zach.warecreate