From 74996ffe46553209d8a66d97c99b28be9e8d4056 Mon Sep 17 00:00:00 2001
From: david-sarah <david-sarah@jacaranda.org>
Date: Sun, 31 Oct 2010 08:36:13 -0700
Subject: [PATCH] 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.

---
 misc/build_helpers/run_trial.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/misc/build_helpers/run_trial.py b/misc/build_helpers/run_trial.py
index 27523206..c8efc214 100644
--- a/misc/build_helpers/run_trial.py
+++ b/misc/build_helpers/run_trial.py
@@ -65,9 +65,11 @@ elif os.path.normcase(os.path.basename(srcdir)) == 'site-packages':
         srcdir = os.path.dirname(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)
 
 same = (srcdir == cwd)
@@ -82,8 +84,11 @@ if not same:
            "(according to the source filename %r),\n"
            "but expected to be testing the code at %r.\n"
            % (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"
                 "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.")
-- 
2.45.2