Added unit tests (catch based)
This commit is contained in:
		
							
								
								
									
										12
									
								
								tests/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								tests/Makefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
				
			|||||||
 | 
					CXX	?= g++
 | 
				
			||||||
 | 
					CXXFLAGS	=  -D_WIN32_WINNT=0x600 -march=native -Wall -Wextra -Wshadow -pedantic -std=c++11 -pthread -Wl,--no-as-needed  -I../include 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					all: %.cpp
 | 
				
			||||||
 | 
					    $(CXX) $^ -o tests $(CXXFLAGS) $(CXX_RELEASE_FLAGS)    
 | 
				
			||||||
 | 
					clean:
 | 
				
			||||||
 | 
					    rm -f tests *.o logs/*     
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					rebuild: clean all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										9427
									
								
								tests/catch.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9427
									
								
								tests/catch.hpp
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										136
									
								
								tests/file_log.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								tests/file_log.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,136 @@
 | 
				
			|||||||
 | 
					#include "includes.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static std::string file_contents(const std::string& filename)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    std::ifstream ifs(filename);
 | 
				
			||||||
 | 
					    if (!ifs)
 | 
				
			||||||
 | 
					        throw std::exception("Failed open file ");
 | 
				
			||||||
 | 
					    return std::string((std::istreambuf_iterator<char>(ifs)),
 | 
				
			||||||
 | 
					                       (std::istreambuf_iterator<char>()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static std::size_t count_lines(const std::string& filename)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    std::ifstream ifs(filename);
 | 
				
			||||||
 | 
					    if (!ifs)
 | 
				
			||||||
 | 
					        throw std::exception("Failed open file ");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    std::string line;
 | 
				
			||||||
 | 
					    size_t counter = 0;
 | 
				
			||||||
 | 
					    while(std::getline(ifs, line))
 | 
				
			||||||
 | 
					        counter++;
 | 
				
			||||||
 | 
					    return counter;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					std::ifstream::pos_type filesize(const std::string& filename)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    std::ifstream ifs(filename, std::ifstream::ate | std::ifstream::binary);
 | 
				
			||||||
 | 
					    if (!ifs)
 | 
				
			||||||
 | 
					        throw std::exception("Failed open file ");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return ifs.tellg();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static void delete_logs()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    spdlog::drop_all();
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					    system("del /F /Q logs\\*");
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					    system("rm -f logs/*");
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("simple_file_logger", "[simple_logger]]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    delete_logs();
 | 
				
			||||||
 | 
					    std::string filename = "logs/simple_log.txt";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    auto logger = spdlog::create<spdlog::sinks::simple_file_sink_mt>("logger", filename);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    REQUIRE_THROWS_AS(
 | 
				
			||||||
 | 
					        auto logger = spdlog::create<spdlog::sinks::simple_file_sink_mt>("logger2", filename);
 | 
				
			||||||
 | 
					        , spdlog::spdlog_ex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    logger->set_pattern("%v");
 | 
				
			||||||
 | 
					    logger->info("Test message {}", 1);
 | 
				
			||||||
 | 
					    logger->info("Test message {}", 2);
 | 
				
			||||||
 | 
					    logger->flush();
 | 
				
			||||||
 | 
					    REQUIRE(file_contents(filename) == std::string("Test message 1\nTest message 2\n"));
 | 
				
			||||||
 | 
					    REQUIRE(count_lines(filename) == 2);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("rotating_file_logger1", "[rotating_logger]]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    delete_logs();
 | 
				
			||||||
 | 
					    std::string basename = "logs/rotating_log";
 | 
				
			||||||
 | 
					    auto logger = spdlog::rotating_logger_mt("logger", basename, 1024, 0, true);
 | 
				
			||||||
 | 
					    for (int i = 0; i < 10; ++i)
 | 
				
			||||||
 | 
					        logger->info("Test message {}", i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    auto filename = basename + ".txt";
 | 
				
			||||||
 | 
					    REQUIRE(count_lines(filename) == 10);
 | 
				
			||||||
 | 
					    for (int i = 0; i < 1000; i++)
 | 
				
			||||||
 | 
					        logger->info("Test message {}", i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("rotating_file_logger2", "[rotating_logger]]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    delete_logs();
 | 
				
			||||||
 | 
					    std::string basename = "logs/rotating_log";
 | 
				
			||||||
 | 
					    auto logger = spdlog::rotating_logger_mt("logger", basename, 1024, 1, false);
 | 
				
			||||||
 | 
					    for (int i = 0; i < 10; ++i)
 | 
				
			||||||
 | 
					        logger->info("Test message {}", i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    logger->flush();
 | 
				
			||||||
 | 
					    auto filename = basename + ".txt";
 | 
				
			||||||
 | 
					    REQUIRE(count_lines(filename) == 10);
 | 
				
			||||||
 | 
					    for (int i = 0; i < 1000; i++)
 | 
				
			||||||
 | 
					        logger->info("Test message {}", i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    logger->flush();
 | 
				
			||||||
 | 
					    REQUIRE(filesize(filename) <= 1024);
 | 
				
			||||||
 | 
					    auto filename1 = basename + ".1.txt";
 | 
				
			||||||
 | 
					    REQUIRE(filesize(filename1) <= 1024);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("daily_logger", "[daily_logger]]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    delete_logs();
 | 
				
			||||||
 | 
					    //calculate filename (time based)
 | 
				
			||||||
 | 
					    std::string basename = "logs/daily_log";
 | 
				
			||||||
 | 
					    std::tm tm = spdlog::details::os::localtime();
 | 
				
			||||||
 | 
					    fmt::MemoryWriter w;
 | 
				
			||||||
 | 
					    w.write("{}_{:04d}-{:02d}-{:02d}_{:02d}-{:02d}.txt", basename, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    auto logger = spdlog::daily_logger_mt("logger", basename, 0, 0, true);
 | 
				
			||||||
 | 
					    for (int i = 0; i < 10; ++i)
 | 
				
			||||||
 | 
					        logger->info("Test message {}", i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    auto filename = w.str();
 | 
				
			||||||
 | 
					    REQUIRE(count_lines(filename) == 10);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										87
									
								
								tests/format.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								tests/format.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					#include "includes.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					template<class T>
 | 
				
			||||||
 | 
					std::string log_info(const T& what, spdlog::level::level_enum logger_level = spdlog::level::info) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    std::ostringstream oss;
 | 
				
			||||||
 | 
					    auto oss_sink = std::make_shared<spdlog::sinks::ostream_sink_mt>(oss);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    spdlog::logger oss_logger("oss", oss_sink);
 | 
				
			||||||
 | 
					    oss_logger.set_level(logger_level);
 | 
				
			||||||
 | 
					    oss_logger.set_pattern("%v");
 | 
				
			||||||
 | 
					    oss_logger.info() << what;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //strip last eol and return the logged string
 | 
				
			||||||
 | 
					    auto eol_size = strlen(spdlog::details::os::eol());
 | 
				
			||||||
 | 
					    return oss.str().substr(0, oss.str().length() - eol_size);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//User defined class with operator<<
 | 
				
			||||||
 | 
					struct some_logged_class
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    some_logged_class(const std::string val) :value(val) {};
 | 
				
			||||||
 | 
					    std::string value;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					std::ostream& operator<<(std::ostream& os, const some_logged_class& c) {
 | 
				
			||||||
 | 
					    return os << c.value;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("basic_logging ", "[basic_logging]") {
 | 
				
			||||||
 | 
					    //const char
 | 
				
			||||||
 | 
					    REQUIRE(log_info("Hello") == "Hello");
 | 
				
			||||||
 | 
					    REQUIRE(log_info("") == "");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //std::string
 | 
				
			||||||
 | 
					    REQUIRE(log_info(std::string("Hello")) == "Hello");
 | 
				
			||||||
 | 
					    REQUIRE(log_info(std::string()) == std::string());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //Numbers
 | 
				
			||||||
 | 
					    REQUIRE(log_info(5) == "5");
 | 
				
			||||||
 | 
					    REQUIRE(log_info(5.6) == "5.6");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //User defined class
 | 
				
			||||||
 | 
					    REQUIRE(log_info(some_logged_class("some_val")) == "some_val");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("log_levels", "[log_levels]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    REQUIRE(log_info("Hello", spdlog::level::err) == "");
 | 
				
			||||||
 | 
					    REQUIRE(log_info("Hello", spdlog::level::critical) == "");
 | 
				
			||||||
 | 
					    REQUIRE(log_info("Hello", spdlog::level::emerg) == "");
 | 
				
			||||||
 | 
					    REQUIRE(log_info("Hello", spdlog::level::alert) == "");
 | 
				
			||||||
 | 
					    REQUIRE(log_info("Hello", spdlog::level::info) == "Hello");
 | 
				
			||||||
 | 
					    REQUIRE(log_info("Hello", spdlog::level::debug) == "Hello");
 | 
				
			||||||
 | 
					    REQUIRE(log_info("Hello", spdlog::level::trace) == "Hello");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("invalid_format", "[format]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    using namespace spdlog::sinks;
 | 
				
			||||||
 | 
					    spdlog::logger null_logger("null_logger", std::make_shared<null_sink_st>());
 | 
				
			||||||
 | 
					    REQUIRE_THROWS_AS(
 | 
				
			||||||
 | 
					        null_logger.info("{} {}", "first"),
 | 
				
			||||||
 | 
					        spdlog::spdlog_ex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    REQUIRE_THROWS_AS(
 | 
				
			||||||
 | 
					        null_logger.info("{0:f}", "aads"),
 | 
				
			||||||
 | 
					        spdlog::spdlog_ex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    REQUIRE_THROWS_AS(
 | 
				
			||||||
 | 
					        null_logger.info("{0:kk}", 123),
 | 
				
			||||||
 | 
					        spdlog::spdlog_ex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								tests/includes.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tests/includes.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <cstdio>
 | 
				
			||||||
 | 
					#include <fstream>
 | 
				
			||||||
 | 
					#include <string>
 | 
				
			||||||
 | 
					#include <ostream>
 | 
				
			||||||
 | 
					#include <chrono>
 | 
				
			||||||
 | 
					#include "catch.hpp"
 | 
				
			||||||
 | 
					#include "../include/spdlog/spdlog.h"
 | 
				
			||||||
 | 
					#include "../include/spdlog/sinks/null_sink.h"
 | 
				
			||||||
							
								
								
									
										0
									
								
								tests/logs/placeholder.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								tests/logs/placeholder.txt
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										2
									
								
								tests/main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								tests/main.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					#define CATCH_CONFIG_MAIN
 | 
				
			||||||
 | 
					#include "catch.hpp"
 | 
				
			||||||
							
								
								
									
										53
									
								
								tests/registry.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								tests/registry.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					#include "includes.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static const char *logger_name = "null_logger";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("register_drop", "[registry]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    spdlog::drop_all();
 | 
				
			||||||
 | 
					    spdlog::create<spdlog::sinks::null_sink_mt>(logger_name);
 | 
				
			||||||
 | 
					    REQUIRE(spdlog::get(logger_name)!=nullptr);
 | 
				
			||||||
 | 
					    //Throw if registring existing name
 | 
				
			||||||
 | 
					    REQUIRE_THROWS_AS(spdlog::create<spdlog::sinks::null_sink_mt>(logger_name), spdlog::spdlog_ex);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("explicit register" "[registry]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    spdlog::drop_all();
 | 
				
			||||||
 | 
					    auto logger = std::make_shared<spdlog::logger>(logger_name, std::make_shared<spdlog::sinks::null_sink_st>());
 | 
				
			||||||
 | 
					    spdlog::register_logger(logger);
 | 
				
			||||||
 | 
					    REQUIRE(spdlog::get(logger_name) != nullptr);
 | 
				
			||||||
 | 
					    //Throw if registring existing name
 | 
				
			||||||
 | 
					    REQUIRE_THROWS_AS(spdlog::create<spdlog::sinks::null_sink_mt>(logger_name), spdlog::spdlog_ex);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("drop" "[registry]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    spdlog::drop_all();
 | 
				
			||||||
 | 
					    spdlog::create<spdlog::sinks::null_sink_mt>(logger_name);
 | 
				
			||||||
 | 
					    spdlog::drop(logger_name);
 | 
				
			||||||
 | 
					    REQUIRE_FALSE(spdlog::get(logger_name));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("drop_all" "[registry]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    spdlog::drop_all();
 | 
				
			||||||
 | 
					    spdlog::create<spdlog::sinks::null_sink_mt>(logger_name);
 | 
				
			||||||
 | 
					    spdlog::create<spdlog::sinks::null_sink_mt>("name2");
 | 
				
			||||||
 | 
					    spdlog::drop_all();
 | 
				
			||||||
 | 
					    REQUIRE_FALSE(spdlog::get(logger_name));
 | 
				
			||||||
 | 
					    REQUIRE_FALSE(spdlog::get("name2"));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_CASE("drop non existing" "[registry]")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    spdlog::drop_all();
 | 
				
			||||||
 | 
					    spdlog::create<spdlog::sinks::null_sink_mt>(logger_name);
 | 
				
			||||||
 | 
					    spdlog::drop("some_name");
 | 
				
			||||||
 | 
					    REQUIRE_FALSE(spdlog::get("some_name"));
 | 
				
			||||||
 | 
					    REQUIRE(spdlog::get(logger_name));
 | 
				
			||||||
 | 
					    spdlog::drop_all();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										89
									
								
								tests/tests.vcxproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								tests/tests.vcxproj
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,89 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <ItemGroup Label="ProjectConfigurations">
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Debug|Win32">
 | 
				
			||||||
 | 
					      <Configuration>Debug</Configuration>
 | 
				
			||||||
 | 
					      <Platform>Win32</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					    <ProjectConfiguration Include="Release|Win32">
 | 
				
			||||||
 | 
					      <Configuration>Release</Configuration>
 | 
				
			||||||
 | 
					      <Platform>Win32</Platform>
 | 
				
			||||||
 | 
					    </ProjectConfiguration>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClCompile Include="file_log.cpp" />
 | 
				
			||||||
 | 
					    <ClCompile Include="format.cpp" />
 | 
				
			||||||
 | 
					    <ClCompile Include="main.cpp" />
 | 
				
			||||||
 | 
					    <ClCompile Include="registry.cpp" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClInclude Include="catch.hpp" />
 | 
				
			||||||
 | 
					    <ClInclude Include="includes.h" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Label="Globals">
 | 
				
			||||||
 | 
					    <ProjectGuid>{1274FDEC-109A-45DF-8AEC-E3334C3A925F}</ProjectGuid>
 | 
				
			||||||
 | 
					    <RootNamespace>tests</RootNamespace>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>true</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v120</PlatformToolset>
 | 
				
			||||||
 | 
					    <CharacterSet>MultiByte</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
 | 
				
			||||||
 | 
					    <ConfigurationType>Application</ConfigurationType>
 | 
				
			||||||
 | 
					    <UseDebugLibraries>false</UseDebugLibraries>
 | 
				
			||||||
 | 
					    <PlatformToolset>v120</PlatformToolset>
 | 
				
			||||||
 | 
					    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
				
			||||||
 | 
					    <CharacterSet>MultiByte</CharacterSet>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
				
			||||||
 | 
					  <ImportGroup Label="ExtensionSettings">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Label="UserMacros" />
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					    <OutDir>$(ProjectDir)</OutDir>
 | 
				
			||||||
 | 
					    <IntDir>$(ProjectDir)\$(Configuration-obj)\</IntDir>
 | 
				
			||||||
 | 
					    <TargetName>$(ProjectName)-debug</TargetName>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					    <OutDir>$(ProjectDir)</OutDir>
 | 
				
			||||||
 | 
					    <IntDir>$(ProjectDir)\$(Configuration)-obj\</IntDir>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <Optimization>Disabled</Optimization>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					    <ClCompile>
 | 
				
			||||||
 | 
					      <WarningLevel>Level3</WarningLevel>
 | 
				
			||||||
 | 
					      <Optimization>MaxSpeed</Optimization>
 | 
				
			||||||
 | 
					      <FunctionLevelLinking>true</FunctionLevelLinking>
 | 
				
			||||||
 | 
					      <IntrinsicFunctions>true</IntrinsicFunctions>
 | 
				
			||||||
 | 
					      <SDLCheck>true</SDLCheck>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <Link>
 | 
				
			||||||
 | 
					      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
				
			||||||
 | 
					      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
				
			||||||
 | 
					      <OptimizeReferences>true</OptimizeReferences>
 | 
				
			||||||
 | 
					      <SubSystem>Console</SubSystem>
 | 
				
			||||||
 | 
					    </Link>
 | 
				
			||||||
 | 
					  </ItemDefinitionGroup>
 | 
				
			||||||
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
				
			||||||
 | 
					  <ImportGroup Label="ExtensionTargets">
 | 
				
			||||||
 | 
					  </ImportGroup>
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										16
									
								
								tests/tests.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								tests/tests.vcxproj.filters
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <Filter Include="Headers">
 | 
				
			||||||
 | 
					      <UniqueIdentifier>{9e4e82c2-35fe-4707-a66a-5cc069b44224}</UniqueIdentifier>
 | 
				
			||||||
 | 
					    </Filter>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ClInclude Include="catch.hpp">
 | 
				
			||||||
 | 
					      <Filter>Headers</Filter>
 | 
				
			||||||
 | 
					    </ClInclude>
 | 
				
			||||||
 | 
					    <ClInclude Include="includes.h">
 | 
				
			||||||
 | 
					      <Filter>Headers</Filter>
 | 
				
			||||||
 | 
					    </ClInclude>
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user