[Python-checkins] r78919 - in python/trunk/Lib/test: test_minidom.py test_sax.py test_support.py test_xml_etree.py

florent.xicluna python-checkins at python.org
Sat Mar 13 13:41:48 CET 2010


Author: florent.xicluna
Date: Sat Mar 13 13:41:48 2010
New Revision: 78919

Log:
Do not chdir when running test_xml_etree, and enhance the findfile helper.


Modified:
   python/trunk/Lib/test/test_minidom.py
   python/trunk/Lib/test/test_sax.py
   python/trunk/Lib/test/test_support.py
   python/trunk/Lib/test/test_xml_etree.py

Modified: python/trunk/Lib/test/test_minidom.py
==============================================================================
--- python/trunk/Lib/test/test_minidom.py	(original)
+++ python/trunk/Lib/test/test_minidom.py	Sat Mar 13 13:41:48 2010
@@ -1,10 +1,8 @@
 # test for xml.dom.minidom
 
-import os
-import sys
 import pickle
 from StringIO import StringIO
-from test.test_support import verbose, run_unittest
+from test.test_support import verbose, run_unittest, findfile
 import unittest
 
 import xml.dom
@@ -15,12 +13,8 @@
 from xml.dom.minidom import getDOMImplementation
 
 
-if __name__ == "__main__":
-    base = sys.argv[0]
-else:
-    base = __file__
-tstfile = os.path.join(os.path.dirname(base), "xmltestdata", "test.xml")
-del base
+tstfile = findfile("test.xml", subdir="xmltestdata")
+
 
 # The tests of DocumentType importing use these helpers to construct
 # the documents to work with, since not all DOM builders actually

Modified: python/trunk/Lib/test/test_sax.py
==============================================================================
--- python/trunk/Lib/test/test_sax.py	(original)
+++ python/trunk/Lib/test/test_sax.py	Sat Mar 13 13:41:48 2010
@@ -15,10 +15,9 @@
 from cStringIO import StringIO
 from test.test_support import findfile, run_unittest
 import unittest
-import os
 
-TEST_XMLFILE = findfile(os.path.join("xmltestdata", "test.xml"))
-TEST_XMLFILE_OUT = findfile(os.path.join("xmltestdata", "test.xml.out"))
+TEST_XMLFILE = findfile("test.xml", subdir="xmltestdata")
+TEST_XMLFILE_OUT = findfile("test.xml.out", subdir="xmltestdata")
 
 ns_uri = "http://www.python.org/xml-ns/saxtest/"
 

Modified: python/trunk/Lib/test/test_support.py
==============================================================================
--- python/trunk/Lib/test/test_support.py	(original)
+++ python/trunk/Lib/test/test_support.py	Sat Mar 13 13:41:48 2010
@@ -424,12 +424,14 @@
             rmtree(name)
 
 
-def findfile(file, here=__file__):
+def findfile(file, here=__file__, subdir=None):
     """Try to find a file on sys.path and the working directory.  If it is not
     found the argument passed to the function is returned (this does not
     necessarily signal failure; could still be the legitimate path)."""
     if os.path.isabs(file):
         return file
+    if subdir is not None:
+        file = os.path.join(subdir, file)
     path = sys.path
     path = [os.path.dirname(here)] + path
     for dn in path:

Modified: python/trunk/Lib/test/test_xml_etree.py
==============================================================================
--- python/trunk/Lib/test/test_xml_etree.py	(original)
+++ python/trunk/Lib/test/test_xml_etree.py	Sat Mar 13 13:41:48 2010
@@ -14,11 +14,12 @@
 import sys
 
 from test import test_support
+from test.test_support import findfile
 
 from xml.etree import ElementTree as ET
 
-SIMPLE_XMLFILE = "xmltestdata/simple.xml"
-SIMPLE_NS_XMLFILE = "xmltestdata/simple-ns.xml"
+SIMPLE_XMLFILE = findfile("simple.xml", subdir="xmltestdata")
+SIMPLE_NS_XMLFILE = findfile("simple-ns.xml", subdir="xmltestdata")
 
 SAMPLE_XML = """\
 <body>
@@ -1791,30 +1792,19 @@
 
 
 class CleanContext(object):
-    """Provide default namespace mapping, path cache and working directory.
+    """Provide default namespace mapping and path cache."""
 
-    Save and restore the default namespace mapping and the path cache.
-    Change directory to the "Lib/test/" directory: some tests open
-    xml files in the "samples/" directory relative to the test module.
-    """
     def __enter__(self):
-        import os
         from xml.etree import ElementTree
         self._nsmap = ElementTree._namespace_map
         self._path_cache = ElementTree.ElementPath._cache
-        self._previous_cwd = os.getcwd()
         # Copy the default namespace mapping
         ElementTree._namespace_map = self._nsmap.copy()
         # Copy the path cache (should be empty)
         ElementTree.ElementPath._cache = self._path_cache.copy()
-        # Change directory to Lib/test/
-        os.chdir(os.path.dirname(__file__))
 
     def __exit__(self, *args):
-        import os
         from xml.etree import ElementTree
-        # Restore working directory
-        os.chdir(self._previous_cwd)
         # Restore mapping and path cache
         ElementTree._namespace_map = self._nsmap
         ElementTree.ElementPath._cache = self._path_cache


More information about the Python-checkins mailing list