summaryrefslogtreecommitdiffstats
path: root/integration-tests/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'integration-tests/CMakeLists.txt')
-rw-r--r--integration-tests/CMakeLists.txt46
1 files changed, 46 insertions, 0 deletions
diff --git a/integration-tests/CMakeLists.txt b/integration-tests/CMakeLists.txt
new file mode 100644
index 0000000..d9385a5
--- /dev/null
+++ b/integration-tests/CMakeLists.txt
@@ -0,0 +1,46 @@
+set(GO_FILES
+ nghttpx_http1_test.go
+ nghttpx_http2_test.go
+ server_tester.go
+)
+
+# XXX unused
+set(EXTRA_DIST
+ ${GO_FILES}
+ server.key
+ server.crt
+ alt-server.key
+ alt-server.crt
+ setenv
+ req-set-header.rb
+ resp-set-header.rb
+ req-return.rb
+ resp-return.rb
+)
+
+add_custom_target(itprep
+ COMMAND go get -d -v golang.org/x/net/http2
+ COMMAND go get -d -v github.com/tatsuhiro-t/go-nghttp2
+ COMMAND go get -d -v golang.org/x/net/websocket
+)
+
+# 'go test' requires both config.go and the test files in the same directory.
+# For out-of-tree builds, config.go is normally not placed next to the source
+# files, so copy the tests to the build directory as a workaround.
+set(GO_BUILD_FILES)
+if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
+ foreach(gofile IN LISTS GO_FILES)
+ set(outfile "${CMAKE_CURRENT_BINARY_DIR}/${gofile}")
+ add_custom_command(OUTPUT "${outfile}"
+ COMMAND ${CMAKE_COMMAND} -E copy
+ "${CMAKE_CURRENT_SOURCE_DIR}/${gofile}" "${outfile}"
+ DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${gofile}"
+ )
+ list(APPEND GO_BUILD_FILES "${outfile}")
+ endforeach()
+endif()
+
+add_custom_target(it
+ COMMAND sh setenv go test -v
+ DEPENDS ${GO_BUILD_FILES}
+)