git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Use find instead of perl in t5000 to get file modification time
@ 2008-10-29 10:38 Alex Riesen
  2008-10-29 21:54 ` Jeff King
  2008-10-30  5:29 ` Sam Vilain
  0 siblings, 2 replies; 14+ messages in thread
From: Alex Riesen @ 2008-10-29 10:38 UTC (permalink / raw)
  To: Git Mailing List; +Cc: Junio C Hamano, Jeff King, René Scharfe

[-- Attachment #1: Type: text/plain, Size: 909 bytes --]

The test "validate file modification time" was broken on admittedly broken
combination of Windows, Cygwin, and ActiveState Perl. Something (I blame
ActiveState) of the three is very confused about what time zone
to use for the modification time.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---

I could not find what exactly does the ActiveState's Perl use for its stat
implementation (and honestly, have no motivation to look harder).
It seems to honor TZ, but the produced time does not seem to be either
local or GMT.

There can be a problem with "-printf": Open Group SUS does not specify
-printf for find(1), so it is probably a problem somewhere. I just don't know.

There is always a fallback, which is to write a small program which calls
native stat(2). Or modify test-chmtime to just print mtime when asked.

 t/t5000-tar-tree.sh |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Use-find-instead-of-perl-in-t5000-to-get-file-modifi.patch --]
[-- Type: text/x-diff; name=0001-Use-find-instead-of-perl-in-t5000-to-get-file-modifi.patch, Size: 1470 bytes --]

From 1bd8a9445d9bba463fb1edb758d7760fbf53b03a Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Wed, 29 Oct 2008 10:22:15 +0100
Subject: [PATCH] Use find instead of perl in t5000 to get file modification time

The test was broken on admittedly broken combination of Windows, Cygwin,
and ActiveState Perl.

Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 t/t5000-tar-tree.sh |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/t/t5000-tar-tree.sh b/t/t5000-tar-tree.sh
index 0f27d73..4eabebd 100755
--- a/t/t5000-tar-tree.sh
+++ b/t/t5000-tar-tree.sh
@@ -26,6 +26,8 @@ commit id embedding:
 
 . ./test-lib.sh
 UNZIP=${UNZIP:-unzip}
+TZ=GMT
+export TZ
 
 SUBSTFORMAT=%H%n
 
@@ -54,7 +56,7 @@ test_expect_success \
      find a -type l | xargs git update-index --add &&
      treeid=`git write-tree` &&
      echo $treeid >treeid &&
-     git update-ref HEAD $(TZ=GMT GIT_COMMITTER_DATE="2005-05-27 22:00:00" \
+     git update-ref HEAD $(GIT_COMMITTER_DATE="2005-05-27 22:00:00" \
      git commit-tree $treeid </dev/null)'
 
 test_expect_success \
@@ -90,7 +92,7 @@ test_expect_success \
     'validate file modification time' \
     'mkdir extract &&
      "$TAR" xf b.tar -C extract a/a &&
-     perl -e '\''print((stat("extract/a/a"))[9], "\n")'\'' >b.mtime &&
+     find extract/a/a -printf "%T@\\n" >b.mtime &&
      echo "1117231200" >expected.mtime &&
      diff expected.mtime b.mtime'
 
-- 
1.6.0.3.549.gb475d


^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2008-11-02 15:59 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-29 10:38 [PATCH] Use find instead of perl in t5000 to get file modification time Alex Riesen
2008-10-29 21:54 ` Jeff King
2008-10-30  7:26   ` Alex Riesen
2008-10-30  5:29 ` Sam Vilain
2008-10-31  7:00   ` Alex Riesen
2008-10-31 12:59     ` Peter Harris
2008-10-31 13:45       ` Alex Riesen
2008-10-31 22:14     ` Johannes Schindelin
2008-10-31 23:37       ` Alex Riesen
2008-11-01  0:23         ` Johannes Schindelin
2008-11-01 14:24           ` Alex Riesen
2008-11-01 20:37             ` Johannes Schindelin
2008-11-02 14:37               ` Alex Riesen
2008-11-02 16:05                 ` Johannes Schindelin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).