Merged revisions 78828 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78828 | florent.xicluna | 2010-03-11 00:58:42 +0100 (jeu, 11 mar 2010) | 2 lines

  Issue #7880: Fix sysconfig when the python executable is a symbolic link.
........
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index 5b50901..aa2c514 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -8,9 +8,10 @@
 import sys
 import test
 import os
+import subprocess
 from copy import copy, deepcopy
 
-from test.support import run_unittest, TESTFN
+from test.support import run_unittest, TESTFN, unlink, get_attribute
 
 import sysconfig
 from sysconfig import (get_paths, get_platform, get_config_vars,
@@ -237,6 +238,23 @@
                   'posix_prefix', 'posix_user')
         self.assertEquals(get_scheme_names(), wanted)
 
+    def test_symlink(self):
+        # Issue 7880
+        symlink = get_attribute(os, "symlink")
+        def get(python):
+            cmd = [python, '-c',
+                   'import sysconfig; print sysconfig.get_platform()']
+            p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
+                                      stderr=subprocess.PIPE)
+            return p.communicate()
+        real = os.path.realpath(sys.executable)
+        link = os.path.abspath(TESTFN)
+        symlink(real, link)
+        try:
+            self.assertEqual(get(real), get(link))
+        finally:
+            unlink(link)
+
 
 def test_main():
     run_unittest(TestSysConfig)