blob: e239206d9b41ab75887b792cb5ad22f11eaea130 [file] [log] [blame]
/*
* 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);