uatomic/x86: Remove redundant memory barriers
[urcu.git] / tests / unit / test_urcu_multiflavor_single_unit.c
CommitLineData
ce29b371
MJ
1// SPDX-FileCopyrightText: 2012 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2//
3// SPDX-License-Identifier: GPL-2.0-or-later
4
042e8cfe 5/*
042e8cfe 6 * Userspace RCU library - test multiple RCU flavors into one program
042e8cfe
MD
7 */
8
9#ifndef DYNAMIC_LINK_TEST
10#define _LGPL_SOURCE
11#endif
12
13#include <urcu/urcu-mb.h>
14#include <urcu/urcu-bp.h>
15#include <urcu/urcu-memb.h>
042e8cfe
MD
16#include <urcu/urcu-qsbr.h>
17
18#include <stdlib.h>
19#include "tap.h"
20
21static int test_mf_mb(void)
22{
23 urcu_mb_register_thread();
24 urcu_mb_read_lock();
25 urcu_mb_read_unlock();
26 urcu_mb_synchronize_rcu();
27 urcu_mb_unregister_thread();
28 return 0;
29}
30
31static int test_mf_bp(void)
32{
33 urcu_bp_register_thread();
34 urcu_bp_read_lock();
35 urcu_bp_read_unlock();
36 urcu_bp_synchronize_rcu();
37 urcu_bp_unregister_thread();
38 return 0;
39}
40
41static int test_mf_memb(void)
42{
43 urcu_memb_register_thread();
44 urcu_memb_read_lock();
45 urcu_memb_read_unlock();
46 urcu_memb_synchronize_rcu();
47 urcu_memb_unregister_thread();
48 return 0;
49}
50
042e8cfe
MD
51static int test_mf_qsbr(void)
52{
53 urcu_qsbr_register_thread();
54 urcu_qsbr_read_lock();
55 urcu_qsbr_read_unlock();
56 urcu_qsbr_synchronize_rcu();
57 urcu_qsbr_unregister_thread();
58 return 0;
59}
60
70469b43 61int main(void)
042e8cfe 62{
294b37e6 63 plan_tests(4);
042e8cfe
MD
64
65 ok1(!test_mf_mb());
66 ok1(!test_mf_bp());
67 ok1(!test_mf_memb());
042e8cfe
MD
68 ok1(!test_mf_qsbr());
69
70 return exit_status();
71}
This page took 0.030709 seconds and 4 git commands to generate.