move to cmake

This commit is contained in:
2024-06-03 09:59:35 -05:00
parent d1c056e734
commit 087f132a32
41 changed files with 558 additions and 367 deletions

20
test/CMakeLists.txt Normal file
View File

@@ -0,0 +1,20 @@
enable_testing()
find_package(GTest REQUIRED)
add_executable(dtl_test
test/Intdifftest.cpp
test/Objdifftest.cpp
test/Patchtest.cpp
test/Strdiff3test.cpp
test/Strdifftest.cpp
test/dtl_test.cpp
test/dtl_test_common.cpp
)
target_include_directories(dtl_test BEFORE PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/test
)
target_link_libraries(dtl_test GTest::gtest GTest::gtest_main)
add_test(AllTests dtl_test)

View File

@@ -1,6 +1,7 @@
#include "comparators.hpp"
#include "dtl_test_common.hpp"
#include "comparators.hpp"
class Objdifftest : public ::testing::Test {
protected:
dtl_test_typedefs(string, vector<elem>) typedef struct case_t {

View File

@@ -1,40 +0,0 @@
# -*- coding: utf-8 -*-
# SConstrunct for dtl test
import os
def path_chomp(path):
if path[-1] == '/':
return path[:-1]
return path
env = Environment(
CPPFLAGS=['-Wall', '-O2'],
CPPPATH=['..'],
CXXFLAGS="-std=c++11",
)
conf = Configure(env)
if not conf.CheckCXX():
print("c++ compiler is not installed!")
Exit(1)
libs = ['stdc++', 'pthread', 'gtest']
for lib in libs:
if not conf.CheckLib(lib):
print("library " + lib + " not installed!")
Exit(1)
conf.Finish()
test = env.Program(
'dtl_test',
[Glob('*.cpp')],
)
test_alias = env.Alias('check', test, test[0].abspath)
env.AlwaysBuild(test_alias)

View File

@@ -1,6 +1,7 @@
#include "comparators.hpp"
#include "dtl_test_common.hpp"
#include "comparators.hpp"
class Strdiff3test : public ::testing::Test {
protected:
dtl_test_typedefs(char, string) typedef struct case_t {

View File

@@ -1,6 +1,7 @@
#include "comparators.hpp"
#include "dtl_test_common.hpp"
#include "comparators.hpp"
class Strdifftest : public ::testing::Test {
protected:
dtl_test_typedefs(char, string) typedef struct case_t {

View File

@@ -1,16 +1,18 @@
#ifndef DTL_COMPARATORS
#define DTL_COMPARATORS
#include "functors.hpp"
class CaseInsensitive : public dtl::Compare<char> {
public:
virtual bool impl(const char &a, const char &b) const {
return tolower(a) == tolower(b);
return std::tolower(a) == std::tolower(b);
}
};
class StringCaseInsensitive : public dtl::Compare<string> {
class StringCaseInsensitive : public dtl::Compare<std::string> {
public:
virtual bool impl(const string &a, const string &b) const {
virtual bool impl(const std::string &a, const std::string &b) const {
if (a.length() == b.length()) {
bool equal = (strncasecmp(a.c_str(), b.c_str(), a.length()) == 0);
return equal;

View File

@@ -1,8 +1,4 @@
/**
* It is necessary to use googletest to run tests.
*/
#include <gtest/gtest.h>
#include "dtl_test_common.hpp"
int main(int argc, char *argv[]) {
::testing::InitGoogleTest(&argc, argv);

View File

@@ -1,4 +1,3 @@
#include "dtl_test_common.hpp"
string create_path(const string &test_name, string diff_name, enum type_diff t,

View File

@@ -1,15 +1,9 @@
#ifndef DTL_TEST_COMMON
#define DTL_TEST_COMMON
#include <cstdio>
#include <dtl/dtl.hpp>
#include <fstream>
#include <gtest/gtest.h>
#include <iostream>
#include <string>
#include <utility>
#include <vector>
#include "dtl.hpp"
using std::cerr;
using std::endl;