aboutsummaryrefslogtreecommitdiff
path: root/tests/test-rcu-list.c
diff options
context:
space:
mode:
authorEmilio G. Cota <cota@braap.org>2018-08-19 05:13:32 -0400
committerPaolo Bonzini <pbonzini@redhat.com>2018-08-23 18:46:25 +0200
commit90487e455bc605a10b885df9aefd9c2174e5f106 (patch)
treefc5afd5594f9b95d1bc456bcbca12bad132037a2 /tests/test-rcu-list.c
parent685cc7c0ec7a142371ac9b10bf88faf838ec52cc (diff)
tests: add test-list-simpleq
Signed-off-by: Emilio G. Cota <cota@braap.org> Message-Id: <20180819091335.22863-9-cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'tests/test-rcu-list.c')
-rw-r--r--tests/test-rcu-list.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/test-rcu-list.c b/tests/test-rcu-list.c
index f4f2a078b9..0ff79dcb76 100644
--- a/tests/test-rcu-list.c
+++ b/tests/test-rcu-list.c
@@ -89,6 +89,8 @@ static void wait_all_threads(void)
struct list_element {
#if TEST_LIST_TYPE == 1
QLIST_ENTRY(list_element) entry;
+#elif TEST_LIST_TYPE == 2
+ QSIMPLEQ_ENTRY(list_element) entry;
#else
#error Invalid TEST_LIST_TYPE
#endif
@@ -112,6 +114,21 @@ static QLIST_HEAD(q_list_head, list_element) Q_list_head;
#define TEST_LIST_INSERT_HEAD_RCU QLIST_INSERT_HEAD_RCU
#define TEST_LIST_FOREACH_RCU QLIST_FOREACH_RCU
#define TEST_LIST_FOREACH_SAFE_RCU QLIST_FOREACH_SAFE_RCU
+
+#elif TEST_LIST_TYPE == 2
+static QSIMPLEQ_HEAD(, list_element) Q_list_head =
+ QSIMPLEQ_HEAD_INITIALIZER(Q_list_head);
+
+#define TEST_NAME "qsimpleq"
+#define TEST_LIST_REMOVE_RCU(el, f) \
+ QSIMPLEQ_REMOVE_RCU(&Q_list_head, el, list_element, f)
+
+#define TEST_LIST_INSERT_AFTER_RCU(list_el, el, f) \
+ QSIMPLEQ_INSERT_AFTER_RCU(&Q_list_head, list_el, el, f)
+
+#define TEST_LIST_INSERT_HEAD_RCU QSIMPLEQ_INSERT_HEAD_RCU
+#define TEST_LIST_FOREACH_RCU QSIMPLEQ_FOREACH_RCU
+#define TEST_LIST_FOREACH_SAFE_RCU QSIMPLEQ_FOREACH_SAFE_RCU
#else
#error Invalid TEST_LIST_TYPE
#endif