- Removed a bug with attempt to include pure c headers
- Added some more information about the license - fennec::file implementation
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
cmake_minimum_required(VERSION 3.30)
|
||||
project(fennec-test)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 26)
|
||||
set(CMAKE_C_STANDARD 26)
|
||||
set(CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_C_STANDARD 23)
|
||||
|
||||
add_executable(fennec-test main.cpp
|
||||
test.h
|
||||
@@ -26,7 +26,9 @@ add_executable(fennec-test main.cpp
|
||||
tests/fproc/test_io.h
|
||||
)
|
||||
|
||||
target_compile_definitions(fennec-test PUBLIC FENNEC_TEST_CWD="${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
|
||||
target_compile_definitions(fennec-test PUBLIC FENNEC_TEST_CWD="${CMAKE_SOURCE_DIR}/bin/${FENNEC_BUILD_NAME}"
|
||||
FENNEC_BUILD_NAME="${FENNEC_BUILD_NAME}"
|
||||
)
|
||||
|
||||
target_link_libraries(fennec-test PRIVATE
|
||||
fennec
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "../../test.h"
|
||||
|
||||
#include <fennec/fproc/io/common.h>
|
||||
#include <fennec/fproc/io/file.h>
|
||||
|
||||
namespace fennec
|
||||
{
|
||||
@@ -30,7 +31,64 @@ namespace test
|
||||
{
|
||||
|
||||
inline void fennec_test_fproc_io() {
|
||||
fennec_test_run(getcwd(), string(FENNEC_TEST_CWD));
|
||||
|
||||
fennec_test_section("utilities");
|
||||
|
||||
fennec_test_spacer(1);
|
||||
|
||||
fennec_test_run(getcwd(), string(FENNEC_TEST_CWD));
|
||||
fennec_test_run(absolute("../" FENNEC_BUILD_NAME "/./test.sh"), string(FENNEC_TEST_CWD) + "/test.sh");
|
||||
fennec_test_run(absolute("./test/../test.sh"), string(FENNEC_TEST_CWD) + "/test.sh");
|
||||
|
||||
fennec_test_spacer(2);
|
||||
|
||||
|
||||
fennec_test_section("file streams");
|
||||
|
||||
fennec_test_spacer(1);
|
||||
|
||||
file stream;
|
||||
char data[] = "Hello World!";
|
||||
fennec_test_run(stream.open("./test.txt", fmode_write | fmode_trunc), false);
|
||||
fennec_test_run(stream.write(data), sizeof(data));
|
||||
fennec_test_run(stream.close(), false);
|
||||
|
||||
fennec_test_spacer(1);
|
||||
|
||||
fennec_test_run(stream.open("./test.txt", fmode_read), false);
|
||||
fennec_test_run(stream.read(data), sizeof(data));
|
||||
fennec_test_run(cstring(data), cstring("Hello World!"));
|
||||
|
||||
fennec_test_spacer(1);
|
||||
|
||||
fennec_test_run(stream.open("./test.txt", fmode_read), false);
|
||||
fennec_test_run((stream = stream.copy("./copy.txt")).is_open(), true);
|
||||
fennec_test_run(stream.open("./copy.txt", fmode_read), false);
|
||||
fennec_test_run(stream.read(data), sizeof(data));
|
||||
fennec_test_run(cstring(data), cstring("Hello World!"));
|
||||
fennec_test_run(stream.erase(), false);
|
||||
|
||||
fennec_test_spacer(1);
|
||||
|
||||
fennec_test_run(stream.open("./test.txt", fmode_read), false);
|
||||
fennec_test_run(stream.rename("./rename.txt"), false);
|
||||
fennec_test_run(stream.open("./rename.txt", fmode_read), false);
|
||||
fennec_test_run(stream.read(data), sizeof(data));
|
||||
fennec_test_run(cstring(data), cstring("Hello World!"));
|
||||
fennec_test_run(stream.erase(), false);
|
||||
|
||||
fennec_test_spacer(2);
|
||||
|
||||
|
||||
fennec_test_section("std streams");
|
||||
|
||||
fennec_test_spacer(1);
|
||||
|
||||
fennec_test_run(file::cout().write("Hello World!"), sizeof("Hello World!"));
|
||||
fennec_test_run(file::cerr().write("Hello World!"), sizeof("Hello World!"));
|
||||
|
||||
fennec_test_spacer(2);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user