From 2ff3b6e6b6c18c1105c45f3f105918968f9f904b Mon Sep 17 00:00:00 2001 From: Martyn Gigg <martyn.gigg@stfc.ac.uk> Date: Tue, 27 Mar 2018 12:15:11 +0100 Subject: [PATCH] Create a blank user config file before running tests Previously we only removed the properties file but some tests could touch other parts of the user config so remove it all and create a blank file to ensure the environment is clean. Refs #22063 (cherry picked from commit 07c1513f70fd05fdf5222c7b0dcb98a7579b143e) --- buildconfig/Jenkins/buildscript | 8 +++++--- buildconfig/Jenkins/buildscript.bat | 8 ++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/buildconfig/Jenkins/buildscript b/buildconfig/Jenkins/buildscript index ce0f5519f11..d122e7eee8d 100755 --- a/buildconfig/Jenkins/buildscript +++ b/buildconfig/Jenkins/buildscript @@ -280,9 +280,11 @@ fi ############################################################################### # Run the unit tests ############################################################################### -# Remove any Mantid.user.properties file -userprops=~/.mantid/Mantid.user.properties -rm -f $userprops +# Prevent race conditions when creating the user config directory +userconfig_dir=$HOME/.mantid +rm -fr $userconfig_dir +mkdir -p $userconfig_dir +touch $userconfig_dir/Mantid.user.properties $CTEST_EXE -j${BUILD_THREADS:?} --schedule-random --output-on-failure ############################################################################### diff --git a/buildconfig/Jenkins/buildscript.bat b/buildconfig/Jenkins/buildscript.bat index 190353049b9..78194f3dbbf 100755 --- a/buildconfig/Jenkins/buildscript.bat +++ b/buildconfig/Jenkins/buildscript.bat @@ -157,10 +157,14 @@ if ERRORLEVEL 1 exit /B %ERRORLEVEL% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Run the tests ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -:: Remove the user properties file just in case anything polluted it +:: Remove any user configuration and create a blank user properties file +:: This prevents race conditions when creating the user config directory set USERPROPS=bin\%BUILD_CONFIG%\Mantid.user.properties del %USERPROPS% - +set CONFIGDIR=%APPDATA%\mantidproject\mantid +rmdir /S /Q %CONFIGDIR% +mkdir %CONFIGDIR% +call cmake.exe -E touch %USERPROPS% call ctest.exe -C %BUILD_CONFIG% -j%BUILD_THREADS% --schedule-random --output-on-failure if ERRORLEVEL 1 exit /B %ERRORLEVEL% -- GitLab