[Python-checkins] distutils2: now test_conversion will try to convert files from conversions/XX_before.py and
tarek.ziade
python-checkins at python.org
Wed May 12 12:39:57 CEST 2010
tarek.ziade pushed d090528dd899 to distutils2:
http://hg.python.org/distutils2/rev/d090528dd899
changeset: 135:d090528dd899
tag: tip
user: Tarek Ziade <tarek at ziade.org>
date: Wed May 12 12:39:46 2010 +0200
summary: now test_conversion will try to convert files from conversions/XX_before.py and assert the result is conversions/XX_after.py. This will make it easier to add more refactoring use cases.
files: src/distutils2/tests/conversions/01_after.py, src/distutils2/tests/conversions/01_before.py, src/distutils2/tests/test_converter.py
diff --git a/src/distutils2/tests/conversions/01_after.py b/src/distutils2/tests/conversions/01_after.py
new file mode 100644
--- /dev/null
+++ b/src/distutils2/tests/conversions/01_after.py
@@ -0,0 +1,4 @@
+from distutils2.core import setup
+
+setup(name='Foo')
+
diff --git a/src/distutils2/tests/conversions/01_before.py b/src/distutils2/tests/conversions/01_before.py
new file mode 100644
--- /dev/null
+++ b/src/distutils2/tests/conversions/01_before.py
@@ -0,0 +1,4 @@
+from distutils.core import setup
+
+setup(name='Foo')
+
diff --git a/src/distutils2/tests/test_converter.py b/src/distutils2/tests/test_converter.py
--- a/src/distutils2/tests/test_converter.py
+++ b/src/distutils2/tests/test_converter.py
@@ -1,5 +1,9 @@
"""Tests for distutils.converter."""
+import os
import unittest2
+
+_CURDIR = os.path.dirname(__file__)
+
from distutils2.converter import DistutilsRefactoringTool
_ORIGINAL = """\
@@ -13,13 +17,32 @@
setup(name='Foo')
"""
+
+def _read_file(path):
+ # yes, distutils2 is 2.4 compatible, so, no with...
+ f = open(path)
+ try:
+ return f.read()
+ finally:
+ f.close()
+
+
class ConverterTestCase(unittest2.TestCase):
- def test_import(self):
- # simplest case: renaming distutils import in setup.py
+
+ def test_conversions(self):
+ # for all XX_before in the conversions/ dir
+ # we run the refactoring tool
ref = DistutilsRefactoringTool()
- res = ref.refactor_string(_ORIGINAL, 'setup.py')
- self.assertEquals(str(res), _WANTED)
+ convdir = os.path.join(_CURDIR, 'conversions')
+ for file_ in os.listdir(convdir):
+ if 'after' in file_ or not file_.endswith('py'):
+ continue
+ original = _read_file(os.path.join(convdir, file_))
+ wanted = file_.replace('before', 'after')
+ wanted = _read_file(os.path.join(convdir, wanted))
+ res = ref.refactor_string(original, 'setup.py')
+ self.assertEquals(str(res), wanted)
def test_suite():
return unittest2.makeSuite(ConverterTestCase)
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list