From af629c133e5e00cd888397b9d78cdef86973559f Mon Sep 17 00:00:00 2001
From: Philippe Canal <pcanal@fnal.gov>
Date: Wed, 19 Dec 2018 17:57:54 -0600
Subject: [PATCH] Speed up test-bench when run from ctest

---
 test/CMakeLists.txt | 2 +-
 test/bench.cxx      | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index aad1914dd33..47b45e8ff0d 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -89,7 +89,7 @@ ROOT_LINKER_LIBRARY(Aclock Aclock.cxx G__Aclock.cxx LIBRARIES Graf Gpad)
 ROOT_GENERATE_DICTIONARY(G__TBench ${CMAKE_CURRENT_SOURCE_DIR}/TBench.h MODULE TBench LINKDEF benchLinkDef.h DEPENDENCIES MathCore Tree)
 ROOT_LINKER_LIBRARY(TBench TBench.cxx G__TBench.cxx LIBRARIES Core MathCore RIO Tree)
 ROOT_EXECUTABLE(bench bench.cxx LIBRARIES Core TBench)
-ROOT_ADD_TEST(test-bench COMMAND bench LABELS longtest)
+ROOT_ADD_TEST(test-bench COMMAND bench -s LABELS longtest)
 
 #--stress------------------------------------------------------------------------------------
   ROOT_EXECUTABLE(stress stress.cxx LIBRARIES Event Core Hist RIO Tree Gpad Postscript)
diff --git a/test/bench.cxx b/test/bench.cxx
index dc70bbcb1e4..d5eff409a0d 100644
--- a/test/bench.cxx
+++ b/test/bench.cxx
@@ -115,6 +115,7 @@ int main(int argc, char **argv)
 {
    bool writereferences = false;
    bool memberwise = false;
+   bool shortrun = false;
 
    TVirtualStreamerInfo::SetStreamMemberWise(kFALSE);
    // by default stream objects objectwise
@@ -126,10 +127,12 @@ int main(int argc, char **argv)
          memberwise = true;
       } else if (strstr(argv[a],"-r")) {
          writereferences = true;
+      } else if (strstr(argv[a],"-s")) {
+         shortrun = true;
       }
    }
-   int nhits       = 1000;
-   int nevents     = 400;
+   int nhits       = shortrun ? 10 : 1000;
+   int nevents     = shortrun ? 40 : 400;
 
    Double_t cptot = 0;
 
-- 
GitLab