##############################################################################
# @file  CMakeLists.txt
# @brief Build configuration of software testing.
#
# Copyright (c) 2012 University of Pennsylvania. All rights reserved.<br />
# See http://www.rad.upenn.edu/sbia/software/license.html or COPYING file.
#
# Contact: SBIA Group <sbia-software at uphs.upenn.edu>
##############################################################################

# ----------------------------------------------------------------------------
# common settings
set (INPUT_DIR    "${PROJECT_TESTING_DIR}/input")
set (BASELINE_DIR "${PROJECT_TESTING_DIR}/baseline")

if (OpenCV_VERSION VERSION_LESS "2.0")
  set (BASELINE_SUFFIX "opencv-1.0")
elseif (OpenCV_VERSION VERSION_GREATER "2.3")
  set (BASELINE_SUFFIX "opencv-2.3")
else ()
  set (BASELINE_SUFFIX "opencv-2.0")
endif ()

# ----------------------------------------------------------------------------
# find qsub
find_program (QSUB NAMES qsub)
mark_as_advanced (QSUB)

# ----------------------------------------------------------------------------
# test odvba-sbia with submission to SGE and multiple MPI processes
if (QSUB)
  basis_add_test(
    test_odvba_sbia
    COMMAND
      basis.testdriver -v
        # check p-values map
        --intensity-tolerance 0.01
        --compare "p.nii.gz"
                  "${BASELINE_DIR}/32_32_32/p-values.n4000_e50_s15_p25.${BASELINE_SUFFIX}.nii.gz"
        # test command
        -- "${QSUB}" -sync yes -o odvba.log -j yes $<TARGET_FILE:odvba-sbia> -v -v
            "${INPUT_DIR}/32_32_32/subjects.txt"
            --index "${INPUT_DIR}/32_32_32/index.txt"
            --ni "${INPUT_DIR}/32_32_32/ni_n4000_e50_s15.txt"
            --perms "${INPUT_DIR}/32_32_32/perms_p25.txt"
  )
else ()
  message (STATUS "Batch-job submission command qsub not found."
                  " Test of odvba-sbia will run locally using odvba instead of odvba-mpi.")
  basis_add_test(
    test_odvba_sbia
    COMMAND
      basis.testdriver -v
        # check p-values map
        --intensity-tolerance 0.01
        --compare "p.nii.gz"
                  "${BASELINE_DIR}/32_32_32/p-values.n4000_e50_s15_p25.${BASELINE_SUFFIX}.nii.gz"
        # test command
        -- $<TARGET_FILE:odvba-sbia> -v -v
            "${INPUT_DIR}/32_32_32/subjects.txt"
            --index "${INPUT_DIR}/32_32_32/index.txt"
            --ni "${INPUT_DIR}/32_32_32/ni_n4000_e50_s15.txt"
            --perms "${INPUT_DIR}/32_32_32/perms_p25.txt"
  )
endif ()
