misc/build_helpers/run_trial.py: fix false positive on directory check that can occur when running run_trial from test-with-fake-pkg manually.

This commit is contained in:
david-sarah 2010-10-31 08:36:13 -07:00
parent 2ab0b1aa2c
commit 74996ffe46

View File

@ -65,9 +65,11 @@ elif os.path.normcase(os.path.basename(srcdir)) == 'site-packages':
srcdir = os.path.dirname(srcdir) srcdir = os.path.dirname(srcdir)
srcdir = os.path.normcase(os.path.normpath(srcdir)) srcdir = os.path.normcase(os.path.normpath(srcdir))
cwd = os.path.normcase(os.path.normpath(os.getcwd())) if os.path.basename(srcdir) == 'src':
srcdir = os.path.dirname(srcdir)
if os.path.normcase(os.path.basename(cwd)) == 'src': cwd = os.path.normcase(os.path.normpath(os.getcwd()))
if os.path.basename(cwd) == 'src':
cwd = os.path.dirname(cwd) cwd = os.path.dirname(cwd)
same = (srcdir == cwd) same = (srcdir == cwd)
@ -82,8 +84,11 @@ if not same:
"(according to the source filename %r),\n" "(according to the source filename %r),\n"
"but expected to be testing the code at %r.\n" "but expected to be testing the code at %r.\n"
% (srcdir, srcfile, cwd)) % (srcdir, srcfile, cwd))
if (not isinstance(cwd, unicode) and
cwd.decode(sys.getfilesystemencoding(), 'replace') != os.path.normcase(os.path.normpath(os.getcwdu()))): cwdu = os.path.normcase(os.path.normpath(os.getcwdu())
if os.path.basename(cwdu) == u'src':
cwdu = os.path.dirname(cwdu)
if not isinstance(cwd, unicode) and cwd.decode(sys.getfilesystemencoding(), 'replace') != cwdu):
msg += ("However, this may be a false alarm because the current directory path\n" msg += ("However, this may be a false alarm because the current directory path\n"
"is not representable in the filesystem encoding. This script needs to be\n" "is not representable in the filesystem encoding. This script needs to be\n"
"run from the source directory to be tested, at a non-Unicode path.") "run from the source directory to be tested, at a non-Unicode path.")