ATLAS Offline Software
DataQualityUtils/python/TestCases.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2 
3 # None of this works, but keep it around in case someone wants to resurrect it later...
4 # - PO 20180419
5 
6 import unittest
7 import os, shutil
8 
9 TESTING_DIR = '/afs/cern.ch/user/a/atlasdqm/dqmdisk1/testing_references'
10 
11 class DQUTestCase(unittest.TestCase):
12  def setUp(self):
13  self.outfile = ''
14 
15  def test_01_Merging(self):
16  '''Test that histogram merging + postprocessing works'''
17  print()
18  print('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
19  print('Running merge test ....')
20  print('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
21  outdir = os.environ.get('TMPDIR', '.')
22  inlist = os.path.join(TESTING_DIR, 'test_merging')
23  self.outfile = os.path.join(outdir, 'data09_calophys.00128005.physics_CosmicMuons.root')
24  rv = os.system('cd %s ; DQHistogramMerge.py %s %s True' % (outdir, inlist, self.outfile))
25  self.assertTrue(rv==0, "DQHistogramMerge.py return code is nonzero")
26 
27  def test02_WebDisplay(self):
28  '''Test that a terminal web display job works'''
29  print()
30  print('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
31  print('Running web display test ....')
32  print('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
33  outdir = os.environ.get('TMPDIR', '.')
34  infile = os.path.join(TESTING_DIR, 'data09_calophys.00128005.physics_CosmicMuons.root')
35  rv = os.system('cd %s ; DQWebDisplay.py %s TestDisplay 123' % (outdir, infile))
36  self.assertTrue(rv==0, "DQWebDisplay.py return code is nonzero")
37 
38  def test_03_WebDisplay(self):
39  '''Test that a terminal web display job works in temporary accumulation mode'''
40  print()
41  print('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
42  print('Running intermediate web display test ....')
43  print('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
44  outdir = os.environ.get('TMPDIR', '.')
45  infile = os.path.join(TESTING_DIR, 'data09_calophys.00128005.physics_CosmicMuons.root')
46  from DataQualityConfigurations.TestDisplay import dqconfig
47  cachedir = dqconfig.histogramCache
48  if cachedir == '':
49  self.fail('Unable to test intermediate web displays; no histogramCache directory set')
50  if not os.access(cachedir, os.W_OK):
51  print("No write permissions for cache dir %s; skipping test" % cachedir)
52  return
53  cachefilename = os.path.basename(infile).rsplit('.',1)[-2] + '.CACHE_1'
54  shutil.copy(infile, os.path.join(cachedir, cachefilename))
55 
56  rv = os.system('cd %s ; DQWebDisplay.py %s TestDisplay 123 True' % (outdir, infile))
57  self.assertTrue(rv==0, "DQWebDisplay.py return code is nonzero")
58 
59  def tearDown(self):
60  try:
61  if self.outfile != '':
62  os.unlink(self.outfile)
63  except OSError:
64  pass
65 
66 def suite():
67  suite = unittest.TestLoader().loadTestsFromTestCase(DQUTestCase)
68  return suite
69 
70 if __name__ == '__main__':
71  unittest.main()
python.TestCases.DQUTestCase.tearDown
def tearDown(self)
Definition: DataQualityUtils/python/TestCases.py:59
python.TestCases.DQUTestCase
Definition: DataQualityUtils/python/TestCases.py:11
python.TestCases.DQUTestCase.test_03_WebDisplay
def test_03_WebDisplay(self)
Definition: DataQualityUtils/python/TestCases.py:38
python.TestCases.DQUTestCase.test02_WebDisplay
def test02_WebDisplay(self)
Definition: DataQualityUtils/python/TestCases.py:27
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:26
python.TestCases.suite
def suite()
Definition: DataQualityConfigurations/python/TestCases.py:72
python.TestCases.DQUTestCase.outfile
outfile
Definition: DataQualityUtils/python/TestCases.py:13
python.TestCases.DQUTestCase.setUp
def setUp(self)
Definition: DataQualityUtils/python/TestCases.py:12
python.TestCases.DQUTestCase.test_01_Merging
def test_01_Merging(self)
Definition: DataQualityUtils/python/TestCases.py:15