[Checkins] SVN: zc.buildout/trunk/ Refactored tests to avoid duplication.

Jim Fulton jim at zope.com
Mon Jun 12 18:37:22 EDT 2006


Log message for revision 68608:
  Refactored tests to avoid duplication.
  

Changed:
  U   zc.buildout/trunk/eggrecipe/src/zc/recipe/egg/tests.py
  U   zc.buildout/trunk/src/zc/buildout/testing.py
  U   zc.buildout/trunk/src/zc/buildout/tests.py

-=-
Modified: zc.buildout/trunk/eggrecipe/src/zc/recipe/egg/tests.py
===================================================================
--- zc.buildout/trunk/eggrecipe/src/zc/recipe/egg/tests.py	2006-06-12 22:16:31 UTC (rev 68607)
+++ zc.buildout/trunk/eggrecipe/src/zc/recipe/egg/tests.py	2006-06-12 22:37:21 UTC (rev 68608)
@@ -12,26 +12,12 @@
 #
 ##############################################################################
 
-import os, re, shutil, sys, tempfile
-import pkg_resources
+import os, re, shutil, sys
 import zc.buildout.testing
 
 import unittest
 from zope.testing import doctest, renormalizing
 
-def runsetup(d):
-    here = os.getcwd()
-    try:
-        os.chdir(d)
-        os.spawnle(
-            os.P_WAIT, sys.executable, sys.executable,
-            'setup.py', '-q', 'bdist_egg',
-            {'PYTHONPATH': os.path.dirname(pkg_resources.__file__)},
-            )
-        shutil.rmtree('build')
-    finally:
-        os.chdir(here)
-
 def dirname(d, level=1):
     if level == 0:
         return d
@@ -42,36 +28,7 @@
     open(os.path.join(test.globs['sample_buildout'],
                       'eggs', 'zc.recipe.egg.egg-link'),
          'w').write(dirname(__file__, 4))
-                    
-    sample = tempfile.mkdtemp('eggtest')
-    test.globs['_sample_eggs_container'] = sample
-    test.globs['sample_eggs'] = os.path.join(sample, 'dist')
-    zc.buildout.testing.write(sample, 'README.txt', '')
-    zc.buildout.testing.write(sample, 'eggrecipedemobeeded.py', 'y=1\n')
-    zc.buildout.testing.write(
-        sample, 'setup.py',
-        "from setuptools import setup\n"
-        "setup(name='demoneeded', py_modules=['eggrecipedemobeeded'],"
-        " zip_safe=True, version='1.0')\n"
-        )
-    runsetup(sample)
-    os.remove(os.path.join(sample, 'eggrecipedemobeeded.py'))
-    for i in (1, 2, 3):
-        zc.buildout.testing.write(
-            sample, 'eggrecipedemo.py',
-            'import eggrecipedemobeeded\n'
-            'x=%s\n'
-            'def main(): print x, eggrecipedemobeeded.y\n'
-            % i)
-        zc.buildout.testing.write(
-            sample, 'setup.py',
-            "from setuptools import setup\n"
-            "setup(name='demo', py_modules=['eggrecipedemo'],"
-            " install_requires = 'demoneeded',"
-            " entry_points={'console_scripts': ['demo = eggrecipedemo:main']},"
-            " zip_safe=True, version='0.%s')\n" % i
-            )
-        runsetup(sample)
+    zc.buildout.testing.create_sample_eggs(test)
         
 def tearDown(test):
     shutil.rmtree(test.globs['_sample_eggs_container'])

Modified: zc.buildout/trunk/src/zc/buildout/testing.py
===================================================================
--- zc.buildout/trunk/src/zc/buildout/testing.py	2006-06-12 22:16:31 UTC (rev 68607)
+++ zc.buildout/trunk/src/zc/buildout/testing.py	2006-06-12 22:37:21 UTC (rev 68608)
@@ -18,6 +18,7 @@
 
 import os, re, shutil, sys, tempfile, unittest
 from zope.testing import doctest, renormalizing
+import pkg_resources
 
 
 def cat(dir, *names):
@@ -51,11 +52,6 @@
     i.close()
     return o.read()
 
-def dirname(path, n=1):
-    if n <= 0:
-        return path
-    return dirname(os.path.dirname(path), n-1)
-
 def buildoutSetUp(test):
     sample = tempfile.mkdtemp('buildout-tests')
     for name in ('bin', 'eggs', 'parts'):
@@ -107,3 +103,47 @@
 from pkg_resources import load_entry_point
 sys.exit(load_entry_point('zc.buildout', 'console_scripts', 'buildout')())
 '''
+
+def runsetup(d):
+    here = os.getcwd()
+    try:
+        os.chdir(d)
+        os.spawnle(
+            os.P_WAIT, sys.executable, sys.executable,
+            'setup.py', '-q', 'bdist_egg',
+            {'PYTHONPATH': os.path.dirname(pkg_resources.__file__)},
+            )
+        shutil.rmtree('build')
+    finally:
+        os.chdir(here)
+
+def create_sample_eggs(test):
+    sample = tempfile.mkdtemp('eggtest')
+    test.globs['_sample_eggs_container'] = sample
+    test.globs['sample_eggs'] = os.path.join(sample, 'dist')
+    write(sample, 'README.txt', '')
+    write(sample, 'eggrecipedemobeeded.py', 'y=1\n')
+    write(
+        sample, 'setup.py',
+        "from setuptools import setup\n"
+        "setup(name='demoneeded', py_modules=['eggrecipedemobeeded'],"
+        " zip_safe=True, version='1.0')\n"
+        )
+    runsetup(sample)
+    os.remove(os.path.join(sample, 'eggrecipedemobeeded.py'))
+    for i in (1, 2, 3):
+        write(
+            sample, 'eggrecipedemo.py',
+            'import eggrecipedemobeeded\n'
+            'x=%s\n'
+            'def main(): print x, eggrecipedemobeeded.y\n'
+            % i)
+        write(
+            sample, 'setup.py',
+            "from setuptools import setup\n"
+            "setup(name='demo', py_modules=['eggrecipedemo'],"
+            " install_requires = 'demoneeded',"
+            " entry_points={'console_scripts': ['demo = eggrecipedemo:main']},"
+            " zip_safe=True, version='0.%s')\n" % i
+            )
+        runsetup(sample)

Modified: zc.buildout/trunk/src/zc/buildout/tests.py
===================================================================
--- zc.buildout/trunk/src/zc/buildout/tests.py	2006-06-12 22:16:31 UTC (rev 68607)
+++ zc.buildout/trunk/src/zc/buildout/tests.py	2006-06-12 22:37:21 UTC (rev 68608)
@@ -16,9 +16,8 @@
 $Id$
 """
 
-import os, re, shutil, sys, tempfile, unittest
+import os, re, shutil, sys, unittest
 from zope.testing import doctest, renormalizing
-import pkg_resources
 import zc.buildout.testing
 
 def buildout_error_handling():
@@ -64,55 +63,9 @@
 
 '''    
 
-def runsetup(d):
-    here = os.getcwd()
-    try:
-        os.chdir(d)
-        os.spawnle(
-            os.P_WAIT, sys.executable, sys.executable,
-            'setup.py', '-q', 'bdist_egg',
-            {'PYTHONPATH': os.path.dirname(pkg_resources.__file__)},
-            )
-        shutil.rmtree('build')
-    finally:
-        os.chdir(here)
-
-def dirname(d, level=1):
-    if level == 0:
-        return d
-    return dirname(os.path.dirname(d), level-1)
-
 def linkerSetUp(test):
     zc.buildout.testing.buildoutSetUp(test)
-    sample = tempfile.mkdtemp('eggtest')
-    test.globs['_sample_eggs_container'] = sample
-    test.globs['sample_eggs'] = os.path.join(sample, 'dist')
-    zc.buildout.testing.write(sample, 'README.txt', '')
-    zc.buildout.testing.write(sample, 'eggrecipedemobeeded.py', 'y=1\n')
-    zc.buildout.testing.write(
-        sample, 'setup.py',
-        "from setuptools import setup\n"
-        "setup(name='demoneeded', py_modules=['eggrecipedemobeeded'],"
-        " zip_safe=True, version='1.0')\n"
-        )
-    runsetup(sample)
-    os.remove(os.path.join(sample, 'eggrecipedemobeeded.py'))
-    for i in (1, 2, 3):
-        zc.buildout.testing.write(
-            sample, 'eggrecipedemo.py',
-            'import eggrecipedemobeeded\n'
-            'x=%s\n'
-            'def main(): print x, eggrecipedemobeeded.y\n'
-            % i)
-        zc.buildout.testing.write(
-            sample, 'setup.py',
-            "from setuptools import setup\n"
-            "setup(name='demo', py_modules=['eggrecipedemo'],"
-            " install_requires = 'demoneeded',"
-            " entry_points={'console_scripts': ['demo = eggrecipedemo:main']},"
-            " zip_safe=True, version='0.%s')\n" % i
-            )
-        runsetup(sample)
+    zc.buildout.testing.create_sample_eggs(test)
         
 def linkerTearDown(test):
     shutil.rmtree(test.globs['_sample_eggs_container'])



More information about the Checkins mailing list