mirror of
https://git.code.sf.net/p/zint/code
synced 2025-05-23 03:26:56 -04:00
tests: VC6 compatible; plot_raster_dotty: avoid float rounding difference
This commit is contained in:
parent
e5115bad07
commit
70801d8932
97 changed files with 3354 additions and 1893 deletions
|
@ -51,9 +51,6 @@ int clz_u64(uint64_t x);
|
|||
|
||||
static void test_clz_u64(int index) {
|
||||
|
||||
testStart("");
|
||||
|
||||
int ret;
|
||||
struct item {
|
||||
uint64_t s;
|
||||
int ret;
|
||||
|
@ -188,8 +185,11 @@ static void test_clz_u64(int index) {
|
|||
/*125*/ { 0xFFFFFFFFFFFFFFFF, 0 },
|
||||
};
|
||||
int data_size = ARRAY_SIZE(data);
|
||||
int i, ret;
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
testStart("test_clz_u64");
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
|
||||
|
@ -202,8 +202,6 @@ static void test_clz_u64(int index) {
|
|||
|
||||
static void test_load(int index) {
|
||||
|
||||
testStart("");
|
||||
|
||||
struct item {
|
||||
large_int t;
|
||||
large_int s;
|
||||
|
@ -217,19 +215,22 @@ static void test_load(int index) {
|
|||
/* 3*/ { LI(1, 1), LI(2, 3), LI(2, 3) },
|
||||
};
|
||||
int data_size = ARRAY_SIZE(data);
|
||||
int i;
|
||||
|
||||
char t_dump[35];
|
||||
char expected_dump[35];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
testStart("test_load");
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
|
||||
large_load(&data[i].t, &data[i].s);
|
||||
|
||||
assert_equal(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
|
||||
assert_equal(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
|
||||
}
|
||||
|
||||
|
@ -238,8 +239,6 @@ static void test_load(int index) {
|
|||
|
||||
static void test_load_str_u64(int index) {
|
||||
|
||||
testStart("");
|
||||
|
||||
struct item {
|
||||
large_int t;
|
||||
const char *s;
|
||||
|
@ -257,19 +256,22 @@ static void test_load_str_u64(int index) {
|
|||
/* 6*/ { LI(2, 2), "123A1X", -1, LI(123, 0) }, // Only reads decimal
|
||||
};
|
||||
int data_size = ARRAY_SIZE(data);
|
||||
int i;
|
||||
|
||||
char t_dump[35];
|
||||
char expected_dump[35];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
testStart("test_load_str_u64");
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
|
||||
large_load_str_u64(&data[i].t, (unsigned char *) data[i].s, data[i].length == -1 ? (int) strlen(data[i].s) : data[i].length);
|
||||
|
||||
assert_equal(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
|
||||
assert_equal(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
|
||||
}
|
||||
|
||||
|
@ -278,8 +280,6 @@ static void test_load_str_u64(int index) {
|
|||
|
||||
static void test_add_u64(int index) {
|
||||
|
||||
testStart("");
|
||||
|
||||
struct item {
|
||||
large_int t;
|
||||
uint64_t s;
|
||||
|
@ -300,19 +300,22 @@ static void test_add_u64(int index) {
|
|||
/* 10*/ { LI(0x0000000000000001, 0xFFFFFFFFFFFFFFFF), 0xFFFFFFFFFFFFFFFF, LI(0, 0) }, // Overflow
|
||||
};
|
||||
int data_size = ARRAY_SIZE(data);
|
||||
int i;
|
||||
|
||||
char t_dump[35];
|
||||
char expected_dump[35];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
testStart("test_add_u64");
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
|
||||
large_add_u64(&data[i].t, data[i].s);
|
||||
|
||||
assert_equal(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
|
||||
assert_equal(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
|
||||
}
|
||||
|
||||
|
@ -321,8 +324,6 @@ static void test_add_u64(int index) {
|
|||
|
||||
static void test_sub_u64(int index) {
|
||||
|
||||
testStart("");
|
||||
|
||||
struct item {
|
||||
large_int t;
|
||||
uint64_t s;
|
||||
|
@ -343,19 +344,22 @@ static void test_sub_u64(int index) {
|
|||
/* 10*/ { LI(0, 0), 1, LI(0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF) },
|
||||
};
|
||||
int data_size = ARRAY_SIZE(data);
|
||||
int i;
|
||||
|
||||
char t_dump[35];
|
||||
char expected_dump[35];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
testStart("test_sub_u64");
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
|
||||
large_sub_u64(&data[i].t, data[i].s);
|
||||
|
||||
assert_equal(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
|
||||
assert_equal(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
|
||||
}
|
||||
|
||||
|
@ -364,8 +368,6 @@ static void test_sub_u64(int index) {
|
|||
|
||||
static void test_mul_u64(int index) {
|
||||
|
||||
testStart("");
|
||||
|
||||
struct item {
|
||||
large_int t;
|
||||
uint64_t s;
|
||||
|
@ -399,19 +401,22 @@ static void test_mul_u64(int index) {
|
|||
/* 23*/ { LI(0xFFFFFFFFFFFFFFFF, 0), 0xFFFFFFFFFFFFFFFF, LI(1, 0xFFFFFFFFFFFFFFFE) },
|
||||
};
|
||||
int data_size = ARRAY_SIZE(data);
|
||||
int i;
|
||||
|
||||
char t_dump[35];
|
||||
char expected_dump[35];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
testStart("test_mul_u64");
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
|
||||
large_mul_u64(&data[i].t, data[i].s);
|
||||
|
||||
assert_equal(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
|
||||
assert_equal(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
|
||||
}
|
||||
|
||||
|
@ -420,8 +425,6 @@ static void test_mul_u64(int index) {
|
|||
|
||||
static void test_div_u64(int index) {
|
||||
|
||||
testStart("");
|
||||
|
||||
uint64_t r;
|
||||
struct item {
|
||||
large_int t;
|
||||
|
@ -523,21 +526,24 @@ static void test_div_u64(int index) {
|
|||
/* 89*/ { LI(0x4ABC16A2E5C00736, 0x16907B2A2), 1365, 1, LI(0xD93B96FDAE65FA61, 0x43B5AC) },
|
||||
};
|
||||
int data_size = ARRAY_SIZE(data);
|
||||
int i;
|
||||
|
||||
char t_dump[35];
|
||||
char expected_dump[35];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
testStart("test_div_u64");
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
|
||||
r = large_div_u64(&data[i].t, data[i].s);
|
||||
|
||||
assert_equal(r, data[i].expected_r, "i:%d r %" LX_FMT "u (0x%" LX_FMT "X) != expected_r %" LX_FMT "u (0x%" LX_FMT "X)\n",
|
||||
assert_equalu64(r, data[i].expected_r, "i:%d r %" LX_FMT "u (0x%" LX_FMT "X) != expected_r %" LX_FMT "u (0x%" LX_FMT "X)\n",
|
||||
i, r, r, data[i].expected_r, data[i].expected_r);
|
||||
assert_equal(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
|
||||
assert_equal(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
|
||||
}
|
||||
|
||||
|
@ -546,8 +552,6 @@ static void test_div_u64(int index) {
|
|||
|
||||
static void test_unset_bit(int index) {
|
||||
|
||||
testStart("");
|
||||
|
||||
struct item {
|
||||
large_int t;
|
||||
int s;
|
||||
|
@ -688,19 +692,22 @@ static void test_unset_bit(int index) {
|
|||
/*130*/ { LI(0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF), 128, LI(0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF) },
|
||||
};
|
||||
int data_size = ARRAY_SIZE(data);
|
||||
int i;
|
||||
|
||||
char t_dump[35];
|
||||
char expected_dump[35];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
testStart("test_unset_bit");
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
|
||||
large_unset_bit(&data[i].t, data[i].s);
|
||||
|
||||
assert_equal(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.lo, data[i].expected.lo, "i:%d lo 0x%" LX_FMT "X (%s) != expected lo 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.lo, large_dump(&data[i].t, t_dump), data[i].expected.lo, large_dump(&data[i].expected, expected_dump));
|
||||
assert_equal(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
assert_equalu64(data[i].t.hi, data[i].expected.hi, "i:%d hi 0x%" LX_FMT "X (%s) != expected hi 0x%" LX_FMT "X (%s)\n",
|
||||
i, data[i].t.hi, large_dump(&data[i].t, t_dump), data[i].expected.hi, large_dump(&data[i].expected, expected_dump));
|
||||
}
|
||||
|
||||
|
@ -709,8 +716,6 @@ static void test_unset_bit(int index) {
|
|||
|
||||
static void test_uint_array(int index) {
|
||||
|
||||
testStart("");
|
||||
|
||||
struct item {
|
||||
large_int t;
|
||||
int size;
|
||||
|
@ -754,6 +759,7 @@ static void test_uint_array(int index) {
|
|||
/* 32*/ { LI(0xFFFFFFFFFFFFFFFF, 0xEFFFFFFFFFFFFFFF), 127, 1, { 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } }, // Truncated
|
||||
};
|
||||
int data_size = ARRAY_SIZE(data);
|
||||
int i;
|
||||
|
||||
char t_dump[35];
|
||||
char uint_dump[130 * 17 + 1];
|
||||
|
@ -765,7 +771,9 @@ static void test_uint_array(int index) {
|
|||
unsigned char uchar_array[130];
|
||||
unsigned char uchar_expected_array[130];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
testStart("test_uint_array");
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
|
||||
|
@ -778,8 +786,9 @@ static void test_uint_array(int index) {
|
|||
testUtilUIntArrayDump(data[i].expected, data[i].size, uint_expected_dump, sizeof(uint_expected_dump)));
|
||||
|
||||
if (data[i].bits <= 8) {
|
||||
int j;
|
||||
memset(uchar_array, 0, sizeof(uchar_array));
|
||||
for (int j = 0; j < data[i].size; j++) {
|
||||
for (j = 0; j < data[i].size; j++) {
|
||||
uchar_expected_array[j] = data[i].expected[j];
|
||||
}
|
||||
|
||||
|
@ -796,8 +805,6 @@ static void test_uint_array(int index) {
|
|||
|
||||
static void test_dump(int index) {
|
||||
|
||||
testStart("");
|
||||
|
||||
struct item {
|
||||
large_int t;
|
||||
char *expected;
|
||||
|
@ -851,10 +858,13 @@ static void test_dump(int index) {
|
|||
/* 44*/ { LI(0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF), "0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" },
|
||||
};
|
||||
int data_size = ARRAY_SIZE(data);
|
||||
int i;
|
||||
|
||||
char dump[35];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
testStart("test_dump");
|
||||
|
||||
for (i = 0; i < data_size; i++) {
|
||||
|
||||
if (index != -1 && i != index) continue;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue