diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-06 06:36:01 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-06 06:37:15 +0100 |
| commit | ac993e1cf8ec4c55cbd1e80c7b94ac492d6dc4e8 (patch) | |
| tree | 7993e57bdab4fa9b6400d81ae477c736193de352 /test/libsystem_test/thread.test.cc | |
| parent | a5f3fdf32ba6aa34a5dd05eeb807446a9f046393 (diff) | |
[FEAT] HeapMgr: Add LockDelegate to allocation calls, and re-introduce double-free prevention.
[CHORE] FileMgr: Cleanup and tweaks.
[CHORE] ABI: Update copyright year.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'test/libsystem_test/thread.test.cc')
| -rw-r--r-- | test/libsystem_test/thread.test.cc | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/test/libsystem_test/thread.test.cc b/test/libsystem_test/thread.test.cc deleted file mode 100644 index db248e26..00000000 --- a/test/libsystem_test/thread.test.cc +++ /dev/null @@ -1,142 +0,0 @@ -/// \file thread.test.cc -/// \brief Threading API tests. -/// \author Amlal El Mahrouss (amlal at nekernel dot org) - -#include <libSystem/SystemKit/System.h> -#include <public/frameworks/KernelTest.fwrk/headers/TestCase.h> - -/// \note Thread procedure for testing -static SInt32 test_thread_proc(SInt32 argc, Char** argv) { - return 0; -} - -static SInt32 test_thread_proc_with_arg(SInt32 argc, Char** argv) { - if (argc > 0 && argv) { - return 1; - } - return 0; -} - -/// \note Thread creation tests - -KT_DECL_TEST(ThrCreateThreadValid, []() -> bool { - auto thread = ThrCreateThread("test_thread", test_thread_proc, 0, 0); - if (!thread) return NO; - ThrJoinThread(thread); - return YES; -}); - -KT_DECL_TEST(ThrCreateThreadNull, []() -> bool { - auto thread = ThrCreateThread(nullptr, nullptr, 0, 0); - return thread == nullptr; -}); - -KT_DECL_TEST(ThrCreateThreadWithName, []() -> bool { - auto thread = ThrCreateThread("named_thread", test_thread_proc, 0, 0); - if (!thread) return NO; - ThrJoinThread(thread); - return YES; -}); - -/// \note Thread lifecycle tests - -KT_DECL_TEST(ThrJoinThreadValid, []() -> bool { - auto thread = ThrCreateThread("join_test", test_thread_proc, 0, 0); - if (!thread) return NO; - - SInt32 result = ThrJoinThread(thread); - return result == 0; -}); - -KT_DECL_TEST(ThrDetachThreadValid, []() -> bool { - auto thread = ThrCreateThread("detach_test", test_thread_proc, 0, 0); - if (!thread) return NO; - - SInt32 result = ThrDetachThread(thread); - return result == 0; -}); - -KT_DECL_TEST(ThrYieldThreadValid, []() -> bool { - auto thread = ThrCreateThread("yield_test", test_thread_proc, 0, 0); - if (!thread) return NO; - - SInt32 result = ThrYieldThread(thread); - ThrJoinThread(thread); - - return result == 0; -}); - -/// \note Thread exit tests - -KT_DECL_TEST(ThrExitThreadValid, []() -> bool { - auto thread = ThrCreateThread("exit_test", test_thread_proc, 0, 0); - if (!thread) return NO; - - SInt32 result = ThrExitThread(thread, 0); - return result == 0; -}); - -KT_DECL_TEST(ThrExitThreadWithCode, []() -> bool { - auto thread = ThrCreateThread("exit_code_test", test_thread_proc, 0, 0); - if (!thread) return NO; - - SInt32 result = ThrExitThread(thread, 42); - return result == 0; -}); - -/// \note Thread argument tests - -KT_DECL_TEST(ThrCreateThreadWithArgs, []() -> bool { - auto thread = ThrCreateThread("args_test", test_thread_proc_with_arg, 1, 0); - if (!thread) return NO; - ThrJoinThread(thread); - return YES; -}); - -KT_DECL_TEST(ThrCreateThreadMultiple, []() -> bool { - auto thread1 = ThrCreateThread("multi_test_1", test_thread_proc, 0, 0); - auto thread2 = ThrCreateThread("multi_test_2", test_thread_proc, 0, 0); - - if (!thread1 || !thread2) return NO; - - ThrJoinThread(thread1); - ThrJoinThread(thread2); - - return YES; -}); - -/// \note Current thread tests - -KT_DECL_TEST(ThrExitCurrentThreadValid, []() -> bool { - // Note: Can't directly test this as it would exit the test thread - // This is a placeholder for integration testing - return YES; -}); - -KT_DECL_TEST(ThrExitMainThreadValid, []() -> bool { - // Note: Can't directly test this as it would exit the main thread - // This is a placeholder for integration testing - return YES; -}); - -/// \brief Run threading tests. -IMPORT_C SInt32 KT_TEST_MAIN() { - KT_RUN_TEST(ThrCreateThreadValid); - KT_RUN_TEST(ThrCreateThreadNull); - KT_RUN_TEST(ThrCreateThreadWithName); - - KT_RUN_TEST(ThrJoinThreadValid); - KT_RUN_TEST(ThrDetachThreadValid); - KT_RUN_TEST(ThrYieldThreadValid); - - KT_RUN_TEST(ThrExitThreadValid); - KT_RUN_TEST(ThrExitThreadWithCode); - - KT_RUN_TEST(ThrCreateThreadWithArgs); - KT_RUN_TEST(ThrCreateThreadMultiple); - - KT_RUN_TEST(ThrExitCurrentThreadValid); - KT_RUN_TEST(ThrExitMainThreadValid); - - return KT_TEST_SUCCESS; -} |
