From 6faece30fc278a5062d3af116005d90be1a2027d Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Wed, 8 Sep 2021 15:27:12 -0400 Subject: [PATCH] unit tests: test wfcqueue, wfstack, lfstack empty check functions in C++ Signed-off-by: Mathieu Desnoyers Change-Id: I16c2d51872c1007762a6b75aac7a21974b4b9c8b --- tests/unit/Makefile.am | 8 ++++---- tests/unit/test_build.c | 40 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 43 insertions(+), 5 deletions(-) diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am index 8e2aa8a..e68fefe 100644 --- a/tests/unit/Makefile.am +++ b/tests/unit/Makefile.am @@ -105,21 +105,21 @@ test_urcu_multiflavor_single_unit_dynlink_cxx_LDADD = $(URCU_LIB) $(URCU_MB_LIB) test_build_SOURCES = \ test_build.c -test_build_LDADD = $(URCU_COMMON_LIB) $(TAP_LIB) +test_build_LDADD = $(URCU_COMMON_LIB) $(URCU_CDS_LIB) $(TAP_LIB) test_build_cxx_SOURCES = \ test_build_cxx.cpp -test_build_cxx_LDADD = $(URCU_COMMON_LIB) $(TAP_LIB) +test_build_cxx_LDADD = $(URCU_COMMON_LIB) $(URCU_CDS_LIB) $(TAP_LIB) test_build_dynlink_SOURCES = \ test_build.c test_build_dynlink_CFLAGS = -DDYNAMIC_LINK_TEST $(AM_CFLAGS) -test_build_dynlink_LDADD = $(URCU_COMMON_LIB) $(TAP_LIB) +test_build_dynlink_LDADD = $(URCU_COMMON_LIB) $(URCU_CDS_LIB) $(TAP_LIB) test_build_dynlink_cxx_SOURCES = \ test_build_cxx.cpp test_build_dynlink_cxx_CXXFLAGS = -DDYNAMIC_LINK_TEST $(AM_CXXFLAGS) -test_build_dynlink_cxx_LDADD = $(URCU_COMMON_LIB) $(TAP_LIB) +test_build_dynlink_cxx_LDADD = $(URCU_COMMON_LIB) $(URCU_CDS_LIB) $(TAP_LIB) all-local: @if [ x"$(srcdir)" != x"$(builddir)" ]; then \ diff --git a/tests/unit/test_build.c b/tests/unit/test_build.c index deb0a73..64db773 100644 --- a/tests/unit/test_build.c +++ b/tests/unit/test_build.c @@ -59,11 +59,49 @@ #include "tap.h" +static void test_lfstack(void) +{ + struct cds_lfs_stack s; + + cds_lfs_init(&s); + if (!cds_lfs_empty(&s)) + fail("cds_lfs_empty"); + else + ok(1, "cds_lfs_empty"); +} + +static void test_wfstack(void) +{ + struct cds_wfs_stack s; + + cds_wfs_init(&s); + if (!cds_wfs_empty(&s)) + fail("cds_lfs_empty"); + else + ok(1, "cds_lfs_empty"); +} + +static void test_wfcqueue(void) +{ + struct cds_wfcq_head head; + struct cds_wfcq_tail tail; + + cds_wfcq_init(&head, &tail); + if (!cds_wfcq_empty(&head, &tail)) + fail("cds_wfcq_empty"); + else + ok(1, "cds_wfcq_empty"); +} + int main(void) { /* Need at least 1 test to make a valid TAP test plan. */ - plan_tests(1); + plan_tests(3); ok(1, "dummy"); + test_lfstack(); + test_wfstack(); + test_wfcqueue(); + return exit_status(); } -- 2.34.1