Revision: 6029
http://ipcop.svn.sourceforge.net/ipcop/?rev=6029&view=rev
Author: gespinasse
Date: 2011-11-05 09:49:23 +0000 (Sat, 05 Nov 2011)
Log Message:
-----------
Fix test-parse-datetime bug that depend of timezone settings and date
Add a touch (and rm cleaning) to be able to not skip rm/fail-eperm test
Reword the comment on running one test, remove '-C tests' as only working for
non-gnulib tests
Modified Paths:
--------------
ipcop/trunk/lfs/coreutils
Added Paths:
-----------
ipcop/trunk/src/patches/coreutils-8.14_test-parse-datetime.patch
Modified: ipcop/trunk/lfs/coreutils
===================================================================
--- ipcop/trunk/lfs/coreutils 2011-11-05 07:23:49 UTC (rev 6028)
+++ ipcop/trunk/lfs/coreutils 2011-11-05 09:49:23 UTC (rev 6029)
@@ -86,6 +86,8 @@
$(TARGET) : $(firstword $(MAKEFILE_LIST)) $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xf $(DIR_DL)/$(DL_FILE)
+ # drop after 8.14, fix one test failure when DST boundary is crossed
+ cd $(DIR_APP)/gnulib-tests && patch -p2 -i
$(DIR_PATCHES)/$(THISAPP)_test-parse-datetime.patch
ifeq "$(STAGE)" "toolchain"
# hostname is used on base stage by coreutils configure and perl base
tests
@@ -111,18 +113,23 @@
cd $(DIR_APP) && sed -i 's/doc man//' Makefile
cd $(DIR_APP) && make -j $(PARALLELISM)
ifeq "$(RUNNING_TEST)" "yes"
- # to debug, run one test with make check -C tests TESTS=<test-name>
VERBOSE=yes
- # no test should fail there
+ # To run just one test, add TESTS=[full-test-name] VERBOSE=yes
+
+ # To be able to run rm/fail-eperm test
+ touch /tmp/root-owned
+
+ # No test should fail there
cd $(DIR_APP) && make -j 1 NON_ROOT_USERNAME=nobody check-root &>
$(DIR_TEST)/$(THISAPP)-$(STAGE_ORDER).log
- # temporary during tests
+ # Temporary during tests
echo "dummy:x:1000:nobody" >> /etc/group
- # to be able to run non-root tests as nobody
+ # To be able to run non-root tests as nobody
chown -R nobody $(DIR_APP)
cd $(DIR_APP) && su-tools nobody -s /bin/bash -c "make -j 1 -k
RUN_EXPENSIVE_TESTS=yes check" \
>>
$(DIR_TEST)/$(THISAPP)-$(STAGE_ORDER).log 2>&1
endif
# need to be outside ifeq/endif in case a test fail and you recompile
without test
-sed -i '/dummy/d' /etc/group
+ rm -f /tmp/root-owned
cd $(DIR_APP) && make install-exec
mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin
Added: ipcop/trunk/src/patches/coreutils-8.14_test-parse-datetime.patch
===================================================================
--- ipcop/trunk/src/patches/coreutils-8.14_test-parse-datetime.patch
(rev 0)
+++ ipcop/trunk/src/patches/coreutils-8.14_test-parse-datetime.patch
2011-11-05 09:49:23 UTC (rev 6029)
@@ -0,0 +1,92 @@
+http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=56ddf0fdeb52ce76718e0594db4f567401e90a2c
+
+test-parse-datetime.c: avoid new DST-related false positive test failure
+
+authorJim Meyering <[email protected]>
+ Sun, 30 Oct 2011 17:12:54 +0000 (18:12 +0100)
+committerJim Meyering <[email protected]>
+ Sun, 30 Oct 2011 17:12:54 +0000 (18:12 +0100)
+
+
+* tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset" based
on the time/date we'll convert, not the current time.
+Otherwise, the moment we cross a DST boundary like today's in Europe, (CEST to
CET), that offset ends up being one hour off.
+
+diff --git a/tests/test-parse-datetime.c b/tests/test-parse-datetime.c
+
+index b9d08a6..22fe9bc 100644 (file)
+
+
+--- a/tests/test-parse-datetime.c
++++ b/tests/test-parse-datetime.c
+@@ -94,20 +94,17 @@ tm_diff (struct tm const *a, struct tm const *b)
+ #endif /* ! HAVE_TM_GMTOFF */
+
+ static long
+-gmt_offset ()
++gmt_offset (time_t s)
+ {
+- time_t now;
+ long gmtoff;
+
+- time (&now);
+-
+ #if !HAVE_TM_GMTOFF
+- struct tm tm_local = *localtime (&now);
+- struct tm tm_gmt = *gmtime (&now);
++ struct tm tm_local = *localtime (&s);
++ struct tm tm_gmt = *gmtime (&s);
+
+ gmtoff = tm_diff (&tm_local, &tm_gmt);
+ #else
+- gmtoff = localtime (&now)->tm_gmtoff;
++ gmtoff = localtime (&s)->tm_gmtoff;
+ #endif
+
+ return gmtoff;
+@@ -123,16 +120,17 @@ main (int argc _GL_UNUSED, char **argv)
+ const char *p;
+ int i;
+ long gmtoff;
++ time_t ref_time = 1304250918;
+
+ set_program_name (argv[0]);
+
+- gmtoff = gmt_offset ();
++ gmtoff = gmt_offset (ref_time);
+
+
+ /* ISO 8601 extended date and time of day representation,
+ 'T' separator, local time zone */
+ p = "2011-05-01T11:55:18";
+- expected.tv_sec = 1304250918 - gmtoff;
++ expected.tv_sec = ref_time - gmtoff;
+ expected.tv_nsec = 0;
+ ASSERT (parse_datetime (&result, p, 0));
+ LOG (p, expected, result);
+@@ -142,7 +140,7 @@ main (int argc _GL_UNUSED, char **argv)
+ /* ISO 8601 extended date and time of day representation,
+ ' ' separator, local time zone */
+ p = "2011-05-01 11:55:18";
+- expected.tv_sec = 1304250918 - gmtoff;
++ expected.tv_sec = ref_time - gmtoff;
+ expected.tv_nsec = 0;
+ ASSERT (parse_datetime (&result, p, 0));
+ LOG (p, expected, result);
+@@ -153,7 +151,7 @@ main (int argc _GL_UNUSED, char **argv)
+ /* ISO 8601, extended date and time of day representation,
+ 'T' separator, UTC */
+ p = "2011-05-01T11:55:18Z";
+- expected.tv_sec = 1304250918;
++ expected.tv_sec = ref_time;
+ expected.tv_nsec = 0;
+ ASSERT (parse_datetime (&result, p, 0));
+ LOG (p, expected, result);
+@@ -163,7 +161,7 @@ main (int argc _GL_UNUSED, char **argv)
+ /* ISO 8601, extended date and time of day representation,
+ ' ' separator, UTC */
+ p = "2011-05-01 11:55:18Z";
+- expected.tv_sec = 1304250918;
++ expected.tv_sec = ref_time;
+ expected.tv_nsec = 0;
+ ASSERT (parse_datetime (&result, p, 0));
+ LOG (p, expected, result);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Ipcop-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn