blob: 960ca3932ac6474cf172fde45a30f2363cf52fa5 [file] [log] [blame]
/*
* Parts derived from tests/kernel/fatal/src/main.c, which has the
* following copyright and license:
*
* Copyright (c) 2017, 2020 Intel Corporation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/zephyr.h>
#include <zephyr/ztest.h>
#include <zephyr/kernel_structs.h>
#include <string.h>
#include <stdlib.h>
#include "mem_protect.h"
K_HEAP_DEFINE(test_mem_heap, TEST_HEAP_SIZE);
K_THREAD_STACK_DEFINE(test_stack, KOBJECT_STACK_SIZE);
void test_main(void)
{
k_thread_priority_set(k_current_get(), -1);
k_thread_heap_assign(k_current_get(), &test_mem_heap);
ztest_test_suite(memory_protection_test_suite,
/* inherit.c */
ztest_unit_test(test_permission_inheritance),
ztest_unit_test(test_inherit_resource_pool),
/* mem_domain.c */
ztest_unit_test(test_mem_domain_setup),
ztest_unit_test(test_mem_domain_valid_access),
ztest_unit_test(test_mem_domain_invalid_access),
ztest_unit_test(test_mem_domain_no_writes_to_ro),
ztest_unit_test(test_mem_domain_remove_add_partition),
ztest_unit_test(test_mem_domain_api_supervisor_only),
ztest_unit_test(test_mem_domain_boot_threads),
ztest_unit_test(test_mem_domain_migration),
ztest_unit_test(test_mem_part_overlap),
ztest_unit_test(test_mem_domain_init_fail),
ztest_unit_test(test_mem_domain_remove_part_fail),
ztest_unit_test(test_mem_part_add_error_null),
ztest_unit_test(test_mem_part_add_error_zerosize),
ztest_unit_test(test_mem_part_error_wraparound),
ztest_unit_test(test_mem_part_remove_error_zerosize),
/* mem_partition.c */
ztest_user_unit_test(test_mem_part_assign_bss_vars_zero),
ztest_unit_test(test_mem_part_auto_determ_size),
/* kobject.c */
ztest_unit_test(test_kobject_access_grant),
ztest_unit_test(test_kobject_access_grant_error),
ztest_user_unit_test(test_kobject_access_grant_error_user_null),
ztest_user_unit_test(test_kobject_access_grant_error_user),
ztest_user_unit_test(test_kobject_access_all_grant_error),
ztest_unit_test(test_syscall_invalid_kobject),
ztest_unit_test(test_thread_without_kobject_permission),
ztest_unit_test(test_kobject_revoke_access),
ztest_unit_test(test_kobject_grant_access_kobj),
ztest_unit_test(test_kobject_grant_access_kobj_invalid),
ztest_unit_test(test_kobject_release_from_user),
ztest_unit_test(test_kobject_invalid),
ztest_unit_test(test_kobject_access_all_grant),
ztest_unit_test(test_thread_has_residual_permissions),
ztest_unit_test(test_kobject_access_grant_to_invalid_thread),
ztest_user_unit_test(test_kobject_access_invalid_kobject),
ztest_user_unit_test(test_access_kobject_without_init_access),
ztest_unit_test(test_access_kobject_without_init_with_access),
ztest_unit_test(test_kobject_reinitialize_thread_kobj),
ztest_unit_test(test_create_new_thread_from_user),
ztest_unit_test(test_new_user_thread_with_in_use_stack_obj),
ztest_unit_test(test_create_new_thread_from_user_no_access_stack),
ztest_unit_test(test_create_new_thread_from_user_invalid_stacksize),
ztest_unit_test(test_create_new_thread_from_user_huge_stacksize),
ztest_unit_test(test_create_new_supervisor_thread_from_user),
ztest_unit_test(test_create_new_essential_thread_from_user),
ztest_unit_test(test_create_new_higher_prio_thread_from_user),
ztest_unit_test(test_create_new_invalid_prio_thread_from_user),
ztest_unit_test(test_mark_thread_exit_uninitialized),
ztest_unit_test(test_mem_part_assert_add_overmax),
ztest_user_unit_test(test_kobject_init_error),
ztest_unit_test(test_alloc_kobjects),
ztest_unit_test(test_thread_alloc_out_of_idx),
ztest_unit_test(test_kobj_create_out_of_memory),
ztest_unit_test(test_kobject_perm_error),
ztest_unit_test(test_kobject_free_error),
ztest_unit_test(test_all_kobjects_str)
);
ztest_run_test_suite(memory_protection_test_suite);
}