| /* |
| * Copyright (c) 2017 comsuisse AG |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| |
| #include <zephyr/kernel.h> |
| #include <zephyr/ztest.h> |
| #include <zephyr/device.h> |
| #include "i2s_api_test.h" |
| |
| void test_main(void) |
| { |
| const struct device *dev_i2s_rx; |
| const struct device *dev_i2s_tx; |
| |
| k_thread_access_grant(k_current_get(), |
| &rx_mem_slab, &tx_mem_slab); |
| |
| dev_i2s_rx = device_get_binding(I2S_DEV_NAME_RX); |
| if (dev_i2s_rx != NULL) { |
| k_object_access_grant(dev_i2s_rx, k_current_get()); |
| } |
| |
| dev_i2s_tx = device_get_binding(I2S_DEV_NAME_TX); |
| if (dev_i2s_tx != NULL) { |
| k_object_access_grant(dev_i2s_tx, k_current_get()); |
| } |
| |
| ztest_test_suite(i2s_loopback_test, |
| ztest_unit_test(test_i2s_tx_transfer_configure_0), |
| ztest_unit_test(test_i2s_rx_transfer_configure_0), |
| ztest_unit_test(test_i2s_transfer_short), |
| ztest_unit_test(test_i2s_transfer_long), |
| ztest_unit_test(test_i2s_rx_sync_start), |
| ztest_unit_test(test_i2s_rx_empty_timeout), |
| ztest_unit_test(test_i2s_transfer_restart), |
| ztest_unit_test(test_i2s_transfer_rx_overrun), |
| ztest_unit_test(test_i2s_transfer_tx_underrun)); |
| ztest_run_test_suite(i2s_loopback_test); |
| |
| ztest_test_suite(i2s_states_test, |
| ztest_unit_test(test_i2s_tx_transfer_configure_1), |
| ztest_unit_test(test_i2s_rx_transfer_configure_1), |
| ztest_unit_test(test_i2s_state_not_ready_neg), |
| ztest_unit_test(test_i2s_state_ready_neg), |
| ztest_unit_test(test_i2s_state_running_neg), |
| ztest_unit_test(test_i2s_state_stopping_neg), |
| ztest_unit_test(test_i2s_state_error_neg)); |
| ztest_run_test_suite(i2s_states_test); |
| |
| ztest_test_suite(i2s_dir_both_loopback_test, |
| ztest_unit_test(test_i2s_dir_both_transfer_configure_0), |
| ztest_unit_test(test_i2s_dir_both_transfer_short), |
| ztest_unit_test(test_i2s_dir_both_transfer_long), |
| ztest_unit_test(test_i2s_dir_both_transfer_restart), |
| ztest_unit_test(test_i2s_dir_both_transfer_rx_overrun), |
| ztest_unit_test(test_i2s_dir_both_transfer_tx_underrun)); |
| ztest_run_test_suite(i2s_dir_both_loopback_test); |
| |
| ztest_test_suite(i2s_dir_both_states_test, |
| ztest_unit_test(test_i2s_dir_both_transfer_configure_1), |
| ztest_unit_test(test_i2s_dir_both_state_running_neg), |
| ztest_unit_test(test_i2s_dir_both_state_stopping_neg), |
| ztest_unit_test(test_i2s_dir_both_state_error_neg)); |
| ztest_run_test_suite(i2s_dir_both_states_test); |
| |
| /* Now run all tests in user mode */ |
| ztest_test_suite(i2s_user_loopback_test, |
| ztest_user_unit_test(test_i2s_tx_transfer_configure_0), |
| ztest_user_unit_test(test_i2s_rx_transfer_configure_0), |
| ztest_user_unit_test(test_i2s_transfer_short), |
| ztest_user_unit_test(test_i2s_transfer_long), |
| ztest_user_unit_test(test_i2s_rx_sync_start), |
| ztest_user_unit_test(test_i2s_rx_empty_timeout), |
| ztest_user_unit_test(test_i2s_transfer_restart), |
| ztest_user_unit_test(test_i2s_transfer_tx_underrun), |
| ztest_user_unit_test(test_i2s_transfer_rx_overrun)); |
| ztest_run_test_suite(i2s_user_loopback_test); |
| |
| ztest_test_suite(i2s_user_states_test, |
| ztest_user_unit_test(test_i2s_tx_transfer_configure_1), |
| ztest_user_unit_test(test_i2s_rx_transfer_configure_1), |
| ztest_user_unit_test(test_i2s_state_not_ready_neg), |
| ztest_user_unit_test(test_i2s_state_ready_neg), |
| ztest_user_unit_test(test_i2s_state_running_neg), |
| ztest_user_unit_test(test_i2s_state_stopping_neg), |
| ztest_user_unit_test(test_i2s_state_error_neg)); |
| ztest_run_test_suite(i2s_user_states_test); |
| |
| ztest_test_suite(i2s_dir_both_user_loopback_test, |
| ztest_user_unit_test(test_i2s_dir_both_transfer_configure_0), |
| ztest_user_unit_test(test_i2s_dir_both_transfer_short), |
| ztest_user_unit_test(test_i2s_dir_both_transfer_long), |
| ztest_user_unit_test(test_i2s_dir_both_transfer_restart), |
| ztest_user_unit_test(test_i2s_dir_both_transfer_rx_overrun), |
| ztest_user_unit_test(test_i2s_dir_both_transfer_tx_underrun)); |
| ztest_run_test_suite(i2s_dir_both_user_loopback_test); |
| |
| ztest_test_suite(i2s_dir_both_user_states_test, |
| ztest_user_unit_test(test_i2s_dir_both_transfer_configure_1), |
| ztest_user_unit_test(test_i2s_dir_both_state_running_neg), |
| ztest_user_unit_test(test_i2s_dir_both_state_stopping_neg), |
| ztest_user_unit_test(test_i2s_dir_both_state_error_neg)); |
| ztest_run_test_suite(i2s_dir_both_user_states_test); |
| } |