summaryrefslogtreecommitdiffstats
path: root/testsuites/samples/paranoia
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2013-11-15 11:53:36 -0600
committerJoel Sherrill <joel.sherrill@oarcorp.com>2013-11-15 11:55:44 -0600
commita136fb697d68ea7acfbce62981ace6994685a765 (patch)
treebca9eb7a4df7cbff70412c11058a6c5f84c256a3 /testsuites/samples/paranoia
parentRename imfs_fspathenval.scn to imfs_fspatheval.scn (diff)
downloadrtems-a136fb697d68ea7acfbce62981ace6994685a765.tar.bz2
testsuites: Add missing .scn files
Diffstat (limited to 'testsuites/samples/paranoia')
-rw-r--r--testsuites/samples/paranoia/Makefile.am4
-rw-r--r--testsuites/samples/paranoia/paranoia.scn133
2 files changed, 135 insertions, 2 deletions
diff --git a/testsuites/samples/paranoia/Makefile.am b/testsuites/samples/paranoia/Makefile.am
index 7ab78b4e8b..36e6bbb9d9 100644
--- a/testsuites/samples/paranoia/Makefile.am
+++ b/testsuites/samples/paranoia/Makefile.am
@@ -2,13 +2,13 @@
rtems_tests_PROGRAMS = paranoia
paranoia_SOURCES = init.c paranoia.c system.h
-dist_rtems_tests_DATA = paranoia.doc
+dist_rtems_tests_DATA = paranoia.scn
+dist_rtems_tests_DATA += paranoia.doc
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
-
# -DCYGNUS turns on more verbose msgs
AM_CPPFLAGS += -DNOSIGNAL -DCYGNUS -DNOMAIN
diff --git a/testsuites/samples/paranoia/paranoia.scn b/testsuites/samples/paranoia/paranoia.scn
new file mode 100644
index 0000000000..b696b49a57
--- /dev/null
+++ b/testsuites/samples/paranoia/paranoia.scn
@@ -0,0 +1,133 @@
+
+
+*** PARANOIA TEST ***
+paranoia version 1.1 [cygnus]
+Program is now RUNNING tests on small integers:
+TEST: 0+0 != 0, 1-1 != 0, 1 <= 0, or 1+1 != 2
+PASS: 0+0 != 0, 1-1 != 0, 1 <= 0, or 1+1 != 2
+TEST: 3 != 2+1, 4 != 3+1, 4+2*(-2) != 0, or 4-3-1 != 0
+PASS: 3 != 2+1, 4 != 3+1, 4+2*(-2) != 0, or 4-3-1 != 0
+TEST: -1+1 != 0, (-1)+abs(1) != 0, or -1+(-1)*(-1) != 0
+PASS: -1+1 != 0, (-1)+abs(1) != 0, or -1+(-1)*(-1) != 0
+TEST: 1/2 + (-1) + 1/2 != 0
+PASS: 1/2 + (-1) + 1/2 != 0
+TEST: 9 != 3*3, 27 != 9*3, 32 != 8*4, or 32-27-4-1 != 0
+PASS: 9 != 3*3, 27 != 9*3, 32 != 8*4, or 32-27-4-1 != 0
+TEST: 5 != 4+1, 240/3 != 80, 240/4 != 60, or 240/5 != 48
+PASS: 5 != 4+1, 240/3 != 80, 240/4 != 60, or 240/5 != 48
+-1, 0, 1/2, 1, 2, 3, 4, 5, 9, 27, 32 & 240 are O.K.
+
+Searching for Radix and Precision.
+Radix = 2.000000 .
+Closest relative separation found is U1 = 1.1102230e-16 .
+
+Recalculating radix and precision
+ confirms closest relative separation U1 .
+Radix confirmed.
+TEST: Radix is too big: roundoff problems
+PASS: Radix is too big: roundoff problems
+TEST: Radix is not as good as 2 or 10
+PASS: Radix is not as good as 2 or 10
+TEST: (1-U1)-1/2 < 1/2 is FALSE, prog. fails?
+PASS: (1-U1)-1/2 < 1/2 is FALSE, prog. fails?
+TEST: Comparison is fuzzy,X=1 but X-1/2-1/2 != 0
+PASS: Comparison is fuzzy,X=1 but X-1/2-1/2 != 0
+The number of significant digits of the Radix is 53.000000 .
+TEST: Precision worse than 5 decimal figures
+PASS: Precision worse than 5 decimal figures
+TEST: Subtraction is not normalized X=Y,X+Z != Y+Z!
+PASS: Subtraction is not normalized X=Y,X+Z != Y+Z!
+Subtraction appears to be normalized, as it should be.
+Checking for guard digit in *, /, and -.
+TEST: * gets too many final digits wrong.
+
+PASS: * gets too many final digits wrong.
+
+TEST: Division lacks a Guard Digit, so error can exceed 1 ulp
+or 1/3 and 3/9 and 9/27 may disagree
+PASS: Division lacks a Guard Digit, so error can exceed 1 ulp
+or 1/3 and 3/9 and 9/27 may disagree
+TEST: Computed value of 1/1.000..1 >= 1
+PASS: Computed value of 1/1.000..1 >= 1
+TEST: * and/or / gets too many last digits wrong
+PASS: * and/or / gets too many last digits wrong
+ *, /, and - appear to have guard digits, as they should.
+Checking rounding on multiply, divide and add/subtract.
+TEST: X * (1/X) differs from 1
+PASS: X * (1/X) differs from 1
+* is neither chopped nor correctly rounded.
+/ is neither chopped nor correctly rounded.
+TEST: Radix * ( 1 / Radix ) differs from 1
+PASS: Radix * ( 1 / Radix ) differs from 1
+TEST: Incomplete carry-propagation in Addition
+PASS: Incomplete carry-propagation in Addition
+Addition/Subtraction neither rounds nor chops.
+Sticky bit used incorrectly or not at all.
+TEST: lack(s) of guard digits or failure(s) to correctly round or chop
+(noted above) count as one flaw in the final tally below
+ERROR: Severity: FLAW: lack(s) of guard digits or failure(s) to correctly round or chop
+(noted above) count as one flaw in the final tally below.
+PASS: lack(s) of guard digits or failure(s) to correctly round or chop
+(noted above) count as one flaw in the final tally below
+
+Does Multiplication commute? Testing on 20 random pairs.
+ No failures found in 20 integer pairs.
+
+Running test of square root(x).
+TEST: Square root of 0.0, -0.0 or 1.0 wrong
+PASS: Square root of 0.0, -0.0 or 1.0 wrong
+Testing if sqrt(X * X) == X for 20 Integers X.
+Test for sqrt monotonicity.
+sqrt has passed a test for Monotonicity.
+Testing whether sqrt is rounded or chopped.
+Square root is neither chopped nor correctly rounded.
+Observed errors run from -5.0000000e-01 to 5.0000000e-01 ulps.
+TEST: sqrt gets too many last digits wrong
+PASS: sqrt gets too many last digits wrong
+Testing powers Z^i for small Integers Z and i.
+... no discrepancies found.
+
+Seeking Underflow thresholds UfThold and E0.
+Smallest strictly positive number found is E0 = 4.94066e-324 .
+Since comparison denies Z = 0, evaluating (Z + Z) / Z should be safe.
+What the machine gets for (Z + Z) / Z is 2.00000000000000000e+00 .
+This is O.K., provided Over/Underflow has NOT just been signaled.
+Underflow is gradual; it incurs Absolute Error =
+(roundoff in UfThold) < E0.
+The Underflow threshold is 2.22507385850720188e-308, below which
+calculation may suffer larger Relative error than merely roundoff.
+Since underflow occurs below the threshold
+UfThold = (2.00000000000000000e+00) ^ (-1.02200000000000000e+03)
+only underflow should afflict the expression
+ (2.00000000000000000e+00) ^ (-2.04400000000000000e+03);
+actually calculating yields: 0.00000000000000000e+00 .
+This computed value is O.K.
+
+Testing X^((X + 1) / (X - 1)) vs. exp(2) = 7.38905609893065218e+00 as X -> 1.
+Accuracy seems adequate.
+Testing powers Z^Q at four nearly extreme values.
+ ... no discrepancies found.
+
+Searching for Overflow threshold:
+This may generate an error.
+Can `Z = -Y' overflow?
+Trying it on Y = -inf .
+Seems O.K.
+Overflow threshold is V = 1.79769313486231571e+308 .
+Overflow saturates at V0 = inf .
+No Overflow should be signaled for V * 1 = 1.79769313486231571e+308
+ nor for V / 1 = 1.79769313486231571e+308 .
+Any overflow signal separating this * from the one
+above is a DEFECT.
+
+
+What message and/or values does Division by Zero produce?
+ Trying to compute 1 / 0 produces ... inf .
+
+ Trying to compute 0 / 0 produces ... nan .
+
+The number of FLAWs discovered = 1.
+
+The arithmetic diagnosed seems Satisfactory though flawed.
+END OF TEST.
+*** END OF PARANOIA TEST ***