diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-11-23 20:16:02 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-23 20:16:02 -0500 |
| commit | 85f89ee4bb137100cbeffcbc10168eb8ea52e6cc (patch) | |
| tree | f6e2063319ceaaa02f523fb5c289e4f37411a2df /tests/tracked_ptr_leak | |
| parent | 9a70f32ddaec0eef99efbf7ff5597c2adf08f45a (diff) | |
| parent | 65a8349aa5526d071b18cd4d42586c46faaa3823 (diff) | |
Merge pull request #18 from amlel-el-mahrouss/developv1.0.48
OCL v1.0.48
Diffstat (limited to 'tests/tracked_ptr_leak')
| -rw-r--r-- | tests/tracked_ptr_leak/CMakeLists.txt | 23 | ||||
| -rw-r--r-- | tests/tracked_ptr_leak/tracked_ptr_test.cc | 19 |
2 files changed, 42 insertions, 0 deletions
diff --git a/tests/tracked_ptr_leak/CMakeLists.txt b/tests/tracked_ptr_leak/CMakeLists.txt new file mode 100644 index 0000000..314e666 --- /dev/null +++ b/tests/tracked_ptr_leak/CMakeLists.txt @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 3.10) +project(TrackedPtrTestLeak) + +include(FetchContent) +FetchContent_Declare( + googletest + URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip +) + +# For Windows: Prevent overriding the parent project's compiler/linker settings +set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +FetchContent_MakeAvailable(googletest) + +enable_testing() + +add_executable(TrackedPtrTestLeak tracked_ptr_test.cc) +target_link_libraries(TrackedPtrTestLeak gtest_main) + +set_property(TARGET TrackedPtrTestLeak PROPERTY CXX_STANDARD 20) +target_include_directories(TrackedPtrTestLeak PUBLIC ../../include/ocl) + +include(GoogleTest) +gtest_discover_tests(TrackedPtrTestLeak) diff --git a/tests/tracked_ptr_leak/tracked_ptr_test.cc b/tests/tracked_ptr_leak/tracked_ptr_test.cc new file mode 100644 index 0000000..14d8f8e --- /dev/null +++ b/tests/tracked_ptr_leak/tracked_ptr_test.cc @@ -0,0 +1,19 @@ +/* + * File: tests/tracked_ptr_test.cc + * Purpose: Custom smart pointer unit tests in C++ + * Author: Amlal El Mahrouss (amlal@nekernel.org) + * Copyright 2025, Amlal El Mahrouss, licensed under the Boost Software License. + */ + +#include <memory/tracked_ptr.hpp> +#include <tests/gtest.hpp> + +TEST(TrackedPtrTest, LeakTrackedPtrUsage) +{ + ocl::memory::tracked_ptr<int>* ptr = new ocl::memory::tracked_ptr<int>(42); + ocl::memory::tracked_ptr<int>* ptr2 = new ocl::memory::tracked_ptr<int>(42); + ocl::memory::tracked_ptr<int>* ptr3 = new ocl::memory::tracked_ptr<int>(42); + + EXPECT_EQ(ocl::memory::tracked_ptr<int>::manager().allocator().allocated_count_, 3); + ASSERT_TRUE(ocl::memory::tracked_ptr<int>::manager().allocator().deallocated_count_ == 0); +}
\ No newline at end of file |
