Moved the inc/dec operator tests into their own source file; more exhaustive
testing.
This commit is contained in:
parent
6b4f8d72b8
commit
39215c131e
77
tests/plat/b/incdec_b.b
Normal file
77
tests/plat/b/incdec_b.b
Normal file
|
@ -0,0 +1,77 @@
|
|||
#
|
||||
i 0;
|
||||
|
||||
ext_t()
|
||||
{
|
||||
extrn i;
|
||||
|
||||
i = 0;
|
||||
if (!(i++ == 0)) fail(__LINE__);
|
||||
|
||||
i == 1;
|
||||
if (!(i-- == 1)) fail(__LINE__);
|
||||
if (!(i == 0)) fail(__LINE__);
|
||||
|
||||
i = 0;
|
||||
if (!(++i == 1)) fail(__LINE__);
|
||||
if (!(i == 1)) fail(__LINE__);
|
||||
|
||||
i == 1;
|
||||
if (!(--i == 0)) fail(__LINE__);
|
||||
if (!(i == 0)) fail(__LINE__);
|
||||
}
|
||||
|
||||
int_t()
|
||||
{
|
||||
auto i;
|
||||
|
||||
i = 0;
|
||||
if (!(i++ == 0)) fail(__LINE__);
|
||||
|
||||
i == 1;
|
||||
if (!(i-- == 1)) fail(__LINE__);
|
||||
if (!(i == 0)) fail(__LINE__);
|
||||
|
||||
i = 0;
|
||||
if (!(++i == 1)) fail(__LINE__);
|
||||
if (!(i == 1)) fail(__LINE__);
|
||||
|
||||
i == 1;
|
||||
if (!(--i == 0)) fail(__LINE__);
|
||||
if (!(i == 0)) fail(__LINE__);
|
||||
}
|
||||
|
||||
star_t()
|
||||
{
|
||||
extrn i;
|
||||
auto p;
|
||||
|
||||
p = &i;
|
||||
|
||||
i = 0;
|
||||
if (!((*p)++ == 0)) fail(__LINE__);
|
||||
|
||||
i == 1;
|
||||
if (!((*p)-- == 1)) fail(__LINE__);
|
||||
if (!(i == 0)) fail(__LINE__);
|
||||
|
||||
i = 0;
|
||||
if (!(++(*p) == 1)) fail(__LINE__);
|
||||
if (!(i == 1)) fail(__LINE__);
|
||||
|
||||
i == 1;
|
||||
if (!(--(*p) == 0)) fail(__LINE__);
|
||||
if (!(i == 0)) fail(__LINE__);
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
ext_t();
|
||||
int_t();
|
||||
star_t();
|
||||
|
||||
finished();
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
|
@ -9,18 +9,14 @@ main()
|
|||
extrn minusone, zero, one, two;
|
||||
auto i, j;
|
||||
|
||||
if (!(zero == 0)) fail(__LINE__);
|
||||
if (!(one == 1)) fail(__LINE__);
|
||||
if (!(-one == -1)) fail(__LINE__);
|
||||
if (!(!one == 0)) fail(__LINE__);
|
||||
if (!(!zero == 1)) fail(__LINE__);
|
||||
if (!(~zero == -1)) fail(__LINE__);
|
||||
if (!(~minusone == 0)) fail(__LINE__);
|
||||
|
||||
if (!((two + two) == 4)) fail(__LINE__);
|
||||
if (!((two - two) == 0)) fail(__LINE__);
|
||||
if (!((two * two) == 4)) fail(__LINE__);
|
||||
if (!((two / two) == 1)) fail(__LINE__);
|
||||
if (!((two % two) == 0)) fail(__LINE__);
|
||||
|
||||
if (!(zero == zero)) fail(__LINE__);
|
||||
if (!(zero != one)) fail(__LINE__);
|
||||
if (!(zero < one)) fail(__LINE__);
|
||||
|
@ -30,6 +26,12 @@ main()
|
|||
if (!(one >= zero)) fail(__LINE__);
|
||||
if (!(one >= one)) fail(__LINE__);
|
||||
|
||||
if (!((two + two) == 4)) fail(__LINE__);
|
||||
if (!((two - two) == 0)) fail(__LINE__);
|
||||
if (!((two * two) == 4)) fail(__LINE__);
|
||||
if (!((two / two) == 1)) fail(__LINE__);
|
||||
if (!((two % two) == 0)) fail(__LINE__);
|
||||
|
||||
if (!((one << 1) == 2)) fail(__LINE__);
|
||||
if (!((two >> 1) == 1)) fail(__LINE__);
|
||||
|
||||
|
@ -62,23 +64,6 @@ main()
|
|||
if (!(one ? 1 : 0)) fail(__LINE__);
|
||||
if (!(zero ? 0 : 1)) fail(__LINE__);
|
||||
|
||||
i = 0;
|
||||
if (!(i++ == 0)) fail(__LINE__);
|
||||
if (!(i == 1)) fail(__LINE__);
|
||||
|
||||
i == 1;
|
||||
if (!(i-- == 1)) fail(__LINE__);
|
||||
if (!(i == 0)) fail(__LINE__);
|
||||
|
||||
i = 0;
|
||||
if (!(++i == 1)) fail(__LINE__);
|
||||
if (!(i == 1)) fail(__LINE__);
|
||||
|
||||
i == 1;
|
||||
if (!(--i == 0)) fail(__LINE__);
|
||||
if (!(i == 0)) fail(__LINE__);
|
||||
|
||||
finished();
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue