One unit test for distutils is not much, but is more than we had yesterday.

We need to write more; hopefully the barrier is a little lower now.
This commit is contained in:
Fred Drake 2004-06-15 15:49:46 +00:00
parent a050171ee9
commit bb7c14461d
3 changed files with 98 additions and 0 deletions

View File

@ -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")

View File

@ -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)

View File

@ -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()