[Checkins] SVN: zc.buildout/trunk/src/zc/buildout/ Changed the way the test setup avoids reading ~/.buildout/default.cfg

Jim Fulton jim at zope.com
Mon Aug 20 13:04:14 EDT 2007


Log message for revision 79038:
  Changed the way the test setup avoids reading ~/.buildout/default.cfg
  to work with recent change changes to use expanduser rather than
  reading $HOME directly.
  

Changed:
  U   zc.buildout/trunk/src/zc/buildout/buildout.txt
  U   zc.buildout/trunk/src/zc/buildout/testing.py

-=-
Modified: zc.buildout/trunk/src/zc/buildout/buildout.txt
===================================================================
--- zc.buildout/trunk/src/zc/buildout/buildout.txt	2007-08-20 16:44:08 UTC (rev 79037)
+++ zc.buildout/trunk/src/zc/buildout/buildout.txt	2007-08-20 17:04:13 UTC (rev 79038)
@@ -1127,6 +1127,7 @@
 environment variable. The '/' is replaced by the operating system file
 delimiter.)
 
+    >>> old_home = os.environ['HOME']
     >>> home = tmpdir('home')
     >>> mkdir(home, '.buildout')
     >>> write(home, '.buildout', 'default.cfg',
@@ -1167,7 +1168,7 @@
     op5 b3base 5
     recipe recipes:debug
 
-    >>> del os.environ['HOME']
+    >>> os.environ['HOME'] = old_home
 
 Log level
 ---------

Modified: zc.buildout/trunk/src/zc/buildout/testing.py
===================================================================
--- zc.buildout/trunk/src/zc/buildout/testing.py	2007-08-20 16:44:08 UTC (rev 79037)
+++ zc.buildout/trunk/src/zc/buildout/testing.py	2007-08-20 17:04:13 UTC (rev 79038)
@@ -156,13 +156,19 @@
     here = os.getcwd()
     register_teardown(lambda: os.chdir(here))
 
-    old_home = os.environ.get('HOME')
-    if old_home is not None:
-        del os.environ['HOME'] # pop doesn't truly remove it :(
-        register_teardown(lambda: os.environ.__setitem__('HOME', old_home))
 
     base = tempfile.mkdtemp('buildoutSetUp')
     register_teardown(lambda base=base: shutil.rmtree(base))
+
+    old_home = os.environ.get('HOME')
+    os.environ['HOME'] = os.path.join(base, 'bbbBadHome')
+    def restore_home():
+        if old_home is None:
+            del os.environ['HOME']
+        else:
+            os.environ['HOME'] = old_home
+    register_teardown(restore_home)
+
     base = os.path.join(base, '_TEST_')
     os.mkdir(base)
 



More information about the Checkins mailing list