X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=tests%2Ftest-bitfield.c;h=fe88647146b2a1acf31a13a9f3636b36e38b1ef5;hp=16b2d2e44c919fc74d14353fe33185a16a2d3ef2;hb=78af2bcd1a8236a26371d7638ab7acb2d41b6807;hpb=0822882635143b2de9b1d9488cb8b24f2a6d90a2 diff --git a/tests/test-bitfield.c b/tests/test-bitfield.c index 16b2d2e4..fe886471 100644 --- a/tests/test-bitfield.c +++ b/tests/test-bitfield.c @@ -1,9 +1,9 @@ /* * test-bitfield.c * - * Common Trace Format - bitfield test program + * BabelTrace - bitfield test program * - * Copyright February 2009 - Mathieu Desnoyers + * Copyright 2010 - Mathieu Desnoyers * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,7 +21,9 @@ */ #define _GNU_SOURCE -#include +#include +#include +#include #include unsigned int glob; @@ -32,7 +34,7 @@ unsigned int glob; */ void fct(void) { - ctf_bitfield_write(&glob, 12, 15, 0x12345678); + bt_bitfield_write(&glob, unsigned int, 12, 15, 0x12345678); } /* Test array size, in bytes */ @@ -95,31 +97,29 @@ static int fls(unsigned int x) #endif -static void print_byte_array(const unsigned char *c, unsigned long len) -{ - unsigned long i; - - for (i = 0; i < len; i++) { - printf("0x%X", c[i]); - if (i != len - 1) - printf(" "); - } - printf("\n"); -} - -static void init_byte_array(unsigned char *c, - unsigned long len, - unsigned char val) -{ - unsigned long i; - - for (i = 0; i < len; i++) - c[i] = val; -} +#define print_byte_array(c, len) \ +do { \ + unsigned long i; \ + \ + for (i = 0; i < (len); i++) { \ + printf("0x%X", (c)[i]); \ + if (i != (len) - 1) \ + printf(" "); \ + } \ + printf("\n"); \ +} while (0) + +#define init_byte_array(c, len, val) \ +do { \ + unsigned long i; \ + \ + for (i = 0; i < (len); i++) \ + (c)[i] = (val); \ +} while (0) int run_test_unsigned(void) { - unsigned int src, nrbits; + unsigned long src, nrbits; union { unsigned char c[TEST_LEN]; unsigned short s[TEST_LEN/sizeof(unsigned short)]; @@ -127,7 +127,7 @@ int run_test_unsigned(void) unsigned long l[TEST_LEN/sizeof(unsigned long)]; unsigned long long ll[TEST_LEN/sizeof(unsigned long long)]; } target; - uint64_t readval; + unsigned long long readval; unsigned int s, l; int err = 0; @@ -139,8 +139,8 @@ int run_test_unsigned(void) for (s = 0; s < CHAR_BIT * TEST_LEN; s++) { for (l = nrbits; l < (CHAR_BIT * TEST_LEN) - s; l++) { init_byte_array(target.c, TEST_LEN, 0xFF); - ctf_bitfield_write(target.c, s, l, src); - ctf_bitfield_read(target.c, s, l, &readval); + bt_bitfield_write(target.c, unsigned char, s, l, src); + bt_bitfield_read(target.c, unsigned char, s, l, &readval); if (readval != src) { printf("Error (bytewise) src %lX read %llX shift %d len %d\n", src, readval, s, l); @@ -149,8 +149,8 @@ int run_test_unsigned(void) } init_byte_array(target.c, TEST_LEN, 0xFF); - ctf_bitfield_write(target.s, s, l, src); - ctf_bitfield_read(target.c, s, l, &readval); + bt_bitfield_write(target.s, unsigned short, s, l, src); + bt_bitfield_read(target.c, unsigned char, s, l, &readval); if (readval != src) { printf("Error (shortwise) src %lX read %llX shift %d len %d\n", src, readval, s, l); @@ -159,8 +159,8 @@ int run_test_unsigned(void) } init_byte_array(target.c, TEST_LEN, 0xFF); - ctf_bitfield_write(target.i, s, l, src); - ctf_bitfield_read(target.c, s, l, &readval); + bt_bitfield_write(target.i, unsigned int, s, l, src); + bt_bitfield_read(target.c, unsigned char, s, l, &readval); if (readval != src) { printf("Error (intwise) src %lX read %llX shift %d len %d\n", src, readval, s, l); @@ -169,8 +169,8 @@ int run_test_unsigned(void) } init_byte_array(target.c, TEST_LEN, 0xFF); - ctf_bitfield_write(target.l, s, l, src); - ctf_bitfield_read(target.c, s, l, &readval); + bt_bitfield_write(target.l, unsigned long, s, l, src); + bt_bitfield_read(target.c, unsigned char, s, l, &readval); if (readval != src) { printf("Error (longwise) src %lX read %llX shift %d len %d\n", src, readval, s, l); @@ -179,8 +179,8 @@ int run_test_unsigned(void) } init_byte_array(target.c, TEST_LEN, 0xFF); - ctf_bitfield_write(target.ll, s, l, src); - ctf_bitfield_read(target.c, s, l, &readval); + bt_bitfield_write(target.ll, unsigned long long, s, l, src); + bt_bitfield_read(target.c, unsigned char, s, l, &readval); if (readval != src) { printf("Error (longlongwise) src %lX read %llX shift %d len %d\n", src, readval, s, l); @@ -198,15 +198,15 @@ int run_test_unsigned(void) int run_test_signed(void) { - int src, nrbits; + long src, nrbits; union { - char c[TEST_LEN]; + signed char c[TEST_LEN]; short s[TEST_LEN/sizeof(short)]; int i[TEST_LEN/sizeof(int)]; long l[TEST_LEN/sizeof(long)]; long long ll[TEST_LEN/sizeof(long long)]; } target; - int64_t readval; + long long readval; unsigned int s, l; int err = 0; @@ -221,8 +221,8 @@ int run_test_signed(void) for (s = 0; s < 8 * TEST_LEN; s++) { for (l = nrbits; l < (8 * TEST_LEN) - s; l++) { init_byte_array(target.c, TEST_LEN, 0x0); - ctf_bitfield_write(target.c, s, l, src); - ctf_bitfield_read(target.c, s, l, &readval); + bt_bitfield_write(target.c, signed char, s, l, src); + bt_bitfield_read(target.c, signed char, s, l, &readval); if (readval != src) { printf("Error (bytewise) src %lX read %llX shift %d len %d\n", src, readval, s, l); @@ -231,8 +231,8 @@ int run_test_signed(void) } init_byte_array(target.c, TEST_LEN, 0x0); - ctf_bitfield_write(target.s, s, l, src); - ctf_bitfield_read(target.c, s, l, &readval); + bt_bitfield_write(target.s, short, s, l, src); + bt_bitfield_read(target.c, signed char, s, l, &readval); if (readval != src) { printf("Error (shortwise) src %lX read %llX shift %d len %d\n", src, readval, s, l); @@ -241,8 +241,8 @@ int run_test_signed(void) } init_byte_array(target.c, TEST_LEN, 0x0); - ctf_bitfield_write(target.i, s, l, src); - ctf_bitfield_read(target.c, s, l, &readval); + bt_bitfield_write(target.i, int, s, l, src); + bt_bitfield_read(target.c, signed char, s, l, &readval); if (readval != src) { printf("Error (intwise) src %lX read %llX shift %d len %d\n", src, readval, s, l); @@ -251,8 +251,8 @@ int run_test_signed(void) } init_byte_array(target.c, TEST_LEN, 0x0); - ctf_bitfield_write(target.l, s, l, src); - ctf_bitfield_read(target.c, s, l, &readval); + bt_bitfield_write(target.l, long, s, l, src); + bt_bitfield_read(target.c, signed char, s, l, &readval); if (readval != src) { printf("Error (longwise) src %lX read %llX shift %d len %d\n", src, readval, s, l); @@ -261,8 +261,8 @@ int run_test_signed(void) } init_byte_array(target.c, TEST_LEN, 0x0); - ctf_bitfield_write(target.ll, s, l, src); - ctf_bitfield_read(target.c, s, l, &readval); + bt_bitfield_write(target.ll, long long, s, l, src); + bt_bitfield_read(target.c, signed char, s, l, &readval); if (readval != src) { printf("Error (longlongwise) src %lX read %llX shift %d len %d\n", src, readval, s, l); @@ -318,7 +318,7 @@ int main(int argc, char **argv) unsigned long l[2]; unsigned long long ll[1]; } target; - uint64_t readval; + unsigned long long readval; if (argc > 1) src = atoi(argv[1]); @@ -335,35 +335,35 @@ int main(int argc, char **argv) target.i[0] = 0xFFFFFFFF; target.i[1] = 0xFFFFFFFF; - ctf_bitfield_write(target.c, shift, len, src); + bt_bitfield_write(target.c, unsigned char, shift, len, src); printf("bytewise\n"); print_byte_array(target.c, 8); target.i[0] = 0xFFFFFFFF; target.i[1] = 0xFFFFFFFF; - ctf_bitfield_write(target.s, shift, len, src); + bt_bitfield_write(target.s, unsigned short, shift, len, src); printf("shortwise\n"); print_byte_array(target.c, 8); target.i[0] = 0xFFFFFFFF; target.i[1] = 0xFFFFFFFF; - ctf_bitfield_write(target.i, shift, len, src); + bt_bitfield_write(target.i, unsigned int, shift, len, src); printf("intwise\n"); print_byte_array(target.c, 8); target.i[0] = 0xFFFFFFFF; target.i[1] = 0xFFFFFFFF; - ctf_bitfield_write(target.l, shift, len, src); + bt_bitfield_write(target.l, unsigned long, shift, len, src); printf("longwise\n"); print_byte_array(target.c, 8); target.i[0] = 0xFFFFFFFF; target.i[1] = 0xFFFFFFFF; - ctf_bitfield_write(target.ll, shift, len, src); + bt_bitfield_write(target.ll, unsigned long long, shift, len, src); printf("lluwise\n"); print_byte_array(target.c, 8); - ctf_bitfield_read(target.c, shift, len, &readval); + bt_bitfield_read(target.c, unsigned char, shift, len, &readval); printf("read: %llX\n", readval); ret = run_test();