summaryrefslogtreecommitdiffhomepage
path: root/dev/tests
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-09-04 11:25:04 +0200
committerGitHub <noreply@github.com>2025-09-04 11:25:04 +0200
commit6789dd7d88a192e3f55b95798cb393e7d12f368a (patch)
tree7f04815ad5214f97d0fb2becceceed7ce8089b3d /dev/tests
parent443588a42fe9cf48b5f63184b94afe483cb0e761 (diff)
parentfda7082c54ad46a56ac885d4686b82bad8dbc7c9 (diff)
Merge pull request #4 from amlel-el-mahrouss/devv1.0.43
OCL — v1.0.43
Diffstat (limited to 'dev/tests')
-rw-r--r--dev/tests/chunk_string/CMakeLists.txt25
-rw-r--r--dev/tests/chunk_string/chunk_test.cc30
-rw-r--r--dev/tests/fix_basic/CMakeLists.txt2
-rw-r--r--dev/tests/fix_basic/fix_test.cc10
-rw-r--r--dev/tests/network_basic/CMakeLists.txt4
-rw-r--r--dev/tests/network_basic/net_test.cc26
-rw-r--r--dev/tests/tracked_ptr_basic/CMakeLists.txt2
-rw-r--r--dev/tests/tracked_ptr_basic/tracked_ptr_test.cc12
-rw-r--r--dev/tests/tracked_ptr_leak/CMakeLists.txt2
-rw-r--r--dev/tests/tracked_ptr_leak/tracked_ptr_test.cc14
10 files changed, 84 insertions, 43 deletions
diff --git a/dev/tests/chunk_string/CMakeLists.txt b/dev/tests/chunk_string/CMakeLists.txt
new file mode 100644
index 0000000..5a4a27c
--- /dev/null
+++ b/dev/tests/chunk_string/CMakeLists.txt
@@ -0,0 +1,25 @@
+cmake_minimum_required(VERSION 3.27)
+project(BasicChunkUsage LANGUAGES CXX)
+
+find_package(Boost REQUIRED COMPONENTS container)
+
+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(BasicChunkUsage chunk_test.cc)
+target_link_libraries(BasicChunkUsage PRIVATE gtest_main Boost::container)
+
+set_property(TARGET BasicChunkUsage PROPERTY CXX_STANDARD 20)
+target_include_directories(BasicChunkUsage PUBLIC ../../)
+
+include(GoogleTest)
+gtest_discover_tests(BasicChunkUsage)
diff --git a/dev/tests/chunk_string/chunk_test.cc b/dev/tests/chunk_string/chunk_test.cc
new file mode 100644
index 0000000..ad3d31b
--- /dev/null
+++ b/dev/tests/chunk_string/chunk_test.cc
@@ -0,0 +1,30 @@
+/*
+ * File: tests/chunk_test.cc
+ * Purpose: Chunk unit tests in C++
+ * Author: Amlal El Mahrouss (amlal@nekernel.org)
+ * Copyright 2025, Amlal El Mahrouss
+ */
+
+#include <lib/io/print.hpp>
+#include <lib/tests/gtest.hpp>
+#include <lib/utility/chunk_string.hpp>
+
+TEST(ChunkTest, BasicChunkUsage)
+{
+ const std::string test_string = "HELLO, WORLD!";
+ const unsigned iterations = 1024000;
+
+ auto start = std::chrono::high_resolution_clock::now();
+
+ ocl::basic_chunk_string<char, 1000000> optimized;
+
+ for (unsigned i = 0; i < iterations; ++i)
+ {
+ optimized += test_string;
+ }
+
+ auto end = std::chrono::high_resolution_clock::now();
+ auto optimized_time = std::chrono::duration_cast<std::chrono::milliseconds>(end - start);
+
+ EXPECT_TRUE(optimized_time.count() < 30U);
+}
diff --git a/dev/tests/fix_basic/CMakeLists.txt b/dev/tests/fix_basic/CMakeLists.txt
index f792277..7b06112 100644
--- a/dev/tests/fix_basic/CMakeLists.txt
+++ b/dev/tests/fix_basic/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.10)
-project(SOCLTests)
+project(FIXTestBasic)
include(FetchContent)
FetchContent_Declare(
diff --git a/dev/tests/fix_basic/fix_test.cc b/dev/tests/fix_basic/fix_test.cc
index bd04d07..bdde392 100644
--- a/dev/tests/fix_basic/fix_test.cc
+++ b/dev/tests/fix_basic/fix_test.cc
@@ -1,8 +1,8 @@
/*
* File: tests/tracked_ptr_test.cc
* Purpose: Custom smart pointer unit tests in C++
- * Author: Amlal El Mahrouss (founder@snu.systems)
- * Copyright 2025, Amlal El Mahrouss and SNU Systems Corp.
+ * Author: Amlal El Mahrouss (amlal@nekernel.org)
+ * Copyright 2025, Amlal El Mahrouss
*/
#include <lib/fix/parser.hpp>
@@ -10,9 +10,9 @@
TEST(FIXTest, BasicFIXUsage)
{
- snu::fix::basic_visitor<char> basic_visitor;
- snu::fix::basic_range_data<char> fix = basic_visitor.visit("8=FIX.4.2|9=65|35=A|49=SERVER|56=CLIENT|34=177|52=20090107-18:15:16|98=0|108=30|10=062|");
+ ocl::fix::basic_visitor<char> basic_visitor;
+ ocl::fix::basic_range_data<char> fix = basic_visitor.visit("8=FIX.4.2|9=65|35=A|49=SERVER|56=CLIENT|34=177|52=20090107-18:15:16|98=0|108=30|10=062|");
- EXPECT_EQ(fix.magic_, snu::fix::detail::begin_fix());
+ EXPECT_EQ(fix.magic_, ocl::fix::detail::begin_fix());
EXPECT_TRUE(fix.is_valid());
} \ No newline at end of file
diff --git a/dev/tests/network_basic/CMakeLists.txt b/dev/tests/network_basic/CMakeLists.txt
index a5704fc..4cfe0d1 100644
--- a/dev/tests/network_basic/CMakeLists.txt
+++ b/dev/tests/network_basic/CMakeLists.txt
@@ -1,5 +1,5 @@
-cmake_minimum_required(VERSION 3.28)
-project(SOCLTests LANGUAGES CXX)
+cmake_minimum_required(VERSION 3.27)
+project(NetworkTestBasic LANGUAGES CXX)
include(FetchContent)
FetchContent_Declare(
diff --git a/dev/tests/network_basic/net_test.cc b/dev/tests/network_basic/net_test.cc
index 634048e..61d0b28 100644
--- a/dev/tests/network_basic/net_test.cc
+++ b/dev/tests/network_basic/net_test.cc
@@ -1,36 +1,22 @@
/*
* File: tests/net_test.cc
* Purpose: Network unit tests in C++
- * Author: Amlal El Mahrouss (founder@snu.systems)
- * Copyright 2025, Amlal El Mahrouss and SNU Systems Corp.
+ * Author: Amlal El Mahrouss (amlal@nekernel.org)
+ * Copyright 2025, Amlal El Mahrouss
*/
-#include <lib/net/network.hpp>
+#include <lib/net/modem.hpp>
#include <lib/io/print.hpp>
#include <lib/tests/gtest.hpp>
#include <cstring>
TEST(NetworkTest, BasicNetworkUsage)
{
- snu::net::basic_modem<char> modem;
- modem.construct<AF_INET, SOCK_STREAM, IPPROTO_IP, 80>(snu::net::basic_modem<char>::local_address_ip4, true);
+ ocl::net::basic_modem modem;
+ modem.construct<AF_INET, SOCK_STREAM, 8000>(ocl::net::basic_modem::local_address_ip4, true);
- snu::net::basic_modem<char> modem_cl;
- modem_cl.construct<AF_INET, SOCK_STREAM, IPPROTO_IP, 80>(snu::net::basic_modem<char>::local_address_ip4, false);
-
- EXPECT_TRUE(modem_cl.is_valid());
EXPECT_TRUE(modem.is_valid());
std::basic_string<char> buf_dst = "HELLO, NET!";
- char* buf = new char[buf_dst.size()];
-
- modem_cl.transmit(buf_dst);
- modem.receive<char*>(buf, buf_dst.size());
-
- snu::io::print(buf_dst);
- snu::io::print(buf);
- snu::io::print();
-
- delete[] buf;
- buf = nullptr;
+ EXPECT_TRUE(modem.transmit(buf_dst));
}
diff --git a/dev/tests/tracked_ptr_basic/CMakeLists.txt b/dev/tests/tracked_ptr_basic/CMakeLists.txt
index 9100e9a..1dd5095 100644
--- a/dev/tests/tracked_ptr_basic/CMakeLists.txt
+++ b/dev/tests/tracked_ptr_basic/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.10)
-project(SOCLTests)
+project(TrackedPtrTestBasic)
include(FetchContent)
FetchContent_Declare(
diff --git a/dev/tests/tracked_ptr_basic/tracked_ptr_test.cc b/dev/tests/tracked_ptr_basic/tracked_ptr_test.cc
index 0e72e77..1e97188 100644
--- a/dev/tests/tracked_ptr_basic/tracked_ptr_test.cc
+++ b/dev/tests/tracked_ptr_basic/tracked_ptr_test.cc
@@ -1,8 +1,8 @@
/*
* File: tests/tracked_ptr_test.cc
* Purpose: Custom smart pointer unit tests in C++
- * Author: Amlal El Mahrouss (founder@snu.systems)
- * Copyright 2025, Amlal El Mahrouss and SNU Systems Corp.
+ * Author: Amlal El Mahrouss (amlal@nekernel.org)
+ * Copyright 2025, Amlal El Mahrouss
*/
#include <lib/memory/tracked_ptr.hpp>
@@ -10,16 +10,16 @@
TEST(TrackedPtrTest, BasicTrackedPtrUsage)
{
- snu::memory::tracked_ptr<int> ptr = snu::memory::make_tracked<int>(42);
+ ocl::memory::tracked_ptr<int> ptr = ocl::memory::make_tracked<int>(42);
ASSERT_TRUE(ptr);
EXPECT_EQ(*ptr, 42);
- snu::memory::tracked_ptr<int> ptr2;
+ ocl::memory::tracked_ptr<int> ptr2;
- snu::memory::swap(ptr, ptr2);
+ ocl::memory::swap(ptr, ptr2);
ptr2.reset();
- EXPECT_EQ(snu::memory::tracked_ptr<int>::manager().allocator().allocated_count_, 1);
+ EXPECT_EQ(ocl::memory::tracked_ptr<int>::manager().allocator().allocated_count_, 1);
} \ No newline at end of file
diff --git a/dev/tests/tracked_ptr_leak/CMakeLists.txt b/dev/tests/tracked_ptr_leak/CMakeLists.txt
index 625a1dc..30c91a1 100644
--- a/dev/tests/tracked_ptr_leak/CMakeLists.txt
+++ b/dev/tests/tracked_ptr_leak/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.10)
-project(SOCLTests)
+project(TrackedPtrTestLeak)
include(FetchContent)
FetchContent_Declare(
diff --git a/dev/tests/tracked_ptr_leak/tracked_ptr_test.cc b/dev/tests/tracked_ptr_leak/tracked_ptr_test.cc
index 6818b7c..f349f47 100644
--- a/dev/tests/tracked_ptr_leak/tracked_ptr_test.cc
+++ b/dev/tests/tracked_ptr_leak/tracked_ptr_test.cc
@@ -1,8 +1,8 @@
/*
* File: tests/tracked_ptr_test.cc
* Purpose: Custom smart pointer unit tests in C++
- * Author: Amlal El Mahrouss (founder@snu.systems)
- * Copyright 2025, Amlal El Mahrouss and SNU Systems Corp.
+ * Author: Amlal El Mahrouss (amlal@nekernel.org)
+ * Copyright 2025, Amlal El Mahrouss
*/
#include <lib/memory/tracked_ptr.hpp>
@@ -10,10 +10,10 @@
TEST(TrackedPtrTest, LeakTrackedPtrUsage)
{
- snu::memory::tracked_ptr<int>* ptr = new snu::memory::tracked_ptr<int>(42);
- snu::memory::tracked_ptr<int>* ptr2 = new snu::memory::tracked_ptr<int>(42);
- snu::memory::tracked_ptr<int>* ptr3 = new snu::memory::tracked_ptr<int>(42);
+ 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(snu::memory::tracked_ptr<int>::manager().allocator().allocated_count_, 3);
- ASSERT_TRUE(snu::memory::tracked_ptr<int>::manager().allocator().deallocated_count_ == 0);
+ 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