Commit 35e68606da5978f8e9ccdbd01194354583ddf021

Carlos Martín Nieto 2015-11-04T10:36:50

blob: fix fromchunks iteration counter By returning when the count goes to zero rather than below it, setting `howmany` to 7 in fact writes out the string 6 times. Correct the termination condition to write out the string the amount of times we specify.

diff --git a/tests/object/blob/fromchunks.c b/tests/object/blob/fromchunks.c
index b61cabf..5a7d8f7 100644
--- a/tests/object/blob/fromchunks.c
+++ b/tests/object/blob/fromchunks.c
@@ -26,7 +26,7 @@ static int text_chunked_source_cb(char *content, size_t max_length, void *payloa
 	count = (int *)payload;
 	(*count)--;
 
-	if (*count == 0)
+	if (*count < 0)
 		return 0;
 
 	strcpy(content, textual_content);
@@ -37,7 +37,7 @@ void test_object_blob_fromchunks__can_create_a_blob_from_a_in_memory_chunk_provi
 {
 	git_oid expected_oid, oid;
 	git_object *blob;
-	int howmany = 7;
+	int howmany = 6;
 
 	cl_git_pass(git_oid_fromstr(&expected_oid, "321cbdf08803c744082332332838df6bd160f8f9"));
 
@@ -58,7 +58,7 @@ void test_object_blob_fromchunks__doesnot_overwrite_an_already_existing_object(v
 	git_buf path = GIT_BUF_INIT;
 	git_buf content = GIT_BUF_INIT;
 	git_oid expected_oid, oid;
-	int howmany = 7;
+	int howmany = 6;
 
 	cl_git_pass(git_oid_fromstr(&expected_oid, "321cbdf08803c744082332332838df6bd160f8f9"));
 
@@ -101,7 +101,7 @@ static void write_attributes(git_repository *repo)
 static void assert_named_chunked_blob(const char *expected_sha, const char *fake_name)
 {
 	git_oid expected_oid, oid;
-	int howmany = 7;
+	int howmany = 6;
 
 	cl_git_pass(git_oid_fromstr(&expected_oid, expected_sha));
 
diff --git a/tests/object/blob/fromstream.c b/tests/object/blob/fromstream.c
index 10f2d8b..fb6b078 100644
--- a/tests/object/blob/fromstream.c
+++ b/tests/object/blob/fromstream.c
@@ -50,7 +50,7 @@ void test_object_blob_fromstream__multiple_write(void)
 	for (i = 0; i < howmany; i++)
 		cl_git_pass(stream->write(stream, textual_content, strlen(textual_content)));
 
-	cl_git_pass(git_blob_create_fromstream_end(&id, stream));
+	cl_git_pass(git_blob_create_fromstream_commit(&id, stream));
 	cl_assert_equal_oid(&expected_id, &id);
 
 	cl_git_pass(git_object_lookup(&blob, repo, &expected_id, GIT_OBJ_BLOB));
@@ -88,7 +88,7 @@ static void assert_named_chunked_blob(const char *expected_sha, const char *fake
 	for (i = 0; i < howmany; i++)
 		cl_git_pass(stream->write(stream, textual_content, strlen(textual_content)));
 
-	cl_git_pass(git_blob_create_fromstream_end(&id, stream));
+	cl_git_pass(git_blob_create_fromstream_commit(&id, stream));
 
 	cl_assert_equal_oid(&expected_id, &id);
 }