Added date detection for Macs
This commit is contained in:
@@ -439,12 +439,58 @@ test_init_todo () {
|
|||||||
TODO_TEST_REAL_DATE=$(which date)
|
TODO_TEST_REAL_DATE=$(which date)
|
||||||
TODO_TEST_TIME=1234500000
|
TODO_TEST_TIME=1234500000
|
||||||
export PATH TODO_TEST_REAL_DATE TODO_TEST_TIME
|
export PATH TODO_TEST_REAL_DATE TODO_TEST_TIME
|
||||||
cat > bin/date <<-EOF
|
|
||||||
#!/bin/sh
|
# Trying to detect the version of "date" on current system
|
||||||
# Assumes GNU date.
|
DATE_STYLE=unknown
|
||||||
exec "$TODO_TEST_REAL_DATE" -d @\$TODO_TEST_TIME \$@
|
# on GNU systems (versions may vary):
|
||||||
EOF
|
#date --version
|
||||||
chmod 755 bin/date
|
#date (GNU coreutils) 6.10
|
||||||
|
#...
|
||||||
|
if date --version 2>&1 |grep -q "GNU"; then
|
||||||
|
DATE_STYLE=GNU
|
||||||
|
# on Mac OS X 10.5:
|
||||||
|
#date --version
|
||||||
|
#date: illegal option -- -
|
||||||
|
#usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
|
||||||
|
#[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
|
||||||
|
elif date --version 2>&1 | grep -q "\-jnu"; then
|
||||||
|
DATE_STYLE=Mac10.5
|
||||||
|
# on Mac OS X 10.4:
|
||||||
|
#date --version
|
||||||
|
#date: illegal option -- -
|
||||||
|
#usage: date [-nu] [-r seconds] [+format]
|
||||||
|
# date [[[[[cc]yy]mm]dd]hh]mm[.ss]
|
||||||
|
elif date --version 2>&1 |grep -q "\-nu"; then
|
||||||
|
DATE_STYLE=Mac10.4
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $DATE_STYLE in
|
||||||
|
GNU)
|
||||||
|
cat > bin/date <<-EOF
|
||||||
|
#!/bin/sh
|
||||||
|
exec "$TODO_TEST_REAL_DATE" -d @\$TODO_TEST_TIME \$@
|
||||||
|
EOF
|
||||||
|
chmod 755 bin/date
|
||||||
|
;;
|
||||||
|
Mac10.5)
|
||||||
|
cat > bin/date <<-EOF
|
||||||
|
#!/bin/sh
|
||||||
|
exec "$TODO_TEST_REAL_DATE" -j -f %s \$TODO_TEST_TIME \$@
|
||||||
|
EOF
|
||||||
|
chmod 755 bin/date
|
||||||
|
;;
|
||||||
|
Mac10.4)
|
||||||
|
cat > bin/date <<-EOF
|
||||||
|
#!/bin/sh
|
||||||
|
exec "$TODO_TEST_REAL_DATE" -r \$TODO_TEST_TIME \$@
|
||||||
|
EOF
|
||||||
|
chmod 755 bin/date
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "WARNING: Current date executable not recognized"
|
||||||
|
echo "So today date will be used, expect false negative tests..."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Ensure a correct PATH for testing.
|
# Ensure a correct PATH for testing.
|
||||||
PATH=$owd/$root/bin:$PATH
|
PATH=$owd/$root/bin:$PATH
|
||||||
|
|||||||
Reference in New Issue
Block a user