diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/basic.sh | 3 | ||||
-rw-r--r-- | tests/job-specifier.scm | 32 | ||||
-rw-r--r-- | tests/schedule-2.sh | 81 | ||||
-rw-r--r-- | tests/schedule.sh | 3 |
4 files changed, 101 insertions, 18 deletions
diff --git a/tests/basic.sh b/tests/basic.sh index 07b664b..7b2ca55 100644 --- a/tests/basic.sh +++ b/tests/basic.sh @@ -27,6 +27,9 @@ cat > cron/foo.guile <<EOF (job '(next-second) '(display "foo\n")) EOF +mcron --schedule=1 cron/foo.guile > "output$$" +grep -e "foo" "output$$" || fail_ "'foo.guile' job is not scheduled" + mcron --schedule=1 > "output$$" grep -e "foo" "output$$" || fail_ "'foo.guile' job is not scheduled" diff --git a/tests/job-specifier.scm b/tests/job-specifier.scm index baf96af..70dd518 100644 --- a/tests/job-specifier.scm +++ b/tests/job-specifier.scm @@ -56,36 +56,32 @@ ;;; TODO: Find more meaningful date examples. +(setenv "TZ" ":UTC") + (test-equal "next-year" - (list 59989762800 1546293600) - (list (next-year '(1971)) + (list 1893456000 1546300800) + (list (next-year '(130)) ;; This is the year 2030. (next-year-from 1522095469))) (test-equal "next-month" - (list 28854000 5094000) - (list (next-month '(11)) - (next-month-from 101 '(0 2 4)))) + 5097600 + (next-month-from 101 '(0 2 4))) (test-equal "next-day" - (list 2588400 342000) - (list (next-day '(31)) - (next-day-from 4337 '(0 5 10)))) + 345600 + (next-day-from 4337 '(0 5 10))) (test-equal "next-hour" - '(3600 82800 3600) - (list (next-hour) - (next-hour '(0)) - (next-hour-from 3 '(0 1 2 3 4)))) + 3600 + (next-hour-from 3 '(0 1 2 3 4))) (test-equal "next-minute" - '(240 60) - (list (next-minute '(4 9)) - (next-minute-from 8))) + 60 + (next-minute-from 8)) (test-equal "next-second" - '(52 15) - (list (next-second '(52 55)) - (next-second-from 14))) + 15 + (next-second-from 14)) ;;; ;;; Check 'configuration-user' manipulation diff --git a/tests/schedule-2.sh b/tests/schedule-2.sh new file mode 100644 index 0000000..531af54 --- /dev/null +++ b/tests/schedule-2.sh @@ -0,0 +1,81 @@ +# schedule-2.sh -- Check mcron schedule output +# Copyright © 2020 Dale Mellor <mcron-lsfnyl@rdmp.org> +# +# This file is part of GNU Mcron. +# +# GNU Mcron is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# GNU Mcron is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Mcron. If not, see <http://www.gnu.org/licenses/>. + +source "${srcdir}/tests/init.sh" + +# Use UTC and SOURCE_DATE_EPOCH to get reproducible result. + +SOURCE_DATE_EPOCH=1 +export SOURCE_DATE_EPOCH + +TZ=UTC0 +export TZ + +# Use current working directory to store mcron files +XDG_CONFIG_HOME=`pwd` +export XDG_CONFIG_HOME + +LC_ALL=C +export LC_ALL + +mkdir cron +cat > cron/foo.guile <<EOF +(job '(next-second) '(display "foo\n")) +EOF + +cat > expected <<EOF +Thu Jan 1 00:00:01 1970 +0000 +(display foo +) + +Thu Jan 1 00:00:02 1970 +0000 +(display foo +) + +Thu Jan 1 00:00:03 1970 +0000 +(display foo +) + +Thu Jan 1 00:00:04 1970 +0000 +(display foo +) + +Thu Jan 1 00:00:05 1970 +0000 +(display foo +) + +Thu Jan 1 00:00:06 1970 +0000 +(display foo +) + +Thu Jan 1 00:00:07 1970 +0000 +(display foo +) + +Thu Jan 1 00:00:08 1970 +0000 +(display foo +) + +EOF + +mcron -s cron/foo.guile > output +diff expected output \ + || skip_ 'The -s option is not fully functional; +this will be fixed with a future version of GNU Guile.' + +Exit 0 diff --git a/tests/schedule.sh b/tests/schedule.sh index d403f1d..9a1836e 100644 --- a/tests/schedule.sh +++ b/tests/schedule.sh @@ -26,6 +26,9 @@ export SOURCE_DATE_EPOCH TZ=UTC0 export TZ +LC_ALL=C +export LC_ALL + # Use current working directory to store mcron files XDG_CONFIG_HOME=`pwd` export XDG_CONFIG_HOME |