You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.6 KiB

  1. import os
  2. import tempfile
  3. from packaging.dist import Distribution
  4. from packaging.tests import support, unittest
  5. class TestingSupportTestCase(unittest.TestCase):
  6. def test_fake_dec(self):
  7. @support.fake_dec(1, 2, k=3)
  8. def func(arg0, *args, **kargs):
  9. return arg0, args, kargs
  10. self.assertEqual(func(-1, -2, k=-3), (-1, (-2,), {'k': -3}))
  11. def test_TempdirManager(self):
  12. files = {}
  13. class Tester(support.TempdirManager, unittest.TestCase):
  14. def test_mktempfile(self2):
  15. tmpfile = self2.mktempfile()
  16. files['test_mktempfile'] = tmpfile.name
  17. self.assertTrue(os.path.isfile(tmpfile.name))
  18. def test_mkdtemp(self2):
  19. tmpdir = self2.mkdtemp()
  20. files['test_mkdtemp'] = tmpdir
  21. self.assertTrue(os.path.isdir(tmpdir))
  22. def test_write_file(self2):
  23. tmpdir = self2.mkdtemp()
  24. files['test_write_file'] = tmpdir
  25. self2.write_file((tmpdir, 'file1'), 'me file 1')
  26. file1 = os.path.join(tmpdir, 'file1')
  27. self.assertTrue(os.path.isfile(file1))
  28. text = ''
  29. with open(file1, 'r') as f:
  30. text = f.read()
  31. self.assertEqual(text, 'me file 1')
  32. def test_create_dist(self2):
  33. project_dir, dist = self2.create_dist()
  34. files['test_create_dist'] = project_dir
  35. self.assertTrue(os.path.isdir(project_dir))
  36. self.assertIsInstance(dist, Distribution)
  37. def test_assertIsFile(self2):
  38. fd, fn = tempfile.mkstemp()
  39. os.close(fd)
  40. self.addCleanup(support.unlink, fn)
  41. self2.assertIsFile(fn)
  42. self.assertRaises(AssertionError, self2.assertIsFile, 'foO')
  43. def test_assertIsNotFile(self2):
  44. tmpdir = self2.mkdtemp()
  45. self2.assertIsNotFile(tmpdir)
  46. tester = Tester()
  47. for name in ('test_mktempfile', 'test_mkdtemp', 'test_write_file',
  48. 'test_create_dist', 'test_assertIsFile',
  49. 'test_assertIsNotFile'):
  50. tester.setUp()
  51. try:
  52. getattr(tester, name)()
  53. finally:
  54. tester.tearDown()
  55. # check clean-up
  56. if name in files:
  57. self.assertFalse(os.path.exists(files[name]))
  58. def test_suite():
  59. return unittest.makeSuite(TestingSupportTestCase)
  60. if __name__ == "__main__":
  61. unittest.main(defaultTest="test_suite")