summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2020-05-11 10:44:07 +0100
committerEdward Thomson <ethomson@edwardthomson.com>2020-06-05 07:14:25 +0100
commitffc944cd60c4f7fa3e05934448355dc46bfa5d6c (patch)
tree1160eba645b1ab5a159a735a8664c1af07b4d530
parent80c65b2b80e331424f71b87fee795ea1e8c7f21b (diff)
downloadlibgit2-ffc944cd60c4f7fa3e05934448355dc46bfa5d6c.tar.gz
refactor source tree: move clar to common directory
Other subsystems (like libgit2client) likely want to add testing. Move clar into its own directory so that it can be reused and not duplicated.
-rw-r--r--tests/clar/clar.c (renamed from tests/libgit2/clar.c)0
-rw-r--r--tests/clar/clar.h (renamed from tests/libgit2/clar.h)0
-rw-r--r--tests/clar/clar/fixtures.h (renamed from tests/libgit2/clar/fixtures.h)0
-rw-r--r--tests/clar/clar/fs.h (renamed from tests/libgit2/clar/fs.h)0
-rw-r--r--tests/clar/clar/print.h (renamed from tests/libgit2/clar/print.h)0
-rw-r--r--tests/clar/clar/sandbox.h (renamed from tests/libgit2/clar/sandbox.h)0
-rw-r--r--tests/clar/clar/summary.h (renamed from tests/libgit2/clar/summary.h)0
-rw-r--r--tests/clar/clar_libgit2.c (renamed from tests/libgit2/clar_libgit2.c)0
-rw-r--r--tests/clar/clar_libgit2.h (renamed from tests/libgit2/clar_libgit2.h)3
-rw-r--r--tests/clar/clar_libgit2_timer.c (renamed from tests/libgit2/clar_libgit2_timer.c)0
-rw-r--r--tests/clar/clar_libgit2_timer.h (renamed from tests/libgit2/clar_libgit2_timer.h)0
-rw-r--r--tests/clar/clar_libgit2_trace.c (renamed from tests/libgit2/clar_libgit2_trace.c)0
-rw-r--r--tests/clar/clar_libgit2_trace.h (renamed from tests/libgit2/clar_libgit2_trace.h)0
-rw-r--r--tests/clar/generate.py (renamed from tests/libgit2/generate.py)0
-rw-r--r--tests/clar/main.c (renamed from tests/libgit2/main.c)7
-rw-r--r--tests/libgit2/CMakeLists.txt13
-rw-r--r--tests/libgit2/global.c16
17 files changed, 29 insertions, 10 deletions
diff --git a/tests/libgit2/clar.c b/tests/clar/clar.c
index 69283b86b..69283b86b 100644
--- a/tests/libgit2/clar.c
+++ b/tests/clar/clar.c
diff --git a/tests/libgit2/clar.h b/tests/clar/clar.h
index 20ff4c895..20ff4c895 100644
--- a/tests/libgit2/clar.h
+++ b/tests/clar/clar.h
diff --git a/tests/libgit2/clar/fixtures.h b/tests/clar/clar/fixtures.h
index 77033d365..77033d365 100644
--- a/tests/libgit2/clar/fixtures.h
+++ b/tests/clar/clar/fixtures.h
diff --git a/tests/libgit2/clar/fs.h b/tests/clar/clar/fs.h
index 87d345132..87d345132 100644
--- a/tests/libgit2/clar/fs.h
+++ b/tests/clar/clar/fs.h
diff --git a/tests/libgit2/clar/print.h b/tests/clar/clar/print.h
index 2e2b6202c..2e2b6202c 100644
--- a/tests/libgit2/clar/print.h
+++ b/tests/clar/clar/print.h
diff --git a/tests/libgit2/clar/sandbox.h b/tests/clar/clar/sandbox.h
index 2114819e4..2114819e4 100644
--- a/tests/libgit2/clar/sandbox.h
+++ b/tests/clar/clar/sandbox.h
diff --git a/tests/libgit2/clar/summary.h b/tests/clar/clar/summary.h
index 1af110efa..1af110efa 100644
--- a/tests/libgit2/clar/summary.h
+++ b/tests/clar/clar/summary.h
diff --git a/tests/libgit2/clar_libgit2.c b/tests/clar/clar_libgit2.c
index f588bf493..f588bf493 100644
--- a/tests/libgit2/clar_libgit2.c
+++ b/tests/clar/clar_libgit2.c
diff --git a/tests/libgit2/clar_libgit2.h b/tests/clar/clar_libgit2.h
index 12175c629..6489aa56a 100644
--- a/tests/libgit2/clar_libgit2.h
+++ b/tests/clar/clar_libgit2.h
@@ -6,6 +6,9 @@
#include "common.h"
#include "posix.h"
+extern int git_global_test_init(void);
+extern void git_global_test_shutdown(void);
+
/**
* Replace for `clar_must_pass` that passes the last library error as the
* test failure message.
diff --git a/tests/libgit2/clar_libgit2_timer.c b/tests/clar/clar_libgit2_timer.c
index 737506da2..737506da2 100644
--- a/tests/libgit2/clar_libgit2_timer.c
+++ b/tests/clar/clar_libgit2_timer.c
diff --git a/tests/libgit2/clar_libgit2_timer.h b/tests/clar/clar_libgit2_timer.h
index 0d150e018..0d150e018 100644
--- a/tests/libgit2/clar_libgit2_timer.h
+++ b/tests/clar/clar_libgit2_timer.h
diff --git a/tests/libgit2/clar_libgit2_trace.c b/tests/clar/clar_libgit2_trace.c
index 37e9e038e..37e9e038e 100644
--- a/tests/libgit2/clar_libgit2_trace.c
+++ b/tests/clar/clar_libgit2_trace.c
diff --git a/tests/libgit2/clar_libgit2_trace.h b/tests/clar/clar_libgit2_trace.h
index 09d1e050f..09d1e050f 100644
--- a/tests/libgit2/clar_libgit2_trace.h
+++ b/tests/clar/clar_libgit2_trace.h
diff --git a/tests/libgit2/generate.py b/tests/clar/generate.py
index 931b4d60d..931b4d60d 100644
--- a/tests/libgit2/generate.py
+++ b/tests/clar/generate.py
diff --git a/tests/libgit2/main.c b/tests/clar/main.c
index 00b2bae02..b4a4e0c9b 100644
--- a/tests/libgit2/main.c
+++ b/tests/clar/main.c
@@ -12,11 +12,8 @@ int main(int argc, char *argv[])
clar_test_init(argc, argv);
- res = git_libgit2_init();
- if (res < 0) {
- fprintf(stderr, "failed to init libgit2");
+ if ((res = git_global_test_init()) < 0)
return res;
- }
cl_global_trace_register();
cl_sandbox_set_search_path_defaults();
@@ -27,7 +24,7 @@ int main(int argc, char *argv[])
clar_test_shutdown();
cl_global_trace_disable();
- git_libgit2_shutdown();
+ git_global_test_shutdown();
at_exit_cmd = getenv("CLAR_AT_EXIT");
if (at_exit_cmd != NULL) {
diff --git a/tests/libgit2/CMakeLists.txt b/tests/libgit2/CMakeLists.txt
index e00cbfcc1..7efcc1c1f 100644
--- a/tests/libgit2/CMakeLists.txt
+++ b/tests/libgit2/CMakeLists.txt
@@ -10,6 +10,7 @@ get_property(LIBGIT2_INCLUDES GLOBAL PROPERTY libgit2_includes)
get_property(LIBGIT2_SYSTEM_INCLUDES GLOBAL PROPERTY libgit2_system_includes)
get_property(LIBGIT2_LIBS GLOBAL PROPERTY libgit2_libs)
+set(CLAR_SOURCE_DIR "${libgit2_SOURCE_DIR}/tests/clar")
set(CLAR_FIXTURES "${libgit2_SOURCE_DIR}/tests/resources/")
add_definitions(-DCLAR_FIXTURE_PATH=\"${CLAR_FIXTURES}\")
add_definitions(-DCLAR_TMPDIR=\"libgit2_tests\")
@@ -18,10 +19,12 @@ add_definitions(-D_FILE_OFFSET_BITS=64)
# Ensure that we do not use deprecated functions internally
add_definitions(-DGIT_DEPRECATE_HARD)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${libgit2_BINARY_DIR}/src)
+include_directories(${CLAR_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${libgit2_BINARY_DIR}/src)
file(GLOB_RECURSE SRC_CASES */*.c */*.h)
list(SORT SRC_CASES)
-set(SRC_CLAR "main.c" "clar_libgit2.c" "clar_libgit2_trace.c" "clar_libgit2_timer.c" "clar.c")
+
+file(GLOB_RECURSE SRC_CLAR "${CLAR_SOURCE_DIR}/*.c" "${CLAR_SOURCE_DIR}/*.h")
+list(SORT SRC_CLAR)
if(MSVC_IDE)
list(APPEND SRC_CLAR "precompiled.c")
@@ -29,20 +32,20 @@ endif()
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/clar.suite
- COMMAND ${PYTHON_EXECUTABLE} generate.py -o "${CMAKE_CURRENT_BINARY_DIR}" -f -xonline -xstress -xperf .
+ COMMAND ${PYTHON_EXECUTABLE} "${CLAR_SOURCE_DIR}/generate.py" -o "${CMAKE_CURRENT_BINARY_DIR}" -f -xonline -xstress -xperf .
DEPENDS ${SRC_CASES}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
set_source_files_properties(
- clar.c
+ "${CLAR_SOURCE_DIR}/clar.c"
PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/clar.suite)
include_directories(${LIBGIT2_INCLUDES})
include_directories(SYSTEM ${LIBGIT2_SYSTEM_INCLUDES})
-add_executable(libgit2_tests ${SRC_CLAR} ${SRC_CASES} ${LIBGIT2_OBJECTS})
+add_executable(libgit2_tests global.c ${SRC_CLAR} ${SRC_CASES} ${LIBGIT2_OBJECTS})
set_target_properties(libgit2_tests PROPERTIES C_STANDARD 90)
set_target_properties(libgit2_tests PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${libgit2_BINARY_DIR})
diff --git a/tests/libgit2/global.c b/tests/libgit2/global.c
new file mode 100644
index 000000000..9029302e3
--- /dev/null
+++ b/tests/libgit2/global.c
@@ -0,0 +1,16 @@
+#include "clar_libgit2.h"
+
+int git_global_test_init(void)
+{
+ int res = git_libgit2_init();
+
+ if (res < 0)
+ fprintf(stderr, "failed to init libgit2");
+
+ return res;
+}
+
+void git_global_test_shutdown(void)
+{
+ git_libgit2_shutdown();
+}