Ticket #6484: my-twisted-patch.patch

File my-twisted-patch.patch, 4.1 KB (added by mulhern, 9 years ago)
  • twisted/python/test/test_dist.py

     
    1515
    1616from twisted.python import dist
    1717from twisted.python.dist import (get_setup_args, ConditionalExtension,
    18     build_scripts_twisted)
     18    build_scripts_twisted, install_data_twisted, getVersion)
    1919from twisted.python.filepath import FilePath
     20from twisted.python.test.test_release import (StructureAssertingMixin,
     21    genVersion)
    2022
    2123
    2224
    23 class SetupTest(TestCase):
     25class GetSetupArgsTest(TestCase, StructureAssertingMixin):
    2426    """
    2527    Tests for L{get_setup_args}.
    2628    """
     
    4345        builder = build_ext(Distribution())
    4446        builder.prepare_extensions()
    4547        self.assertEqual(builder.extensions, [good_ext])
     48        self.assertFalse('conditionalExtensions' in args)
    4649
    4750
    4851    def test_win32Definition(self):
     
    5659        self.patch(os, "name", "nt")
    5760        builder.prepare_extensions()
    5861        self.assertEqual(ext.define_macros, [("whatever", 2), ("WIN32", 1)])
     62        self.assertFalse('conditionalExtensions' in args)
    5963
    6064
     65    def test_Plugins(self):
     66        """
     67        If L{plugins} among keyword arguments the values will be used to
     68        set the L{py_modules} keyword values unless twisted_subproject is
     69        also among the keyword arguments.  Note that the value of
     70        L{plugins} must be a list, it cannot be None.
     71        """
     72        args = get_setup_args(plugins=[])
     73        self.assertFalse('plugins' in args)
     74        self.assertEqual(args['py_modules'], [])
    6175
     76        args = get_setup_args(plugins=['aplugin'])
     77        self.assertFalse('plugins' in args)
     78        self.assertEqual(args['py_modules'], ['twisted.plugins.aplugin'])
     79
     80
     81    def test_CmdClass(self):
     82        """
     83        L{cmdclass} is set to default values unless already set.
     84        """
     85        args = get_setup_args()
     86        self.assertEqual(args['cmdclass']['install_data'],
     87                         install_data_twisted)
     88        self.assertEqual(args['cmdclass']['build_scripts'],
     89                         build_scripts_twisted)
     90
     91
     92    def test_TwistedSubproject(self):
     93        """
     94        If L{twisted_subproject} among keyword arguments then it will
     95        be used to determine the value for L{py_modules} regardless
     96        of the value of L{plugins}.
     97        """
     98       
     99        kws = {"twisted_subproject" : "aplugin",
     100               "plugins" : [] }
     101
     102        root = FilePath(self.mktemp())
     103        root.createDirectory()
     104        structure = {
     105            "twisted": {
     106                "plugins": {
     107                    "twisted_aplugin.py": "I'm a plugin file."},
     108                "_version.py": genVersion("twisted", 1, 0, 0),
     109                "aplugin": {
     110                    "__init__.py": "I'm a package file.",
     111                    "afile.txt" : "I'm a data file.",
     112                    "bfile.txt" : "I'm a data file.",
     113                    "_version.py": genVersion("twisted.aplugin", 1, 0, 0)},
     114                "bplugin": {
     115                    "__init__.py": "I'm a package file.",
     116                    "afile.txt" : "I'm a data file.",
     117                    "bfile.txt" : "I'm a data file.",
     118                    "_version.py": genVersion("twisted.bplugin", 1, 0, 0)}}}
     119        self.createStructure(root, structure)
     120        self.addCleanup(os.chdir, os.getcwd())
     121        os.chdir(root.path)
     122        args = get_setup_args(**kws)
     123        self.assertEqual(args['packages'], ['twisted.aplugin'])
     124        self.assertEqual(args['version'], getVersion("aplugin"))
     125        self.assertEqual(args['py_modules'],
     126                         ['twisted.plugins.twisted_aplugin'])
     127        self.assertEqual(args['data_files'],
     128                         [('twisted/aplugin',
     129                           ['twisted/aplugin/afile.txt',
     130                            'twisted/aplugin/bfile.txt'])])
     131        self.assertFalse('twisted_subproject' in args)
     132           
     133
     134
    62135class GetExtensionsTest(TestCase):
    63136    """
    64137    Tests for L{dist.getExtensions}.