From 4f1b991246dbc67ab7176842a61f3022bed5aad5 Mon Sep 17 00:00:00 2001 From: Dan Nicholson Date: Wed, 23 Oct 2019 09:10:06 -0600 Subject: [PATCH] tests/sizes: Test that sizes metadata is not reused Ensure that the object sizes hash table is cleared after a commit and not only when the repo is closed. --- tests/test-sizes.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/tests/test-sizes.js b/tests/test-sizes.js index a3928fe8..46848905 100755 --- a/tests/test-sizes.js +++ b/tests/test-sizes.js @@ -118,7 +118,7 @@ function validateSizes(repo, commit, expectedFiles) { } } -print('1..2') +print('1..3') let testDataDir = Gio.File.new_for_path('test-data'); testDataDir.make_directory(null); @@ -157,6 +157,23 @@ validateSizes(repo, commit, expectedFiles); print("ok test-sizes"); +// Remove a file to make sure that metadata is not reused from the +// previous commit +testDataDir.get_child('another-file').delete(null); +delete expectedFiles['f5ee222a21e2c96edbd6f2543c4bc8a039f827be3823d04777c9ee187778f1ad']; + +repo.prepare_transaction(null); +mtree = OSTree.MutableTree.new(); +repo.write_directory_to_mtree(testDataDir, mtree, commitModifier, null); +[,dirTree] = repo.write_mtree(mtree, null); +[,commit] = repo.write_commit(null, 'Some subject', 'Some body', null, dirTree, null); +print("commit => " + commit); +repo.commit_transaction(null); + +validateSizes(repo, commit, expectedFiles); + +print("ok test-sizes file deleted"); + // Repeat the commit now that all the objects are cached and ensure the // metadata is still correct repo.prepare_transaction(null);