testsuite: _enable it_
Version: 3.1.2-4
This commit is contained in:
parent
8b39f7ed92
commit
7615a7f21c
150
libarchive-3.1.2-testsuite.patch
Normal file
150
libarchive-3.1.2-testsuite.patch
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
diff --git a/cpio/test/test_extract_cpio_lzo.c b/cpio/test/test_extract_cpio_lzo.c
|
||||||
|
index f351ba7..99476af 100644
|
||||||
|
--- a/cpio/test/test_extract_cpio_lzo.c
|
||||||
|
+++ b/cpio/test/test_extract_cpio_lzo.c
|
||||||
|
@@ -27,7 +27,7 @@ __FBSDID("$FreeBSD$");
|
||||||
|
|
||||||
|
DEFINE_TEST(test_extract_cpio_lzo)
|
||||||
|
{
|
||||||
|
- const char *reffile = "test_extract.cpio.lrz";
|
||||||
|
+ const char *reffile = "test_extract.cpio.lzo";
|
||||||
|
int f;
|
||||||
|
|
||||||
|
extract_reference_file(reffile);
|
||||||
|
diff --git a/libarchive/test/test_write_filter_lzop.c b/libarchive/test/test_write_filter_lzop.c
|
||||||
|
index 9e840bd..a32932c 100644
|
||||||
|
--- a/libarchive/test/test_write_filter_lzop.c
|
||||||
|
+++ b/libarchive/test/test_write_filter_lzop.c
|
||||||
|
@@ -39,7 +39,7 @@ DEFINE_TEST(test_write_filter_lzop)
|
||||||
|
size_t buffsize, datasize;
|
||||||
|
char path[16];
|
||||||
|
size_t used1, used2;
|
||||||
|
- int i, r, use_prog = 0;
|
||||||
|
+ int i, r, use_prog = 0, filecount;
|
||||||
|
|
||||||
|
assert((a = archive_write_new()) != NULL);
|
||||||
|
r = archive_write_add_filter_lzop(a);
|
||||||
|
@@ -58,9 +58,10 @@ DEFINE_TEST(test_write_filter_lzop)
|
||||||
|
|
||||||
|
datasize = 10000;
|
||||||
|
assert(NULL != (data = (char *)calloc(1, datasize)));
|
||||||
|
+ filecount = 10;
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * Write a 100 files and read them all back.
|
||||||
|
+ * Write a filecount files and read them all back.
|
||||||
|
*/
|
||||||
|
assert((a = archive_write_new()) != NULL);
|
||||||
|
assertEqualIntA(a, ARCHIVE_OK, archive_write_set_format_ustar(a));
|
||||||
|
@@ -77,7 +78,7 @@ DEFINE_TEST(test_write_filter_lzop)
|
||||||
|
assert((ae = archive_entry_new()) != NULL);
|
||||||
|
archive_entry_set_filetype(ae, AE_IFREG);
|
||||||
|
archive_entry_set_size(ae, datasize);
|
||||||
|
- for (i = 0; i < 100; i++) {
|
||||||
|
+ for (i = 0; i < filecount; i++) {
|
||||||
|
sprintf(path, "file%03d", i);
|
||||||
|
archive_entry_copy_pathname(ae, path);
|
||||||
|
assertEqualIntA(a, ARCHIVE_OK, archive_write_header(a, ae));
|
||||||
|
@@ -97,7 +98,7 @@ DEFINE_TEST(test_write_filter_lzop)
|
||||||
|
} else {
|
||||||
|
assertEqualIntA(a, ARCHIVE_OK,
|
||||||
|
archive_read_open_memory(a, buff, used1));
|
||||||
|
- for (i = 0; i < 100; i++) {
|
||||||
|
+ for (i = 0; i < filecount; i++) {
|
||||||
|
sprintf(path, "file%03d", i);
|
||||||
|
if (!assertEqualInt(ARCHIVE_OK,
|
||||||
|
archive_read_next_header(a, &ae)))
|
||||||
|
@@ -133,7 +134,7 @@ DEFINE_TEST(test_write_filter_lzop)
|
||||||
|
archive_write_set_options(a, "lzop:compression-level=9"));
|
||||||
|
assertEqualIntA(a, ARCHIVE_OK,
|
||||||
|
archive_write_open_memory(a, buff, buffsize, &used2));
|
||||||
|
- for (i = 0; i < 100; i++) {
|
||||||
|
+ for (i = 0; i < filecount; i++) {
|
||||||
|
sprintf(path, "file%03d", i);
|
||||||
|
assert((ae = archive_entry_new()) != NULL);
|
||||||
|
archive_entry_copy_pathname(ae, path);
|
||||||
|
@@ -161,7 +162,7 @@ DEFINE_TEST(test_write_filter_lzop)
|
||||||
|
archive_read_support_filter_all(a));
|
||||||
|
assertEqualIntA(a, ARCHIVE_OK,
|
||||||
|
archive_read_open_memory(a, buff, used2));
|
||||||
|
- for (i = 0; i < 100; i++) {
|
||||||
|
+ for (i = 0; i < filecount; i++) {
|
||||||
|
sprintf(path, "file%03d", i);
|
||||||
|
if (!assertEqualInt(ARCHIVE_OK,
|
||||||
|
archive_read_next_header(a, &ae)))
|
||||||
|
@@ -186,7 +187,7 @@ DEFINE_TEST(test_write_filter_lzop)
|
||||||
|
archive_write_set_filter_option(a, NULL, "compression-level", "1"));
|
||||||
|
assertEqualIntA(a, ARCHIVE_OK,
|
||||||
|
archive_write_open_memory(a, buff, buffsize, &used2));
|
||||||
|
- for (i = 0; i < 100; i++) {
|
||||||
|
+ for (i = 0; i < filecount; i++) {
|
||||||
|
sprintf(path, "file%03d", i);
|
||||||
|
assert((ae = archive_entry_new()) != NULL);
|
||||||
|
archive_entry_copy_pathname(ae, path);
|
||||||
|
@@ -216,7 +217,7 @@ DEFINE_TEST(test_write_filter_lzop)
|
||||||
|
} else {
|
||||||
|
assertEqualIntA(a, ARCHIVE_OK,
|
||||||
|
archive_read_open_memory(a, buff, used2));
|
||||||
|
- for (i = 0; i < 100; i++) {
|
||||||
|
+ for (i = 0; i < filecount; i++) {
|
||||||
|
sprintf(path, "file%03d", i);
|
||||||
|
if (!assertEqualInt(ARCHIVE_OK,
|
||||||
|
archive_read_next_header(a, &ae)))
|
||||||
|
diff --git a/tar/test/test_option_b.c b/tar/test/test_option_b.c
|
||||||
|
index be2ae65..7164d4c 100644
|
||||||
|
--- a/tar/test/test_option_b.c
|
||||||
|
+++ b/tar/test/test_option_b.c
|
||||||
|
@@ -25,8 +25,14 @@
|
||||||
|
#include "test.h"
|
||||||
|
__FBSDID("$FreeBSD$");
|
||||||
|
|
||||||
|
+static char *ustar_opt = " --format=ustar";
|
||||||
|
+
|
||||||
|
DEFINE_TEST(test_option_b)
|
||||||
|
{
|
||||||
|
+ char *testprog_ustar = malloc(strlen(testprog) + strlen(ustar_opt) + 2);
|
||||||
|
+ strcpy(testprog_ustar, testprog);
|
||||||
|
+ strcat(testprog_ustar, ustar_opt);
|
||||||
|
+
|
||||||
|
assertMakeFile("file1", 0644, "file1");
|
||||||
|
if (systemf("cat file1 > test_cat.out 2> test_cat.err") != 0) {
|
||||||
|
skipping("Platform doesn't have cat");
|
||||||
|
@@ -36,7 +42,7 @@ DEFINE_TEST(test_option_b)
|
||||||
|
/*
|
||||||
|
* Bsdtar does not pad if the output is going directly to a disk file.
|
||||||
|
*/
|
||||||
|
- assertEqualInt(0, systemf("%s -cf archive1.tar file1 >test1.out 2>test1.err", testprog));
|
||||||
|
+ assertEqualInt(0, systemf("%s -cf archive1.tar file1 >test1.out 2>test1.err", testprog_ustar));
|
||||||
|
failure("bsdtar does not pad archives written directly to regular files");
|
||||||
|
assertFileSize("archive1.tar", 2048);
|
||||||
|
assertEmptyFile("test1.out");
|
||||||
|
@@ -46,24 +52,24 @@ DEFINE_TEST(test_option_b)
|
||||||
|
* Bsdtar does pad to the block size if the output is going to a socket.
|
||||||
|
*/
|
||||||
|
/* Default is -b 20 */
|
||||||
|
- assertEqualInt(0, systemf("%s -cf - file1 2>test2.err | cat >archive2.tar ", testprog));
|
||||||
|
+ assertEqualInt(0, systemf("%s -cf - file1 2>test2.err | cat >archive2.tar ", testprog_ustar));
|
||||||
|
failure("bsdtar does pad archives written to pipes");
|
||||||
|
assertFileSize("archive2.tar", 10240);
|
||||||
|
assertEmptyFile("test2.err");
|
||||||
|
|
||||||
|
- assertEqualInt(0, systemf("%s -cf - -b 20 file1 2>test3.err | cat >archive3.tar ", testprog));
|
||||||
|
+ assertEqualInt(0, systemf("%s -cf - -b 20 file1 2>test3.err | cat >archive3.tar ", testprog_ustar));
|
||||||
|
assertFileSize("archive3.tar", 10240);
|
||||||
|
assertEmptyFile("test3.err");
|
||||||
|
|
||||||
|
- assertEqualInt(0, systemf("%s -cf - -b 10 file1 2>test4.err | cat >archive4.tar ", testprog));
|
||||||
|
+ assertEqualInt(0, systemf("%s -cf - -b 10 file1 2>test4.err | cat >archive4.tar ", testprog_ustar));
|
||||||
|
assertFileSize("archive4.tar", 5120);
|
||||||
|
assertEmptyFile("test4.err");
|
||||||
|
|
||||||
|
- assertEqualInt(0, systemf("%s -cf - -b 1 file1 2>test5.err | cat >archive5.tar ", testprog));
|
||||||
|
+ assertEqualInt(0, systemf("%s -cf - -b 1 file1 2>test5.err | cat >archive5.tar ", testprog_ustar));
|
||||||
|
assertFileSize("archive5.tar", 2048);
|
||||||
|
assertEmptyFile("test5.err");
|
||||||
|
|
||||||
|
- assertEqualInt(0, systemf("%s -cf - -b 8192 file1 2>test6.err | cat >archive6.tar ", testprog));
|
||||||
|
+ assertEqualInt(0, systemf("%s -cf - -b 8192 file1 2>test6.err | cat >archive6.tar ", testprog_ustar));
|
||||||
|
assertFileSize("archive6.tar", 4194304);
|
||||||
|
assertEmptyFile("test6.err");
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: libarchive
|
Name: libarchive
|
||||||
Version: 3.1.2
|
Version: 3.1.2
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: A library for handling streaming archive formats
|
Summary: A library for handling streaming archive formats
|
||||||
|
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
@ -28,6 +28,7 @@ BuildRequires: automake autoconf libtool
|
|||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=927105
|
# https://bugzilla.redhat.com/show_bug.cgi?id=927105
|
||||||
Patch0: libarchive-3.1.3-CVE-2013-0211_read_buffer_overflow.patch
|
Patch0: libarchive-3.1.3-CVE-2013-0211_read_buffer_overflow.patch
|
||||||
|
|
||||||
|
Patch1: libarchive-3.1.2-testsuite.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Libarchive is a programming library that can create and read several different
|
Libarchive is a programming library that can create and read several different
|
||||||
@ -68,6 +69,9 @@ libarchive packages.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}
|
%setup -q -n %{name}-%{version}
|
||||||
%patch0 -p1 -b .CVE-2013-0211
|
%patch0 -p1 -b .CVE-2013-0211
|
||||||
|
# fix bugs in testsuite
|
||||||
|
# ~> upstream ~> 26629c191a & b539b2e597 & 9caa49246
|
||||||
|
%patch1 -p1 -b .fix-testsuite
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -76,7 +80,9 @@ build/autogen.sh
|
|||||||
# remove rpaths
|
# remove rpaths
|
||||||
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
||||||
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
||||||
make %{?_smp_mflags} V=1
|
|
||||||
|
test -z "$V" && verbose_make="V=1"
|
||||||
|
make %{?_smp_mflags} $verbose_make
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -85,12 +91,28 @@ make install DESTDIR=$RPM_BUILD_ROOT
|
|||||||
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
|
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
|
||||||
|
|
||||||
|
|
||||||
|
%check
|
||||||
|
LD_LIBRARY_PATH=`pwd`/.libs make check -j1 || (
|
||||||
|
# error happened - try to extract in koji as much info as possible
|
||||||
|
cat test-suite.log
|
||||||
|
echo "========================="
|
||||||
|
err=`cat test-suite.log | grep "Details for failing tests" | cut -d: -f2`
|
||||||
|
for i in $err; do
|
||||||
|
find $i -printf "%p\n ~> %c\n ~> %s B\n"
|
||||||
|
echo "-------------------------"
|
||||||
|
cat $i/*.log
|
||||||
|
done
|
||||||
|
false # stop here
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%post -p /sbin/ldconfig
|
||||||
|
|
||||||
|
|
||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
|
|
||||||
@ -102,7 +124,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_mandir}/*/mtree.*
|
%{_mandir}/*/mtree.*
|
||||||
%{_mandir}/*/tar.*
|
%{_mandir}/*/tar.*
|
||||||
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc
|
%doc
|
||||||
@ -126,6 +147,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Jun 30 2013 Pavel Raiskup <praiskup@redhat.com> - 3.1.2-4
|
||||||
|
- enable testsuite in the %%check phase
|
||||||
|
|
||||||
* Mon Jun 24 2013 Pavel Raiskup <praiskup@redhat.com> - 3.1.2-3
|
* Mon Jun 24 2013 Pavel Raiskup <praiskup@redhat.com> - 3.1.2-3
|
||||||
- bsdtar/bsdcpio should require versioned libarchive
|
- bsdtar/bsdcpio should require versioned libarchive
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user