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