+ Catch2 as Unit Test Framework
+ Demo Unit Test + README + LICENCE + CHANGELOG
This commit is contained in:
parent
6be9e2af46
commit
5251322d35
13
.gitignore
vendored
13
.gitignore
vendored
@ -1,4 +1,15 @@
|
|||||||
|
# Editors & IDEs
|
||||||
cmake-build-*/
|
cmake-build-*/
|
||||||
build/
|
|
||||||
.idea/
|
.idea/
|
||||||
|
*.iml
|
||||||
.vs/
|
.vs/
|
||||||
|
|
||||||
|
# CMake
|
||||||
|
CMakeFiles
|
||||||
|
CmakeCache.txt
|
||||||
|
|
||||||
|
|
||||||
|
bin/
|
||||||
|
lib/
|
||||||
|
include/
|
||||||
|
build/
|
33
CHANGELOG.md
Normal file
33
CHANGELOG.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
- Continuous Integration
|
||||||
|
|
||||||
|
## [0.0.1] - 2019-10-24
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
### Deprecated
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
### Security
|
||||||
|
|
||||||
|
## [0.0.0] - 2019-10-17
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- README
|
||||||
|
- LICENCE
|
||||||
|
- CMake configuration
|
@ -1,20 +1,37 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
|
|
||||||
|
if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
|
||||||
|
message(FATAL_ERROR "In-source builds are disabled.
|
||||||
|
Please create a subfolder called build and use `cmake ..` inside it.
|
||||||
|
NOTE: cmake will now create CMakeCache.txt and CMakeFiles/*.
|
||||||
|
You must delete them, or cmake will refuse to work.")
|
||||||
|
endif()
|
||||||
|
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "bin" "doc" "CMakeFiles" "lib" "include")
|
||||||
|
|
||||||
project(library)
|
project(library)
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
|
|
||||||
file(GLOB_RECURSE SOURCES src/*.cpp)
|
file(GLOB_RECURSE SOURCES src/*.cpp)
|
||||||
file(GLOB_RECURSE HEADERS src/*.h)
|
file(GLOB_RECURSE HEADERS src/*.h)
|
||||||
|
file(GLOB_RECURSE TESTS test/*.cpp)
|
||||||
include_directories(src)
|
include_directories(src)
|
||||||
|
include_directories(test)
|
||||||
|
|
||||||
add_library(library ${SOURCES} ${HEADERS})
|
add_library(library ${SOURCES} ${HEADERS})
|
||||||
|
|
||||||
file(COPY "${CMAKE_SOURCE_DIR}/src/"
|
file(COPY "${CMAKE_SOURCE_DIR}/src/"
|
||||||
DESTINATION "${CMAKE_SOURCE_DIR}/build/include"
|
DESTINATION "${CMAKE_SOURCE_DIR}/include"
|
||||||
FILES_MATCHING
|
FILES_MATCHING
|
||||||
PATTERN *.h
|
PATTERN *.h
|
||||||
)
|
)
|
||||||
|
|
||||||
file(COPY "${CMAKE_BINARY_DIR}/"
|
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib)
|
||||||
DESTINATION "${CMAKE_SOURCE_DIR}/build/lib"
|
|
||||||
FILES_MATCHING
|
enable_testing()
|
||||||
PATTERN *.a
|
find_package(Catch2 REQUIRED)
|
||||||
)
|
add_executable(UnitTests test/test_main.cpp ${SOURCES} ${HEADERS} ${TESTS})
|
||||||
|
target_link_libraries(UnitTests Catch2::Catch2)
|
||||||
|
|
||||||
|
include(CTest)
|
||||||
|
include(Catch)
|
||||||
|
catch_discover_tests(UnitTests)
|
29
LICENSE
Normal file
29
LICENSE
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
BSD 3-Clause License
|
||||||
|
|
||||||
|
Copyright (c) 2019, Projektgruppe vKVM WS 2019
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
* Neither the name of the copyright holder nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived from
|
||||||
|
this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
24
README.md
Normal file
24
README.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# vKVM Library
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
Use the installation script provided in the Scripts repository
|
||||||
|
to install the full package.
|
||||||
|
|
||||||
|
Installing a single component is currently not supported.
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
|
||||||
|
Include this library with
|
||||||
|
|
||||||
|
```
|
||||||
|
set(LIB_PATH "${CMAKE_SOURCE_DIR}/../library")
|
||||||
|
|
||||||
|
include_directories(${LIB_PATH}/include)
|
||||||
|
add_executable(your_client ${SOURCES} ${HEADERS})
|
||||||
|
|
||||||
|
target_link_libraries(your_client ${LIB_PATH}/lib/liblibrary.a)
|
||||||
|
```
|
||||||
|
in your CMakeLists.
|
||||||
|
|
||||||
|
More documentation coming soon.
|
@ -1,7 +1,3 @@
|
|||||||
//
|
|
||||||
// Copyright (c) 2019 Julian Hinxlage. All rights reserved.
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "add.h"
|
#include "add.h"
|
||||||
|
|
||||||
int add(int a, int b){
|
int add(int a, int b){
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
//
|
|
||||||
// Copyright (c) 2019 Julian Hinxlage. All rights reserved.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef LIBRARY_ADD_H
|
#ifndef LIBRARY_ADD_H
|
||||||
#define LIBRARY_ADD_H
|
#define LIBRARY_ADD_H
|
||||||
|
|
||||||
int add(int a, int b);
|
int add(int a, int b);
|
||||||
|
|
||||||
#endif //LIBRARY_ADD_H
|
#endif
|
||||||
|
11
test/add_test.cpp
Normal file
11
test/add_test.cpp
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#include <catch2/catch.hpp>
|
||||||
|
#include "../src/add.h"
|
||||||
|
|
||||||
|
TEST_CASE("add works") {
|
||||||
|
SECTION("equals") {
|
||||||
|
REQUIRE(add(2, 2) == 4);
|
||||||
|
}
|
||||||
|
SECTION("not equals") {
|
||||||
|
REQUIRE(add(2, 2) != 5);
|
||||||
|
}
|
||||||
|
}
|
6
test/test_main.cpp
Normal file
6
test/test_main.cpp
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#define CATCH_CONFIG_MAIN
|
||||||
|
|
||||||
|
#include <catch2/catch.hpp>
|
||||||
|
|
||||||
|
//Dont touch this file.
|
||||||
|
// add your own tests in this directory according to https://github.com/catchorg/Catch2/blob/master/docs/tutorial.md
|
Loading…
Reference in New Issue
Block a user