From: David Given Date: Mon, 14 Nov 2016 21:01:25 +0000 (+0100) Subject: Add basic integer comparison test. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=c6bce0aaee0456a1eee81d7bd9332c1feaaae4dc;p=ack.git Add basic integer comparison test. --- diff --git a/plat/qemuppc/tests/intcmp.c b/plat/qemuppc/tests/intcmp.c new file mode 100644 index 000000000..dd7f1da75 --- /dev/null +++ b/plat/qemuppc/tests/intcmp.c @@ -0,0 +1,65 @@ +#include "test.h" + +/* Constants in globals to defeat constant folding. */ +int one = 1; +int zero = 0; + +/* Bypasses the CRT, so there's no stdio or BSS initialisation. */ +void _m_a_i_n(void) +{ + ASSERT(zero == zero); + ASSERT(one != zero); + ASSERT(zero < one); + ASSERT(zero <= one); + ASSERT(zero <= zero); + ASSERT(one > zero); + ASSERT(one >= zero); + ASSERT(one >= one); + + ASSERT(zero == 0); + ASSERT(one != 0); + ASSERT(zero < 1); + ASSERT(zero <= 1); + ASSERT(zero <= 0); + ASSERT(one > 0); + ASSERT(one >= 0); + ASSERT(one >= 1); + + ASSERT(0 == zero); + ASSERT(1 != zero); + ASSERT(0 < one); + ASSERT(0 <= one); + ASSERT(0 <= zero); + ASSERT(1 > zero); + ASSERT(1 >= zero); + ASSERT(1 >= one); + + ASSERT((unsigned int)zero == (unsigned int)zero); + ASSERT((unsigned int)one != (unsigned int)zero); + ASSERT((unsigned int)zero < (unsigned int)one); + ASSERT((unsigned int)zero <= (unsigned int)one); + ASSERT((unsigned int)zero <= (unsigned int)zero); + ASSERT((unsigned int)one > (unsigned int)zero); + ASSERT((unsigned int)one >= (unsigned int)zero); + ASSERT((unsigned int)one >= (unsigned int)one); + + ASSERT((unsigned int)zero == (unsigned int)0); + ASSERT((unsigned int)one != (unsigned int)0); + ASSERT((unsigned int)zero < (unsigned int)1); + ASSERT((unsigned int)zero <= (unsigned int)1); + ASSERT((unsigned int)zero <= (unsigned int)0); + ASSERT((unsigned int)one > (unsigned int)0); + ASSERT((unsigned int)one >= (unsigned int)0); + ASSERT((unsigned int)one >= (unsigned int)1); + + ASSERT((unsigned int)0 == (unsigned int)zero); + ASSERT((unsigned int)1 != (unsigned int)zero); + ASSERT((unsigned int)0 < (unsigned int)one); + ASSERT((unsigned int)0 <= (unsigned int)one); + ASSERT((unsigned int)0 <= (unsigned int)zero); + ASSERT((unsigned int)1 > (unsigned int)zero); + ASSERT((unsigned int)1 >= (unsigned int)zero); + ASSERT((unsigned int)1 >= (unsigned int)one); + + finished(); +} \ No newline at end of file