01-fix-tests.patch 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. --- contrib/deprecated/python/scandir/tests/test_scandir.py (index)
  2. +++ contrib/deprecated/python/scandir/tests/test_scandir.py (working tree)
  3. @@ -8,6 +8,8 @@ import sys
  4. import time
  5. import unittest
  6. +import yatest.common
  7. +
  8. try:
  9. import scandir
  10. has_scandir = True
  11. @@ -16,8 +18,6 @@ except ImportError:
  12. FILE_ATTRIBUTE_DIRECTORY = 16
  13. -TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), 'testdir'))
  14. -
  15. IS_PY3 = sys.version_info >= (3, 0)
  16. if IS_PY3:
  17. @@ -29,9 +29,9 @@ else:
  18. if hasattr(os, 'symlink'):
  19. try:
  20. - link_name = os.path.join(os.path.dirname(__file__), '_testlink')
  21. - os.symlink(__file__, link_name)
  22. - os.remove(link_name)
  23. + #link_name = os.path.join(os.path.dirname(__file__), '_testlink')
  24. + #os.symlink(__file__, link_name)
  25. + #os.remove(link_name)
  26. symlinks_supported = True
  27. except NotImplementedError:
  28. # Windows versions before Vista don't support symbolic links
  29. @@ -88,8 +88,10 @@ def teardown():
  30. shutil.rmtree(TEST_PATH)
  31. -class TestMixin(object):
  32. +class TestMixin(unittest.TestCase):
  33. def setUp(self):
  34. + global TEST_PATH
  35. + TEST_PATH = yatest.common.test_output_path('../test')
  36. if not os.path.exists(TEST_PATH):
  37. setup_main()
  38. if symlinks_supported and not os.path.exists(
  39. @@ -101,6 +103,8 @@ class TestMixin(object):
  40. sys.stdout.write('skipped {0!r} '.format(reason))
  41. def test_basic(self):
  42. + if not hasattr(self, 'scandir_func'):
  43. + self.skipTest('skip mixin')
  44. entries = sorted(self.scandir_func(TEST_PATH), key=lambda e: e.name)
  45. self.assertEqual([(e.name, e.is_dir()) for e in entries],
  46. [('file1.txt', False), ('file2.txt', False),
  47. @@ -109,6 +113,8 @@ class TestMixin(object):
  48. [os.path.join(TEST_PATH, e.name) for e in entries])
  49. def test_dir_entry(self):
  50. + if not hasattr(self, 'scandir_func'):
  51. + self.skipTest('skip mixin')
  52. entries = dict((e.name, e) for e in self.scandir_func(TEST_PATH))
  53. e = entries['file1.txt']
  54. self.assertEqual([e.is_dir(), e.is_file(), e.is_symlink()], [False, True, False])
  55. @@ -121,6 +127,8 @@ class TestMixin(object):
  56. self.assertEqual(entries['file2.txt'].stat().st_size, 8)
  57. def test_stat(self):
  58. + if not hasattr(self, 'scandir_func'):
  59. + self.skipTest('skip mixin')
  60. entries = list(self.scandir_func(TEST_PATH))
  61. for entry in entries:
  62. os_stat = os.stat(os.path.join(TEST_PATH, entry.name))
  63. @@ -135,6 +143,8 @@ class TestMixin(object):
  64. self.assertEqual(os_stat.st_size, scandir_stat.st_size)
  65. def test_returns_iter(self):
  66. + if not hasattr(self, 'scandir_func'):
  67. + self.skipTest('skip mixin')
  68. it = self.scandir_func(TEST_PATH)
  69. entry = next(it)
  70. assert hasattr(entry, 'name')
  71. @@ -145,6 +155,8 @@ class TestMixin(object):
  72. self.assertTrue(0 <= result.st_file_attributes <= 0xFFFFFFFF)
  73. def test_file_attributes(self):
  74. + if not hasattr(self, 'scandir_func'):
  75. + self.skipTest('skip mixin')
  76. if sys.platform != 'win32' or not self.has_file_attributes:
  77. # st_file_attributes is Win32 specific
  78. return self.skipTest('st_file_attributes not supported')
  79. @@ -163,6 +175,8 @@ class TestMixin(object):
  80. FILE_ATTRIBUTE_DIRECTORY)
  81. def test_path(self):
  82. + if not hasattr(self, 'scandir_func'):
  83. + self.skipTest('skip mixin')
  84. entries = sorted(self.scandir_func(TEST_PATH), key=lambda e: e.name)
  85. self.assertEqual([os.path.basename(e.name) for e in entries],
  86. ['file1.txt', 'file2.txt', 'linkdir', 'subdir'])
  87. @@ -170,6 +184,8 @@ class TestMixin(object):
  88. [os.path.normpath(e.path) for e in entries])
  89. def test_symlink(self):
  90. + if not hasattr(self, 'scandir_func'):
  91. + self.skipTest('skip mixin')
  92. if not symlinks_supported:
  93. return self.skipTest('symbolic links not supported')
  94. @@ -197,6 +213,8 @@ class TestMixin(object):
  95. ('linksubdir', True, True)])
  96. def test_bytes(self):
  97. + if not hasattr(self, 'scandir_func'):
  98. + self.skipTest('skip mixin')
  99. # Check that unicode filenames are returned correctly as bytes in output
  100. path = os.path.join(TEST_PATH, 'subdir').encode(sys.getfilesystemencoding(), 'replace')
  101. self.assertTrue(isinstance(path, bytes))
  102. @@ -220,6 +238,8 @@ class TestMixin(object):
  103. self.assertEqual(entry.path, os.path.join(path, entry_name))
  104. def test_unicode(self):
  105. + if not hasattr(self, 'scandir_func'):
  106. + self.skipTest('skip mixin')
  107. # Check that unicode filenames are returned correctly as (unicode) str in output
  108. path = os.path.join(TEST_PATH, 'subdir')
  109. if not IS_PY3:
  110. @@ -249,6 +269,8 @@ class TestMixin(object):
  111. self.assertEqual(entry.path, os.path.join(path, 'file1.txt'))
  112. def test_walk_unicode_handling(self):
  113. + if not hasattr(self, 'scandir_func'):
  114. + self.skipTest('skip mixin')
  115. encoding = sys.getfilesystemencoding()
  116. dirname_unicode = u'test_unicode_dir'
  117. dirname_bytes = dirname_unicode.encode(encoding)
  118. --- contrib/deprecated/python/scandir/tests/test_walk.py (index)
  119. +++ contrib/deprecated/python/scandir/tests/test_walk.py (working tree)
  120. @@ -7,6 +7,8 @@ import unittest
  121. import scandir
  122. +import yatest.common
  123. +
  124. walk_func = scandir.walk
  125. IS_PY3 = sys.version_info >= (3, 0)
  126. @@ -16,6 +18,7 @@ class TestWalk(unittest.TestCase):
  127. testfn = os.path.join(os.path.dirname(__file__), 'temp')
  128. def test_traversal(self):
  129. + self.testfn = yatest.common.test_output_path('temp')
  130. # Build:
  131. # TESTFN/
  132. # TEST1/ a file kid and two directory kids
  133. @@ -140,6 +143,7 @@ class TestWalkSymlink(unittest.TestCase):
  134. temp_dir = os.path.join(os.path.dirname(__file__), 'temp')
  135. def setUp(self):
  136. + self.temp_dir = yatest.common.test_output_path('temp')
  137. os.mkdir(self.temp_dir)
  138. self.dir_name = os.path.join(self.temp_dir, 'dir')
  139. os.mkdir(self.dir_name)