Merge bf163dea7e
into 09e397e4f1
This commit is contained in:
commit
8949c744b9
|
@ -191,7 +191,7 @@ if (MSVC OR NOT NOFORTRAN)
|
|||
add_subdirectory(utest)
|
||||
endif()
|
||||
|
||||
if (NOT MSVC AND NOT NOFORTRAN)
|
||||
if ((NOT MSVC OR NOT BUILD_WITHOUT_LAPACK) AND NOT NOFORTRAN)
|
||||
# Build test and ctest
|
||||
add_subdirectory(test)
|
||||
if(NOT NO_CBLAS)
|
||||
|
|
20
appveyor.yml
20
appveyor.yml
|
@ -30,10 +30,9 @@ environment:
|
|||
CONDA_INSTALL_LOCN: C:\\Miniconda36-x64
|
||||
matrix:
|
||||
- COMPILER: clang-cl
|
||||
WITH_FORTRAN: yes
|
||||
FORTRAN: ON
|
||||
- COMPILER: clang-cl
|
||||
DYNAMIC_ARCH: ON
|
||||
WITH_FORTRAN: no
|
||||
- COMPILER: cl
|
||||
|
||||
install:
|
||||
|
@ -41,9 +40,9 @@ install:
|
|||
- if [%COMPILER%]==[clang-cl] conda config --add channels conda-forge --force
|
||||
- if [%COMPILER%]==[clang-cl] conda install --yes --quiet clangdev cmake
|
||||
|
||||
- if [%WITH_FORTRAN%]==[no] conda install --yes --quiet ninja
|
||||
- if [%WITH_FORTRAN%]==[yes] conda install --yes --quiet -c isuruf kitware-ninja
|
||||
- if [%WITH_FORTRAN%]==[yes] conda install --yes --quiet flang
|
||||
- if [%FORTRAN%]==[] conda install --yes --quiet ninja
|
||||
- if [%FORTRAN%]==[ON] conda install --yes --quiet -c isuruf kitware-ninja
|
||||
- if [%FORTRAN%]==[ON] conda install --yes --quiet flang
|
||||
|
||||
- if [%COMPILER%]==[clang-cl] call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
|
||||
- if [%COMPILER%]==[clang-cl] set "LIB=%CONDA_INSTALL_LOCN%\Library\lib;%LIB%"
|
||||
|
@ -52,15 +51,14 @@ install:
|
|||
before_build:
|
||||
- ps: if (-Not (Test-Path .\build)) { mkdir build }
|
||||
- cd build
|
||||
- if [%COMPILER%]==[cl] cmake -G "Visual Studio 15 2017 Win64" ..
|
||||
- if [%WITH_FORTRAN%]==[no] cmake -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl ..
|
||||
- if [%WITH_FORTRAN%]==[yes] cmake -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DCMAKE_Fortran_COMPILER=flang -DBUILD_WITHOUT_LAPACK=no -DNOFORTRAN=0 ..
|
||||
- if [%COMPILER%]==[cl] cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_BUILD_TYPE=Release ..
|
||||
- if [%FORTRAN%]==[] cmake -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DCMAKE_BUILD_TYPE=Release ..
|
||||
- if [%FORTRAN%]==[ON] cmake -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DCMAKE_Fortran_COMPILER=flang -DBUILD_WITHOUT_LAPACK=OFF -DCMAKE_BUILD_TYPE=Release ..
|
||||
- if [%DYNAMIC_ARCH%]==[ON] cmake -DDYNAMIC_ARCH=ON ..
|
||||
|
||||
build_script:
|
||||
- cmake --build .
|
||||
|
||||
|
||||
test_script:
|
||||
- echo Running Test
|
||||
- cd utest
|
||||
- openblas_utest
|
||||
- ctest -VV
|
||||
|
|
|
@ -5,10 +5,6 @@ enable_language(Fortran)
|
|||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DADD${BU} -DCBLAS")
|
||||
|
||||
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.sh
|
||||
"$1 < $2\n"
|
||||
)
|
||||
|
||||
foreach(float_type ${FLOAT_TYPES})
|
||||
string(SUBSTRING ${float_type} 0 1 float_char_upper)
|
||||
string(TOLOWER ${float_char_upper} float_char)
|
||||
|
@ -18,7 +14,7 @@ foreach(float_type ${FLOAT_TYPES})
|
|||
c_${float_char}blas1.c)
|
||||
target_link_libraries(x${float_char}cblat1 ${OpenBLAS_LIBNAME})
|
||||
add_test(NAME "x${float_char}cblat1"
|
||||
COMMAND "${CMAKE_CURRENT_BINARY_DIR}/x${float_char}cblat1")
|
||||
COMMAND "$<TARGET_FILE:x${float_char}cblat1>")
|
||||
|
||||
#level2
|
||||
add_executable(x${float_char}cblat2
|
||||
|
@ -30,7 +26,11 @@ foreach(float_type ${FLOAT_TYPES})
|
|||
constant.c)
|
||||
target_link_libraries(x${float_char}cblat2 ${OpenBLAS_LIBNAME})
|
||||
add_test(NAME "x${float_char}cblat2"
|
||||
COMMAND sh "${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.sh" "${CMAKE_CURRENT_BINARY_DIR}/x${float_char}cblat2" "${PROJECT_SOURCE_DIR}/ctest/${float_char}in2")
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
"-DTEST_COMMAND=$<TARGET_FILE:x${float_char}cblat2>"
|
||||
"-DTEST_INPUT=${PROJECT_SOURCE_DIR}/ctest/${float_char}in2"
|
||||
-P "${CMAKE_CURRENT_SOURCE_DIR}/test_cblas_helper.cmake"
|
||||
)
|
||||
|
||||
#level3
|
||||
add_executable(x${float_char}cblat3
|
||||
|
@ -42,6 +42,10 @@ foreach(float_type ${FLOAT_TYPES})
|
|||
constant.c)
|
||||
target_link_libraries(x${float_char}cblat3 ${OpenBLAS_LIBNAME})
|
||||
add_test(NAME "x${float_char}cblat3"
|
||||
COMMAND sh "${CMAKE_CURRENT_BINARY_DIR}/test_cblas_helper.sh" "${CMAKE_CURRENT_BINARY_DIR}/x${float_char}cblat3" "${PROJECT_SOURCE_DIR}/ctest/${float_char}in3")
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
"-DTEST_COMMAND=$<TARGET_FILE:x${float_char}cblat3>"
|
||||
"-DTEST_INPUT=${PROJECT_SOURCE_DIR}/ctest/${float_char}in3"
|
||||
-P "${CMAKE_CURRENT_SOURCE_DIR}/test_cblas_helper.cmake"
|
||||
)
|
||||
|
||||
endforeach()
|
||||
|
|
|
@ -81,7 +81,7 @@ void cblas_xerbla(blasint info, char *rout, char *form, ...)
|
|||
printf("***** XERBLA WAS CALLED WITH INFO = %d INSTEAD OF %d in %s *******\n",info, cblas_info, rout);
|
||||
cblas_lerr = PASSED;
|
||||
cblas_ok = FALSE;
|
||||
} else cblas_lerr = FAILED;
|
||||
} else cblas_lerr = OPENBLAS_FAILED;
|
||||
}
|
||||
|
||||
#ifdef F77_Char
|
||||
|
|
|
@ -15,7 +15,9 @@
|
|||
#define TEST_ROW_MJR 1
|
||||
|
||||
#define FALSE 0
|
||||
#define FAILED 0
|
||||
|
||||
/* Needed because failed is already defined on MSVC */
|
||||
#define OPENBLAS_FAILED 0
|
||||
#define TEST_COL_MJR 0
|
||||
|
||||
#define INVALID -1
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
execute_process(COMMAND ${TEST_COMMAND}
|
||||
INPUT_FILE ${TEST_INPUT}
|
||||
)
|
|
@ -14,26 +14,23 @@ add_executable(${test_bin} ${test_bin}.f)
|
|||
target_link_libraries(${test_bin} ${OpenBLAS_LIBNAME})
|
||||
endforeach()
|
||||
|
||||
# $1 exec, $2 input, $3 output_result
|
||||
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/test_helper.sh
|
||||
"rm -f $3\n"
|
||||
"$1 < $2\n"
|
||||
"grep -q FATAL $3\n"
|
||||
"if [ $? -eq 0 ]; then\n"
|
||||
"echo Error\n"
|
||||
"exit 1\n"
|
||||
"else\n"
|
||||
"exit 0\n"
|
||||
"fi\n"
|
||||
)
|
||||
|
||||
set(float_types s d c z)
|
||||
foreach(float_type ${float_types})
|
||||
string(TOUPPER ${float_type} float_type_upper)
|
||||
add_test(NAME "${float_type}blas1"
|
||||
COMMAND "${CMAKE_CURRENT_BINARY_DIR}/${float_type}blat1")
|
||||
COMMAND "$<TARGET_FILE:${float_type}blat1>")
|
||||
add_test(NAME "${float_type}blas2"
|
||||
COMMAND sh "${CMAKE_CURRENT_BINARY_DIR}/test_helper.sh" "${CMAKE_CURRENT_BINARY_DIR}/${float_type}blat2" "${PROJECT_SOURCE_DIR}/test/${float_type}blat2.dat" ${float_type_upper}BLAT2.SUMM)
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
"-DTEST_COMMAND=$<TARGET_FILE:${float_type}blat2>"
|
||||
"-DTEST_INPUT=${PROJECT_SOURCE_DIR}/test/${float_type}blat2.dat"
|
||||
"-DTEST_FILE=${CMAKE_BINARY_DIR}/test/${float_type}blas2/${float_type_upper}BLAT2.SUMM"
|
||||
-P "${CMAKE_CURRENT_SOURCE_DIR}/test_helper.cmake"
|
||||
)
|
||||
add_test(NAME "${float_type}blas3"
|
||||
COMMAND sh "${CMAKE_CURRENT_BINARY_DIR}/test_helper.sh" "${CMAKE_CURRENT_BINARY_DIR}/${float_type}blat3" "${PROJECT_SOURCE_DIR}/test/${float_type}blat3.dat" ${float_type_upper}BLAT3.SUMM)
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
"-DTEST_COMMAND=$<TARGET_FILE:${float_type}blat3>"
|
||||
"-DTEST_INPUT=${PROJECT_SOURCE_DIR}/test/${float_type}blat3.dat"
|
||||
"-DTEST_FILE=${CMAKE_BINARY_DIR}/test/${float_type}blas2/${float_type_upper}BLAT3.SUMM"
|
||||
-P "${CMAKE_CURRENT_SOURCE_DIR}/test_helper.cmake"
|
||||
)
|
||||
endforeach()
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
get_filename_component(TEST_DIRECTORY ${TEST_FILE} DIRECTORY)
|
||||
file(MAKE_DIRECTORY ${TEST_DIRECTORY})
|
||||
file(REMOVE ${TEST_FILE})
|
||||
execute_process(COMMAND ${TEST_COMMAND}
|
||||
INPUT_FILE ${TEST_INPUT}
|
||||
WORKING_DIRECTORY ${TEST_DIRECTORY}
|
||||
)
|
||||
FILE(READ ${TEST_FILE} TEST_FILE_CONTENTS)
|
||||
STRING(FIND "${TEST_FILE_CONTENTS}" "FATAL" CONTAINS_FATAL)
|
||||
IF(NOT (${CONTAINS_FATAL} EQUAL -1))
|
||||
MESSAGE(FATAL_ERROR "Error")
|
||||
ENDIF()
|
Loading…
Reference in New Issue