Commit 0f29e96793eda1f9a4a16d90f1a888cfa3d4deac

Edward Thomson 2014-08-01T13:43:46

Remove the refs/notes/commits that we push in test The online::push::notes test pushes a note but leaves it hanging around for other tests to stumble across when they're validating that they're seeing the refs they expect to see. Clean it up on exit.

diff --git a/tests/online/push.c b/tests/online/push.c
index 6da27bb..038cab1 100644
--- a/tests/online/push.c
+++ b/tests/online/push.c
@@ -852,6 +852,9 @@ void test_online_push__notes(void)
 	const char *specs[] = { "refs/notes/commits:refs/notes/commits" };
 	push_status exp_stats[] = { { "refs/notes/commits", 1 } };
 	expected_ref exp_refs[] = { { "refs/notes/commits", &expected_oid } };
+	const char *specs_del[] = { ":refs/notes/commits" };
+	expected_ref exp_refs_del[] = { };
+
 	git_oid_fromstr(&expected_oid, "8461a99b27b7043e58ff6e1f5d2cf07d282534fb");
 
 	target_oid = &_oid_b6;
@@ -864,5 +867,11 @@ void test_online_push__notes(void)
 		exp_stats, ARRAY_SIZE(exp_stats),
 		exp_refs, ARRAY_SIZE(exp_refs), 0, 1, 1);
 
+	/* And make sure to delete the note */
+
+	do_push(specs_del, ARRAY_SIZE(specs_del),
+		exp_stats, 1,
+		exp_refs_del, ARRAY_SIZE(exp_refs_del), 0, 0, 0);
+
 	git_signature_free(signature);
 }