diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-17 14:53:59 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-17 14:53:59 +0100 |
| commit | d54c2033eaaad5b6f9340b7cbaf8b3b037fb3cbe (patch) | |
| tree | c9506ad751a589c0a734b26900f48581d1dde2ce /test | |
| parent | 15aac395a599c92016bd2d74a7c23ca6eea3d04d (diff) | |
chore: updated file structure.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'test')
| -rw-r--r-- | test/network_basic/CMakeLists.txt | 23 | ||||
| -rw-r--r-- | test/network_basic/network_basic_test.cc | 51 |
2 files changed, 74 insertions, 0 deletions
diff --git a/test/network_basic/CMakeLists.txt b/test/network_basic/CMakeLists.txt new file mode 100644 index 0000000..267b584 --- /dev/null +++ b/test/network_basic/CMakeLists.txt @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 3.27) +project(NetworkTestBasic LANGUAGES CXX) + +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(NetworkTestBasic network_basic_test.cc) +target_link_libraries(NetworkTestBasic gtest_main) + +set_property(TARGET NetworkTestBasic PROPERTY CXX_STANDARD 20) +target_include_directories(NetworkTestBasic PUBLIC ../../include/) + +include(GoogleTest) +gtest_discover_tests(NetworkTestBasic) diff --git a/test/network_basic/network_basic_test.cc b/test/network_basic/network_basic_test.cc new file mode 100644 index 0000000..21a6668 --- /dev/null +++ b/test/network_basic/network_basic_test.cc @@ -0,0 +1,51 @@ +/* + * File: tests/net_test.cc + * Purpose: Network unit tests in C++ + * Author: Amlal El Mahrouss (amlal@nekernel.org) + * Copyright 2025, Amlal El Mahrouss, licensed under the Boost Software License. + */ + +#include <ocl/posix/unique_socket.hpp> +#include <ocl/print.hpp> +#include <gtest/gtest.h> + +/// @brief Basic Send test +TEST(NetworkTest, BasicNetworkIO) +{ + ocl::unique_socket sock = ocl::unique_socket::make_socket<8000>(ocl::unique_socket::any_address, true); + + std::vector<char> buf_dst(512); + + buf_dst.push_back('H'); + buf_dst.push_back('e'); + buf_dst.push_back('l'); + buf_dst.push_back('l'); + buf_dst.push_back('o'); + buf_dst.push_back('\0'); + + auto buf = buf_dst.data(); + auto sz = buf_dst.size(); + + sock.write_from_buffer(buf, sz); + + ocl::unique_socket sock2 = ocl::unique_socket::make_socket<8000>(ocl::unique_socket::any_address, false); + + auto accepeted = sock.accept(); + accepeted.write_from_buffer(buf, sz); + + std::vector<char> buf_dst2(512); + + buf = buf_dst2.data(); + sz = buf_dst2.size(); + + sock2.read_client_buffer(buf, sz); + + EXPECT_TRUE(!sock.bad()); + EXPECT_TRUE(!sock2.bad()); +} + +TEST(NetworkTest, BasicNetworkMakeSocket) +{ + auto socket = ocl::unique_socket::make_socket<8000>(ocl::unique_socket::any_address, true); + EXPECT_TRUE(!socket.bad()); +}
\ No newline at end of file |
