SummaryRefsLogTreeCommitDiffStats
path: root/tests/schedule.sh
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@gnu.org>2017-10-19 23:58:57 +0200
committerMathieu Lirzin <mthl@gnu.org>2018-03-16 21:41:52 +0100
commit2b9b54b72938144320e1a1285b011182a3c52ac4 (patch)
treea335f3c14419610d4d248b76c1061b19e91f146a /tests/schedule.sh
parent5f83aef90f0b5a3bef3baee48bc6f6cdf452155d (diff)
downloadmcron-2b9b54b72938144320e1a1285b011182a3c52ac4.tar.gz
mcron-2b9b54b72938144320e1a1285b011182a3c52ac4.tar.bz2
mcron-2b9b54b72938144320e1a1285b011182a3c52ac4.zip
tests: Add 'schedule.sh'
* tests/schedule.sh: New test. * Makefile.am (TESTS): Add it. * src/mcron/job-specifier.scm (configuration-time): Use SOURCE_DATE_EPOCH for reproducible tests.
Diffstat (limited to 'tests/schedule.sh')
-rw-r--r--tests/schedule.sh123
1 files changed, 123 insertions, 0 deletions
diff --git a/tests/schedule.sh b/tests/schedule.sh
new file mode 100644
index 0000000..ad267c4
--- /dev/null
+++ b/tests/schedule.sh
@@ -0,0 +1,123 @@
+# schedule.sh -- Check mcron schedule output
+# Copyright © 2017 Mathieu Lirzin <mthl@gnu.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"
+
+SOURCE_DATE_EPOCH=1
+export SOURCE_DATE_EPOCH
+
+# 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 > cron/bar.guile <<EOF
+(job '(next-second) '(display "bar\n"))
+EOF
+
+cat > expected <<EOF
+Thu Jan 1 01:00:01 1970 +0100
+(display foo
+)
+
+Thu Jan 1 01:00:01 1970 +0100
+(display bar
+)
+
+Thu Jan 1 01:00:02 1970 +0100
+(display foo
+)
+
+Thu Jan 1 01:00:02 1970 +0100
+(display bar
+)
+
+Thu Jan 1 01:00:03 1970 +0100
+(display foo
+)
+
+Thu Jan 1 01:00:03 1970 +0100
+(display bar
+)
+
+Thu Jan 1 01:00:04 1970 +0100
+(display foo
+)
+
+Thu Jan 1 01:00:04 1970 +0100
+(display bar
+)
+
+Thu Jan 1 01:00:05 1970 +0100
+(display foo
+)
+
+Thu Jan 1 01:00:05 1970 +0100
+(display bar
+)
+
+Thu Jan 1 01:00:06 1970 +0100
+(display foo
+)
+
+Thu Jan 1 01:00:06 1970 +0100
+(display bar
+)
+
+Thu Jan 1 01:00:07 1970 +0100
+(display foo
+)
+
+Thu Jan 1 01:00:07 1970 +0100
+(display bar
+)
+
+Thu Jan 1 01:00:08 1970 +0100
+(display foo
+)
+
+Thu Jan 1 01:00:08 1970 +0100
+(display bar
+)
+
+Thu Jan 1 01:00:09 1970 +0100
+(display foo
+)
+
+Thu Jan 1 01:00:09 1970 +0100
+(display bar
+)
+
+Thu Jan 1 01:00:10 1970 +0100
+(display foo
+)
+
+Thu Jan 1 01:00:10 1970 +0100
+(display bar
+)
+
+EOF
+
+mcron --schedule=10 > output
+diff expected output || fail_ "schedule output is not correct"
+
+Exit 0