diff --git a/lib/backend.py b/lib/backend.py index 3fda9c7d6febd11ec94ce2c42870d0757b97a502..2a158d63709e0f69811353c5e968bf0a8689f7fb 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -2162,7 +2162,7 @@ def ListExports(): """ if os.path.isdir(constants.EXPORT_DIR): - return utils.ListVisibleFiles(constants.EXPORT_DIR) + return sorted(utils.ListVisibleFiles(constants.EXPORT_DIR)) else: _Fail("No exports directory") diff --git a/lib/jqueue.py b/lib/jqueue.py index 1102c6513db9b26a568bba79388d98b161cee6b7..2554c7cc47fe920e07cf827c8c51159fa6c4964b 100644 --- a/lib/jqueue.py +++ b/lib/jqueue.py @@ -913,7 +913,7 @@ class JobQueue(object): """ jlist = [] - for filename in utils.ListVisibleFiles(constants.QUEUE_DIR, sort=False): + for filename in utils.ListVisibleFiles(constants.QUEUE_DIR): m = self._RE_JOB_FILE.match(filename) if m: jlist.append(m.group(1)) diff --git a/lib/utils.py b/lib/utils.py index 7d13617afe0eafe1930ada820835b017d008e5fa..3be5d66c478deea29470302f3ea6b770bd5f734e 100644 --- a/lib/utils.py +++ b/lib/utils.py @@ -1741,13 +1741,11 @@ def OwnIpAddress(address): source=constants.LOCALHOST_IP_ADDRESS) -def ListVisibleFiles(path, sort=True): +def ListVisibleFiles(path): """Returns a list of visible files in a directory. @type path: str @param path: the directory to enumerate - @type sort: boolean - @param sort: whether to provide a sorted output @rtype: list @return: the list of all files not starting with a dot @raise ProgrammerError: if L{path} is not an absolue and normalized path @@ -1757,8 +1755,6 @@ def ListVisibleFiles(path, sort=True): raise errors.ProgrammerError("Path passed to ListVisibleFiles is not" " absolute/normalized: '%s'" % path) files = [i for i in os.listdir(path) if not i.startswith(".")] - if sort: - files.sort() return files diff --git a/test/ganeti.utils_unittest.py b/test/ganeti.utils_unittest.py index 650fd619d4272f9090c5c03e2ba6d6dc23e8c9d5..477c40993ab085a3e7e97bf0e14cd4733cf1bdcc 100755 --- a/test/ganeti.utils_unittest.py +++ b/test/ganeti.utils_unittest.py @@ -1341,8 +1341,7 @@ class TestListVisibleFiles(unittest.TestCase): def _test(self, files, expected): self._CreateFiles(files) found = ListVisibleFiles(self.path) - # by default ListVisibleFiles sorts its output - self.assertEqual(found, sorted(expected)) + self.assertEqual(set(found), set(expected)) def testAllVisible(self): files = ["a", "b", "c"] @@ -1359,20 +1358,6 @@ class TestListVisibleFiles(unittest.TestCase): expected = ["a", "b"] self._test(files, expected) - def testForceSort(self): - files = ["c", "b", "a"] - self._CreateFiles(files) - found = ListVisibleFiles(self.path, sort=True) - self.assertEqual(found, sorted(files)) - - def testForceNonSort(self): - files = ["c", "b", "a"] - self._CreateFiles(files) - found = ListVisibleFiles(self.path, sort=False) - # We can't actually check that they weren't sorted, because they might come - # out sorted by chance - self.assertEqual(set(found), set(files)) - def testNonAbsolutePath(self): self.failUnlessRaises(errors.ProgrammerError, ListVisibleFiles, "abc")