X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;ds=sidebyside;f=tests%2Ftest_atomic.c;fp=tests%2Ftest_atomic.c;h=0000000000000000000000000000000000000000;hb=ec4e58a3aba2084440012f8ccac3a31eb6101183;hp=585c8ca86fbca43597dabd2d2a68569173479c4e;hpb=2f873279bc92fac32e6549d6eb72f3197c7048ac;p=urcu.git diff --git a/tests/test_atomic.c b/tests/test_atomic.c deleted file mode 100644 index 585c8ca..0000000 --- a/tests/test_atomic.c +++ /dev/null @@ -1,66 +0,0 @@ -#include -#include -#include - -#if (defined(__i386__) || defined(__x86_64__)) -#define HAS_ATOMIC_BYTE -#define HAS_ATOMIC_SHORT -#endif - -struct testvals { -#ifdef HAS_ATOMIC_BYTE - unsigned char c; -#endif -#ifdef HAS_ATOMIC_SHORT - unsigned short s; -#endif - unsigned int i; - unsigned long l; -}; - -static struct testvals vals; - -#define do_test(ptr) \ -do { \ - __typeof__(*(ptr)) v; \ - \ - atomic_add(ptr, 10); \ - assert(atomic_read(ptr) == 10); \ - atomic_add(ptr, -11UL); \ - assert(atomic_read(ptr) == (__typeof__(*(ptr)))-1UL); \ - v = cmpxchg(ptr, -1UL, 22); \ - assert(atomic_read(ptr) == 22); \ - assert(v == (__typeof__(*(ptr)))-1UL); \ - v = cmpxchg(ptr, 33, 44); \ - assert(atomic_read(ptr) == 22); \ - assert(v == 22); \ - v = xchg(ptr, 55); \ - assert(atomic_read(ptr) == 55); \ - assert(v == 22); \ - atomic_set(ptr, 22); \ - atomic_inc(ptr); \ - assert(atomic_read(ptr) == 23); \ - atomic_dec(ptr); \ - assert(atomic_read(ptr) == 22); \ - v = atomic_add_return(ptr, 100); \ - assert(v == 122); \ - assert(atomic_read(ptr) == 122); \ - v = atomic_sub_return(ptr, 1); \ - assert(v == 121); \ - assert(atomic_read(ptr) == 121); \ -} while (0) - -int main(int argc, char **argv) -{ -#ifdef HAS_ATOMIC_BYTE - do_test(&vals.c); -#endif -#ifdef HAS_ATOMIC_SHORT - do_test(&vals.s); -#endif - do_test(&vals.i); - do_test(&vals.l); - printf("Atomic ops test OK\n"); - - return 0; -}