From owner-svn-src-head@FreeBSD.ORG Sat Mar 7 01:12:01 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C15B6106566B; Sat, 7 Mar 2009 01:12:01 +0000 (UTC) (envelope-from kientzle@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AEEED8FC0C; Sat, 7 Mar 2009 01:12:01 +0000 (UTC) (envelope-from kientzle@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n271C1Su033926; Sat, 7 Mar 2009 01:12:01 GMT (envelope-from kientzle@svn.freebsd.org) Received: (from kientzle@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n271C1x9033925; Sat, 7 Mar 2009 01:12:01 GMT (envelope-from kientzle@svn.freebsd.org) Message-Id: <200903070112.n271C1x9033925@svn.freebsd.org> From: Tim Kientzle Date: Sat, 7 Mar 2009 01:12:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r189468 - head/lib/libarchive/test X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Mar 2009 01:12:02 -0000 Author: kientzle Date: Sat Mar 7 01:12:01 2009 New Revision: 189468 URL: http://svn.freebsd.org/changeset/base/189468 Log: Merge the rest of r453 from libarchive.googlecode.com: Test using libarchive APIs to read extended attributes from disk on FreeBSD. Modified: head/lib/libarchive/test/test_extattr_freebsd.c Modified: head/lib/libarchive/test/test_extattr_freebsd.c ============================================================================== --- head/lib/libarchive/test/test_extattr_freebsd.c Sat Mar 7 01:08:16 2009 (r189467) +++ head/lib/libarchive/test/test_extattr_freebsd.c Sat Mar 7 01:12:01 2009 (r189468) @@ -41,6 +41,9 @@ DEFINE_TEST(test_extattr_freebsd) skipping("extattr restore supported only on FreeBSD 5.0 and later"); #else char buff[64]; + const char *xname; + const void *xval; + size_t xsize; struct stat st; struct archive *a; struct archive_entry *ae; @@ -150,5 +153,21 @@ DEFINE_TEST(test_extattr_freebsd) assertEqualString(buff, "123456"); } } + + /* Use libarchive APIs to read the file back into an entry and + * verify that the extattr was read correctly. */ + assert((a = archive_read_disk_new()) != NULL); + assert((ae = archive_entry_new()) != NULL); + archive_entry_set_pathname(ae, "test0"); + assertEqualInt(ARCHIVE_OK, + archive_read_disk_entry_from_file(a, ae, -1, NULL)); + assertEqualInt(1, archive_entry_xattr_reset(ae)); + assertEqualInt(ARCHIVE_OK, + archive_entry_xattr_next(ae, &xname, &xval, &xsize)); + assertEqualString(xname, "user.foo"); + assertEqualInt(xsize, 5); + assertEqualMem(xval, "12345", xsize); + assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a)); + assertEqualInt(ARCHIVE_OK, archive_read_finish(a)); #endif }