diff options
| author | Claudius Holeksa <mail@keldu.de> | 2023-05-10 11:42:47 +0200 |
|---|---|---|
| committer | Claudius Holeksa <mail@keldu.de> | 2023-05-10 11:42:47 +0200 |
| commit | e8778aba27e0737b4212d4b5fca9af531b975d40 (patch) | |
| tree | 0f1cfc1ccbfa8bb2b72582071803453b6d5c222d | |
| parent | ffc0a775ce95d08ad6fa3f45cf2d100901466c1b (diff) | |
| download | mini-test-e8778aba27e0737b4212d4b5fca9af531b975d40.tar.gz | |
Fixed an issue with incomplete compilation flags. Confirmed functionality by building an example
| -rw-r--r-- | Makefile | 6 | ||||
| -rw-r--r-- | example/.nix/derivation.nix | 25 | ||||
| -rw-r--r-- | example/Makefile | 16 | ||||
| -rw-r--r-- | example/default.nix | 8 | ||||
| -rw-r--r-- | example/example.cpp | 41 |
5 files changed, 93 insertions, 3 deletions
@@ -6,8 +6,8 @@ all: build/libkeltest.a build/libkeltest.a: mkdir -p ./build - c++ -std=c++17 -DKELTEST_COMPILE_TEST_BINARY src/keltest/test.cpp -o build/test.o - ar q build/libkeltest.a build/test.o + c++ -std=c++17 -DKELTEST_COMPILE_TEST_BINARY src/keltest/test.cpp -c -o build/test.o + ar rcs build/libkeltest.a build/test.o clean: rm -rf ./build @@ -16,4 +16,4 @@ install: build/libkeltest.a mkdir -p ${PREFIX}/lib mkdir -p ${PREFIX}/include/keltest cp build/libkeltest.a ${PREFIX}/lib/libkeltest.a - cp src/keltest/test.h ${PREFIX}/include/keltest/test.h + cp src/keltest/*.h ${PREFIX}/include/keltest/ diff --git a/example/.nix/derivation.nix b/example/.nix/derivation.nix new file mode 100644 index 0000000..763dc46 --- /dev/null +++ b/example/.nix/derivation.nix @@ -0,0 +1,25 @@ +{ lib +, stdenvNoCC +, clang +, gnumake +, kel-test +}: + +stdenvNoCC.mkDerivation { + pname = "kel-test-example"; + version = "0.0.0"; + + src = ./..; + + nativeBuildInputs = [ + clang + gnumake + kel-test + ]; + + installPhase = '' + PREFIX=$out make install + ''; + + output = [ "out" ]; +} diff --git a/example/Makefile b/example/Makefile new file mode 100644 index 0000000..408b2f3 --- /dev/null +++ b/example/Makefile @@ -0,0 +1,16 @@ +.PHONY: all clean + +PREFIX ?= /usr/local + +all: build/example + +build/example: + mkdir -p ./build + c++ -std=c++17 -lkeltest example.cpp -o build/example + +clean: + rm -rf ./build + +install: build/example + mkdir -p ${PREFIX}/bin + cp build/example ${PREFIX}/bin/example diff --git a/example/default.nix b/example/default.nix new file mode 100644 index 0000000..2c84988 --- /dev/null +++ b/example/default.nix @@ -0,0 +1,8 @@ +{ pkgs ? import <nixpkgs> {} +}: + +let + kel-test = pkgs.callPackage ./../.nix/derivation.nix {}; +in pkgs.callPackage ./.nix/derivation.nix { + inherit kel-test; +} diff --git a/example/example.cpp b/example/example.cpp new file mode 100644 index 0000000..6616c9f --- /dev/null +++ b/example/example.cpp @@ -0,0 +1,41 @@ +/** +Copyright (C) 2023 Claudius "keldu" Holeksa + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as +published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <https://www.gnu.org/licenses/>. +*/ +#include <keltest/test.h> + +#include <string> + +std::string greet(const std::string& val){ + return val; +} + +namespace { +KEL_TEST("Greeting"){ + std::string hello = "hello"; + + std::string answer = greet(hello); + + KEL_EXPECT(answer == "hello", "Person did not reply with a hello"); +} + +KEL_TEST("Weird Greeting"){ + std::string hello = "How are you?"; + + std::string answer = greet(hello); + + KEL_EXPECT(answer == "Fine. How are you?", "Person did not reply with an expected answer"); +} +} |
