added tests as prepared by oliver
This commit is contained in:
183
test/val/compare1.c
Normal file
183
test/val/compare1.c
Normal file
@@ -0,0 +1,183 @@
|
||||
/*
|
||||
!!DESCRIPTION!! test compare
|
||||
!!ORIGIN!! SDCC regression tests
|
||||
!!LICENCE!! GPL, read COPYING.GPL
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
|
||||
/*
|
||||
compare.c
|
||||
*/
|
||||
|
||||
#ifdef SUPPORT_BIT_TYPES
|
||||
bit bit0 = 0;
|
||||
bit bit1 = 0;
|
||||
#endif
|
||||
|
||||
unsigned char success = 0;
|
||||
unsigned char failures = 0;
|
||||
unsigned char dummy = 0;
|
||||
|
||||
unsigned char achar0 = 0;
|
||||
unsigned char achar1 = 0;
|
||||
unsigned int aint0 = 0;
|
||||
unsigned int aint1 = 0;
|
||||
|
||||
char schar0 = 0;
|
||||
char schar1 = 0;
|
||||
|
||||
void
|
||||
done ()
|
||||
{
|
||||
dummy++;
|
||||
}
|
||||
|
||||
/* achar0 should be zero */
|
||||
|
||||
void
|
||||
compare_char_to_lits1 (void)
|
||||
{
|
||||
if (achar0)
|
||||
failures++;
|
||||
|
||||
if (achar0 == 1)
|
||||
failures++;
|
||||
|
||||
if (achar0 == 7)
|
||||
failures++;
|
||||
|
||||
if (achar0 != 0)
|
||||
failures++;
|
||||
}
|
||||
|
||||
/* achar0 should be `5' */
|
||||
void
|
||||
compare_char_to_lits2 (void)
|
||||
{
|
||||
if (!achar0)
|
||||
failures++;
|
||||
|
||||
if (achar0 == 1)
|
||||
failures++;
|
||||
|
||||
if (achar0 == 7)
|
||||
failures++;
|
||||
|
||||
if (achar0 != 5)
|
||||
failures++;
|
||||
}
|
||||
|
||||
/* achar0 should equal achar1 */
|
||||
void
|
||||
compare_char_to_char1 (void)
|
||||
{
|
||||
if (achar0 != achar1)
|
||||
failures++;
|
||||
|
||||
if (schar0 != schar1)
|
||||
failures++;
|
||||
}
|
||||
|
||||
/* achar0 should be different than achar1 */
|
||||
void
|
||||
compare_char_to_char2 (void)
|
||||
{
|
||||
if (achar0 == achar1)
|
||||
failures++;
|
||||
}
|
||||
|
||||
/* aint0 should be zero */
|
||||
|
||||
void
|
||||
compare_int_to_lits1 (void)
|
||||
{
|
||||
if (aint0)
|
||||
failures++;
|
||||
|
||||
if (aint0 == 1)
|
||||
failures++;
|
||||
|
||||
if (aint0 == 7)
|
||||
failures++;
|
||||
|
||||
if (aint0 != 0)
|
||||
failures++;
|
||||
}
|
||||
|
||||
/* aint0 should be `5' */
|
||||
void
|
||||
compare_int_to_lits2 (void)
|
||||
{
|
||||
if (!aint0)
|
||||
failures++;
|
||||
|
||||
if (aint0 == 1)
|
||||
failures++;
|
||||
|
||||
if (aint0 == 7)
|
||||
failures++;
|
||||
|
||||
if (aint0 != 5)
|
||||
failures++;
|
||||
}
|
||||
|
||||
/* aint0 should be `0x1234' */
|
||||
void
|
||||
compare_int_to_lits3 (void)
|
||||
{
|
||||
if (!aint0)
|
||||
failures++;
|
||||
|
||||
if (aint0 == 1)
|
||||
failures++;
|
||||
|
||||
if (aint0 == 7)
|
||||
failures++;
|
||||
|
||||
if (aint0 != 0x1234)
|
||||
failures++;
|
||||
}
|
||||
|
||||
/* aint0 should equal aint1 */
|
||||
void
|
||||
compare_int_to_int1 (void)
|
||||
{
|
||||
if (aint0 != aint1)
|
||||
failures++;
|
||||
}
|
||||
|
||||
/* aint0 should be different than aint1 */
|
||||
void
|
||||
compare_int_to_int2 (void)
|
||||
{
|
||||
if (aint0 == aint1)
|
||||
failures++;
|
||||
}
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
compare_char_to_lits1 ();
|
||||
compare_char_to_char1 ();
|
||||
achar0 = 5;
|
||||
compare_char_to_lits2 ();
|
||||
compare_char_to_char2 ();
|
||||
|
||||
compare_int_to_lits1 ();
|
||||
aint0 = 5;
|
||||
compare_int_to_lits2 ();
|
||||
aint0 = 0x1234;
|
||||
compare_int_to_lits3 ();
|
||||
compare_int_to_int2 ();
|
||||
aint0 = 0;
|
||||
compare_int_to_int1 ();
|
||||
|
||||
success = failures;
|
||||
done ();
|
||||
|
||||
printf("failures: %d\n",failures);
|
||||
|
||||
return failures;
|
||||
}
|
||||
Reference in New Issue
Block a user