From e4807829973dd694ede955f46835334bd3b8ea3c Mon Sep 17 00:00:00 2001 From: Frank Winklmeier <Frank.Winklmeier@cern.ch> Date: Thu, 30 Mar 2017 11:30:42 +0200 Subject: [PATCH] Fix reference file lookup for trigger ATN tests (ATR-16068) Changed the reference file lookup from using an environment variable to using the release metadata file. That should hopefully be more reliable than assuming some fixed release layout. --- .../TrigValTools/bin/trigtest.pl | 35 ++++++++----------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/Trigger/TrigValidation/TrigValTools/bin/trigtest.pl b/Trigger/TrigValidation/TrigValTools/bin/trigtest.pl index ec5100a886af..534a8c6ee5a5 100755 --- a/Trigger/TrigValidation/TrigValTools/bin/trigtest.pl +++ b/Trigger/TrigValidation/TrigValTools/bin/trigtest.pl @@ -1061,26 +1061,8 @@ sub run_test($){ #make short file with last 600 lines only systemcall("tail -600 $logfile > $logfiletail"); - # get the nightly we are using form the CMTPATH - my $nightly = ""; - my $cmt = ""; - if(defined $ENV{'CMAKE_PREFIX_PATH'}){ - $cmt = $ENV{'CMAKE_PREFIX_PATH'}; - } - else{ - $cmt = $ENV{'CMTPATH'}; - } - my $nightlykey = 'builds/nightlies/'; - my $keylength = length $nightlykey; - my $start = rindex($cmt,$nightlykey) ; - if( $start > -1 ) { - $start = $start + $keylength; - # $nightly should be dev,devval, bugfix, val, ect. - $nightly = substr $cmt, $start; - my $nextslash = index $nightly, '/' ; - $nightly = substr $nightly, 0, $nextslash ; - $nightly = $nightly . "/latest"; - } + my %reldata = release_metadata(); + my $nightly = (exists $reldata{'nightly name'} ? $reldata{'nightly name'} : "UNKNOWN"); print "$prog: looking for histograms and references for nightly $nightly \n"; # rootcomp @@ -1371,3 +1353,16 @@ sub resolveSymlinks() { chomp $respath; return $respath; } + +# Read ReleaseData file and return dictionary with content +sub release_metadata() { + my %data; + my @dir = grep(/$ENV{'AtlasProject'}/, split(':',$ENV{'LD_LIBRARY_PATH'})); + open RELDATA, "$dir[0]/../ReleaseData" or print "=== Alert! Cannot open ReleaseData file\n"; + while (<RELDATA>) { + chomp; + my @kv = split(':'); + $data{$kv[0]} = $kv[1]; + } + return %data; +} -- GitLab