summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Mejia <amejia004@gmail.com>2013-01-28 17:27:40 -0500
committerAndres Mejia <amejia004@gmail.com>2013-01-28 17:27:40 -0500
commitfbad616fc7435317a2e2d1206cdb2c57c53caf8e (patch)
tree8ac2443334869c2ca90021474aaa303d21c88517
parent72d27a8c40f67b083fa079d87f99cf69029642f7 (diff)
downloadlibarchive-fbad616fc7435317a2e2d1206cdb2c57c53caf8e.tar.gz
Write common checks for files in a separate function.
-rw-r--r--libarchive/test/test_read_format_rar.c610
1 files changed, 56 insertions, 554 deletions
diff --git a/libarchive/test/test_read_format_rar.c b/libarchive/test/test_read_format_rar.c
index f70bb107..3fa4475d 100644
--- a/libarchive/test/test_read_format_rar.c
+++ b/libarchive/test/test_read_format_rar.c
@@ -1430,45 +1430,10 @@ DEFINE_TEST(test_read_format_rar_multivolume_seek_multiple_files)
assertEqualInt(ARCHIVE_OK, archive_read_free(a));
}
-DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
+static void
+test_read_format_rar_multivolume_uncompressed_files_helper(struct archive *a)
{
- const char *reffiles[] =
- {
- "test_rar_multivolume_uncompressed_files.part01.rar",
- "test_rar_multivolume_uncompressed_files.part02.rar",
- "test_rar_multivolume_uncompressed_files.part03.rar",
- "test_rar_multivolume_uncompressed_files.part04.rar",
- "test_rar_multivolume_uncompressed_files.part05.rar",
- "test_rar_multivolume_uncompressed_files.part06.rar",
- "test_rar_multivolume_uncompressed_files.part07.rar",
- "test_rar_multivolume_uncompressed_files.part08.rar",
- "test_rar_multivolume_uncompressed_files.part09.rar",
- "test_rar_multivolume_uncompressed_files.part10.rar",
- NULL
- };
char buff[64];
- ssize_t bytes_read;
- struct archive *a;
- struct archive_entry *ae;
-
- extract_reference_files(reffiles);
- assert((a = archive_read_new()) != NULL);
- assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
- assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
- assertEqualIntA(a, ARCHIVE_OK,
- archive_read_open_filenames(a, reffiles, 10240));
-
- /*
- * First header.
- */
- assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
- assertEqualStringA(a, "testdir/LibarchiveAddingTest2.html",
- archive_entry_pathname(ae));
- assertA((int)archive_entry_mtime(ae));
- assertA((int)archive_entry_ctime(ae));
- assertA((int)archive_entry_atime(ae));
- assertEqualIntA(a, 20111, archive_entry_size(ae));
- assertEqualIntA(a, 33188, archive_entry_mode(ae));
/* Do checks for seeks/reads past beginning and end of file */
assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
@@ -1517,6 +1482,49 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
archive_seek_data(a, 0, SEEK_CUR));
assertEqualStringA(a, "", buff);
+}
+
+DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
+{
+ const char *reffiles[] =
+ {
+ "test_rar_multivolume_uncompressed_files.part01.rar",
+ "test_rar_multivolume_uncompressed_files.part02.rar",
+ "test_rar_multivolume_uncompressed_files.part03.rar",
+ "test_rar_multivolume_uncompressed_files.part04.rar",
+ "test_rar_multivolume_uncompressed_files.part05.rar",
+ "test_rar_multivolume_uncompressed_files.part06.rar",
+ "test_rar_multivolume_uncompressed_files.part07.rar",
+ "test_rar_multivolume_uncompressed_files.part08.rar",
+ "test_rar_multivolume_uncompressed_files.part09.rar",
+ "test_rar_multivolume_uncompressed_files.part10.rar",
+ NULL
+ };
+ char buff[64];
+ ssize_t bytes_read;
+ struct archive *a;
+ struct archive_entry *ae;
+
+ extract_reference_files(reffiles);
+ assert((a = archive_read_new()) != NULL);
+ assertEqualIntA(a, ARCHIVE_OK, archive_read_support_filter_all(a));
+ assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_all(a));
+ assertEqualIntA(a, ARCHIVE_OK,
+ archive_read_open_filenames(a, reffiles, 10240));
+
+ /*
+ * First header.
+ */
+ assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
+ assertEqualStringA(a, "testdir/LibarchiveAddingTest2.html",
+ archive_entry_pathname(ae));
+ assertA((int)archive_entry_mtime(ae));
+ assertA((int)archive_entry_ctime(ae));
+ assertA((int)archive_entry_atime(ae));
+ assertEqualIntA(a, 20111, archive_entry_size(ae));
+ assertEqualIntA(a, 33188, archive_entry_mode(ae));
+
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/* Read from the beginning to the end of the file */
assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
@@ -1765,53 +1773,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "
"Transitional//EN\">\n", buff);
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/*
* Second header.
@@ -1825,53 +1787,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualIntA(a, 20111, archive_entry_size(ae));
assertEqualIntA(a, 33188, archive_entry_mode(ae));
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/* Read from the beginning to the end of the file */
assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
@@ -2240,53 +2156,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualStringA(a, "arguments satisfy certain conditions. "
"If the assertion fails--f", buff);
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/*
* Third header.
@@ -2300,53 +2170,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualIntA(a, 20111, archive_entry_size(ae));
assertEqualIntA(a, 33188, archive_entry_mode(ae));
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/* Read from the beginning to the end of the file */
assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
@@ -2595,53 +2419,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "
"Transitional//EN\">\n", buff);
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/*
* Fourth header.
@@ -2655,53 +2433,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualIntA(a, 20111, archive_entry_size(ae));
assertEqualIntA(a, 33188, archive_entry_mode(ae));
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/* Read from the beginning to the end of the file */
assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
@@ -3070,53 +2802,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualStringA(a, "zip)\n&nbsp; {\n&nbsp; &nbsp; "
"/* ... setup omitted ... */\n&nbsp; ", buff);
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/*
* Fifth header.
@@ -3130,53 +2816,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualIntA(a, 20111, archive_entry_size(ae));
assertEqualIntA(a, 33188, archive_entry_mode(ae));
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/* Read from the beginning to the end of the file */
assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
@@ -3425,53 +3065,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 "
"Transitional//EN\">\n", buff);
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/*
* Sixth header.
@@ -3485,53 +3079,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualIntA(a, 20111, archive_entry_size(ae));
assertEqualIntA(a, 33188, archive_entry_mode(ae));
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/* Read from the beginning to the end of the file */
assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
@@ -3900,53 +3448,7 @@ DEFINE_TEST(test_read_format_rar_multivolume_uncompressed_files)
assertEqualStringA(a, "hat was expected. \n</P>\n<H1 CLASS=\"western\"><A "
"NAME=\"Basic_test", buff);
- /* Do checks for seeks/reads past beginning and end of file */
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_SET));
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(sizeof(buff)-1), SEEK_SET));
- assertEqualIntA(a, 0, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD "
- "HTML 4.0 Transitional//EN\">\n", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -((sizeof(buff)-1)*2), SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "<HTML>\n<HEAD>\n\t<META HTTP-EQUIV=\"CONTENT-TYPE\" "
- "CONTENT=\"text/ht", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, -1, archive_seek_data(a, -(20111+32), SEEK_END));
- assertEqualIntA(a, ((sizeof(buff)-1)*2), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, (sizeof(buff)-1),
- archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, ((sizeof(buff)-1)*3), archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "ml; charset=utf-8\">\n\t<TITLE></TITLE>\n\t<META "
- "NAME=\"GENERATOR\" CO", buff);
-
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111, archive_seek_data(a, 20111, SEEK_SET));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111, archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, (sizeof(buff)-1), SEEK_CUR));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + (sizeof(buff)-1),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
- memset(buff, 0, sizeof(buff));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, ((sizeof(buff)-1)*2), SEEK_END));
- assertEqualIntA(a, 0, archive_read_data(a, buff, (sizeof(buff)-1)));
- assertEqualIntA(a, 20111 + ((sizeof(buff)-1)*2),
- archive_seek_data(a, 0, SEEK_CUR));
- assertEqualStringA(a, "", buff);
+ test_read_format_rar_multivolume_uncompressed_files_helper(a);
/*
* Seventh header.