Remaining fixes for APR hashorder issues. --- subversion-1.7.4/subversion/bindings/swig/python/tests/repository.py.hashorder +++ subversion-1.7.4/subversion/bindings/swig/python/tests/repository.py @@ -170,9 +170,11 @@ class SubversionRepositoryTestCase(unitt repos.dir_delta(prev_root, '', '', this_root, '', e_ptr, e_baton, _authz_callback, 1, 1, 0, 0) - # Check results - self.assertEqual(editor.textdeltas[0].new_data, "This is a test.\n") - self.assertEqual(editor.textdeltas[1].new_data, "A test.\n") + # Check results. + # Ignore the order in which the editor delivers the two sibling files. + self.assertEqual(set([editor.textdeltas[0].new_data, + editor.textdeltas[1].new_data]), + set(["This is a test.\n", "A test.\n"])) self.assertEqual(len(editor.textdeltas), 2) def test_retrieve_and_change_rev_prop(self): --- subversion-1.7.4/subversion/bindings/swig/python/tests/trac/versioncontrol/tests/svn_fs.py.hashorder +++ subversion-1.7.4/subversion/bindings/swig/python/tests/trac/versioncontrol/tests/svn_fs.py @@ -264,16 +264,25 @@ class SubversionRepositoryTestCase(unitt def test_diff_dir_different_revs(self): diffs = self.repos.get_deltas('trunk', 4, 'trunk', 8) - self._cmp_diff((None, ('trunk/dir1/dir2', 8), - (Node.DIRECTORY, Changeset.ADD)), diffs.next()) - self._cmp_diff((None, ('trunk/dir1/dir3', 8), - (Node.DIRECTORY, Changeset.ADD)), diffs.next()) - self._cmp_diff((None, ('trunk/README2.txt', 6), - (Node.FILE, Changeset.ADD)), diffs.next()) - self._cmp_diff((('trunk/dir2', 4), None, - (Node.DIRECTORY, Changeset.DELETE)), diffs.next()) - self._cmp_diff((('trunk/dir3', 4), None, - (Node.DIRECTORY, Changeset.DELETE)), diffs.next()) + expected = [ + (None, ('trunk/README2.txt', 6), + (Node.FILE, Changeset.ADD)), + (None, ('trunk/dir1/dir2', 8), + (Node.DIRECTORY, Changeset.ADD)), + (None, ('trunk/dir1/dir3', 8), + (Node.DIRECTORY, Changeset.ADD)), + (('trunk/dir2', 4), None, + (Node.DIRECTORY, Changeset.DELETE)), + (('trunk/dir3', 4), None, + (Node.DIRECTORY, Changeset.DELETE)), + ] + actual = [diffs.next() for i in range(5)] + actual = sorted(actual, + key=lambda diff: ((diff[0] or diff[1]).path, + (diff[0] or diff[1]).rev)) + self.assertEqual(len(expected), len(actual)) + for e,a in zip(expected, actual): + self._cmp_diff(e,a) self.assertRaises(StopIteration, diffs.next) def test_diff_dir_different_dirs(self): --- subversion-1.7.4/subversion/bindings/swig/python/tests/wc.py.hashorder +++ subversion-1.7.4/subversion/bindings/swig/python/tests/wc.py @@ -216,8 +216,9 @@ class SubversionWorkingCopyTestCase(unit def test_entries_read(self): entries = wc.entries_read(self.wc, True) - - self.assertEqual(['', 'tags', 'branches', 'trunk'], list(entries.keys())) + keys = list(entries.keys()) + keys.sort() + self.assertEqual(['', 'branches', 'tags', 'trunk'], keys) def test_get_ignores(self): self.assert_(isinstance(wc.get_ignores(None, self.wc), list))