From a56c20e42017744bb5a1af9a9484949225b5b073 Mon Sep 17 00:00:00 2001
From: Rafal Bielski <rafal.bielski@cern.ch>
Date: Wed, 1 Jul 2020 12:00:03 +0200
Subject: [PATCH] Don't draw RootComp diff when running in CI

---
 .../TrigValTools/python/TrigValSteering/CheckSteps.py        | 5 ++++-
 .../TrigValTools/python/TrigValSteering/Common.py            | 5 +++++
 .../TrigValTools/python/TrigValSteering/Step.py              | 4 ++--
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
index 22fd8d6643f..cd37aa4b2a2 100644
--- a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
+++ b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/CheckSteps.py
@@ -15,7 +15,7 @@ import six
 import glob
 
 from TrigValTools.TrigValSteering.Step import Step, get_step_from_list
-from TrigValTools.TrigValSteering.Common import art_input_eos, art_input_cvmfs
+from TrigValTools.TrigValSteering.Common import art_input_eos, art_input_cvmfs, running_in_CI
 
 class RefComparisonStep(Step):
     '''Base class for steps comparing a file to a reference'''
@@ -350,6 +350,9 @@ class RootCompStep(RefComparisonStep):
 
     def configure(self, test):
         RefComparisonStep.configure(self, test)
+        if running_in_CI():
+            # drawing the diff output may be slow and is not needed for CI
+            self.args += ' --noRoot --noPS'
         self.args += ' {} {}'.format(self.reference, self.input_file)
         Step.configure(self, test)
 
diff --git a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/Common.py b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/Common.py
index 88351701d8a..22d0a003f82 100644
--- a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/Common.py
+++ b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/Common.py
@@ -68,3 +68,8 @@ def check_job_options(jo_path):
     # Try to find the file in JOBOPTSEARCHPATH
     found = FindFile(jo_path, os.environ['JOBOPTSEARCHPATH'].split(os.pathsep), os.R_OK)
     return found is not None
+
+
+@memoize
+def running_in_CI():
+    return os.environ.get('gitlabTargetBranch') is not None
diff --git a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/Step.py b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/Step.py
index 296519c370c..e606b339c97 100644
--- a/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/Step.py
+++ b/Trigger/TrigValidation/TrigValTools/python/TrigValSteering/Step.py
@@ -14,7 +14,7 @@ import time
 import re
 from enum import Enum
 from threading import Timer
-from TrigValTools.TrigValSteering.Common import get_logger, art_result
+from TrigValTools.TrigValSteering.Common import get_logger, art_result, running_in_CI
 
 
 class Step(object):
@@ -180,7 +180,7 @@ class Step(object):
         # Print full log to stdout for failed steps if running in CI
         if self.required \
                 and self.result != 0 \
-                and os.environ.get('gitlabTargetBranch') \
+                and running_in_CI() \
                 and self.output_stream==self.OutputStream.FILE_ONLY:
             self.log.error('Step failure while running in CI. Printing full log %s', self.get_log_file_name())
             with open(self.get_log_file_name()) as log_file:
-- 
GitLab