1269903Sngie# 2269903Sngie# Regression tests for date(1) 3269903Sngie# 4269903Sngie# Submitted by Edwin Groothuis <edwin@FreeBSD.org> 5269903Sngie# 6269903Sngie# $FreeBSD$ 7269903Sngie# 8269903Sngie 9269903Sngie# 10269903Sngie# These two date/times have been chosen carefully -- they 11269903Sngie# create both the single digit and double/multidigit version of 12269903Sngie# the values. 13269903Sngie# 14269903Sngie# To create a new one, make sure you are using the UTC timezone! 15269903Sngie# 16269903Sngie 17269903SngieTEST1=3222243 # 1970-02-07 07:04:03 18269903SngieTEST2=1005600000 # 2001-11-12 21:11:12 19269903Sngie 20269903Sngiecheck() 21269903Sngie{ 22269903Sngie local format_string exp_output_1 exp_output_2 23269903Sngie 24269903Sngie format_string=${1} 25269903Sngie exp_output_1=${2} 26269903Sngie exp_output_2=${3} 27269903Sngie 28269903Sngie atf_check -o "inline:${exp_output_1}\n" \ 29269903Sngie date -r ${TEST1} +%${format_string} 30269903Sngie atf_check -o "inline:${exp_output_2}\n" \ 31269903Sngie date -r ${TEST2} +%${format_string} 32269903Sngie} 33269903Sngie 34269903Sngieformat_string_test() 35269903Sngie{ 36269903Sngie local desc exp_output_1 exp_output_2 flag 37269903Sngie 38269903Sngie desc=${1} 39269903Sngie flag=${2} 40269903Sngie exp_output_1=${3} 41269903Sngie exp_output_2=${4} 42269903Sngie 43269903Sngie atf_test_case ${desc}_test 44269903Sngie eval " 45269903Sngie${desc}_test_body() { 46269903Sngie check ${flag} '${exp_output_1}' '${exp_output_2}'; 47269903Sngie}" 48269903Sngie atf_add_test_case ${desc}_test 49269903Sngie} 50269903Sngie 51269903Sngieatf_init_test_cases() 52269903Sngie{ 53269903Sngie format_string_test A A Saturday Monday 54269903Sngie format_string_test a a Sat Mon 55269903Sngie format_string_test B B February November 56269903Sngie format_string_test b b Feb Nov 57269903Sngie format_string_test C C 19 20 58269903Sngie format_string_test c c "Sat Feb 7 07:04:03 1970" "Mon Nov 12 21:20:00 2001" 59269903Sngie format_string_test D D 02/07/70 11/12/01 60269903Sngie format_string_test d d 07 12 61269903Sngie format_string_test e e " 7" 12 62269903Sngie format_string_test F F "1970-02-07" "2001-11-12" 63269903Sngie format_string_test G G 1970 2001 64269903Sngie format_string_test g g 70 01 65269903Sngie format_string_test H H 07 21 66269903Sngie format_string_test h h Feb Nov 67269903Sngie format_string_test I I 07 09 68269903Sngie format_string_test j j 038 316 69269903Sngie format_string_test k k " 7" 21 70269903Sngie format_string_test l l " 7" " 9" 71269903Sngie format_string_test M M 04 20 72269903Sngie format_string_test m m 02 11 73269903Sngie format_string_test p p AM PM 74269903Sngie format_string_test R R 07:04 21:20 75269903Sngie format_string_test r r "07:04:03 AM" "09:20:00 PM" 76269903Sngie format_string_test S S 03 00 77269903Sngie format_string_test s s ${TEST1} ${TEST2} 78269903Sngie format_string_test U U 05 45 79269903Sngie format_string_test u u 6 1 80269903Sngie format_string_test V V 06 46 81269903Sngie format_string_test v v " 7-Feb-1970" "12-Nov-2001" 82269903Sngie format_string_test W W 05 46 83269903Sngie format_string_test w w 6 1 84269903Sngie format_string_test X X "07:04:03" "21:20:00" 85269903Sngie format_string_test x x "02/07/70" "11/12/01" 86269903Sngie format_string_test Y Y 1970 2001 87269903Sngie format_string_test y y 70 01 88269903Sngie format_string_test Z Z UTC UTC 89269903Sngie format_string_test z z +0000 +0000 90269903Sngie format_string_test percent % % % 91269903Sngie format_string_test plus + "Sat Feb 7 07:04:03 UTC 1970" "Mon Nov 12 21:20:00 UTC 2001" 92269903Sngie} 93