diff --git a/swh/model/from_disk.py b/swh/model/from_disk.py --- a/swh/model/from_disk.py +++ b/swh/model/from_disk.py @@ -270,7 +270,7 @@ entries = {} # Join fentries and dentries in the same processing, as symbolic # links to directories appear in dentries... - for name in fentries + dentries: + for name in sorted(fentries + dentries): path = os.path.join(root, name) if not os.path.isdir(path) or os.path.islink(path): content = Content.from_file( @@ -321,6 +321,7 @@ @property def entries(self): + """Child nodes, sorted by name.""" if self.__entries is None: self.__entries = [ self.child_to_directory_entry(name, child) diff --git a/swh/model/tests/test_from_disk.py b/swh/model/tests/test_from_disk.py --- a/swh/model/tests/test_from_disk.py +++ b/swh/model/tests/test_from_disk.py @@ -449,7 +449,7 @@ if isinstance(right, Directory): right = right.get_data() - return self.assertCountEqual(left.entries, right['entries']) + assert left.entries == right['entries'] def make_contents(self, directory): for filename, content in self.contents.items():