aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/ProjTest.cmake21
-rw-r--r--test/CMakeLists.txt6
-rw-r--r--test/gie/Makefile.am3
3 files changed, 29 insertions, 1 deletions
diff --git a/cmake/ProjTest.cmake b/cmake/ProjTest.cmake
index ac6116f2..542c7440 100644
--- a/cmake/ProjTest.cmake
+++ b/cmake/ProjTest.cmake
@@ -36,3 +36,24 @@ function(proj_add_gie_test TESTNAME TESTCASE)
proj_test_set_properties(${TESTNAME})
endfunction()
+
+# Create user writable directory for tests
+add_custom_target(create_tmp_user_writable_dir ALL
+ COMMAND ${CMAKE_COMMAND} -E make_directory {PROJ_BINARY_DIR}/tmp_user_writable_dir)
+
+function(proj_add_gie_network_dependent_test TESTNAME TESTCASE)
+
+ set(GIE_BIN $<TARGET_FILE_NAME:gie>)
+ set(TESTFILE ${PROJ_SOURCE_DIR}/test/${TESTCASE})
+ add_test(NAME ${TESTNAME}
+ WORKING_DIRECTORY ${PROJ_SOURCE_DIR}/test
+ COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${GIE_BIN}
+ ${TESTFILE}
+ )
+ set_property(TEST ${TESTNAME}
+ PROPERTY ENVIRONMENT
+ "PROJ_USER_WRITABLE_DIRECTORY=${PROJ_BINARY_DIR}/tmp_user_writable_dir"
+ "PROJ_NETWORK=ON"
+ "PROJ_LIB=${PROJ_BINARY_DIR}/data/for_tests")
+
+endfunction()
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 014ce010..f3420237 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -1,5 +1,7 @@
set(GIE_BIN "gie")
+option(RUN_NETWORK_DEPENDENT_TESTS "Whether to run tests dependent on network availability" ON)
+
# Regression tests
proj_add_gie_test("Builtins" "gie/builtins.gie")
proj_add_gie_test("Builtins2" "gie/more_builtins.gie")
@@ -19,6 +21,10 @@ proj_add_gie_test("peirce_q" "gie/peirce_q.gie")
proj_add_gie_test("defmodel" "gie/defmodel.gie")
proj_add_gie_test("tinshift" "gie/tinshift.gie")
+if(CURL_ENABLED AND RUN_NETWORK_DEPENDENT_TESTS)
+proj_add_gie_network_dependent_test("nkg" "gie/nkg.gie")
+endif()
+
# GIGS tests. Uncommented tests are expected to fail due to issues with
# various projections. Should be investigated further and fixed.
proj_add_gie_test("GIGS-5101.1-jhs" "gigs/5101.1-jhs.gie")
diff --git a/test/gie/Makefile.am b/test/gie/Makefile.am
index 20f0ec8f..70d55744 100644
--- a/test/gie/Makefile.am
+++ b/test/gie/Makefile.am
@@ -17,7 +17,8 @@ EXTRA_DIST = 4D-API_cs2cs-style.gie \
guyou.gie \
peirce_q.gie \
defmodel.gie \
- tinshift.gie
+ tinshift.gie \
+ nkg.gie
PROJ_LIB ?= ../../data/for_tests