"Stephen P. Smith" <ischis2@xxxxxxx> writes: > +check_date_format() { > + format=$1 > + t=$(($TEST_DATE_NOW - $2)) > + expect=$3 Notice that neither $format nor $1 is used in this test, which means that "check_date_format" is not a generic "I can take a format parameter to check the specified one". So perhaps check_date_format_human () { and then lose the first parameter? > + test_expect_success "human date $t" " > + echo $TEST_DATE_NOW >now && > + test-tool date human $t >actual && > + grep '$expect' actual > +" Hopefully $3 does not have a single quote in it ;-) But the test block can see the shell variables just fine, so writing it like the following is more in line with how the test framework is designed to be used. test_expect_success "human date $t" ' echo "$TEST_DATE_NOW" >now && test-tool date human "$t" >actual && grep "$expect" actual ' How is the file 'now' get used? Nobody seems to read it around here. Is the last one supposed to be "grep"? Or should we do echo "$expect" >expect && test_cmp expect actual instead? > +} > + > +check_date_format human 18000 "5 hours ago" # 5 hours ago > +check_date_format human 432000 "Tue Aug 25 19:20" # 5 days ago > +check_date_format human 1728000 "Mon Aug 10 19:20" # 3 weeks ago > +check_date_format human 13000000 "Thu Apr 2 08:13" # 5 months ago > +check_date_format human 31449600 "Aug 31 2008" # 12 months ago > +check_date_format human 37500000 "Jun 22 2008" # 1 year, 2 months ago > +check_date_format human 55188000 "Dec 1 2007" # 1 year, 9 months ago > +check_date_format human 630000000 "Sep 13 1989" # 20 years ago > + > test_done