From e049f470cd98a2304c7552939d3606344ab8302a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89ric=20Araujo?= <merwok@netwok.org>
Date: Wed, 24 Aug 2011 02:15:25 +0200
Subject: Fix test_packaging on Windows (#12678).

See the distutils commit message for more detail.
---
 Lib/packaging/tests/support.py                   |  4 ++--
 Lib/packaging/tests/test_command_install_dist.py | 16 ++++++++++++++--
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/Lib/packaging/tests/support.py b/Lib/packaging/tests/support.py
index 0513eaf..df6195a 100644
--- a/Lib/packaging/tests/support.py
+++ b/Lib/packaging/tests/support.py
@@ -323,8 +323,8 @@ def fixup_build_ext(cmd):
         support.fixup_build_ext(cmd)
         cmd.ensure_finalized()
     """
-    if os.name == "nt":
-        cmd.debug = sys.executable.endswith("_d.exe")
+    if os.name == 'nt':
+        cmd.debug = sys.executable.endswith('_d.exe')
     elif sysconfig.get_config_var('Py_ENABLE_SHARED'):
         # To further add to the shared builds fun on Unix, we can't just add
         # library_dirs to the Extension() instance because that doesn't get
diff --git a/Lib/packaging/tests/test_command_install_dist.py b/Lib/packaging/tests/test_command_install_dist.py
index d27e597..61270af 100644
--- a/Lib/packaging/tests/test_command_install_dist.py
+++ b/Lib/packaging/tests/test_command_install_dist.py
@@ -5,6 +5,7 @@ import sys
 from sysconfig import (get_scheme_names, get_config_vars,
                        _SCHEMES, get_config_var, get_path)
 
+from packaging.command.build_ext import build_ext
 from packaging.command.install_dist import install_dist
 from packaging.compiler.extension import Extension
 from packaging.dist import Distribution
@@ -16,6 +17,13 @@ from packaging.tests import unittest, support
 _CONFIG_VARS = get_config_vars()
 
 
+def _make_ext_name(modname):
+    if os.name == 'nt':
+        if sys.executable.endswith('_d.exe'):
+            modname += '_d'
+    return modname + get_config_var('SO')
+
+
 class InstallTestCase(support.TempdirManager,
                       support.LoggingCatcher,
                       unittest.TestCase):
@@ -204,10 +212,14 @@ class InstallTestCase(support.TempdirManager,
             Extension('xx', ['xxmodule.c'])])
         os.chdir(project_dir)
         support.copy_xxmodule_c(project_dir)
-        support.fixup_build_ext(dist.get_command_obj('build_ext'))
+
+        buildextcmd = build_ext(dist)
+        support.fixup_build_ext(buildextcmd)
+        buildextcmd.ensure_finalized()
 
         cmd = install_dist(dist)
         dist.command_obj['install_dist'] = cmd
+        dist.command_obj['build_ext'] = buildextcmd
         cmd.root = install_dir
         cmd.record = os.path.join(project_dir, 'filelist')
         cmd.ensure_finalized()
@@ -217,7 +229,7 @@ class InstallTestCase(support.TempdirManager,
             content = f.read()
 
         found = [os.path.basename(line) for line in content.splitlines()]
-        expected = ['xx%s' % get_config_var('SO'),
+        expected = [_make_ext_name('xx'),
                     'METADATA', 'INSTALLER', 'REQUESTED', 'RECORD']
         self.assertEqual(found, expected)
 
-- 
cgit v0.12