summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/distutils/tests/__init__.py35
-rw-r--r--Lib/distutils/tests/test_install_scripts.py46
-rw-r--r--Lib/test/test_distutils.py17
3 files changed, 98 insertions, 0 deletions
diff --git a/Lib/distutils/tests/__init__.py b/Lib/distutils/tests/__init__.py
new file mode 100644
index 0000000..7bdb912
--- /dev/null
+++ b/Lib/distutils/tests/__init__.py
@@ -0,0 +1,35 @@
+"""Test suite for distutils.
+
+This test suite consists of a collection of test modules in the
+distutils.tests package. Each test module has a name starting with
+'test' and contains a function test_suite(). The function is expected
+to return an initialized unittest.TestSuite instance.
+
+Tests for the command classes in the distutils.command package are
+included in distutils.tests as well, instead of using a separate
+distutils.command.tests package, since command identification is done
+by import rather than matching pre-defined names.
+
+"""
+
+import os
+import sys
+import unittest
+
+
+here = os.path.dirname(__file__)
+
+
+def test_suite():
+ suite = unittest.TestSuite()
+ for fn in os.listdir(here):
+ if fn.startswith("test") and fn.endswith(".py"):
+ modname = "distutils.tests." + fn[:-3]
+ __import__(modname)
+ module = sys.modules[modname]
+ suite.addTest(module.test_suite())
+ return suite
+
+
+if __name__ == "__main__":
+ unittest.main(defaultTest="test_suite")
diff --git a/Lib/distutils/tests/test_install_scripts.py b/Lib/distutils/tests/test_install_scripts.py
new file mode 100644
index 0000000..f9a95ea
--- /dev/null
+++ b/Lib/distutils/tests/test_install_scripts.py
@@ -0,0 +1,46 @@
+"""Tests for distutils.command.install_scripts."""
+
+import os
+import unittest
+
+from distutils.command.install_scripts import install_scripts
+from distutils.core import Distribution
+
+
+class InstallScriptsTestCase(unittest.TestCase):
+
+ def test_default_settings(self):
+ dist = Distribution()
+ dist.command_obj["build"] = DummyCommand(build_scripts="/foo/bar")
+ dist.command_obj["install"] = DummyCommand(
+ install_scripts="/splat/funk",
+ force=1,
+ skip_build=1,
+ )
+ cmd = install_scripts(dist)
+ self.assert_(not cmd.force)
+ self.assert_(not cmd.skip_build)
+ self.assert_(cmd.build_dir is None)
+ self.assert_(cmd.install_dir is None)
+
+ cmd.finalize_options()
+
+ self.assert_(cmd.force)
+ self.assert_(cmd.skip_build)
+ self.assertEqual(cmd.build_dir, "/foo/bar")
+ self.assertEqual(cmd.install_dir, "/splat/funk")
+
+
+class DummyCommand:
+
+ def __init__(self, **kwargs):
+ for kw, val in kwargs.items():
+ setattr(self, kw, val)
+
+ def ensure_finalized(self):
+ pass
+
+
+
+def test_suite():
+ return unittest.makeSuite(InstallScriptsTestCase)
diff --git a/Lib/test/test_distutils.py b/Lib/test/test_distutils.py
new file mode 100644
index 0000000..fcd792d
--- /dev/null
+++ b/Lib/test/test_distutils.py
@@ -0,0 +1,17 @@
+"""Tests for distutils.
+
+The tests for distutils are defined in the distutils.tests package;
+the test_suite() function there returns a test suite that's ready to
+be run.
+"""
+
+import distutils.tests
+import test.test_support
+
+
+def test_main():
+ test.test_support.run_unittest(distutils.tests.test_suite())
+
+
+if __name__ == "__main__":
+ test_main()