SummaryRefsLogTreeCommitDiffStats
diff options
context:
space:
mode:
authorDale Mellor <mcron-lsfnyl@rdmp.org>2020-04-20 16:25:19 +0000
committerDale Mellor <mcron-lsfnyl@rdmp.org>2020-04-20 16:49:05 +0000
commit4a05a2e8612560cd7f3274d2930e86bfc9f1ec93 (patch)
treef4507f050873c7d1b9b38876a0f659644d6f328c
parentdeaa79a7c687ebc3eb3bb6c318a8e11de154efcb (diff)
downloadmcron-4a05a2e8612560cd7f3274d2930e86bfc9f1ec93.tar.gz
mcron-4a05a2e8612560cd7f3274d2930e86bfc9f1ec93.tar.bz2
mcron-4a05a2e8612560cd7f3274d2930e86bfc9f1ec93.zip
test: demonstrate incorrect -s option on mcron program
The option is supposed to be able to take an optional argument, but if the argument is not supplied (should default to 8) then the test, rather than failing, is skipped with a friendly message in the log file. The proper fix will come with an upstream patch to GNU Guile, and a future version of Mcron. * tests/schedule-2.sh: new test, new file * Makefile.am: make sure to run the new test file
-rwxr-xr-xMakefile.am1
-rw-r--r--tests/schedule-2.sh82
2 files changed, 83 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 38b0a7b..972e2c6 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -136,6 +136,7 @@ SCM_LOG_DRIVER = \
TESTS = \
tests/basic.sh \
tests/schedule.sh \
+ tests/schedule-2.sh \
tests/base.scm \
tests/environment.scm \
tests/job-specifier.scm \
diff --git a/tests/schedule-2.sh b/tests/schedule-2.sh
new file mode 100644
index 0000000..7039123
--- /dev/null
+++ b/tests/schedule-2.sh
@@ -0,0 +1,82 @@
+# 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
+
+LC_ALL=C
+export LC_ALL
+
+# Use current working directory to store mcron files
+XDG_CONFIG_HOME=`pwd`
+export XDG_CONFIG_HOME
+
+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-A
+diff expected output-A \
+ || skip_ 'The -s option is not fully functional;
+this will be fixed with a future version of GNU Guile and then
+a future version of GNU Mcron.'
+
+Exit 0