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 c8bae73..606ccd0 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -8,9 +8,10 @@
import sys
import os
import shutil
+import subprocess
from copy import copy, deepcopy
-from test.test_support import run_unittest, TESTFN
+from test.test_support import run_unittest, TESTFN, unlink, get_attribute
import sysconfig
from sysconfig import (get_paths, get_platform, get_config_vars,
@@ -238,6 +239,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)