/* * Copyright (c) 2023 Nordic Semiconductor ASA * * SPDX-License-Identifier: Apache-2.0 */ #include "bstests.h" #include "bs_bt_utils.h" #define BS_SECONDS_TO_US(dur_sec) ((bs_time_t)dur_sec * USEC_PER_SEC) #define TEST_TIMEOUT_SIMULATED BS_SECONDS_TO_US(60) extern void central(void); extern void peripheral(void); static void test_tick(bs_time_t HW_device_time) { bs_trace_debug_time(0, "Simulation ends now.\n"); if (bst_result != Passed) { bst_result = Failed; bs_trace_error("Test did not pass before simulation ended.\n"); } } static void test_init(void) { bst_ticker_set_next_tick_absolute(TEST_TIMEOUT_SIMULATED); bst_result = In_progress; } static const struct bst_test_instance test_to_add[] = { { .test_id = "central", .test_pre_init_f = test_init, .test_tick_f = test_tick, .test_main_f = central, }, { .test_id = "peripheral", .test_pre_init_f = test_init, .test_tick_f = test_tick, .test_main_f = peripheral, }, BSTEST_END_MARKER, }; static struct bst_test_list *install(struct bst_test_list *tests) { return bst_add_tests(tests, test_to_add); }; bst_test_install_t test_installers[] = {install, NULL}; int main(void) { bst_main(); return 0; }