From 88f251d99c09f57a0c46bc050216ef49d7564637 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kochma=C5=84ski?= Date: Wed, 21 Dec 2016 21:12:14 +0100 Subject: [PATCH] tests: add without-fpe-traps macro --- src/tests/normal-tests/ieee-fp.lsp | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/tests/normal-tests/ieee-fp.lsp b/src/tests/normal-tests/ieee-fp.lsp index 9ff4ea4d6..4582d8025 100644 --- a/src/tests/normal-tests/ieee-fp.lsp +++ b/src/tests/normal-tests/ieee-fp.lsp @@ -10,17 +10,23 @@ (suite 'ieee-fp) +(defmacro without-fpe-traps (&body body) + `(unwind-protect + (progn + (si:trap-fpe 'last nil) + ,@body) + (si:trap-fpe 'last t))) + (test ieee-fp.0001.infinity-eql - (si:trap-fpe 'last nil) - (let ((sfni ext:single-float-negative-infinity) - (sfpi ext:single-float-positive-infinity) - (dfni ext:double-float-negative-infinity) - (dfpi ext:double-float-positive-infinity)) - (is (eql sfni (- sfpi))) - (is (eql dfni (- dfpi))) - (is (not (eql sfni (- dfpi)))) - (is (= sfni (- dfpi)))) - (si:trap-fpe 'last t)) + (without-fpe-traps + (let ((sfni ext:single-float-negative-infinity) + (sfpi ext:single-float-positive-infinity) + (dfni ext:double-float-negative-infinity) + (dfpi ext:double-float-positive-infinity)) + (is (eql sfni (- sfpi))) + (is (eql dfni (- dfpi))) + (is (not (eql sfni (- dfpi)))) + (is (= sfni (- dfpi)))))) (test ieee-fp.0002.printing (let ((nums (list ext:single-float-negative-infinity