Browse Source

tar: document xgetcwd test case better

* src/misc.c (normalize_filename): Add commentary for clarity.
* tests/extrac09.at: Retitle test case and add comments for clarity.
Nathan Stratton Treadway 10 years ago
parent
commit
dc72f4d114
2 changed files with 16 additions and 5 deletions
  1. 2 1
      src/misc.c
  2. 14 4
      tests/extrac09.at

+ 2 - 1
src/misc.c

@@ -288,7 +288,8 @@ normalize_filename (int cdidx, const char *name)
          this following approach may lead to situations where the same
          this following approach may lead to situations where the same
          file or directory is processed twice under different absolute
          file or directory is processed twice under different absolute
          paths without that duplication being detected.  Perhaps we
          paths without that duplication being detected.  Perhaps we
-         should use dev+ino pairs instead of names?  */
+         should use dev+ino pairs instead of names?  (See listed03.at for
+         a related test case.) */
       const char *cdpath = tar_getcdpath (cdidx);
       const char *cdpath = tar_getcdpath (cdidx);
       size_t copylen;
       size_t copylen;
       bool need_separator;
       bool need_separator;

+ 14 - 4
tests/extrac09.at

@@ -18,10 +18,20 @@
 # You should have received a copy of the GNU General Public License
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-# This checks for the --listed-incremental bug reported by J Chapman Flack at
-# http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
-
-AT_SETUP([no need to save dir with unreadable . and ..])
+# This attempts to cause xgetcwd() to fail, and then checks to see if
+# such failure causes tar to abort even in a case where the results of
+# the call aren't actually needed.
+#
+# (xgetcwd() may fail e.g. on Solaris 10 when "." or ".." are unreadable.
+# On most systems xgetcwd() won't fail even in that situation, but
+# on those systems this test will simply succeed without actually testing
+# anything within tar.)
+#
+# http://lists.gnu.org/archive/html/bug-tar/2010-07/msg00045.html
+#
+# (See also 'listed03.at'.)
+
+AT_SETUP([extracting even when . and .. are unreadable])
 AT_KEYWORDS([extract extrac09])
 AT_KEYWORDS([extract extrac09])
 
 
 AT_TAR_CHECK([
 AT_TAR_CHECK([