Skip to content

Commit

Permalink
Merge branch 'master' into readme_minor_changes
Browse files Browse the repository at this point in the history
  • Loading branch information
aashish24 committed Oct 9, 2015
2 parents 7c40b68 + a13acf5 commit db2f2ee
Show file tree
Hide file tree
Showing 42 changed files with 1,081 additions and 428 deletions.
1 change: 1 addition & 0 deletions .jscsrc
Expand Up @@ -7,6 +7,7 @@
"requireCamelCaseOrUpperCaseIdentifiers": null,
"disallowDanglingUnderscores": null,
"requireBlocksOnNewline": null,
"requireVarDeclFirst": null,
"excludeFiles": [
"src/vgl/**",
"src/util/wigglemaps.js",
Expand Down
7 changes: 3 additions & 4 deletions .travis.yml
@@ -1,11 +1,11 @@
language: node_js

node_js:
- "0.10"
- "0.12"

before_install:
- pushd "${HOME}"
- curl "http://www.cmake.org/files/v3.2/cmake-3.2.1-Linux-x86_64.tar.gz" | gunzip -c | tar x
- curl -L "https://cmake.org/files/v3.3/cmake-3.3.2-Linux-x86_64.tar.gz" | gunzip -c | tar x
- cd cmake-*/bin && export PATH="${PWD}:${PATH}"
- popd
- cmake --version
Expand All @@ -20,9 +20,8 @@ script:
- sleep 1
- mkdir _build
- cd _build
- cmake ..
- cmake -DCOVERAGE_TESTS=ON ..
- ctest -VV -S ../cmake/travis_build.cmake || true
- ctest -VV -S ../cmake/travis_submit.cmake
- if [ -f test_failed ] ; then false ; fi

sudo: False
32 changes: 12 additions & 20 deletions CMakeLists.txt
Expand Up @@ -52,11 +52,10 @@ mark_as_advanced(MIDAS_BASE_URL)
set(MIDAS_COMMUNITY "GeoJS" CACHE STRING "MIDAS community hosting test images.")
mark_as_advanced(MIDAS_COMMUNITY)

# set variables for MIDAS3.cmake
set(MIDAS_REST_URL "${MIDAS_BASE_URL}/api/json")
set(MIDAS_KEY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/testing/test-data")
set(MIDAS_DATA_DIR "${GEOJS_DEPLOY_DIR}/data")
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/MIDAS3.cmake)
# set variables for girder.cmake
set(Girder_KEY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/testing/test-data")
set(Girder_DATA_DIR "${GEOJS_DEPLOY_DIR}/data")
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/girder.cmake)

add_download_target()

Expand All @@ -79,10 +78,6 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testing/test-runners/geojs_test_runne
${CMAKE_CURRENT_BINARY_DIR}/test/geojs_test_runner.py
)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testing/test-runners/blanket_server.py
${CMAKE_CURRENT_BINARY_DIR}/test/blanket_server.py
COPYONLY
)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testing/test-runners/selenium-test-utils.js
${GEOJS_DEPLOY_DIR}/test/lib/selenium-test-utils.js
COPYONLY
Expand All @@ -91,20 +86,18 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/testing/test-runners/selenium-test-ut
if (COVERAGE_TESTS)
set(SOURCES_INCLUDE <script src=/built/geo.all.dev.js data-cover></script>)
set(BLANKET_INCLUDE <script src=/test/lib/blanket.min.js></script>)
find_program(CURL_EXECUTABLE curl)
add_test(
NAME "coverage-reset"
WORKING_DIRECTORY "${GEOJS_DEPLOY_DIR}"
COMMAND "${PYTHON_EXECUTABLE}"
"${CMAKE_CURRENT_BINARY_DIR}/test/blanket_server.py"
"reset"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMAND "${CURL_EXECUTABLE}" -X DELETE "http://${TESTING_HOST}:${TESTING_PORT}/coverage"
)

add_test(
NAME "coverage-report"
WORKING_DIRECTORY "${GEOJS_DEPLOY_DIR}"
COMMAND "${PYTHON_EXECUTABLE}"
"${CMAKE_CURRENT_BINARY_DIR}/test/blanket_server.py"
"report" "${CMAKE_CURRENT_BINARY_DIR}/coverage.xml"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMAND "${CURL_EXECUTABLE}" -X POST "http://${TESTING_HOST}:${TESTING_PORT}/coverage"
--data "path=${CMAKE_CURRENT_BINARY_DIR}/coverage.xml" -G
)
set_property(TEST "coverage-report" APPEND PROPERTY DEPENDS "coverage-reset")

Expand Down Expand Up @@ -146,7 +139,7 @@ if(PHANTOMJS_TESTS)
-DBLANKET_INCLUDE="${BLANKET_INCLUDE}"
-P ${CMAKE_SOURCE_DIR}/cmake/configure-js-unit-test.cmake
COMMAND ${CMAKE_COMMAND} -E touch ${html}
DEPENDS ${js} ${MIDAS_DOWNLOAD_FILES} ${CMAKE_SOURCE_DIR}/testing/test-runners/jasmine-runner.html.in
DEPENDS ${js} ${Girder_DOWNLOAD_FILES} ${CMAKE_SOURCE_DIR}/testing/test-runners/jasmine-runner.html.in
COMMENT "Generating phantomjs unit test ${f}"
)
list(APPEND JS_UNIT_TEST_FILES ${html})
Expand Down Expand Up @@ -291,7 +284,7 @@ if(SELENIUM_TESTS)
add_custom_target(
selenium_tests
ALL
DEPENDS ${SELENIUM_TEST_FILES} ${MIDAS_DOWNLOAD_FILES} ${JASMINE_TEST_FILES}
DEPENDS ${SELENIUM_TEST_FILES} ${Girder_DOWNLOAD_FILES} ${JASMINE_TEST_FILES}
)

endif()
Expand Down Expand Up @@ -342,7 +335,6 @@ if(BUILD_DOCUMENTATION)
endif()

set(docs_sources
"${CMAKE_CURRENT_SOURCE_DIR}/testing/test-runners/blanket_server.py"
"${CMAKE_CURRENT_SOURCE_DIR}/testing/test-runners/geojs_test_runner.py.in"
"${CMAKE_CURRENT_SOURCE_DIR}/testing/test-runners/midas_handler.py"
"${CMAKE_CURRENT_SOURCE_DIR}/testing/test-runners/selenium_test.py.in"
Expand Down
1 change: 1 addition & 0 deletions Gruntfile.js
Expand Up @@ -277,6 +277,7 @@ module.exports = function (grunt) {
server: {
options: {
port: port,
server: 'testing/test-runners/server.js',
bases: ['dist']
}
}
Expand Down
143 changes: 0 additions & 143 deletions cmake/MIDAS3.cmake

This file was deleted.

127 changes: 127 additions & 0 deletions cmake/girder.cmake
@@ -0,0 +1,127 @@
# - Configure a project for downloading test data from a Girder server
# Include this module in the top CMakeLists.txt file of a project to
# enable downloading test data from Girder. Requires CTest module.
# project(MyProject)
# ...
# include(CTest)
# include(Girder3)
#
# To use this module, set the following variable in your script:
# Girder_REST_URL - URL of the Girder server's REST API
# Other optional variables:
# Girder_DATA_DIR - Where to place downloaded files
# - Defaults to PROJECT_BINARY_DIR/Girder_Data
# Girder_KEY_DIR - Where the key files are located
# - Defaults to PROJECT_SOURCE_DIR/Girder_Keys
# Girder_DOWNLOAD_TIMEOUT - Timeout for download stage (default 0)
# ---------------------- Authentication -------------------------
# For authenticated access, you must also have the following variables set
# Girder_USER - The email of the user to authenticate as
# Girder_DEFAULT_API_KEY - The user's Default api key
#
#=============================================================================
# Copyright 2010 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================

function(add_download_target)

set(fetch_scripts_dir "${CMAKE_CURRENT_BINARY_DIR}/Girder_FetchScripts")
file(MAKE_DIRECTORY "${fetch_scripts_dir}")

if(NOT DEFINED Girder_DOWNLOAD_TIMEOUT)
set(Girder_DOWNLOAD_TIMEOUT_STR "")
else(NOT DEFINED Girder_DOWNLOAD_TIMEOUT)
set(Girder_DOWNLOAD_TIMEOUT_STR "TIMEOUT ${Girder_DOWNLOAD_TIMEOUT}")
endif(NOT DEFINED Girder_DOWNLOAD_TIMEOUT)

file(GLOB urlfiles "${Girder_KEY_DIR}/*.url")

set(downloadFiles "")

foreach(urlfile ${urlfiles})
_process_urlfile(${urlfile} 1)
endforeach()

set(Girder_DOWNLOAD_FILES "${downloadFiles}" PARENT_SCOPE)
endfunction(add_download_target)

# Helper macro to write the download scripts for Girder.*{} arguments
macro(_process_urlfile urlFile extractTgz)


# Split up the checksum extension from the real filename
string(REGEX REPLACE "\\.[^\\.]*$" "" base_file "${urlFile}")
get_filename_component(base_filename "${base_file}" NAME)
get_filename_component(base_fileext "${base_file}" EXT)
string(REGEX REPLACE "\\.url$" ".md5" keyFile "${urlFile}")
set(checksum "X")

# Resolve file location
if(EXISTS "${keyFile}")

# Obtain the checksum
file(READ "${keyFile}" checksum)
string(STRIP ${checksum} checksum)

endif(EXISTS "${keyFile}")

file(READ "${urlFile}" url)
string(STRIP ${url} url)

# Write the test script file for downloading
if(UNIX)
set(cmake_symlink create_symlink)
else()
set(cmake_symlink copy) # Windows has no symlinks; copy instead.
endif()
file(WRITE "${fetch_scripts_dir}/fetch_${checksum}_${base_filename}.cmake"

# Start file content
"message(STATUS \"Data is here: ${url}\")
file(DOWNLOAD \"${url}\" \"${Girder_DATA_DIR}/${base_filename}\" ${Girder_DOWNLOAD_TIMEOUT_STR} STATUS status)
list(GET status 0 exitCode)
list(GET status 1 errMsg)
if(NOT exitCode EQUAL 0)
file(REMOVE \"${Girder_DATA_DIR}/${base_filename}\")
message(FATAL_ERROR \"Error downloading ${base_filename}: \${errMsg}\")
endif(NOT exitCode EQUAL 0)
execute_process(COMMAND \"${CMAKE_COMMAND}\" -E md5sum \"${Girder_DATA_DIR}/${base_filename}\" OUTPUT_VARIABLE output)
string(SUBSTRING \${output} 0 32 computedChecksum)
if((NOT ${checksum} STREQUAL X) AND (NOT computedChecksum STREQUAL ${checksum}))
file(READ \"${Girder_DATA_DIR}/${base_filename}\" serverResponse)
file(REMOVE \"${Girder_DATA_DIR}/${base_filename}\")
message(FATAL_ERROR \"Error: Computed checksum (\${computedChecksum}) did not match expected (${checksum}). Server response: \${serverResponse}\")
endif((NOT ${checksum} STREQUAL X) AND (NOT computedChecksum STREQUAL ${checksum}))
")
# End file content

if("${base_fileext}" STREQUAL ".tgz")
file(APPEND "${fetch_scripts_dir}/fetch_${checksum}_${base_filename}.cmake"
# Start file content
"# Extract the contents of the tgz
get_filename_component(dirName \"${base_filename}\" NAME_WE)
file(MAKE_DIRECTORY \"${Girder_DATA_DIR}/\${dirName}\")
execute_process(COMMAND \"${CMAKE_COMMAND}\" -E tar xzf \"${Girder_DATA_DIR}/${base_filename}\"
WORKING_DIRECTORY \"${Girder_DATA_DIR}/\${dirName}\")
"
# End file content
)
endif()

add_custom_command(OUTPUT "${Girder_DATA_DIR}/${base_filename}"
COMMAND ${CMAKE_COMMAND} -P "${fetch_scripts_dir}/fetch_${checksum}_${base_filename}.cmake"
DEPENDS "${urlfile}"
COMMENT "Downloading ${base_filename}"
)

list(APPEND downloadFiles "${Girder_DATA_DIR}/${base_filename}")
endmacro(_process_urlfile)

0 comments on commit db2f2ee

Please sign in to comment.