On Mon, Nov 25, 2013 at 09:26:14 -0500, Jack Howarth wrote: > On Sun, Nov 24, 2013 at 11:06:44PM -0500, Nathan Stratton Treadway wrote: > > On Sun, Nov 24, 2013 at 13:35:37 -0500, Jack Howarth wrote: > > > I am seeing the following regression in tar 1.27.1 on > > > x86_64-apple-darwin12... > > > > [...] > > > echo 'a' > A/b > > [...] > > > mkdir ext/A/B > > > touch ext/A/B/file > > [...] > > > --- - 2013-11-24 13:17:27.000000000 -0500 > > > +++ > > > /sw/src/fink.build/tar-1.27.1-1/tar-1.27.1/tests/testsuite.dir/at-groups/92/stderr > > > 2013-11-24 13:17:27.000000000 -0500 > > > @@ -5,5 +5,7 @@ > > > E0 > > > E1 > > > E2 > > > +mkdir: ext/A/B: File exists > > > +touch: ext/A/B/file: Not a directory > > > E3 > > > > > > > Are you running this test on a volume where filename case is ignored? > > The test assumes that case is significant. > > > > > > The standard darwin filesystem has always been case-insensitive so this > test should be enhanced to only enable it on case-sensitive file systems.
I realized that the test used the same letter in upper and lower case just because they were easy names to type; there wasn't any reason they actually needed to to use the "same" name. Attached is a patch that simply changes the names given to the temporary directories so they don't clash with the names given to the files. It works as expected on my Linux (i.e. case-sensitive) filesystem; if you could test it under Darwin and confirm it works correctly there, hopefully Paul or Sergey will be willing to push it. Nathan ---------------------------------------------------------------------------- Nathan Stratton Treadway - natha...@ontko.com - Mid-Atlantic region Ray Ontko & Co. - Software consulting services - http://www.ontko.com/ GPG Key: http://www.ontko.com/~nathanst/gpg_key.txt ID: 1023D/ECFB6239 Key fingerprint = 6AD8 485E 20B9 5C71 231C 0C32 15F3 ADCD ECFB 6239
diff --git a/tests/incr07.at b/tests/incr07.at index 6ac345a..cbd4a3d 100644 --- a/tests/incr07.at +++ b/tests/incr07.at @@ -38,23 +38,23 @@ AT_KEYWORDS([incremental extract incr07]) # http://lists.gnu.org/archive/html/bug-tar/2013-03/msg00044.html AT_TAR_CHECK([ -mkdir A -echo 'a' > A/a -echo 'a' > A/b +mkdir dirA +echo 'a' > dirA/a +echo 'a' > dirA/b decho C0 -tar -g test.snar -vcf test.0.tar A +tar -g test.snar -vcf test.0.tar dirA -echo 'a' > A/c +echo 'a' > dirA/c decho C1 -tar -g test.snar -vcf test.1.tar A +tar -g test.snar -vcf test.1.tar dirA -rm -f A/a +rm -f dirA/a decho C2 -tar -g test.snar -vcf test.2.tar A +tar -g test.snar -vcf test.2.tar dirA mkdir ext -rm -rf A +rm -rf dirA decho E0 tar -g test.snar -vxf test.0.tar -C ext/ @@ -64,43 +64,43 @@ tar -g test.snar -vxf test.1.tar -C ext/ decho E2 tar -g test.snar -vxf test.2.tar -C ext/ -mkdir ext/A/B -touch ext/A/B/file +mkdir ext/dirA/dirB +touch ext/dirA/dirB/file decho E3 tar -g test.snar -vxf test.2.tar -C ext/ echo FIN -test -d A && echo >&2 "toplevel A exists" +test -d dirA && echo >&2 "toplevel dirA exists" exit 0 ], [0], [C0 -A/ -A/a -A/b +dirA/ +dirA/a +dirA/b C1 -A/ -A/c +dirA/ +dirA/c C2 -A/ +dirA/ E0 -A/ -A/a -A/b +dirA/ +dirA/a +dirA/b E1 -A/ -A/c +dirA/ +dirA/c E2 -A/ -tar: Deleting 'A/a' +dirA/ +tar: Deleting 'dirA/a' E3 -A/ -tar: Deleting 'A/B' +dirA/ +tar: Deleting 'dirA/dirB' FIN ], [C0 -tar: A: Directory is new +tar: dirA: Directory is new C1 C2 E0