cmake_minimum_required (VERSION 2.8.10)
PROJECT (HLJPSS_TESTS C)

#-----------------------------------------------------------------------------
# Define Sources
#-----------------------------------------------------------------------------
SET (tests
    test_bitfield
    test_regref_hyper
)

FOREACH (test ${tests})
  ADD_EXECUTABLE (${test} ${PROJECT_SOURCE_DIR}/${test}.c)
  TARGET_NAMING (${test} ${LIB_TYPE})
  TARGET_LINK_LIBRARIES (${test} ${HLJPSS_C_LIB_TARGET} ${LINK_LIBS})
ENDFOREACH (test ${tests})

IF (BUILD_TESTING)

# THIS TEST JUST CHECKS THAT THE RETURN VALUE FROM THE TEST IS 0,
# IT DOES NOT TEST THE OUTPUT; THAT IS DONE IN THE EXAMPLES DIR.
#

  MACRO (ADD_H5_CHECK_TEST testname)
    ADD_TEST (
        NAME ${testname}-clearall
        COMMAND    ${CMAKE_COMMAND}
            -E remove 
            ${testname}.out
            ${testname}.out.err
            *.h5
    )
    ADD_TEST (
        NAME ${testname}
        COMMAND "${CMAKE_COMMAND}"
            -D "TEST_PROGRAM=$<TARGET_FILE:${testname}>"
            -D "TEST_ARGS:STRING=${ARGN}"
            -D "TEST_FOLDER=${PROJECT_BINARY_DIR}"
            -D "TEST_EXPECT=0"
            -D "TEST_OUTPUT=${testname}.out"
            -D "TEST_SKIP_COMPARE:BOOL=true"
            -D "TEST_REFERENCE=${testname}.test"
            -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
    )
    SET_TESTS_PROPERTIES(${testname} PROPERTIES DEPENDS ${testname}-clearall)
  ENDMACRO (ADD_H5_CHECK_TEST)

  FOREACH (test ${tests}) 
      ADD_H5_CHECK_TEST (${test})
  ENDFOREACH (test ${tests})
ENDIF (BUILD_TESTING)
  
