Commit graph

16 commits

Author SHA1 Message Date
Mathieu Lirzin
95fb914025
base: Check how child processes are handled
* tests/base.scm ("run-job: basic"): Check the number of children too.
("child-cleanup: one", "update-number-children!: set value"): New tests.
2018-03-26 21:11:16 +02:00
Mathieu Lirzin
f71b0b8310
job-specifier: Adapt 'bump-time' to 'next-...-from' procedures
This is a follow-up to commit 913e3c65e4.

Since 'next-...-from' procedures now uses an '#:optional' argument
instead of a dotted optional arguments list, 'bump-time' doesn't need to
unwrap VALUE-LIST anymore.

* src/mcron/job-specifier.scm (bump-time): Pass VALUE-LIST directly to
'%find-best-next'.
* tests/job-specifier.scm ("next-hour-from"): New test.
* NEWS: Update.

Reported-by: Ludovic Courtès <ludo@gnu.org>
2018-03-26 17:51:11 +02:00
Mathieu Lirzin
fad58ca8c2
job-specifier: Preserve '%find-best-next' arguments exactness
The behavior of the 'min' procedure which converts its parameters to
inexact numbers when at least one of them is inexact was causing
'%find-best-next' to always return real numbers.

* src/mcron/job-specifier.scm (%find-best-next): Preserve the exactness
of numbers in NEXT-LIST.
* tests/job-specifier.scm ("%find-best-next: exact"): New test.

Reported-by: Ludovic Courtès <ludo@gnu.org>
2018-03-26 17:20:26 +02:00
Mathieu Lirzin
4d636af876
utils: Check 'mcron-error'
* tests/utils.scm ("mcron-error: exit code", "mcron-error: output")
("mcron-error: output no-exit", "mcron-error: only stderr"): New tests.
2018-03-25 03:01:45 +02:00
Mathieu Lirzin
5af999fb20
tests: Add "tests/utils.scm"
* tests/utils.scm: New test.
* Makefile.am (TESTS): Add it.
2018-03-25 00:38:26 +01:00
Mathieu Lirzin
0159423d15
tests: Remove unused schedule stubs
* tests/base.scm ("number-children: init")
("update-number-children!: 1+", "update-number-children!: 1-"): Remove
'let' form defining the schedule stub.
2018-03-24 21:13:51 +01:00
Mathieu Lirzin
b8cbf635cc
environment: Check configuration environment
* tests/environment.scm ("current-environment-mods-copy: empty")
("current-environment-mods: init", "append-environment-mods: basic")
("append-environment-mods: twice", "clear-environment-mods: effect")
("current-environment-mods-copy: basic"): New tests.
2018-03-24 20:32:13 +01:00
Mathieu Lirzin
d1e0d2a8f7
base: Check 'run-job'
* tests/base.scm ("run-job: basic"): New test.
2018-03-24 15:32:56 +01:00
Mathieu Lirzin
526ce502e5
base: Box 'number-children'
* src/mcron/base.scm (number-children): Box it using SRFI-111 to be
explicit about the mutability of this object.
(update-number-children!): New procedure.
(run-job, child-cleanup): Use it.
* tests/base.scm ("update-number-children!: 1+")
("number-children: init", "update-number-children!: 1-"): New tests.
2018-03-24 14:03:54 +01:00
Mathieu Lirzin
6583e83d16
tests: Add "tests/base.scm"
* tests/base.scm: New test.
* Makefile.am (TESTS): Add it.
2018-03-24 01:18:21 +01:00
Mathieu Lirzin
f908c5395c
utils: Use 'scandir' instead of custom 'for-each-file'
* src/mcron/utils.scm (for-each-file): Delete.
* src/mcron/scripts/cron.scm (process-files-in-system-directory): Use
'scandir' which has the benefit of being deterministic.
* src/mcron/scripts/mcron.scm (process-files-in-user-directory):
Likewise.
* tests/schedule.sh: Update expected output which is now more reliable.
* NEWS: Update.

Suggested-by: Ludovic Courtès <ludo@gnu.org>
2018-03-20 19:27:10 +01:00
Mathieu Lirzin
09e452b62a
tests: Set timezone in "schedule.sh"
Previously the test environment was implicitly expecting the current
timezone to be UTC+1.

* tests/schedule.sh: Set TZ environment variable to 'UTC0'.
Update expected result.

Reported-by: Ludovic Courtès <ludo@gnu.org>
2018-03-20 19:25:28 +01:00
Mathieu Lirzin
2b9b54b729
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.
2018-03-16 21:41:52 +01:00
Mathieu Lirzin
c285d36ab2
tests: Add 'basic.sh'
* tests/init.sh: New test framework from Gnulib.
* tests/basic.sh: New test.
* Makefile.am (TESTS): Add it.
(TEST_EXTENSIONS): Add '.sh'.
(SH_LOG_COMPILER): Use 'pre-inst-env'.
(EXTRA_DIST): Add 'tests/init.sh'.
* build-aux/pre-inst-env.in: export $srcdir for shell tests.
2017-09-28 18:48:49 +02:00
Mathieu Lirzin
e9fde01d27
environment: modify-environment: Add tests.
* tests/environment.scm: New test.
* Makefile.am (TESTS): Add it.
2016-12-01 00:15:55 +01:00
Mathieu Lirzin
9d173e23bc
job-specifier: range: Add tests.
* build-aux/test-driver.scm: New script.
* configure.ac (AC_REQUIRE_AUX_FILE): Add it.
* tests/job-specifier.scm: New test.
* Makefile.am (TEST_EXTENSIONS, AM_TESTS_ENVIRONMENT, SCM_LOG_DRIVER)
(TESTS): New variables.
(EXTRA_DIST): Update.
* .gitignore: Likewise.
2016-12-01 00:15:55 +01:00