From 9f19a79c15d6529019c061f2e185f369dcb20128 Mon Sep 17 00:00:00 2001 From: Nikita Titov Date: Fri, 20 Aug 2021 15:40:42 +0300 Subject: [PATCH] Check for MM_PREFETCH and MM_MALLOC not only in CRAN builds --- .ci/test_r_package.sh | 30 ++++++++++++++++++++---------- .ci/test_r_package_windows.ps1 | 32 ++++++++++++++++++++++---------- 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/.ci/test_r_package.sh b/.ci/test_r_package.sh index 275dea70b072..fca6b81466a3 100755 --- a/.ci/test_r_package.sh +++ b/.ci/test_r_package.sh @@ -219,30 +219,40 @@ if [[ $omp_working -ne 1 ]]; then exit -1 fi -# this check makes sure that CI builds of the CRAN package +# this check makes sure that CI builds of the package # actually use MM_PREFETCH preprocessor definition if [[ $R_BUILD_TYPE == "cran" ]]; then mm_prefetch_working=$( cat $BUILD_LOG_FILE \ | grep --count -E "checking whether MM_PREFETCH work.*yes" ) - if [[ $mm_prefetch_working -ne 1 ]]; then - echo "MM_PREFETCH test was not passed, and should be when testing the CRAN package" - exit -1 - fi +else + mm_prefetch_working=$( + cat $BUILD_LOG_FILE \ + | grep --count -E ".*Performing Test MM_PREFETCH - Success" + ) +fi +if [[ $mm_prefetch_working -ne 1 ]]; then + echo "MM_PREFETCH test was not passed" + exit -1 fi -# this check makes sure that CI builds of the CRAN package +# this check makes sure that CI builds of the package # actually use MM_MALLOC preprocessor definition if [[ $R_BUILD_TYPE == "cran" ]]; then mm_malloc_working=$( cat $BUILD_LOG_FILE \ | grep --count -E "checking whether MM_MALLOC work.*yes" ) - if [[ $mm_malloc_working -ne 1 ]]; then - echo "MM_MALLOC test was not passed, and should be when testing the CRAN package" - exit -1 - fi +else + mm_malloc_working=$( + cat $BUILD_LOG_FILE \ + | grep --count -E ".*Performing Test MM_MALLOC - Success" + ) +fi +if [[ $mm_malloc_working -ne 1 ]]; then + echo "MM_MALLOC test was not passed" + exit -1 fi # this check makes sure that no "warning: unknown pragma ignored" logs diff --git a/.ci/test_r_package_windows.ps1 b/.ci/test_r_package_windows.ps1 index 823be77b2161..3948db2ed357 100644 --- a/.ci/test_r_package_windows.ps1 +++ b/.ci/test_r_package_windows.ps1 @@ -232,22 +232,34 @@ if (($env:COMPILER -eq "MINGW") -and ($env:R_BUILD_TYPE -eq "cmake")) { } } -# Checking that MM_PREFETCH preprocessor definition is actually used in CRAN builds. +# Checking that MM_PREFETCH preprocessor definition is actually used in CI builds. if ($env:R_BUILD_TYPE -eq "cran") { $checks = Select-String -Path "${INSTALL_LOG_FILE_NAME}" -Pattern "checking whether MM_PREFETCH work.*yes" - if ($checks.Matches.length -eq 0) { - Write-Output "MM_PREFETCH preprocessor definition wasn't used. Check the build logs." - Check-Output $False - } + $checks_cnt = $checks.Matches.length +} elseif ($env:TOOLCHAIN -ne "MSVC") { + $checks = Select-String -Path "${INSTALL_LOG_FILE_NAME}" -Pattern ".*Performing Test MM_PREFETCH - Success" + $checks_cnt = $checks.Matches.length +} else { + $checks_cnt = 1 +} +if ($checks_cnt -eq 0) { + Write-Output "MM_PREFETCH preprocessor definition wasn't used. Check the build logs." + Check-Output $False } -# Checking that MM_MALLOC preprocessor definition is actually used in CRAN builds. +# Checking that MM_MALLOC preprocessor definition is actually used in CI builds. if ($env:R_BUILD_TYPE -eq "cran") { $checks = Select-String -Path "${INSTALL_LOG_FILE_NAME}" -Pattern "checking whether MM_MALLOC work.*yes" - if ($checks.Matches.length -eq 0) { - Write-Output "MM_MALLOC preprocessor definition wasn't used. Check the build logs." - Check-Output $False - } + $checks_cnt = $checks.Matches.length +} elseif ($env:TOOLCHAIN -ne "MSVC") { + $checks = Select-String -Path "${INSTALL_LOG_FILE_NAME}" -Pattern ".*Performing Test MM_MALLOC - Success" + $checks_cnt = $checks.Matches.length +} else { + $checks_cnt = 1 +} +if ($checks_cnt -eq 0) { + Write-Output "MM_MALLOC preprocessor definition wasn't used. Check the build logs." + Check-Output $False } # Checking that OpenMP is actually used in CMake builds.