Skip to content
Snippets Groups Projects
Commit 5a3a769c authored by Vakhtang Tsulaia's avatar Vakhtang Tsulaia
Browse files

Merge remote-tracking branch 'upstream/24.0' into sweep_24.0_main_2024-03-06

parents 86389246 d0b7f2ac
No related branches found
No related tags found
No related merge requests found
Showing
with 16 additions and 1081 deletions
......@@ -14,7 +14,6 @@ atlas_add_poolcnv_library( CaloAthenaPoolPoolCnv
CaloUtilsLib StoreGateLib AthenaPoolCnvSvcLib )
# Install files from the package:
atlas_install_joboptions( share/*.py )
atlas_install_scripts( test/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
# Find the helper code for the T/P tests:
......
infile = 'aod/AOD-14.5.0/AOD-14.5.0-full.pool.root'
keys = [
#CaloCellLinkContainer_p2
'MuonClusterCollection_Link',
'egClusterCollection_Link',
#CaloClusterContainer_p4
'HLT@10',
'LArClusterEMFrwd@10',
'MuonClusterCollection@10',
'Tau1P3PCellCluster@10',
'Tau1P3PCellEM012ClusterContainer@10',
'Tau1P3PPi0ClusterContainer@10',
'LArClusterEMSofte@10',
'egClusterCollection@10',
'HLT_TrigCaloClusterMaker@10',
'EMTopoCluster430@10',
'CaloCalTopoCluster@10',
#CaloTowerContainer_p1
'HLT_TrigCaloTowerMaker',
#CaloCompactCellContainer
#'AODCellContainer',
]
#from AthenaCommon.JobProperties import jobproperties
#jobproperties.Global.DetDescrVersion = 'ATLAS-GEO-10-00-00'
from AthenaCommon.DetFlags import DetFlags
DetFlags.detdescr.Calo_setOn()
noMuon = True
noID = True
include ('AthenaPoolUtilities/TPCnvTest.py')
infile = 'aod/AOD-15.1.0/AOD-15.1.0-full.pool.root'
keys = [
#CaloCellLinkContainer_p2
'MuonClusterCollection_Link',
'egClusterCollection_Link',
#CaloClusterContainer_p5
'HLT@10',
'Tau1P3PCellEM012ClusterContainer@10',
'Tau1P3PCellCluster@10',
'Tau1P3PPi0ClusterContainer@10',
'LArClusterEMFrwd@10',
'MuonClusterCollection@10',
'egClusterCollection@10',
'LArClusterEMSofte@10',
'EMTopoCluster430@10',
'HLT_TrigCaloClusterMaker@10',
'CaloCalTopoCluster@10',
#CaloShowerContainer_p2
'HLT',
#CaloCompactCellContainer
#'AODCellContainer',
]
#from AthenaCommon.JobProperties import jobproperties
#jobproperties.Global.DetDescrVersion = 'ATLAS-GEO-10-00-00'
from AthenaCommon.DetFlags import DetFlags
DetFlags.detdescr.Calo_setOn()
noMuon = True
noID = True
include ('AthenaPoolUtilities/TPCnvTest.py')
infile = 'aod/AOD-15.5.0/AOD-15.5.0-full.pool.root'
keys = [
#CaloCellLinkContainer_p2
'MuonClusterCollection_Link',
'egClusterCollection_Link',
#CaloClusterContainer_p6
'HLT@10',
'HLT_TrigCaloClusterMaker@10',
'Tau1P3PCellEM012ClusterContainer@10',
'Tau1P3PCellCluster@10',
'MuonClusterCollection@10',
'LArClusterEMFrwd@10',
'Tau1P3PPi0ClusterContainer@10',
'LArClusterEMSofte@10',
'HLT_TrigCaloClusterMaker_slw@10',
'egClusterCollection@10',
'EMTopoCluster430@10',
'HLT_TrigCaloClusterMaker_topo@10',
'CaloCalTopoCluster@10',
#CaloShowerContainer_p2
'HLT',
#CaloCompactCellContainer
'AODCellContainer',
]
#from AthenaCommon.JobProperties import jobproperties
#jobproperties.Global.DetDescrVersion = 'ATLAS-GEO-10-00-00'
from AthenaCommon.DetFlags import DetFlags
DetFlags.detdescr.Calo_setOn()
noMuon = True
noID = True
include ('AthenaPoolUtilities/TPCnvTest.py')
infile = 'esd/ESD-18.0.0.pool.root'
keys = [
#CaloCellLinkContainer_p2
'LArClusterEMFrwd_Link',
'LArClusterEM_Link',
'egClusterCollection_Link',
'EMTopoSW35_Link',
'MuonClusterCollection_Link',
'LArClusterEM7_11Nocorr_Link',
'LArClusterEMSofte_Link',
'Tau1P3PCellEM012ClusterContainer_Link',
'Tau1P3PCellCluster_Link',
'TauPi0BonnClusterContainer_Link',
'HLT_TrigCaloClusterMaker_topo_Link',
'CaloCalTopoCluster_Link',
#CaloClusterContainer_p7
'HLT@10',
'LArClusterEMFrwd@10',
'MuonClusterCollection@10',
'Tau1P3PCellEM012ClusterContainer@10',
'Tau1P3PCellCluster@10',
'HLT_TrigT2Calo@10',
'HLT_TrigCaloClusterMaker_slw@10',
'LArClusterEMSofte@10',
'LArClusterEM7_11Nocorr@10',
'LArClusterEM@10',
'egClusterCollection@10',
'TauPi0BonnClusterContainer@10',
'EMTopoSW35@10',
'HLT_TrigCaloClusterMaker_topo@10',
'HLT_TrigCaloClusterMaker@10',
'CaloCalTopoCluster@10',
#CaloShowerContainer_p2
'HLT@10',
'MuonClusterCollection_Data@10',
'LArClusterEM_Data@10',
'LArClusterEM7_11Nocorr_Data@10',
'egClusterCollection_Data@10',
'Tau1P3PCellEM012ClusterContainer_Data@10',
'LArClusterEMSofte_Data@10',
'EMTopoSW35_Data@10',
'Tau1P3PCellCluster_Data@10',
'TauPi0BonnClusterContainer_Data@10',
'CaloCalTopoCluster_Data@10',
#CaloTopoTowerContainer_p1
'TopoTower',
#CaloTowerContainer_p1
'CombinedTower',
]
#from AthenaCommon.JobProperties import jobproperties
#jobproperties.Global.DetDescrVersion = 'ATLAS-GEO-10-00-00'
from AthenaCommon.DetFlags import DetFlags
DetFlags.detdescr.Calo_setOn()
noMuon = True
noID = True
include ('AthenaPoolUtilities/TPCnvTest.py')
infile = 'esd/ESD-20.1.7.2.pool.root'
keys = [
#CaloClusterCellLinkContainer
'InDetTrackParticlesAssociatedClusters_links@10',
'MuonClusterCollection_links@10',
'LArClusterEM_links@10',
'egammaClusters_links@10',
'LArClusterEM7_11Nocorr_links@10',
'CaloCalTopoClusters_links@10',
]
#from AthenaCommon.JobProperties import jobproperties
#jobproperties.Global.DetDescrVersion = 'ATLAS-GEO-10-00-00'
from AthenaCommon.DetFlags import DetFlags
DetFlags.detdescr.Calo_setOn()
noMuon = True
noID = True
include ('AthenaPoolUtilities/TPCnvTest.py')
This diff is collapsed.
......@@ -426,6 +426,9 @@ def defineHistogram(flags, varname, type='TH1F', path=None,
assert isinstance(ylabels, (list, tuple)),'ylabels must be list or tuple'
settings['ybins'] = len(ylabels)
settings['ylabels'] = ylabels
# if user did not specify ymin and ymax, set it here, as cannot have ymin=ymax=0
if ymin is None: settings["ymin"] = 0
if ymax is None: settings["ymax"] = settings["ymin"]+1
if zlabels is not None and len(zlabels)>0:
assert isinstance(zlabels, (list, tuple)),'zlabels must be list or tuple'
settings['zlabels'] = zlabels
......
......@@ -61,7 +61,7 @@ class Test( unittest.TestCase ):
def test_1D_labelsY( self ):
flags = initConfigFlags()
check = defineHistogram(flags, 'var', ylabels=["bin0", "bin1"])
true = '{"alias": "var", "allvars": ["var"], "convention": "", "merge": "", "path": "", "title": "var", "treeDef": "", "type": "TH1F", "weight": "", "cutMask": "", "xarray": [], "xbins": 100, "xlabels": [], "xmax": 1, "xmin": 0, "xvar": "var", "yarray": [], "ybins": 2, "ylabels": ["bin0", "bin1"], "ymax": 0.0, "ymin": 0.0, "yvar": "", "zbins": 0.0, "zlabels": [], "zmax": 0.0, "zmin": 0.0, "zvar": "", "Sumw2": false, "kLBNHistoryDepth": 0, "kAddBinsDynamically": false, "kRebinAxes": false, "kCanRebin": false, "kVec": false, "kVecUO": false, "kCumulative": false, "kLive": false, "kAlwaysCreate": false}'
true = '{"alias": "var", "allvars": ["var"], "convention": "", "merge": "", "path": "", "title": "var", "treeDef": "", "type": "TH1F", "weight": "", "cutMask": "", "xarray": [], "xbins": 100, "xlabels": [], "xmax": 1, "xmin": 0, "xvar": "var", "yarray": [], "ybins": 2, "ylabels": ["bin0", "bin1"], "ymax": 1.0, "ymin": 0.0, "yvar": "", "zbins": 0.0, "zlabels": [], "zmax": 0.0, "zmin": 0.0, "zvar": "", "Sumw2": false, "kLBNHistoryDepth": 0, "kAddBinsDynamically": false, "kRebinAxes": false, "kCanRebin": false, "kVec": false, "kVecUO": false, "kCumulative": false, "kLive": false, "kAlwaysCreate": false}'
self.assertEqual(json.loads(check), json.loads(true))
def test_2D( self ):
......@@ -85,7 +85,7 @@ class Test( unittest.TestCase ):
def test_2D_labelsXY( self ):
flags = initConfigFlags()
check = defineHistogram(flags, 'varX,varY', 'TH2F', xlabels=["bin0", "bin1"], ylabels=["bin0", "bin1", "bin2"])
true = '{"alias": "varY_vs_varX", "allvars": ["varX", "varY"], "convention": "", "merge": "", "path": "", "title": "varX,varY", "treeDef": "", "type": "TH2F", "weight": "", "cutMask": "", "xarray": [], "xbins": 2, "xlabels": ["bin0", "bin1"], "xmax": 1, "xmin": 0, "xvar": "varX", "yarray": [], "ybins": 3, "ylabels": ["bin0", "bin1", "bin2"], "ymax": 0.0, "ymin": 0.0, "yvar": "varY", "zbins": 0.0, "zlabels": [], "zmax": 0.0, "zmin": 0.0, "zvar": "", "Sumw2": false, "kLBNHistoryDepth": 0, "kAddBinsDynamically": false, "kRebinAxes": false, "kCanRebin": false, "kVec": false, "kVecUO": false, "kCumulative": false, "kLive": false, "kAlwaysCreate": false}'
true = '{"alias": "varY_vs_varX", "allvars": ["varX", "varY"], "convention": "", "merge": "", "path": "", "title": "varX,varY", "treeDef": "", "type": "TH2F", "weight": "", "cutMask": "", "xarray": [], "xbins": 2, "xlabels": ["bin0", "bin1"], "xmax": 1, "xmin": 0, "xvar": "varX", "yarray": [], "ybins": 3, "ylabels": ["bin0", "bin1", "bin2"], "ymax": 1.0, "ymin": 0.0, "yvar": "varY", "zbins": 0.0, "zlabels": [], "zmax": 0.0, "zmin": 0.0, "zvar": "", "Sumw2": false, "kLBNHistoryDepth": 0, "kAddBinsDynamically": false, "kRebinAxes": false, "kCanRebin": false, "kVec": false, "kVecUO": false, "kCumulative": false, "kLive": false, "kAlwaysCreate": false}'
self.assertEqual(json.loads(check), json.loads(true))
def test_3D( self ):
......
......@@ -71,6 +71,7 @@ def FixRegion(config: ROOT.TDirectory, top_level: dqi.HanConfigGroup, td: ROOT.T
"""Main code to translate the configuration given by 'top_level' into the
final configuration by expanding the regexes using the objects in 'td'"""
log.info('Translating regexes...')
HanConfigGroup = dqi.HanConfigGroup
refmapcache = {} # Avoid repeated lookups of reference TMaps
mapping = {}
......@@ -81,14 +82,14 @@ def FixRegion(config: ROOT.TDirectory, top_level: dqi.HanConfigGroup, td: ROOT.T
iterate_hcfg(top_level, mapping, mapping_regex, mapping_groups)
mapping_assessors_final.update(mapping)
for path, g in mapping_groups.items():
newgroup = dqi.HanConfigGroup()
newgroup = HanConfigGroup()
newgroup.SetName(g.GetName())
newgroup.SetPathName(path)
copyMetadata(newgroup, g)
mapping_groups_final[path] = newgroup
l = []
l: List[str] = []
iterate_objs(td, l, td.GetPath())
for path, (a, p) in mapping_regex.items():
pre = re.compile(p)
......@@ -110,7 +111,7 @@ def FixRegion(config: ROOT.TDirectory, top_level: dqi.HanConfigGroup, td: ROOT.T
if orig in mapping_groups_final:
log.debug(f'Deleting {orig}')
del mapping_groups_final[orig]
newgroup = dqi.HanConfigGroup()
newgroup = HanConfigGroup()
newgroup.SetName(formatted_tok)
newgroup.SetPathName(target)
oldgroup = mapping_groups[orig]
......@@ -158,9 +159,10 @@ def FixRegion(config: ROOT.TDirectory, top_level: dqi.HanConfigGroup, td: ROOT.T
log.error(f'Unable to look up assessor parent directory. Full error follows\n{e}: path {p}, assessor {a}, assessor name {a.GetName()}')
# need to in reverse order of depth. First count number of slashes:
keydepths = count_slashes(mapping_groups_final.items())
for _, l in sorted(keydepths.items(), reverse=True):
for p, g in l:
log.debug(f'Final additions for {p}, {g}, {g.GetPathName()} into {os.path.dirname(p)}')
for _, l2 in sorted(keydepths.items(), reverse=True):
for p, g in l2:
if log.level <= logging.DEBUG:
log.debug(f'Final additions for {p}, {g.GetName()}, {g.GetPathName()} into {os.path.dirname(p)}')
if p != 'top_level':
try:
mapping_groups_final[os.path.dirname(p)].AddGroup(g)
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
# Declare the package name:
atlas_subdir( AthenaPoolUtilities )
......@@ -26,16 +26,12 @@ atlas_add_dictionary( AthenaPoolUtilitiesDict
LINK_LIBRARIES AthenaPoolUtilities )
# Install files from the package:
atlas_install_joboptions( share/*.py )
atlas_install_scripts( share/post_tpcnvtest.sh )
atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
# Install the CMake code from the package:
atlas_install_generic( cmake/AthenaPoolUtilitiesTestConfig.cmake
DESTINATION cmake )
atlas_install_generic( share/run_tpcnv_legacy_test.sh.in
DESTINATION cmake/modules/scripts
EXECUTABLE )
atlas_install_generic( share/run_tpcnv_test.sh.in
DESTINATION cmake/modules/scripts
EXECUTABLE )
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
#
# @file AthenaPoolUtilities/share/AthenaPoolUtilitiesTestConfig.make
......@@ -8,47 +8,8 @@
#
# Example:
#
# run_tpcnv_legacy_test( TrackParticleTPCnv_17.2.8 AOD-17.2.8-full )
# run_tpcnv_test( TrackParticleTPCnv_17.2.8 AOD-17.2.8-full )
#
function( run_tpcnv_legacy_test testName refName )
cmake_parse_arguments( ARG "" "REFERENCE_TAG" "REQUIRED_LIBRARIES" ${ARGN} )
# The package name is needed for the configuration of the test script:
atlas_get_package_name( pkgName )
# Find the test runner script:
find_file( ATLAS_TPCNV_LEGACY_TEST_RUNNER "run_tpcnv_legacy_test.sh.in"
PATH_SUFFIXES "share" "scripts"
PATHS "${AthenaPoolUtilitiesTest_DIR}/.."
"${CMAKE_BINARY_DIR}/${ATLAS_PLATFORM}/cmake/modules"
${CMAKE_MODULE_PATH} )
if( NOT ATLAS_TPCNV_LEGACY_TEST_RUNNER )
message( WARNING "Couldn't find run_tpcnv_legacy_test.sh.in" )
return()
endif()
mark_as_advanced( ATLAS_TPCNV_LEGACY_TEST_RUNNER )
# Create the script that will be run:
configure_file( "${ATLAS_TPCNV_LEGACY_TEST_RUNNER}"
"${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/tpcnv_legacy_${testName}.sh"
@ONLY )
set( _env )
if( ARG_REFERENCE_TAG )
set( _env ENVIRONMENT "ATLAS_REFERENCE_TAG=${pkgName}/${ARG_REFERENCE_TAG}" )
endif()
# Create a test with it:
atlas_add_test( ${testName}
SCRIPT
"${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/tpcnv_legacy_${testName}.sh"
PROPERTIES TIMEOUT 600
POST_EXEC_SCRIPT "post_tpcnvtest.sh ${testName}" ${_env} )
endfunction( run_tpcnv_legacy_test )
function( run_tpcnv_test testName refName )
cmake_parse_arguments( ARG "" "REFERENCE_TAG" "REQUIRED_LIBRARIES" ${ARGN} )
......
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
##
# @file AthenaPoolUtilities/share/TPCnvTest.py
# @author sss
# @date Nov 2015
# @brief Helper for testing reading old data files.
#
# This JO can be used to test the reading of an old data file.
#
# Set the variable `infile' to the file to be read.
# If this is not an absolute path, it is looked for under
# /afs/cern.ch/atlas/maxidisk/d33/referencefiles.
# Set the variable keys to the list of SG keys to dump.
# A dump will be made to the file given by appending `.dump'
# to the base part of infile.
# The dump will be compared against a reference file in share.
#
import AthenaCommon.AtlasUnixStandardJob
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PyUtils.moduleExists import moduleExists
from PyUtils.fprint import fprintln
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
import AthenaPoolCnvSvc.ReadAthenaPool
from future import standard_library
standard_library.install_aliases()
import subprocess
# Make sure we don't have a stale file catalog.
import os
if os.path.exists ('PoolFileCatalog.xml'):
os.remove ('PoolFileCatalog.xml')
if (not 'ATLAS_REFERENCE_TAG' in globals() and
'ATLAS_REFERENCE_TAG' in os.environ):
ATLAS_REFERENCE_TAG = os.environ['ATLAS_REFERENCE_TAG']
refpaths = [os.environ.get ('ATLAS_REFERENCE_DATA', None),
'/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art',
'/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/CommonInputs',
'/afs/cern.ch/atlas/maxidisk/d33/referencefiles']
if infile.startswith ('rtt:'):
infile = infile[4:]
from AthenaPoolUtilities.DumperConfig import find_file, Dumper
svcMgr.EventSelector.InputCollections = [ find_file (infile, refpaths) ]
from AthenaCommon.DetFlags import DetFlags
if not globals().get ('noMuon',False):
DetFlags.detdescr.Muon_setOn()
if moduleExists ('MuonRecExample'):
import MuonRecExample.MuonAlignConfig
if not globals().get ('noID',False):
DetFlags.detdescr.ID_setOn()
from AthenaCommon.JobProperties import jobproperties
if jobproperties.Global.DetDescrVersion.isDefault():
jobproperties.Global.DetDescrVersion = 'ATLAS-R1-2012-03-02-00'
have_atlas_geo = moduleExists ('AtlasGeoModel')
if have_atlas_geo:
import AtlasGeoModel.GeoModelInit
import AtlasGeoModel.SetGeometryVersion
svcMgr.GeoModelSvc.IgnoreTagDifference = True
if have_atlas_geo and moduleExists ('TrkEventCnvTools') and moduleExists ('MuonEventCnvTools'):
from AtlasGeoModel.MuonGMJobProperties import MuonGeometryFlags
from TrkEventCnvTools import TrkEventCnvToolsConf
EventCnvSuperTool = TrkEventCnvToolsConf.Trk__EventCnvSuperTool('EventCnvSuperTool')
if not hasattr(svcMgr, "MuonIdHelperSvc"):
from AthenaCommon.CfgGetter import getService
svcMgr += getService("MuonIdHelperSvc")
ToolSvc += EventCnvSuperTool
dumper = Dumper ('dumper', infile, keys, refpaths)
topSequence += [dumper]
#!/bin/sh
test=$1
if [ "$test" = "" ]; then
exit 0
fi
testdir=${test}-${CMTCONFIG}
rm -rf $testdir
mkdir $testdir
cd $testdir
#!/bin/sh
for libroot in @ARG_REQUIRED_LIBRARIES@; do
fullpath=""
for p in `echo $LD_LIBRARY_PATH | tr : ' ' `; do
thispath="$p/@CMAKE_SHARED_LIBRARY_PREFIX@${libroot}@CMAKE_SHARED_LIBRARY_SUFFIX@"
if [ -r "$thispath" ]; then
fullpath="$thispath"
fi
done
if [ "$fullpath" = "" ]; then
echo "WARNING: Library $libroot not found; skipping test @testName@"
# Signal post_tpcnvtest.sh to skip the reffile comparison.
touch @testName@-SKIPPED
exit 0
fi
done
rm -f @testName@-SKIPPED
reffile=`echo @CMAKE_CURRENT_SOURCE_DIR@/share/@refName@.pool.root*.ref`
if [ -f "$reffile" ] &&
[ "@CMAKE_CURRENT_SOURCE_DIR@" != "@CMAKE_CURRENT_BINARY_DIR@" ]; then
refbase=`basename $reffile`
@CMAKE_COMMAND@ -E make_directory ../share
@CMAKE_COMMAND@ -E create_symlink \
$reffile ../share/$refbase
fi
testdir=@testName@
rm -rf $testdir
mkdir $testdir
cd $testdir
athena.py @pkgName@/@testName@_test.py
infile = 'aod/AOD-15.0.0/AOD-15.0.0-full.pool.root'
keys = [
#EventInfo_p2
'McEventInfo',
#EventStreamInfo_p1
'InputMetaDataStore/StreamAOD',
]
include ('EventAthenaPool/EventAthenaPoolTestDump.py')
include ('AthenaPoolUtilities/TPCnvTest.py')
infile = 'aod/AOD-17.5.0/AOD-17.5.0-full.pool.root'
keys = [
#EventInfo_p3
'McEventInfo',
#EventStreamInfo_p2
'InputMetaDataStore/StreamAOD',
]
include ('EventAthenaPool/EventAthenaPoolTestDump.py')
include ('AthenaPoolUtilities/TPCnvTest.py')
infile = 'aod/AOD-18.0.0/AOD-18.0.0-full.pool.root'
keys = [
#EventInfo_p4
'McEventInfo',
#EventStreamInfo_p2
'InputMetaDataStore/StreamAOD',
]
include ('EventAthenaPool/EventAthenaPoolTestDump.py')
include ('AthenaPoolUtilities/TPCnvTest.py')
infile = 'esd/ESD-20.1.7.2.pool.root'
keys = [
#EventStreamInfo_p3
'InputMetaDataStore/StreamESD',
#PileUpEventInfo_p5
'OverlayEvent',
]
include ('EventAthenaPool/EventAthenaPoolTestDump.py')
include ('AthenaPoolUtilities/TPCnvTest.py')
......@@ -14,7 +14,6 @@ atlas_add_poolcnv_library( EventBookkeeperAthenaPoolPoolCnv
EventBookkeeperMetaData EventBookkeeperTPCnv )
# Install files from the package:
atlas_install_joboptions( share/*.py )
atlas_install_scripts( test/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} )
# Set up (a) test(s) for the converter(s):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment