[Jython-checkins] jython: Support -s, fix up test_site.

frank.wierzbicki jython-checkins at python.org
Fri Mar 22 17:56:06 CET 2013


http://hg.python.org/jython/rev/de22a47df837
changeset:   7095:de22a47df837
user:        Frank Wierzbicki <fwierzbicki at gmail.com>
date:        Fri Mar 22 09:55:58 2013 -0700
summary:
  Support -s, fix up test_site.

files:
  Lib/test/test_site.py           |  31 +++++++++++---------
  src/org/python/util/jython.java |   5 ++-
  2 files changed, 20 insertions(+), 16 deletions(-)


diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
--- a/Lib/test/test_site.py
+++ b/Lib/test/test_site.py
@@ -134,7 +134,8 @@
         self.assertRegexpMatches(err_out.getvalue(), 'Traceback')
         self.assertRegexpMatches(err_out.getvalue(), 'ImportError')
 
-    @unittest.skipIf(is_jython, "FIXME: not on Jython yet.")
+    @unittest.skipIf(is_jython, "Jython does not raise an error for file "
+                      "paths containing null characters")
     @unittest.skipIf(sys.platform == "win32", "Windows does not raise an "
                       "error for file paths containing null characters")
     def test_addpackage_import_bad_pth_file(self):
@@ -162,7 +163,6 @@
         finally:
             pth_file.cleanup()
 
-    @unittest.skipIf(is_jython, "FIXME: not on Jython yet.")
     @unittest.skipUnless(site.ENABLE_USER_SITE, "requires access to PEP 370 "
                           "user-site (site.ENABLE_USER_SITE)")
     def test_s_option(self):
@@ -182,19 +182,22 @@
             env=env)
         self.assertEqual(rc, 0)
 
-        env = os.environ.copy()
-        env["PYTHONNOUSERSITE"] = "1"
-        rc = subprocess.call([sys.executable, '-c',
-            'import sys; sys.exit(%r in sys.path)' % usersite],
-            env=env)
-        self.assertEqual(rc, 0)
+        # XXX: These names are not supported. We may decide to support them as
+        # JYTHONNOUSERSITE and JYTHONUSERBASE in the future.
+        if not is_jython:
+            env = os.environ.copy()
+            env["PYTHONNOUSERSITE"] = "1"
+            rc = subprocess.call([sys.executable, '-c',
+                'import sys; sys.exit(%r in sys.path)' % usersite],
+                env=env)
+            self.assertEqual(rc, 0)
 
-        env = os.environ.copy()
-        env["PYTHONUSERBASE"] = "/tmp"
-        rc = subprocess.call([sys.executable, '-c',
-            'import sys, site; sys.exit(site.USER_BASE.startswith("/tmp"))'],
-            env=env)
-        self.assertEqual(rc, 1)
+            env = os.environ.copy()
+            env["PYTHONUSERBASE"] = "/tmp"
+            rc = subprocess.call([sys.executable, '-c',
+                'import sys, site; sys.exit(site.USER_BASE.startswith("/tmp"))'],
+                env=env)
+            self.assertEqual(rc, 1)
 
     def test_getuserbase(self):
         site.USER_BASE = None
diff --git a/src/org/python/util/jython.java b/src/org/python/util/jython.java
--- a/src/org/python/util/jython.java
+++ b/src/org/python/util/jython.java
@@ -55,8 +55,7 @@
         //"-O       : optimize generated bytecode (a tad; also PYTHONOPTIMIZE=x)\n" +
         //"-OO      : remove doc-strings in addition to the -O optimizations\n" +
         "-Q arg   : division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew\n" +
-        // XXX: support -s
-        //"-s       : don't add user site directory to sys.path; also PYTHONNOUSERSITE\n" +
+        "-s       : don't add user site directory to sys.path;\n" + // also PYTHONNOUSERSITE\n" +
         "-S       : don't imply 'import site' on initialization\n" +
         //"-t       : issue warnings about inconsistent tab usage (-tt: issue errors)\n" +
         "-u       : unbuffered binary stdout and stderr\n" + // (also PYTHONUNBUFFERED=x)\n" +
@@ -494,6 +493,8 @@
                 Options.verbose += 2;
             } else if (arg.equals("-vvv")) {
                 Options.verbose +=3 ;
+            } else if (arg.equals("-s")) {
+                Options.no_user_site = true;
             } else if (arg.equals("-S")) {
                 Options.importSite = false;
             } else if (arg.equals("-B")) {

-- 
Repository URL: http://hg.python.org/jython


More information about the Jython-checkins mailing list