@@ -712,9 +712,12 @@ run_coverity() {
712712
713713#
714714# Run the test suite (gtest)
715+ # Arguments: <compiler-name> [configure-flags]
715716#
716717run_gtest () {
717- ../contrib/configure-devel --prefix=$ucx_inst
718+ compiler_name=$1
719+ shift
720+ ../contrib/configure-devel --prefix=$ucx_inst $@
718721 $MAKE clean
719722 $MAKE
720723
@@ -739,11 +742,11 @@ run_gtest() {
739742
740743 mkdir -p $GTEST_REPORT_DIR
741744
742- echo " ==== Running unit tests ===="
745+ echo " ==== Running unit tests, $compiler_name compiler ===="
743746 $AFFINITY $TIMEOUT make -C test/gtest test
744747 (cd test/gtest && rename .tap _gtest.tap * .tap && mv * .tap $GTEST_REPORT_DIR )
745748
746- echo " ==== Running malloc hooks mallopt() test ===="
749+ echo " ==== Running malloc hooks mallopt() test, $compiler_name compiler ===="
747750 # gtest returns with non zero exit code if there were no
748751 # tests to run. As a workaround run a single test on every
749752 # shard.
@@ -757,7 +760,7 @@ run_gtest() {
757760 make -C test/gtest test
758761 (cd test/gtest && rename .tap _mallopt_gtest.tap malloc_hook_cplusplus.tap && mv * .tap $GTEST_REPORT_DIR )
759762
760- echo " ==== Running malloc hooks mmap_ptrs test with MMAP_THRESHOLD=16384 ===="
763+ echo " ==== Running malloc hooks mmap_ptrs test with MMAP_THRESHOLD=16384, $compiler_name compiler ===="
761764 $AFFINITY $TIMEOUT \
762765 env MALLOC_MMAP_THRESHOLD_=16384 \
763766 GTEST_SHARD_INDEX=0 \
@@ -768,7 +771,7 @@ run_gtest() {
768771
769772 if ! [[ $( uname -m) =~ " aarch" ]] && ! [[ $( uname -m) =~ " ppc" ]]
770773 then
771- echo " ==== Running valgrind tests ===="
774+ echo " ==== Running valgrind tests, $compiler_name compiler ===="
772775
773776 # Load newer valgrind if naative is older than 3.10
774777 if ! (echo " valgrind-3.10.0" ; valgrind --version) | sort -CV
@@ -782,12 +785,29 @@ run_gtest() {
782785 (cd test/gtest && rename .tap _vg.tap * .tap && mv * .tap $GTEST_REPORT_DIR )
783786 module unload tools/valgrind-latest
784787 else
785- echo " ==== Not running valgrind tests ===="
788+ echo " ==== Not running valgrind tests with $compiler_name compiler ===="
786789 echo " 1..1" > vg_skipped.tap
787790 echo " ok 1 - # SKIP because running on $( uname -m) " >> vg_skipped.tap
788791 fi
789792}
790793
794+ run_gtest_default () {
795+ run_gtest " default"
796+ }
797+
798+ run_gtest_armclang () {
799+ if module_load arm-compiler/arm-hpc-compiler && armclang -v
800+ then
801+ run_gtest " armclang" CC=armclang CXX=armclang++
802+ else
803+ echo " ==== Not running with armclang compiler ===="
804+ echo " 1..1" > armclang_skipped.tap
805+ echo " ok 1 - # SKIP because armclang not found" >> armclang_skipped.tap
806+ fi
807+ module unload arm-compiler/arm-hpc-compiler
808+ }
809+
810+
791811#
792812# Run the test suite (gtest) in release configuration
793813#
@@ -857,7 +877,8 @@ run_tests() {
857877 do_distributed_task 0 4 test_unused_env_var
858878
859879 # all are running gtest
860- run_gtest
880+ run_gtest_default
881+ run_gtest_armclang
861882
862883 do_distributed_task 3 4 run_coverity
863884 do_distributed_task 0 4 run_gtest_release
0 commit comments