pike.git/
src/
testsuite.in
Branch:
Tag:
Non-build tags
All tags
No tags
2014-08-18
2014-08-18 22:07:46 by Martin Nilsson <nilsson@opera.com>
137eab4ccc41bd460170b478c44885d63c3ce444 (
52
lines) (+
52
/-
0
)
[
Show
|
Annotate
]
Branch:
8.0
Some limit-crossing tests we apparently need.
55:
test_eq([[(string) Int.NATIVE_MAX]], [[sprintf ("%d", Int.NATIVE_MAX)]]) test_eq([[(string) Int.NATIVE_MIN]], [[sprintf ("%d", Int.NATIVE_MIN)]])
+
test_any_equal([[
+
array res = ({});
+
array ops = ({ `+, `-, `*, `/, `%, `<<, `>>, `&, `|, `^ });
+
array nums_a = ({ 0, 1, -1, 0xffffffff, 0xffffffffffffffff });
+
array nums_b = ({ 0, 1, -1 });
+
+
foreach(ops;; function op)
+
foreach(nums_a;; int a)
+
foreach(nums_b;; int b)
+
{
+
mixed err = catch {
+
res += ({ op(a,b) });
+
};
+
if( err ) res += ({ "E" });
+
}
+
+
return res;
+
+
]],[[ ({
+
+
// +
+
0, 1, -1, 1, 2, 0, -1, 0, -2, 0xffffffff, 0x100000000, 0xfffffffe, 0xffffffffffffffff, 0x10000000000000000, 0xfffffffffffffffe,
+
+
// -
+
0, -1, 1, 1, 0, 2, -1, -2, 0, 0xffffffff, 0xfffffffe, 0x100000000, 0xffffffffffffffff, 0xfffffffffffffffe, 0x10000000000000000,
+
+
// *
+
0, 0, 0, 0, 1, -1, 0, -1, 1, 0, 0xffffffff, -0xffffffff, 0, 0xffffffffffffffff, -0xffffffffffffffff,
+
+
// /
+
"E", 0, 0, "E", 1, -1, "E", -1, 1, "E", 0xffffffff, -0xffffffff, "E", 0xffffffffffffffff, -0xffffffffffffffff,
+
+
// %
+
"E", 0, 0, "E", 0, 0, "E", 0, 0, "E", 0, 0, "E", 0, 0,
+
+
// <<
+
0, 0, "E", 1, 2, "E", -1, -2, "E", 0xffffffff, 0x1fffffffe, "E", 0xffffffffffffffff, 0x1fffffffffffffffe, "E",
+
+
// >>
+
0, 0, "E", 1, 0, "E", -1, -1, "E", 0xffffffff, 0x7fffffff, "E", 0xffffffffffffffff, 0x7fffffffffffffff, "E",
+
+
// &
+
0, 0, 0, 0, 1, 1, 0, 1, -1, 0, 1, 0xffffffff, 0, 1, 0xffffffffffffffff,
+
+
// |
+
0, 1, -1, 1, 1, -1, -1, -1, -1, 0xffffffff, 0xffffffff, -1, 0xffffffffffffffff, 0xffffffffffffffff, -1,
+
+
// ^
+
0, 1, -1, 1, 0, -2, -1, -2, 0, 0xffffffff, 0xfffffffe, -0x100000000, 0xffffffffffffffff, 0xfffffffffffffffe, -0x10000000000000000,
+
}) ]])
+
# __func__ test_eq(__func__, "a") test_eq("b", __func__)