diff options
author | Mathieu Lirzin <mthl@gnu.org> | 2018-03-26 16:39:13 +0200 |
---|---|---|
committer | Mathieu Lirzin <mthl@gnu.org> | 2018-03-26 17:20:26 +0200 |
commit | fad58ca8c221def75093463e917f66fc006f3df5 (patch) | |
tree | 77f7dce258ab0069d95734bd9436e80417998de8 /tests | |
parent | e66f0dcdd6f1838c8d4f5d70cea7ca63dc150ead (diff) | |
download | mcron-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.scm | 11 |
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) |