|
| 1 | +set(EXECUTABLES "minio" "mc") |
| 2 | + |
| 3 | +foreach(EXE IN LISTS EXECUTABLES) |
| 4 | + |
| 5 | + find_program(EXE_BIN ${EXE} HINTS "${CMAKE_CURRENT_BINARY_DIR}") |
| 6 | + |
| 7 | + if(NOT EXE_BIN) |
| 8 | + message("Didnt find ${EXE}. Downloading it ...") |
| 9 | + |
| 10 | + if (APPLE) |
| 11 | + set(SYS_NAME "darwin") |
| 12 | + else() |
| 13 | + set(SYS_NAME "linux") |
| 14 | + endif() |
| 15 | + |
| 16 | + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64" OR |
| 17 | + CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") |
| 18 | + set(SYS_PROC "arm64") |
| 19 | + else() |
| 20 | + set(SYS_PROC "amd64") |
| 21 | + endif() |
| 22 | + |
| 23 | + if (EXE STREQUAL "minio") |
| 24 | + set(DIR "server") |
| 25 | + else() |
| 26 | + set(DIR "client") |
| 27 | + endif() |
| 28 | + |
| 29 | + set(URL "https://dl.min.io/${DIR}/${EXE}/release/${SYS_NAME}-${SYS_PROC}/${EXE}") |
| 30 | + set(FILE "${CMAKE_CURRENT_BINARY_DIR}/${EXE}") |
| 31 | + message("Downloading ${URL} to ${FILE}") |
| 32 | + file(DOWNLOAD "${URL}" "${FILE}" STATUS download_status) |
| 33 | + |
| 34 | + list(GET download_status 0 RESULT_CODE) |
| 35 | + if (NOT RESULT_CODE EQUAL 0) |
| 36 | + message(FATAL_ERROR "Failed to download ${EXE}: ${RESULT_CODE}") |
| 37 | + endif() |
| 38 | + |
| 39 | + file(CHMOD "${FILE}" PERMISSIONS |
| 40 | + OWNER_READ OWNER_WRITE OWNER_EXECUTE |
| 41 | + GROUP_READ GROUP_EXECUTE |
| 42 | + WORLD_READ WORLD_EXECUTE) |
| 43 | + endif() |
| 44 | + |
| 45 | +endforeach() |
| 46 | + |
| 47 | +find_program(MINIO_BIN minio HINTS "${CMAKE_CURRENT_BINARY_DIR}") |
| 48 | +find_program(MC_BIN mc HINTS "${CMAKE_CURRENT_BINARY_DIR}") |
1 | 49 |
|
2 | 50 | include(GoogleTest) |
3 | 51 |
|
@@ -96,7 +144,7 @@ add_test(NAME S3::s3_basic::setup |
96 | 144 | set_tests_properties(S3::s3_basic::setup |
97 | 145 | PROPERTIES |
98 | 146 | FIXTURES_SETUP S3::s3_basic |
99 | | - ENVIRONMENT "BINARY_DIR=${CMAKE_BINARY_DIR};SOURCE_DIR=${CMAKE_SOURCE_DIR};XROOTD_BINDIR=${XRootD_DATA_DIR}/../bin" |
| 147 | + ENVIRONMENT "BINARY_DIR=${CMAKE_BINARY_DIR};SOURCE_DIR=${CMAKE_SOURCE_DIR};XROOTD_BINDIR=${XRootD_DATA_DIR}/../bin;MINIO_BIN=${MINIO_BIN};MC_BIN=${MC_BIN}" |
100 | 148 | ) |
101 | 149 |
|
102 | 150 | add_test(NAME S3::s3_basic::teardown |
|
0 commit comments