Skip to content

Commit

Permalink
tests: lib: c_lib: tests for C11 call_once()
Browse files Browse the repository at this point in the history
Add tests for C11 call_once().

Signed-off-by: Christopher Friedt <[email protected]>
  • Loading branch information
cfriedt committed Nov 8, 2023
1 parent 45f3c69 commit fe5d8c2
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions tests/lib/c_lib/thrd/src/once.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* Copyright (c) 2023, Meta
*
* SPDX-License-Identifier: Apache-2.0
*/

#include "thrd.h"

#include <stdint.h>
#include <threads.h>

#include <zephyr/ztest.h>

static size_t number_of_calls;
static once_flag flag = ONCE_FLAG_INIT;

static void once_func(void)
{
number_of_calls++;
}

ZTEST(libc_once, test_call_once)
{
zassert_equal(number_of_calls, 0);

call_once(&flag, once_func);
call_once(&flag, once_func);
call_once(&flag, once_func);

zassert_equal(number_of_calls, 1);
}

ZTEST_SUITE(libc_once, NULL, NULL, NULL, NULL, NULL);

0 comments on commit fe5d8c2

Please sign in to comment.