From dc99820bb4db56cb624d0d0e9a4bcba8c9a49b38 Mon Sep 17 00:00:00 2001 From: Tadej Novak <tadej.novak@cern.ch> Date: Wed, 1 Feb 2023 16:44:13 +0100 Subject: [PATCH] Reorganise AthenaConfiguration unit tests --- Control/AthenaConfiguration/CMakeLists.txt | 85 +++++++++++-------- .../python/AllConfigFlags.py | 17 ++-- .../python/GeoModelConfigFlags.py | 40 +++++++-- .../test/testAllConfigFlags.py | 53 ------------ .../test/testAllConfigFlags_AOD_MC.py | 23 +++++ .../test/testAllConfigFlags_AOD_data.py | 23 +++++ .../test/testAllConfigFlags_EVNT.py | 18 ++-- .../test/testAllConfigFlags_HITS.py | 16 ++-- .../test/testAllConfigFlags_RDO.py | 36 +++----- .../test/testAthConfigFlags.py | 18 ++-- .../AthExUnittest/CMakeLists.txt | 12 +-- Projects/AthAnalysis/package_filters.txt | 2 + Projects/AthGeneration/package_filters.txt | 2 + Projects/AthSimulation/package_filters.txt | 2 + .../SimulationConfig/python/SimConfigFlags.py | 2 +- 15 files changed, 194 insertions(+), 155 deletions(-) delete mode 100755 Control/AthenaConfiguration/test/testAllConfigFlags.py create mode 100755 Control/AthenaConfiguration/test/testAllConfigFlags_AOD_MC.py create mode 100755 Control/AthenaConfiguration/test/testAllConfigFlags_AOD_data.py diff --git a/Control/AthenaConfiguration/CMakeLists.txt b/Control/AthenaConfiguration/CMakeLists.txt index d642378ac67..4533caadd51 100644 --- a/Control/AthenaConfiguration/CMakeLists.txt +++ b/Control/AthenaConfiguration/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration # Declare the package name: atlas_subdir( AthenaConfiguration ) @@ -7,7 +7,9 @@ if( XAOD_STANDALONE ) atlas_install_python_modules( python/AllConfigFlags.py python/AthConfigFlags.py python/AutoConfigFlags.py + python/GeoModelConfigFlags.py python/Enums.py + python/TestDefaults.py POST_BUILD_CMD ${ATLAS_FLAKE8} ) else() # External dependencies. @@ -19,51 +21,75 @@ else() atlas_install_scripts( share/confTool.py python/iconfTool/iconfTool share/CARunner.py POST_BUILD_CMD ${ATLAS_FLAKE8} ) - - # Tests in the package: - atlas_add_test( AthConfigFlagsTest - SCRIPT test/testAthConfigFlags.py - POST_EXEC_SCRIPT nopost.sh ) - - atlas_add_test( MainServicesConfig - SCRIPT python -m AthenaConfiguration.MainServicesConfig - POST_EXEC_SCRIPT nopost.sh ) +endif() - atlas_add_test( testAccumulatorCache - SCRIPT test/testAccumulatorCache.py - POST_EXEC_SCRIPT nopost.sh ) +# common tests +atlas_add_test( AthConfigFlagsTest + SCRIPT test/testAthConfigFlags.py + POST_EXEC_SCRIPT nopost.sh ) + +# tests for analysis releases and Athena +if( NOT GENERATIONBASE AND NOT SIMULATIONBASE ) + atlas_add_test( AllConfigFlagsTest_AOD_MC + SCRIPT test/testAllConfigFlags_AOD_MC.py + POST_EXEC_SCRIPT nopost.sh ) + + atlas_add_test( AllConfigFlagsTest_AOD_data + SCRIPT test/testAllConfigFlags_AOD_data.py + POST_EXEC_SCRIPT nopost.sh ) endif() +# tests for Athena-based releases +if( NOT XAOD_STANDALONE ) + atlas_add_test( ComponentAccumulatorTest + SCRIPT test/testComponentAccumulator.py + POST_EXEC_SCRIPT nopost.sh ) + + atlas_add_test( AtlasSemantics + SCRIPT test/testAtlasSemantics.py + POST_EXEC_SCRIPT nopost.sh ) + + atlas_add_test( AccumulatorCache + SCRIPT test/testAccumulatorCache.py + POST_EXEC_SCRIPT nopost.sh ) + + atlas_add_test( MainServicesConfig + SCRIPT python -m AthenaConfiguration.MainServicesConfig + POST_EXEC_SCRIPT nopost.sh ) +endif() + +# tests that should not run in analysis releases if( NOT XAOD_ANALYSIS ) - atlas_add_test( ComponentAccumulatorTest - SCRIPT test/testComponentAccumulator.py - POST_EXEC_SCRIPT nopost.sh ) - - atlas_add_test( AllConfigFlagsTest_EVNT_test - SCRIPT test/testAllConfigFlags_EVNT.py - POST_EXEC_SCRIPT nopost.sh - PROPERTIES TIMEOUT 300 ) + atlas_add_test( AllConfigFlagsTest_EVNT + SCRIPT test/testAllConfigFlags_EVNT.py + POST_EXEC_SCRIPT nopost.sh + PROPERTIES TIMEOUT 300 ) endif() +# tests that should not run in analysis releases and in AthGeneration if( NOT GENERATIONBASE AND NOT XAOD_ANALYSIS ) - atlas_add_test( DetectorConfigFlags_test + atlas_add_test( FPEAndCoreDump + SCRIPT test/testFPEHandling.py ) + + atlas_add_test( DetectorConfigFlags SCRIPT test/testDetectorFlags.py POST_EXEC_SCRIPT nopost.sh PROPERTIES TIMEOUT 300 ) - atlas_add_test( AllConfigFlagsTest_HITS_test + atlas_add_test( AllConfigFlagsTest_HITS SCRIPT test/testAllConfigFlags_HITS.py POST_EXEC_SCRIPT nopost.sh PROPERTIES TIMEOUT 300 ) endif() +# tests that should run only in Athena if( NOT SIMULATIONBASE AND NOT GENERATIONBASE AND NOT XAOD_ANALYSIS ) - atlas_add_test( AllConfigFlagsTest_RDO_test + atlas_add_test( AllConfigFlagsTest_RDO SCRIPT test/testAllConfigFlags_RDO.py POST_EXEC_SCRIPT nopost.sh PROPERTIES TIMEOUT 300 ) - atlas_add_test( AllConfigFlagsTest + atlas_add_test( AllConfigFlagsTest_AOD_Full SCRIPT python -m AthenaConfiguration.AllConfigFlags POST_EXEC_SCRIPT nopost.sh PROPERTIES TIMEOUT 300 ) @@ -75,13 +101,4 @@ if( NOT SIMULATIONBASE AND NOT GENERATIONBASE AND NOT XAOD_ANALYSIS ) atlas_add_test( OldFlags2NewFlagsTest SCRIPT python -m AthenaConfiguration.OldFlags2NewFlags POST_EXEC_SCRIPT nopost.sh ) - - atlas_add_test( AtlasSemantics - SCRIPT test/testAtlasSemantics.py - POST_EXEC_SCRIPT nopost.sh ) - - - atlas_add_test( FPEAndCoreDump - SCRIPT test/testFPEHandling.py - ) endif() diff --git a/Control/AthenaConfiguration/python/AllConfigFlags.py b/Control/AthenaConfiguration/python/AllConfigFlags.py index c155ac07049..fcc23edb8e3 100644 --- a/Control/AthenaConfiguration/python/AllConfigFlags.py +++ b/Control/AthenaConfiguration/python/AllConfigFlags.py @@ -196,7 +196,7 @@ def initConfigFlags(): #Geo Model Flags: def __geomodel(): from AthenaConfiguration.GeoModelConfigFlags import createGeoModelConfigFlags - return createGeoModelConfigFlags() + return createGeoModelConfigFlags(not isGaudiEnv() or acf.Common.Project is Project.AthAnalysis) acf.addFlagsCategory( "GeoModel", __geomodel ) #Reco Flags: @@ -368,13 +368,16 @@ def initConfigFlags(): ConfigFlags=initConfigFlags() + if __name__=="__main__": + from AthenaConfiguration.TestDefaults import defaultTestFiles + flags = initConfigFlags() import sys - if len(sys.argv)>1: - ConfigFlags.Input.Files = sys.argv[1:] + if len(sys.argv) > 1: + flags.Input.Files = sys.argv[1:] else: - ConfigFlags.Input.Files = [ "/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs/data16_13TeV.00311321.physics_Main.recon.AOD.r9264/AOD.11038520._000001.pool.root.1",] + flags.Input.Files = defaultTestFiles.AOD_RUN3_DATA - ConfigFlags.loadAllDynamicFlags() - ConfigFlags.initAll() - ConfigFlags.dump() + flags.loadAllDynamicFlags() + flags.initAll() + flags.dump() diff --git a/Control/AthenaConfiguration/python/GeoModelConfigFlags.py b/Control/AthenaConfiguration/python/GeoModelConfigFlags.py index 73fabcb2449..af7d707647b 100644 --- a/Control/AthenaConfiguration/python/GeoModelConfigFlags.py +++ b/Control/AthenaConfiguration/python/GeoModelConfigFlags.py @@ -1,18 +1,45 @@ -# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration from AthenaConfiguration.AthConfigFlags import AthConfigFlags from AthenaConfiguration.AutoConfigFlags import GetFileMD, DetDescrInfo from AthenaConfiguration.Enums import LHCPeriod, ProductionStep, Project -def createGeoModelConfigFlags(): +def createGeoModelConfigFlags(analysis=False): gcf=AthConfigFlags() - gcf.addFlag('GeoModel.Layout', 'atlas') # replaces global.GeoLayout - gcf.addFlag("GeoModel.AtlasVersion", lambda prevFlags : (GetFileMD(prevFlags.Input.Files).get("GeoAtlas", None) or "ATLAS-R2-2016-01-00-01")) + # Special handling of analysis releases where we only want AtlasVersion and Run + if analysis: + def _deduct_LHCPeriod(prevFlags): + import logging + log = logging.getLogger("GeoModelConfigFlags") + log.info('Deducing LHC Run period from the geometry tag name "%s" as database access is not available in analysis releases', prevFlags.GeoModel.AtlasVersion) + + if prevFlags.GeoModel.AtlasVersion.startswith("ATLAS-R1"): + period = LHCPeriod.Run1 + elif prevFlags.GeoModel.AtlasVersion.startswith("ATLAS-R2"): + period = LHCPeriod.Run2 + elif prevFlags.GeoModel.AtlasVersion.startswith("ATLAS-R3"): + period = LHCPeriod.Run3 + else: + raise ValueError(f'Can not deduct LHC Run period from "{prevFlags.GeoModel.AtlasVersion}", please set "flags.GeoModel.Run" manually.') + + log.info('Using LHC Run period "%s"', period.value) + return period + + gcf.addFlag("GeoModel.Run", # Run deducted from other metadata + _deduct_LHCPeriod, enum=LHCPeriod) + return gcf + + gcf.addFlag("GeoModel.Run", # Run from the geometry database + lambda prevFlags : LHCPeriod(DetDescrInfo(prevFlags.GeoModel.AtlasVersion)['Common']['Run']), + enum=LHCPeriod) + + gcf.addFlag('GeoModel.Layout', 'atlas') # replaces global.GeoLayout + gcf.addFlag("GeoModel.Align.Dynamic", lambda prevFlags : not prevFlags.Input.isMC and prevFlags.Common.ProductionStep not in [ProductionStep.Simulation, ProductionStep.Overlay]) @@ -20,11 +47,6 @@ def createGeoModelConfigFlags(): lambda prevFlags : prevFlags.Common.Project is Project.AthSimulation or prevFlags.Common.ProductionStep is ProductionStep.Simulation) # Mainly for G4 which still loads alignment on initialize - gcf.addFlag("GeoModel.Run", - lambda prevFlags : LHCPeriod(DetDescrInfo(prevFlags.GeoModel.AtlasVersion)['Common']['Run']), - enum=LHCPeriod) - # Based on CommonGeometryFlags.Run - gcf.addFlag("GeoModel.Type", lambda prevFlags : DetDescrInfo(prevFlags.GeoModel.AtlasVersion)['Common']['GeoType']) # Geometry type in {ITKLoI, ITkLoI-VF, etc...} diff --git a/Control/AthenaConfiguration/test/testAllConfigFlags.py b/Control/AthenaConfiguration/test/testAllConfigFlags.py deleted file mode 100755 index 4f2c40de94d..00000000000 --- a/Control/AthenaConfiguration/test/testAllConfigFlags.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python -# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration - -from AthenaConfiguration.AthConfigFlags import AthConfigFlags -acf=AthConfigFlags() -acf.addFlag("x.flag1",1) -acf.addFlag("x.flag2",2) -acf.addFlag("x.flag3", lambda prev: prev.x.flag2*2 ) -acf.addFlag("x.flag7", lambda prev: prev.x.flag1+27) - -print(acf.x.flag1) -print(acf.x.flag3) - -#acf.addFlag("flag4", lambda prev: prev.get("flag5")*2 ) -#acf.addFlag("flag5", lambda prev: prev.get("flag4")*2 ) -#print (acf.get("flag4") -> Circular dependency! ) - - -acf.addFlag("domain1.flag1","bla") -acf.addFlag("domain1.flag2",lambda prev: prev.domain1.flag1*2) -acf.addFlag("domain2.flag1","geh") -acf.addFlag("domain2.flag2","xyz") -#acf.addFlag("domain2.flagxxx","will fail") - -def _createDomain3(): - f = AthConfigFlags() - f.addFlag("domain3.flag1", "") - return f - -acf.addFlagsCategory("domain3", _createDomain3) - -acf.lock() - -print("Initial flag container") -acf.dump() - -acfPrime=acf.clone() -acfPrime.x.flag3 = 42 -acfPrime.domain3.flag1 = "bar" # check if dynamic flags are cloned - -print("Cloned flag container") -acfPrime.dump() - -acfMod=acf.cloneAndReplace("domain1","domain2") - -print("After cloneAndReplace") -acfMod.dump() - -ff=acf.initAll() - -print("Frozen dict:") -acf.lock() -acf.dump() diff --git a/Control/AthenaConfiguration/test/testAllConfigFlags_AOD_MC.py b/Control/AthenaConfiguration/test/testAllConfigFlags_AOD_MC.py new file mode 100755 index 00000000000..5dd625ba3ec --- /dev/null +++ b/Control/AthenaConfiguration/test/testAllConfigFlags_AOD_MC.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration +from AthenaConfiguration.AllConfigFlags import initConfigFlags +from AthenaConfiguration.TestDefaults import defaultTestFiles +flags = initConfigFlags() +flags.Input.Files = defaultTestFiles.AOD_RUN3_MC + +# Load Sim flags if available +flagsAvailableSim = True +try: + import SimulationConfig # noqa: F401 +except ImportError: + flagsAvailableSim = False +if flagsAvailableSim: + flags._loadDynaFlags("Sim") + +# Load GeoModel flags +flags._loadDynaFlags("GeoModel") + +# Init and print +flags.initAll() +flags.lock() +flags.dump() diff --git a/Control/AthenaConfiguration/test/testAllConfigFlags_AOD_data.py b/Control/AthenaConfiguration/test/testAllConfigFlags_AOD_data.py new file mode 100755 index 00000000000..21ff7011017 --- /dev/null +++ b/Control/AthenaConfiguration/test/testAllConfigFlags_AOD_data.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python +# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration +from AthenaConfiguration.AllConfigFlags import initConfigFlags +from AthenaConfiguration.TestDefaults import defaultTestFiles +flags = initConfigFlags() +flags.Input.Files = defaultTestFiles.AOD_RUN3_DATA + +# Load Sim flags if available +flagsAvailableSim = True +try: + import SimulationConfig # noqa: F401 +except ImportError: + flagsAvailableSim = False +if flagsAvailableSim: + flags._loadDynaFlags("Sim") + +# Load GeoModel flags +flags._loadDynaFlags("GeoModel") + +# Init and print +flags.initAll() +flags.lock() +flags.dump() diff --git a/Control/AthenaConfiguration/test/testAllConfigFlags_EVNT.py b/Control/AthenaConfiguration/test/testAllConfigFlags_EVNT.py index 50f119fdb36..48236eebbe0 100755 --- a/Control/AthenaConfiguration/test/testAllConfigFlags_EVNT.py +++ b/Control/AthenaConfiguration/test/testAllConfigFlags_EVNT.py @@ -5,23 +5,25 @@ from AthenaConfiguration.TestDefaults import defaultTestFiles flags = initConfigFlags() flags.Input.Files = defaultTestFiles.EVNT -havedet = True +# Load Detector flags if available +flagsAvailableDetector = True try: import DetDescrCnvSvc # noqa: F401 except ImportError: - havedet = False -if havedet: + flagsAvailableDetector = False +if flagsAvailableDetector: flags._loadDynaFlags("Detector") -# Don't fail just because G4AtlasApps isn't present in this build. -havesim = True +# Load Sim flags if available +flagsAvailableSim = True try: - import G4AtlasApps # noqa: F401 + import SimulationConfig # noqa: F401 except ImportError: - havesim = False -if havesim: + flagsAvailableSim = False +if flagsAvailableSim: flags._loadDynaFlags("Sim") +# Init and print flags.initAll() flags.lock() flags.dump() diff --git a/Control/AthenaConfiguration/test/testAllConfigFlags_HITS.py b/Control/AthenaConfiguration/test/testAllConfigFlags_HITS.py index 3a6104e4c7a..ba80d0401c3 100755 --- a/Control/AthenaConfiguration/test/testAllConfigFlags_HITS.py +++ b/Control/AthenaConfiguration/test/testAllConfigFlags_HITS.py @@ -4,17 +4,17 @@ from AthenaConfiguration.AllConfigFlags import initConfigFlags from AthenaConfiguration.TestDefaults import defaultTestFiles flags = initConfigFlags() flags.Input.Files = defaultTestFiles.HITS_RUN2 + +# Load Detector flags flags._loadDynaFlags("Detector") -# Don't fail just because G4AtlasApps isn't present in this build. -havesim = True -try: - import G4AtlasApps # noqa: F401 -except ImportError: - havesim = False -if havesim: - flags._loadDynaFlags("Sim") +# Load Sim flags +flags._loadDynaFlags("Sim") + +# Load GeoModel flags +flags._loadDynaFlags("GeoModel") +# Init and print flags.initAll() flags.lock() flags.dump() diff --git a/Control/AthenaConfiguration/test/testAllConfigFlags_RDO.py b/Control/AthenaConfiguration/test/testAllConfigFlags_RDO.py index 7d5c72cbee2..af25ee1b065 100755 --- a/Control/AthenaConfiguration/test/testAllConfigFlags_RDO.py +++ b/Control/AthenaConfiguration/test/testAllConfigFlags_RDO.py @@ -4,35 +4,23 @@ from AthenaConfiguration.AllConfigFlags import initConfigFlags from AthenaConfiguration.TestDefaults import defaultTestFiles flags = initConfigFlags() flags.Input.Files = defaultTestFiles.RDO_RUN2 + +# Load Detector flags flags._loadDynaFlags("Detector") -# Don't fail just because G4AtlasApps isn't present in this build. -havesim = True -try: - import G4AtlasApps # noqa: F401 -except ImportError: - havesim = False -if havesim: - flags._loadDynaFlags("Sim") +# Load Sim flags +flags._loadDynaFlags("Sim") + +# Load GeoModel flags +flags._loadDynaFlags("GeoModel") -# Don't fail just because Digitization isn't present in this build. -haveDigi = True -try: - import Digitization # noqa: F401 -except ImportError: - haveDigi = False -if haveDigi: - flags._loadDynaFlags("Digitization") +# Load Digitization flags +flags._loadDynaFlags("Digitization") -# Don't fail just because OverlayConfiguration isn't present in this build. -haveOverlay = True -try: - import OverlayConfiguration # noqa: F401 -except ImportError: - haveOverlay = False -if haveOverlay: - flags._loadDynaFlags("Overlay") +# Load Overlay flags +flags._loadDynaFlags("Overlay") +# Init and print flags.initAll() flags.lock() flags.dump() diff --git a/Control/AthenaConfiguration/test/testAthConfigFlags.py b/Control/AthenaConfiguration/test/testAthConfigFlags.py index 56c152b5668..424f072e919 100755 --- a/Control/AthenaConfiguration/test/testAthConfigFlags.py +++ b/Control/AthenaConfiguration/test/testAthConfigFlags.py @@ -1,8 +1,7 @@ #!/usr/bin/env python -# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration -from AthenaConfiguration.AthConfigFlags import AthConfigFlags -from AthenaConfiguration.AccumulatorCache import AccumulatorCache +from AthenaConfiguration.AthConfigFlags import AthConfigFlags, isGaudiEnv from AthenaConfiguration.Enums import Format import unittest @@ -46,6 +45,11 @@ class BasicTests(FlagsSetup): def test_hash(self): """Test flag hashing""" + if not isGaudiEnv(): + return + + from AthenaConfiguration.AccumulatorCache import AccumulatorCache + self.assertEqual(self.flags.locked() , False) with self.assertRaises(RuntimeError): self.flags.athHash() @@ -108,7 +112,7 @@ class BasicTests(FlagsSetup): """Test that enums are properly validated (incorrect flags)""" self.flags.addFlag("FormatWrong", lambda flags : "ABC", enum=Format) with self.assertRaises(RuntimeError) as _: - x=self.flags.FormatWrong + x = self.flags.FormatWrong # noqa: F841 class TestFlagsSetupDynamic(FlagsSetup): @@ -213,13 +217,15 @@ class FlagsFromArgsTest(unittest.TestCase): self.flags.addFlag("detA.flagC","") def test(self): - argline="-l VERBOSE --debug exec --evtMax=10 --skipEvents=3 --filesInput=bla1.data,bla2.data detA.flagB=7 detA.flagC=a.2" + argline="-l VERBOSE --evtMax=10 --skipEvents=3 --filesInput=bla1.data,bla2.data detA.flagB=7 detA.flagC=a.2" + if isGaudiEnv(): + argline += " --debug exec" print (f"Interpreting arguments: '{argline}'") self.flags.fillFromArgs(argline.split()) self.assertEqual(self.flags.Exec.OutputLevel,1,"Failed to set output level from args") self.assertEqual(self.flags.Exec.MaxEvents,10,"Failed to set MaxEvents from args") self.assertEqual(self.flags.Exec.SkipEvents,3,"Failed to set SkipEvents from args") - self.assertEqual(self.flags.Exec.DebugStage,"exec","Failed to set DebugStage from args") + self.assertEqual(self.flags.Exec.DebugStage,"exec" if isGaudiEnv() else "","Failed to set DebugStage from args") self.assertEqual(self.flags.Input.Files,["bla1.data","bla2.data"],"Failed to set FileInput from args") self.assertEqual(self.flags.detA.flagB,7,"Failed to set arbitrary from args") self.assertEqual(self.flags.detA.flagC,"a.2","Failed to set arbitrary unquoted string from args") diff --git a/Control/AthenaExamples/AthExUnittest/CMakeLists.txt b/Control/AthenaExamples/AthExUnittest/CMakeLists.txt index 20014dcff61..8adc70bc234 100644 --- a/Control/AthenaExamples/AthExUnittest/CMakeLists.txt +++ b/Control/AthenaExamples/AthExUnittest/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration # Declare the package name: atlas_subdir( AthExUnittest ) @@ -14,7 +14,9 @@ atlas_add_component( AthExUnittest LINK_LIBRARIES GaudiKernel AthenaBaseComps ) # The test: -atlas_add_test( gt_AthExUnittest - SOURCES test/gt_AthExUnittest.cxx - LINK_LIBRARIES GaudiKernel GoogleTestTools AthenaBaseComps CxxUtils - POST_EXEC_SCRIPT nopost.sh ) +if( NOT SIMULATIONBASE AND NOT GENERATIONBASE AND NOT XAOD_ANALYSIS ) + atlas_add_test( gt_AthExUnittest + SOURCES test/gt_AthExUnittest.cxx + LINK_LIBRARIES GaudiKernel GoogleTestTools AthenaBaseComps CxxUtils + POST_EXEC_SCRIPT nopost.sh ) +endif() diff --git a/Projects/AthAnalysis/package_filters.txt b/Projects/AthAnalysis/package_filters.txt index 1508639ec46..8146e1d6c43 100644 --- a/Projects/AthAnalysis/package_filters.txt +++ b/Projects/AthAnalysis/package_filters.txt @@ -144,6 +144,8 @@ # Core Athena (would like to reduce) : + Control/AthAllocators + Control/AthenaConfiguration ++ Control/AthenaExamples/AthExHelloWorld ++ Control/AthenaExamples/AthExHive + Control/AthenaServices + Control/StoreGate + Control/SGComps diff --git a/Projects/AthGeneration/package_filters.txt b/Projects/AthGeneration/package_filters.txt index dc8a5689fc6..8bb91e5317f 100644 --- a/Projects/AthGeneration/package_filters.txt +++ b/Projects/AthGeneration/package_filters.txt @@ -24,6 +24,8 @@ + Control/AthenaCommon + Control/AthenaConfiguration + Control/AthenaExamples/AthExHelloWorld ++ Control/AthenaExamples/AthExHive ++ Control/AthenaExamples/AthExUnittest + Control/AthenaInterprocess + Control/AthenaKernel + Control/AthenaMP diff --git a/Projects/AthSimulation/package_filters.txt b/Projects/AthSimulation/package_filters.txt index 0331eee9031..aaf8c791fc9 100644 --- a/Projects/AthSimulation/package_filters.txt +++ b/Projects/AthSimulation/package_filters.txt @@ -33,6 +33,8 @@ + Control/AthenaConfiguration + Control/AthenaCommon + Control/AthenaExamples/AthExHelloWorld ++ Control/AthenaExamples/AthExHive ++ Control/AthenaExamples/AthExUnittest + Control/AthenaInterprocess + Control/AthenaKernel + Control/AthenaMP diff --git a/Simulation/SimulationConfig/python/SimConfigFlags.py b/Simulation/SimulationConfig/python/SimConfigFlags.py index 51e29cb9b3c..b634d965b86 100644 --- a/Simulation/SimulationConfig/python/SimConfigFlags.py +++ b/Simulation/SimulationConfig/python/SimConfigFlags.py @@ -86,7 +86,7 @@ def createSimConfigFlags(): if not version: from os import environ version = str(environ.get("G4VERS", "")) - if isGaudiEnv() and not version: + if prevFlags.Input.isMC and isGaudiEnv() and not version: raise ValueError("Unknown G4 version") return version -- GitLab