#!/bin/sh # Ensure that a command like # `date --date="21:04 +0100" +%S' always prints `00'. # Before coreutils-5.2.1, it would print the seconds from the current time. if test "$VERBOSE" = yes; then set -x date --version fi pwd=`pwd` t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$ trap 'status=$?; cd $pwd; chmod -R u+rwx $t0; rm -rf $t0 && exit $status' 0 trap '(exit $?); exit $?' 1 2 13 15 framework_failure=0 mkdir -p $tmp || framework_failure=1 cd $tmp || framework_failure=1 if test $framework_failure = 1; then echo "$0: failure in testing framework" 1>&2 (exit 1); exit 1 fi fail=0 # It would be easier simply to sleep for two seconds between two runs # of `date --date="21:04 +0100" +%S` and ensure that both outputs # are `00', but I prefer not to sleep unconditionally. `make check' # takes long enough as it is. n=0 # See if the current number of seconds is `00' or just before. s=`date +%S` case "$s" in 58) n=3;; 59) n=2;; 00) n=1;; esac # If necessary, wait for the system clock to pass the minute mark. test $n = 0 || { echo sleeping for $n seconds...; sleep $n; } s=`date --date="21:04 +0100" +%S` case "$s" in 00) ;; *) fail=1;; esac (exit $fail); exit $fail