diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-16 21:35:13 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-16 21:35:13 +0200 |
| commit | 443588a42fe9cf48b5f63184b94afe483cb0e761 (patch) | |
| tree | b65844000839103efb40c635337339dc8f193f89 /dev/tests/network_basic | |
| parent | 8b7b48fe4acf0482580930eaebaa2f316727f864 (diff) | |
| parent | 95db0ac7dcb8625c5a1e92408c0c02962b205871 (diff) | |
Merge pull request #3 from snutech-gh/dev
SOCL – v1.0.4
Diffstat (limited to 'dev/tests/network_basic')
| -rw-r--r-- | dev/tests/network_basic/CMakeLists.txt | 23 | ||||
| -rw-r--r-- | dev/tests/network_basic/net_test.cc | 36 |
2 files changed, 59 insertions, 0 deletions
diff --git a/dev/tests/network_basic/CMakeLists.txt b/dev/tests/network_basic/CMakeLists.txt new file mode 100644 index 0000000..a5704fc --- /dev/null +++ b/dev/tests/network_basic/CMakeLists.txt @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 3.28) +project(SOCLTests 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 net_test.cc) +target_link_libraries(NetworkTestBasic gtest_main) + +set_property(TARGET NetworkTestBasic PROPERTY CXX_STANDARD 20) +target_include_directories(NetworkTestBasic PUBLIC ../../) + +include(GoogleTest) +gtest_discover_tests(NetworkTestBasic) diff --git a/dev/tests/network_basic/net_test.cc b/dev/tests/network_basic/net_test.cc new file mode 100644 index 0000000..634048e --- /dev/null +++ b/dev/tests/network_basic/net_test.cc @@ -0,0 +1,36 @@ +/* + * 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. + */ + +#include <lib/net/network.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); + + 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; +} |
