NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

test_check.py (2759B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\stdlib\distutils\tests\test_check.py
      2 import unittest
      3 from distutils.command.check import check, HAS_DOCUTILS
      4 from distutils.tests import support
      5 from distutils.errors import DistutilsSetupError
      6 
      7 class CheckTestCase(support.LoggingSilencer, support.TempdirManager, unittest.TestCase):
      8 
      9     def _run(self, metadata = None, **options):
     10         if metadata is None:
     11             metadata = {}
     12         pkg_info, dist = self.create_dist(**metadata)
     13         cmd = check(dist)
     14         cmd.initialize_options()
     15         for name, value in options.items():
     16             setattr(cmd, name, value)
     17 
     18         cmd.ensure_finalized()
     19         cmd.run()
     20         return cmd
     21 
     22     def test_check_metadata(self):
     23         cmd = self._run()
     24         self.assertEqual(cmd._warnings, 2)
     25         metadata = {'url': 'xxx',
     26          'author': 'xxx',
     27          'author_email': 'xxx',
     28          'name': 'xxx',
     29          'version': 'xxx'}
     30         cmd = self._run(metadata)
     31         self.assertEqual(cmd._warnings, 0)
     32         self.assertRaises(DistutilsSetupError, self._run, {}, **{'strict': 1})
     33         cmd = self._run(metadata, strict=1)
     34         self.assertEqual(cmd._warnings, 0)
     35 
     36     def test_check_document(self):
     37         if not HAS_DOCUTILS:
     38             return
     39         pkg_info, dist = self.create_dist()
     40         cmd = check(dist)
     41         broken_rest = 'title\n===\n\ntest'
     42         msgs = cmd._check_rst_data(broken_rest)
     43         self.assertEqual(len(msgs), 1)
     44         rest = 'title\n=====\n\ntest'
     45         msgs = cmd._check_rst_data(rest)
     46         self.assertEqual(len(msgs), 0)
     47 
     48     def test_check_restructuredtext(self):
     49         if not HAS_DOCUTILS:
     50             return
     51         broken_rest = 'title\n===\n\ntest'
     52         pkg_info, dist = self.create_dist(long_description=broken_rest)
     53         cmd = check(dist)
     54         cmd.check_restructuredtext()
     55         self.assertEqual(cmd._warnings, 1)
     56         metadata = {'url': 'xxx',
     57          'author': 'xxx',
     58          'author_email': 'xxx',
     59          'name': 'xxx',
     60          'version': 'xxx',
     61          'long_description': broken_rest}
     62         self.assertRaises(DistutilsSetupError, self._run, metadata, **{'strict': 1,
     63          'restructuredtext': 1})
     64         metadata['long_description'] = 'title\n=====\n\ntest'
     65         cmd = self._run(metadata, strict=1, restructuredtext=1)
     66         self.assertEqual(cmd._warnings, 0)
     67 
     68     def test_check_all(self):
     69         metadata = {'url': 'xxx',
     70          'author': 'xxx'}
     71         self.assertRaises(DistutilsSetupError, self._run, {}, **{'strict': 1,
     72          'restructuredtext': 1})
     73 
     74 
     75 def test_suite():
     76     return unittest.makeSuite(CheckTestCase)
     77 
     78 
     79 if __name__ == '__main__':
     80     unittest.main(defaultTest='test_suite')