Commit 1eaf3de6 authored by Kasper Marstal's avatar Kasper Marstal
Browse files

COMP: Move data directory to Testing/Data, create Testing/Integration directory

parent 399a4c39
......@@ -39,7 +39,7 @@ if( NOT CMAKE_PROJECT_NAME STREQUAL "SuperElastix" )
#TODO SuperElastix Application should not link against elastix libraries
# If OpenMP is supported by this machine, elastix will be compiled with
# OpenMP flags, and we need to add them here as well
find_package( OpenMP )
find_package( OpenMP QUIET )
if (OPENMP_FOUND)
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}" )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}" )
......
......@@ -104,6 +104,21 @@ selxmodule_enable( ModuleController )
# ---------------------------------------------------------------------
# Testing
set( SUPERELASTIX_INPUT_DATA_DIR ${CMAKE_CURRENT_BINARY_DIR}/Testing/Data/Input )
set( SUPERELASTIX_OUTPUT_DATA_DIR ${CMAKE_CURRENT_BINARY_DIR}/Testing/Data/Output )
set( SUPERELASTIX_BASELINE_DATA_DIR ${CMAKE_CURRENT_BINARY_DIR}/Testing/Data/Baseline )
set( SUPERELASTIX_CONFIGURATION_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Testing/Data/Configuration )
if( NOT EXISTS ${SUPERELASTIX_OUTPUT_DATA_DIR} )
file( MAKE_DIRECTORY ${SUPERELASTIX_OUTPUT_DATA_DIR} )
endif()
if( NOT EXISTS ${SUPERELASTIX_OUTPUT_DATA_DIR} )
message( FATAL_ERROR
"Could not create directory for output data. Make sure CMake has write permissions."
)
endif()
option( SUPERELASTIX_BUILD_TESTING "Enable building tests." ON )
if( ${SUPERELASTIX_BUILD_TESTING} )
mark_as_advanced( SUPERELASTIX_BUILD_LONG_TESTS )
......
......@@ -21,7 +21,7 @@ set( MODULE ModuleElastix )
# If OpenMP is supported by this machine, elastix will be compiled with
# OpenMP flags, and we need to add them here as well
find_package( OpenMP )
find_package( OpenMP QUIET )
if (OPENMP_FOUND)
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}" )
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}" )
......
#=========================================================================
#
# Copyright Leiden University Medical Center, Erasmus University Medical
# Center and contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0.txt
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#=========================================================================
......@@ -54,28 +54,28 @@ ExternalData_Add_Target( SuperElastixData )
find_package( GTest REQUIRED )
include_directories( ${GTEST_INCLUDE_DIRS} )
set( TEST_LIBRARIES
${GTEST_BOTH_LIBRARIES}
set( TEST_LIBRARIES ${GTEST_BOTH_LIBRARIES} )
# ---------------------------------------------------------------------
# Build data manager
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/selxDataDirectories.h.in
${CMAKE_CURRENT_BINARY_DIR}/selxDataDirectories.h
ESCAPE_QUOTES
)
include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ) # selxDataManager.h
include_directories( ${CMAKE_CURRENT_BINARY_DIR} ) # selxDataDirectories.h
add_library( DataManager selxDataManager.cxx )
list( APPEND TEST_LIBRARIES DataManager )
# ---------------------------------------------------------------------
# Build test suite
set( CTEST_CONFIGURATION_TYPE Debug )
# Unit tests
add_subdirectory( Unit )
add_subdirectory( Integration )
# Make data directories available parent cmake for installation of SuperElastix
set( SUPERELASTIX_UNITTEST_INPUT_DATA_DIR ${SUPERELASTIX_UNITTEST_INPUT_DATA_DIR} PARENT_SCOPE )
set( SUPERELASTIX_UNITTEST_BASELINE_DATA_DIR ${SUPERELASTIX_UNITTEST_BASELINE_DATA_DIR} PARENT_SCOPE )
set( SUPERELASTIX_UNITTEST_CONFIGURATION_DATA_DIR ${SUPERELASTIX_UNITTEST_CONFIGURATION_DATA_DIR} PARENT_SCOPE )
# ---------------------------------------------------------------------
# Configure dashboard
mark_as_advanced( SUPERELASTIX_BUILD_DASHBOARD )
option( SUPERELASTIX_BUILD_DASHBOARD "Enable SuperElastix dashboard." OFF )
if( ${SUPERELASTIX_BUILD_DASHBOARD} )
add_subdirectory( Dashboard )
endif()
#=========================================================================
#
# Copyright Leiden University Medical Center, Erasmus University Medical
# Center and contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0.txt
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#=========================================================================
# ---------------------------------------------------------------------
# Dashboard configuration
mark_as_advanced( SUPERELASTIX_DASHBOARD_SOURCE_DIR )
set( SUPERELASTIX_DASHBOARD_SOURCE_DIR "${CMAKE_SOURCE_DIR}/Testing/Dashboard" )
mark_as_advanced( SUPERELASTIX_DASHBOARD_BINARY_DIR )
set( SUPERELASTIX_DASHBOARD_BINARY_DIR "${CMAKE_BINARY_DIR}/Testing/Dashboard" )
mark_as_advanced( SUPERELASTIX_DASHBOARD_LOGSTASH_CERTIFICATE )
set( SUPERELASTIX_DASHBOARD_LOGSTASH_CERTIFICATE "selxLogstash.crt" )
mark_as_advanced( SUPERELASTIX_DASHBOARD_LOGSTASH_RSA_PRIVATE_KEY )
set( SUPERELASTIX_DASHBOARD_LOGSTASH_RSA_PRIVATE_KEY "selxLogstash.key" )
mark_as_advanced( SUPERELASTIX_DASHBOARD_VOLUME )
if( NOT EXISTS "${SUPERELASTIX_DASHBOARD_VOLUME}" )
set( ELASTIX_DASHBOARD_VOLUME "${SUPERELASTIX_DASHBOARD_BINARY_DIR}/Data" )
file( MAKE_DIRECTORY "${SUPERELASTIX_DASHBOARD_VOLUME}" )
endif()
# Test/Benchmark results will be forwarded to this IP. You will probably
# have change this in order to match docker settings on your own machine.
mark_as_advanced( SUPERELASTIX_DASHBOARD_IP )
set( SUPERELASTIX_DASHBOARD_IP "192.168.59.103" )
configure_file(
${SUPERELASTIX_DASHBOARD_SOURCE_DIR}/selxDashboard.yml.in
${SUPERELASTIX_DASHBOARD_BINARY_DIR}/selxDashboard.yml
)
configure_file(
${SUPERELASTIX_DASHBOARD_SOURCE_DIR}/selxLogstashForwarder.yml.in
${SUPERELASTIX_DASHBOARD_BINARY_DIR}/selxLogstashForwarder.yml
)
configure_file(
${SUPERELASTIX_DASHBOARD_SOURCE_DIR}/selxLogstash.conf.in
${SUPERELASTIX_DASHBOARD_BINARY_DIR}/Logstash/selxLogstash.conf
)
configure_file(
${SUPERELASTIX_DASHBOARD_SOURCE_DIR}/selxLogstashForwarder.json.in
${SUPERELASTIX_DASHBOARD_BINARY_DIR}/selxLogstashForwarder.json
)
# ---------------------------------------------------------------------
# SSL certificates
# Use the following OpenSSL command to generate a test certificate and key if needed
# openssl req -subj '/CN=*/' -x509 -batch -nodes -days 9999 -newkey rsa:2048 -keyout selxLogstash.key -out selxLogstash.crt
SuperElastix:
image: willdurand/elk
ports:
- "80:80"
- "5043:5043"
volumes_from:
- data
data:
image: busybox
volumes:
- @SUPERELASTIX_DASHBOARD_SOURCE_DIR@:/etc/ssl
- @SUPERELASTIX_DASHBOARD_VOLUME@:/data
- @SUPERELASTIX_DASHBOARD_BINARY_DIR@/Logstash:/etc/logstash
input {
lumberjack {
port => 5043
ssl_certificate => "/etc/ssl/@SUPERELASTIX_DASHBOARD_LOGSTASH_CERTIFICATE@"
ssl_key => "/etc/ssl/@SUPERELASTIX_DASHBOARD_LOGSTASH_RSA_PRIVATE_KEY@"
}
}
filter {
xml {
source => message
target => result
}
}
output {
elasticsearch {
protocol => http
}
}
\ No newline at end of file
-----BEGIN CERTIFICATE-----
MIIDCDCCAfCgAwIBAgIJANZVoY3O+DQaMA0GCSqGSIb3DQEBBQUAMAwxCjAIBgNV
BAMUASowHhcNMTUxMDEzMjEyNzEwWhcNNDMwMjI3MjEyNzEwWjAMMQowCAYDVQQD
FAEqMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvtF4l3oqDRL/4m7C
kCnzE6colB1Ii7KHoRuFyyL7PrZiyrKelRVDr6yDB0lIJevOxuuSJlA+BNccyI0h
08/c3SRDkKb83MwQnABpDPS4/EhLGOJdTKutSo0FzCrn+uT470EYfCFvLLKMSnIO
ECf5st3EN+VJoSu80B9sZ4TEfdO4Gedy0vlL3iNGGDn1TqconTDjB5HKHteEjZ1Z
XzqBJUXITjzfD1VpYbSsj/wcFvurmaOMliqvsl1uFN7wXPjd1L8fAqcsAU5yBwLJ
88NFqJrlgqTXnuHeMCqhiVwOOFUeBbvEk/Faw3P3BKgppl7P01WXzUky0CVyegG7
qagK7QIDAQABo20wazAdBgNVHQ4EFgQUtsodBU4f6bCvbrYc+ix21auh7mowPAYD
VR0jBDUwM4AUtsodBU4f6bCvbrYc+ix21auh7mqhEKQOMAwxCjAIBgNVBAMUASqC
CQDWVaGNzvg0GjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAOPEH1
Otzm6Eu8FNQoppXKBuVW0kqRi6/CM7JxJ0f21YajEu1+vb0BdlNAoCpmcmxCY9Hf
cbmzeKyu/6wIXOOdqmTu/CGvEThtLNmrgjkj9sTe4i0C0H5fkOlkD6aSCHSVUwCv
9nOmPMsu9snEhU+UMXIDqFJzCpN3TSXu/J+V4xV5TYGj0SfbIZXLsw4QcB+iwind
oC1OorwxPsXVYnlMQeZAi7qaScOlq/82A3erXLKW7dRHIyXbgScs4VZ6kjg+YTH2
YZW7y3xgUowj7xeWaoH9YciDfqV2SbxK4RoP2NeesuW0On0YebVQ5Z3qLeYb5fkV
CiA5NpyBDPdElzWW
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAvtF4l3oqDRL/4m7CkCnzE6colB1Ii7KHoRuFyyL7PrZiyrKe
lRVDr6yDB0lIJevOxuuSJlA+BNccyI0h08/c3SRDkKb83MwQnABpDPS4/EhLGOJd
TKutSo0FzCrn+uT470EYfCFvLLKMSnIOECf5st3EN+VJoSu80B9sZ4TEfdO4Gedy
0vlL3iNGGDn1TqconTDjB5HKHteEjZ1ZXzqBJUXITjzfD1VpYbSsj/wcFvurmaOM
liqvsl1uFN7wXPjd1L8fAqcsAU5yBwLJ88NFqJrlgqTXnuHeMCqhiVwOOFUeBbvE
k/Faw3P3BKgppl7P01WXzUky0CVyegG7qagK7QIDAQABAoIBAAm9RUtt99F9A8R5
5MJY8cgyAvc0W2yN6zBE6FpK6cn0oyw3W7K+SBsiUfnAOsd8tqwef/ImrFOw6w4t
bemStXIwFKbAby2R2NMtji8UGpD9259khmCQbqLcecxG8Fo076O+jdJgHn2Ii3KN
Sbx3Xd5MRWSY9l4cjmGNCQprk1/cpOjTF+OgNzYVISP6wx3bOafQ4O4Ui9sxjmPv
G3Fend2YU3r1YGqREHb0Y6hjVoTAKt1RkZwYexQWkquLFO0neRC61k9UkPW+o2T5
LlyMl9MbwbyA0gh52fh+Qi2oeVsGAmIwT1JTNVzrG8qEzuM45CvLQGLr5YjSTS9H
bCi4Ul0CgYEA78zdf9UQiqIOlvLM+RDO25V7PrdwxqZtFASqnFplGjS2sKKQX/K8
jAEkBrFSyX7ctPBjhDNRwq3M0j7AhIhL84KC2KAmdyn0PT9hc1216A/GPLluXjFe
Ryq4/l5C07pyyx9BaHP1Xx5vlQkCYOVDCTu6tKk+TesEgTHIXoedkAMCgYEAy7WB
SOHj8h2r5QQ33VoPIqDPORg5WwsFEPw+efCzevmTOCzLYwdcZudtA3xRZPSE7wwY
s2J1MO9QzKeuzSldsBCUDeQoXblOVUJX/qveCka+Zn1AE4pztq3fo6JJIvVSpFC6
YNJDfOXNwtMdwWeoy1x9aJl/auykMdSwzARi3k8CgYA9oO4QK2b76hhLzQzGuf4f
yvQIs0Zll2ITMfvTARxYttF45d6q+gxhAu4KVkpLhLIeQmWhFTtfCCHKqtv5c7np
VFJicA5Ss9KUZxSZfK0CfgNZmeJ2jMOJEL7IiNst5Q4Zi+fYe2zFTGIq8EzPMDyh
Q9uBELn1doAK4At51+qzlwKBgETOMbTkV5HX48+e9R+W47XWiyfFvtm5hySNjqyx
WG4ZDljTCH+SZOt9D501yGhJDv2PIGi2wM6ehrQZjzlM15A4iUmH3vqJNKQnnIEw
m/bsnjMP6yyufxcc84TZs8pTAm7ttYYufw0Ysb80f8Brut+1hcZm0lrTQ0JxjKXc
dWiRAoGBANIerU9KV0GYgvY0wvBitwP/0j4jLfHfVPCp6Y515MB5hXCf6RF3vAg4
WWOu55cOqBGzouJoCJGcYR5Re/7b2AKqsfjnfFF6gl87T7xSGFEHjNK0q/UcPQQ/
FxCfc2iwx90m56ZahbFnMh1y1i/NVqD0y3xUyJN0kt6zIT3j+BR1
-----END RSA PRIVATE KEY-----
{
"network": {
"servers": [ "SuperElastix:5043" ],
"timeout": 15,
"ssl certificate": "/etc/ssl/@SUPERELASTIX_DASHBOARD_LOGSTASH_CERTIFICATE@",
"ssl key": "/etc/ssl/@SUPERELASTIX_DASHBOARD_LOGSTASH_RSA_PRIVATE_KEY@",
"ssl ca": "/etc/ssl/@SUPERELASTIX_DASHBOARD_LOGSTASH_CERTIFICATE@"
},
"files": [
{
"paths": [
"/var/unit/*.xml"
],
"fields": {
"type": "unittest",
"lib": "SuperElastix"
}
},
{
"paths": [
"/var/benchmark/*.xml"
],
"fields": {
"type": "benchmark",
"lib": "SuperElastix"
}
}
]
}
forwarder:
image: willdurand/logstash-forwarder
extra_hosts:
- "SuperElastix:@SUPERELASTIX_DASHBOARD_IP@"
volumes_from:
- data
data:
image: busybox
volumes:
- @SUPERELASTIX_DASHBOARD_BINARY_DIR@/selxLogstashForwarder.json:/etc/logstash-forwarder/config.json
- @SUPERELASTIX_DASHBOARD_SOURCE_DIR@:/etc/ssl
- @CMAKE_BINARY_DIR@/Testing/Unit:/var/unit
- @CMAKE_BINARY_DIR@/Testing/Benchmark:/var/benchmark
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment