summaryrefslogtreecommitdiffstats
path: root/Tools/test2to3
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2010-12-30 21:33:07 (GMT)
committerGeorg Brandl <georg@python.org>2010-12-30 21:33:07 (GMT)
commit7fafbc95c0c963438197c9a43fe893c4ea6fe759 (patch)
tree5c9ceda4bdc5260236a230554b9ed56b8c0cdbd3 /Tools/test2to3
parent6f17e2df29a865a29447531e89fb22be710e382d (diff)
downloadcpython-7fafbc95c0c963438197c9a43fe893c4ea6fe759.zip
cpython-7fafbc95c0c963438197c9a43fe893c4ea6fe759.tar.gz
cpython-7fafbc95c0c963438197c9a43fe893c4ea6fe759.tar.bz2
More cleanup: Move some demos into a dedicated Tools/demo dir, move 2to3 demo to Tools, and remove all the other Demo content.
Diffstat (limited to 'Tools/test2to3')
-rw-r--r--Tools/test2to3/README3
-rw-r--r--Tools/test2to3/maintest.py10
-rw-r--r--Tools/test2to3/setup.py26
-rw-r--r--Tools/test2to3/test/runtests.py19
-rw-r--r--Tools/test2to3/test/test_foo.py8
-rw-r--r--Tools/test2to3/test2to3/__init__.py1
-rw-r--r--Tools/test2to3/test2to3/hello.py5
7 files changed, 72 insertions, 0 deletions
diff --git a/Tools/test2to3/README b/Tools/test2to3/README
new file mode 100644
index 0000000..9365593
--- /dev/null
+++ b/Tools/test2to3/README
@@ -0,0 +1,3 @@
+This project demonstrates how a distutils package
+can support Python 2.x and Python 3.x from a single
+source, using lib2to3. \ No newline at end of file
diff --git a/Tools/test2to3/maintest.py b/Tools/test2to3/maintest.py
new file mode 100644
index 0000000..036dd4f
--- /dev/null
+++ b/Tools/test2to3/maintest.py
@@ -0,0 +1,10 @@
+#!/usr/bin/env python3
+
+# The above line should get replaced with the path to the Python
+# interpreter; the block below should get 2to3-converted.
+
+try:
+ from test2to3.hello import hello
+except ImportError, e:
+ print "Import failed", e
+hello()
diff --git a/Tools/test2to3/setup.py b/Tools/test2to3/setup.py
new file mode 100644
index 0000000..a0f9024
--- /dev/null
+++ b/Tools/test2to3/setup.py
@@ -0,0 +1,26 @@
+# -*- coding: iso-8859-1 -*-
+from distutils.core import setup
+
+try:
+ from distutils.command.build_py import build_py_2to3 as build_py
+except ImportError:
+ from distutils.command.build_py import build_py
+
+try:
+ from distutils.command.build_scripts import build_scripts_2to3 as build_scripts
+except ImportError:
+ from distutils.command.build_scripts import build_scripts
+
+setup(
+ name = "test2to3",
+ version = "1.0",
+ description = "2to3 distutils test package",
+ author = "Martin v. Löwis",
+ author_email = "python-dev@python.org",
+ license = "PSF license",
+ packages = ["test2to3"],
+ scripts = ["maintest.py"],
+ cmdclass = {'build_py': build_py,
+ 'build_scripts': build_scripts,
+ }
+)
diff --git a/Tools/test2to3/test/runtests.py b/Tools/test2to3/test/runtests.py
new file mode 100644
index 0000000..1730f0d
--- /dev/null
+++ b/Tools/test2to3/test/runtests.py
@@ -0,0 +1,19 @@
+# Fictitious test runner for the project
+
+import sys, os
+
+if sys.version_info > (3,):
+ # copy test suite over to "build/lib" and convert it
+ from distutils.util import copydir_run_2to3
+ testroot = os.path.dirname(__file__)
+ newroot = os.path.join(testroot, '..', 'build/lib/test')
+ copydir_run_2to3(testroot, newroot)
+ # in the following imports, pick up the converted modules
+ sys.path[0] = newroot
+
+# run the tests here...
+
+from test_foo import FooTest
+
+import unittest
+unittest.main()
diff --git a/Tools/test2to3/test/test_foo.py b/Tools/test2to3/test/test_foo.py
new file mode 100644
index 0000000..ec8f26a
--- /dev/null
+++ b/Tools/test2to3/test/test_foo.py
@@ -0,0 +1,8 @@
+import sys
+import unittest
+
+class FooTest(unittest.TestCase):
+ def test_foo(self):
+ # use 2.6 syntax to demonstrate conversion
+ print 'In test_foo, using Python %s...' % (sys.version_info,)
+ self.assertTrue(False)
diff --git a/Tools/test2to3/test2to3/__init__.py b/Tools/test2to3/test2to3/__init__.py
new file mode 100644
index 0000000..1bb8bf6
--- /dev/null
+++ b/Tools/test2to3/test2to3/__init__.py
@@ -0,0 +1 @@
+# empty
diff --git a/Tools/test2to3/test2to3/hello.py b/Tools/test2to3/test2to3/hello.py
new file mode 100644
index 0000000..f52926b
--- /dev/null
+++ b/Tools/test2to3/test2to3/hello.py
@@ -0,0 +1,5 @@
+def hello():
+ try:
+ print "Hello, world"
+ except IOError, e:
+ print e.errno