SummaryRefsLogTreeCommitDiffStats
path: root/tests
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@gnu.org>2018-03-26 16:39:13 +0200
committerMathieu Lirzin <mthl@gnu.org>2018-03-26 17:20:26 +0200
commitfad58ca8c221def75093463e917f66fc006f3df5 (patch)
tree77f7dce258ab0069d95734bd9436e80417998de8 /tests
parente66f0dcdd6f1838c8d4f5d70cea7ca63dc150ead (diff)
downloadmcron-fad58ca8c221def75093463e917f66fc006f3df5.tar.gz
mcron-fad58ca8c221def75093463e917f66fc006f3df5.tar.bz2
mcron-fad58ca8c221def75093463e917f66fc006f3df5.zip
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>
Diffstat (limited to 'tests')
-rw-r--r--tests/job-specifier.scm11
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/job-specifier.scm b/tests/job-specifier.scm
index 889530b..48a46de 100644
--- a/tests/job-specifier.scm
+++ b/tests/job-specifier.scm
@@ -16,7 +16,8 @@
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Mcron. If not, see <http://www.gnu.org/licenses/>.
-(use-modules (srfi srfi-64)
+(use-modules (ice-9 match)
+ (srfi srfi-64)
(mcron job-specifier))
(test-begin "job-specifier")
@@ -40,4 +41,12 @@
(test-assert "range: reverse boundaries"
(range 10 3))
+(define %find-best-next (@@ (mcron job-specifier) %find-best-next))
+
+(test-assert "%find-best-next: exact"
+ ;; Ensure that '%find-best-next' preserves the exactness of the numbers
+ ;; inside the NEXT-LIST argument.
+ (match (pk 'match (%find-best-next 1 '(0 2)))
+ ((a . b) (and (exact? a) (exact? b)))))
+
(test-end)