Commit 2b09b5d7a0e856f6a5b23bfbd38537f8ee472523

Edward Thomson 2021-11-16T23:47:14

refactor: move headertest into separate test folder

diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index d17f525..7214d94 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,4 +1,5 @@
 # The main libgit2 tests tree: this CMakeLists.txt includes the
 # subprojects that make up core libgit2 support.
 
+add_subdirectory(headertest)
 add_subdirectory(libgit2)
diff --git a/tests/README.md b/tests/README.md
index 2e3b263..91b26f5 100644
--- a/tests/README.md
+++ b/tests/README.md
@@ -4,6 +4,9 @@ These are the unit and integration tests for the libgit2 projects.
 
 * `clar`  
   This is [clar](https://github.com/clar-test/clar) the common test framework.
+* `headertest`  
+  This is a simple project that ensures that our public headers are
+  compatible with extremely strict compilation options.
 * `libgit2`  
   These tests exercise the core git functionality in libgit2 itself.
 * `resources`  
diff --git a/tests/headertest/CMakeLists.txt b/tests/headertest/CMakeLists.txt
new file mode 100644
index 0000000..c70ce1a
--- /dev/null
+++ b/tests/headertest/CMakeLists.txt
@@ -0,0 +1,14 @@
+# Header file validation project: ensure that we do not publish any sloppy
+# definitions in our headers and that a consumer can include <git2.dll>
+# even when they have aggressive C90 warnings enabled.
+
+add_executable(headertest headertest.c)
+set_target_properties(headertest PROPERTIES C_STANDARD 90)
+set_target_properties(headertest PROPERTIES C_EXTENSIONS OFF)
+target_include_directories(headertest PRIVATE ${LIBGIT2_INCLUDES})
+
+if (MSVC)
+	target_compile_options(headertest PUBLIC /W4 /WX)
+else()
+	target_compile_options(headertest PUBLIC -Wall -Wextra -pedantic -Werror)
+endif()
diff --git a/tests/headertest/headertest.c b/tests/headertest/headertest.c
new file mode 100644
index 0000000..2af8a14
--- /dev/null
+++ b/tests/headertest/headertest.c
@@ -0,0 +1,13 @@
+/*
+ * Dummy project to validate header files
+ *
+ * This project is not intended to be executed, it should only include all
+ * header files to make sure that they can be used with stricter compiler
+ * settings than the libgit2 source files generally supports.
+ */
+#include "git2.h"
+
+int main(void)
+{
+    return 0;
+}
diff --git a/tests/libgit2/CMakeLists.txt b/tests/libgit2/CMakeLists.txt
index 9ab0107..90ae625 100644
--- a/tests/libgit2/CMakeLists.txt
+++ b/tests/libgit2/CMakeLists.txt
@@ -80,20 +80,3 @@ add_clar_test(ssh                 -v -sonline::push -sonline::clone::ssh_cert -s
 add_clar_test(proxy               -v -sonline::clone::proxy)
 add_clar_test(auth_clone          -v -sonline::clone::cred)
 add_clar_test(auth_clone_and_push -v -sonline::clone::push -sonline::push)
-
-#
-# Header file validation project: ensure that we do not publish any sloppy
-# definitions in our headers and that a consumer can include <git2.dll>
-# even when they have aggressive C90 warnings enabled.
-#
-
-add_executable(headertest headertest.c)
-set_target_properties(headertest PROPERTIES C_STANDARD 90)
-set_target_properties(headertest PROPERTIES C_EXTENSIONS OFF)
-target_include_directories(headertest PRIVATE ${LIBGIT2_INCLUDES})
-
-if (MSVC)
-	target_compile_options(headertest PUBLIC /W4 /WX)
-else()
-	target_compile_options(headertest PUBLIC -Wall -Wextra -pedantic -Werror)
-endif()
diff --git a/tests/libgit2/headertest.c b/tests/libgit2/headertest.c
deleted file mode 100644
index 2af8a14..0000000
--- a/tests/libgit2/headertest.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Dummy project to validate header files
- *
- * This project is not intended to be executed, it should only include all
- * header files to make sure that they can be used with stricter compiler
- * settings than the libgit2 source files generally supports.
- */
-#include "git2.h"
-
-int main(void)
-{
-    return 0;
-}