summaryrefslogtreecommitdiffhomepage
path: root/tests/network_basic
diff options
context:
space:
mode:
Diffstat (limited to 'tests/network_basic')
-rw-r--r--tests/network_basic/CMakeLists.txt23
-rw-r--r--tests/network_basic/net_test.cc22
2 files changed, 45 insertions, 0 deletions
diff --git a/tests/network_basic/CMakeLists.txt b/tests/network_basic/CMakeLists.txt
new file mode 100644
index 0000000..88fa1c8
--- /dev/null
+++ b/tests/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 net_test.cc)
+target_link_libraries(NetworkTestBasic gtest_main)
+
+set_property(TARGET NetworkTestBasic PROPERTY CXX_STANDARD 20)
+target_include_directories(NetworkTestBasic PUBLIC ../../include/ocl)
+
+include(GoogleTest)
+gtest_discover_tests(NetworkTestBasic)
diff --git a/tests/network_basic/net_test.cc b/tests/network_basic/net_test.cc
new file mode 100644
index 0000000..15090d0
--- /dev/null
+++ b/tests/network_basic/net_test.cc
@@ -0,0 +1,22 @@
+/*
+ * 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 <net/modem.hpp>
+#include <io/print.hpp>
+#include <tests/gtest.hpp>
+#include <cstring>
+
+TEST(NetworkTest, BasicNetworkUsage)
+{
+ ocl::net::modem modem;
+ modem.construct<AF_INET, SOCK_STREAM, 8000>(ocl::net::modem::local_address_ip4, true);
+
+ EXPECT_TRUE(modem.is_valid());
+
+ std::basic_string<char> buf_dst = "HELLO, NET!";
+ EXPECT_TRUE(modem.transmit(buf_dst));
+}