summaryrefslogtreecommitdiff
path: root/c++/test
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2023-12-04 12:18:14 +0100
committerClaudius "keldu" Holeksa <mail@keldu.de>2023-12-04 12:18:14 +0100
commita14896f9ed209dd3f9597722e5a5697bd7dbf531 (patch)
tree089ca5cbbd206d1921f8f6b53292f5bc1902ca5c /c++/test
parent84ecdcbca9e55b1f57fbb832e12ff4fdbb86e7c9 (diff)
meta: Renamed folder containing source
Diffstat (limited to 'c++/test')
-rw-r--r--c++/test/.nix/derivation.nix28
-rw-r--r--c++/test/SConscript33
-rw-r--r--c++/test/SConstruct66
-rw-r--r--c++/test/suite.cpp107
-rw-r--r--c++/test/suite.h43
5 files changed, 0 insertions, 277 deletions
diff --git a/c++/test/.nix/derivation.nix b/c++/test/.nix/derivation.nix
deleted file mode 100644
index c15421d..0000000
--- a/c++/test/.nix/derivation.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, stdenv
-, scons
-, clang-tools
-, version
-, forstio
-}:
-
-let
-
-in stdenv.mkDerivation {
- pname = "forstio-test";
- inherit version;
- src = ./..;
-
- enableParallelBuilding = true;
-
- nativeBuildInputs = [
- scons
- clang-tools
- ];
-
- buildInputs = [
- forstio.core
- ];
-
- outputs = ["out" "dev"];
-}
diff --git a/c++/test/SConscript b/c++/test/SConscript
deleted file mode 100644
index 6379b24..0000000
--- a/c++/test/SConscript
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/false
-
-import os
-import os.path
-import glob
-
-
-Import('env')
-
-dir_path = Dir('.').abspath
-
-# Environment for base library
-test_env = env.Clone();
-
-test_env.sources = sorted(glob.glob(dir_path + "/*.cpp"))
-test_env.headers = sorted(glob.glob(dir_path + "/*.h"))
-
-env.sources += test_env.sources;
-env.headers += test_env.headers;
-
-## Shared lib
-objects = []
-test_env.add_source_files(objects, test_env.sources, shared=False);
-test_env.library = test_env.StaticLibrary('#build/forstio-test', [objects]);
-
-# Set Alias
-env.Alias('library_test', [test_env.library]);
-
-env.targets += ['library_test'];
-
-# Install
-env.Install('$prefix/lib/', [test_env.library]);
-env.Install('$prefix/include/forstio/test/', [test_env.headers]);
diff --git a/c++/test/SConstruct b/c++/test/SConstruct
deleted file mode 100644
index 0d7b7c6..0000000
--- a/c++/test/SConstruct
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env python3
-
-import sys
-import os
-import os.path
-import glob
-import re
-
-
-if sys.version_info < (3,):
- def isbasestring(s):
- return isinstance(s,basestring)
-else:
- def isbasestring(s):
- return isinstance(s, (str,bytes))
-
-def add_kel_source_files(self, sources, filetype, lib_env=None, shared=False, target_post=""):
-
- if isbasestring(filetype):
- dir_path = self.Dir('.').abspath
- filetype = sorted(glob.glob(dir_path+"/"+filetype))
-
- for path in filetype:
- target_name = re.sub( r'(.*?)(\.cpp|\.c\+\+)', r'\1' + target_post, path )
- if shared:
- target_name+='.os'
- sources.append( self.SharedObject( target=target_name, source=path ) )
- else:
- target_name+='.o'
- sources.append( self.StaticObject( target=target_name, source=path ) )
- pass
-
-def isAbsolutePath(key, dirname, env):
- assert os.path.isabs(dirname), "%r must have absolute path syntax" % (key,)
-
-env_vars = Variables(
- args=ARGUMENTS
-)
-
-env_vars.Add('prefix',
- help='Installation target location of build results and headers',
- default='/usr/local/',
- validator=isAbsolutePath
-)
-
-env=Environment(ENV=os.environ, variables=env_vars, CPPPATH=[],
- CPPDEFINES=['SAW_UNIX'],
- CXXFLAGS=['-std=c++20','-g','-Wall','-Wextra'],
- LIBS=['forstio-core'])
-env.__class__.add_source_files = add_kel_source_files
-env.Tool('compilation_db');
-env.cdb = env.CompilationDatabase('compile_commands.json');
-
-env.objects = [];
-env.sources = [];
-env.headers = [];
-env.targets = [];
-
-Export('env')
-SConscript('SConscript')
-
-env.Alias('cdb', env.cdb);
-env.Alias('all', [env.targets]);
-env.Default('all');
-
-env.Alias('install', '$prefix')
diff --git a/c++/test/suite.cpp b/c++/test/suite.cpp
deleted file mode 100644
index 0fca8f9..0000000
--- a/c++/test/suite.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-#include "suite.h"
-
-#include <map>
-#include <string>
-#include <chrono>
-#include <iostream>
-
-namespace saw {
-namespace test {
- test_case* testCaseHead = nullptr;
- test_case** testCaseTail = &testCaseHead;
-
- test_case::test_case(const std::string& file_, uint line_, const std::string& description_):
- file{file_},
- line{line_},
- description{description_},
- matched_filter{false},
- next{nullptr},
- prev{testCaseTail}
- {
- *prev = this;
- testCaseTail = &next;
- }
-
- test_case::~test_case(){
- *prev = next;
- if( next == nullptr ){
- testCaseTail = prev;
- }else{
- next->prev = prev;
- }
- }
-
- class test_runner {
- private:
- enum Colour {
- RED,
- GREEN,
- BLUE,
- WHITE
- };
-
- void write(Colour colour, const std::string& front, const std::string& message){
- std::string start_col, end_col;
- switch(colour){
- case RED: start_col = "\033[0;1;31m"; break;
- case GREEN: start_col = "\033[0;1;32m"; break;
- case BLUE: start_col = "\033[0;1;34m"; break;
- case WHITE: start_col = "\033[0m"; break;
- }
- end_col = "\033[0m";
- std::cout<<start_col<<front<<end_col<<message<<'\n';
- }
- public:
- void allowAll(){
- for(test_case* testCase = testCaseHead; testCase != nullptr; testCase = testCase->next){
- testCase->matched_filter = true;
- }
- }
-
- int run() {
- size_t passed_count = 0;
- size_t failed_count = 0;
-
- for(test_case* testCase = testCaseHead; testCase != nullptr; testCase =testCase->next){
- if(testCase->matched_filter){
- std::string name = testCase->file + std::string(":") + std::to_string(testCase->line) + std::string(": ") + testCase->description;
- write(BLUE, "[ TEST ] ", name);
- bool failed = true;
- std::string fail_message;
- auto start_clock = std::chrono::steady_clock::now();
- try {
- testCase->run();
- failed = false;
- }catch(std::exception& e){
- fail_message = e.what();
- failed = true;
- }
- auto stop_clock = std::chrono::steady_clock::now();
-
- auto runtime_duration_intern = stop_clock - start_clock;
- auto runtime_duration = std::chrono::duration_cast<std::chrono::microseconds>(runtime_duration_intern);
- std::string message = name + std::string(" (") + std::to_string(runtime_duration.count()) + std::string(" µs)");
- if(failed){
- write(RED, "[ FAIL ] ", message + " " + fail_message);
- ++failed_count;
- }else{
- write(GREEN, "[ PASS ] ", message);
- ++passed_count;
- }
- }
- }
-
- if(passed_count>0) write(GREEN, std::to_string(passed_count) + std::string(" test(s) passed"), "");
- if(failed_count>0) write(RED, std::to_string(failed_count) + std::string(" test(s) failed"), "");
- return -failed_count;
- }
- };
-}
-}
-
-int main() {
- saw::test::test_runner runner;
- runner.allowAll();
- int rv = runner.run();
- return rv<0?-1:0;
-}
diff --git a/c++/test/suite.h b/c++/test/suite.h
deleted file mode 100644
index 34f29bf..0000000
--- a/c++/test/suite.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#pragma once
-
-#include <string>
-#include <memory>
-#include <stdexcept>
-#include <type_traits>
-
-#include <forstio/core/common.h>
-
-namespace saw {
-namespace test {
-class test_runner;
-class test_case {
-private:
- std::string file;
- uint line;
- std::string description;
- bool matched_filter;
- test_case* next;
- test_case** prev;
-
- friend class test_runner;
-public:
- test_case(const std::string& file_, uint line_, const std::string& description_);
- ~test_case();
-
- virtual void run() = 0;
-};
-}
-}
-#define SAW_TEST(description) \
- class SAW_UNIQUE_NAME(test_case) : public ::saw::test::test_case { \
- public: \
- SAW_UNIQUE_NAME(test_case)(): ::saw::test::test_case(__FILE__,__LINE__,description) {} \
- void run() override; \
- }SAW_UNIQUE_NAME(test_case_); \
- void SAW_UNIQUE_NAME(test_case)::run()
-
-#define SAW_EXPECT(expr, msg_split) \
- if( ! (expr) ){ \
- auto msg = msg_split; \
- throw std::runtime_error{std::string{msg}};\
- }