svn commit: trunk/busybox: archival/libunarchive testsuite testsuit etc...

vda at busybox.net vda at busybox.net
Sat Sep 2 18:40:10 UTC 2006


Author: vda
Date: 2006-09-02 11:40:10 -0700 (Sat, 02 Sep 2006)
New Revision: 16032

Log:
tar: tar xf foo.tar dir/dir did not extract all subdirs.
Added testsuite entry for this



Added:
   trunk/busybox/testsuite/tar/tar-extracts-all-subdirs

Modified:
   trunk/busybox/archival/libunarchive/find_list_entry.c
   trunk/busybox/testsuite/README


Changeset:
Modified: trunk/busybox/archival/libunarchive/find_list_entry.c
===================================================================
--- trunk/busybox/archival/libunarchive/find_list_entry.c	2006-09-02 17:53:16 UTC (rev 16031)
+++ trunk/busybox/archival/libunarchive/find_list_entry.c	2006-09-02 18:40:10 UTC (rev 16032)
@@ -13,7 +13,7 @@
 const llist_t *find_list_entry(const llist_t *list, const char *filename)
 {
 	while (list) {
-		if (fnmatch(list->data, filename, 0) == 0) {
+		if (fnmatch(list->data, filename, FNM_LEADING_DIR) == 0) {
 			return (list);
 		}
 		list = list->link;

Modified: trunk/busybox/testsuite/README
===================================================================
--- trunk/busybox/testsuite/README	2006-09-02 17:53:16 UTC (rev 16031)
+++ trunk/busybox/testsuite/README	2006-09-02 18:40:10 UTC (rev 16032)
@@ -1,3 +1,6 @@
+Update: doesn't work as described. Try "make check" from parent dir...
+* * *
+
 To run the test suite, change to this directory and run "./runtest".  It will
 run all of the test cases, and list those with unexpected outcomes.  Adding the
 -v option will cause it to show expected outcomes as well.  To only run the test

Added: trunk/busybox/testsuite/tar/tar-extracts-all-subdirs
===================================================================
--- trunk/busybox/testsuite/tar/tar-extracts-all-subdirs	2006-09-02 17:53:16 UTC (rev 16031)
+++ trunk/busybox/testsuite/tar/tar-extracts-all-subdirs	2006-09-02 18:40:10 UTC (rev 16032)
@@ -0,0 +1,12 @@
+# FEATURE: CONFIG_FEATURE_TAR_CREATE
+mkdir -p foo/{1,2,3}
+mkdir -p foo/1/{10,11}
+mkdir -p foo/1/10/{100,101,102}
+tar cf foo.tar -C foo .
+rm -rf foo/*
+busybox tar xf foo.tar -C foo ./1/10
+find foo | sort >logfile.bb
+rm -rf foo/*
+tar xf foo.tar -C foo ./1/10
+find foo | sort >logfile.gnu
+cmp logfile.gnu logfile.bb




More information about the busybox-cvs mailing list