00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 __facility__ = "Online"
00011 __abstract__ = "V&V test for rcTestReport class"
00012 __author__ = "S. Tuvi <Stuvi@SLAC.Stanford.edu> SLAC - GLAST LAT I&T/Online"
00013 __date__ = "2006/01/03 00:08:27"
00014 __updated__ = "$Date: 2006/01/24 19:57:15 $"
00015 __version__ = "$Revision: 1.1 $"
00016 __release__ = "$Name: HEAD $"
00017 __credits__ = "SLAC"
00018
00019 import LICOS.copyright_SLAC
00020
00021 import logging as log
00022 import time
00023 import os
00024
00025 from LICOS.lib.LATconstants import *
00026 from LICOS.lib.scriptEngine.seAppBase import seAppBase
00027 from LICOS.lib.testReport.rcTestReport import rcTestReport
00028
00029
00030
00031
00032 class testReport(seAppBase):
00033 "Implementation class for a user application"
00034 def __init__(self, common):
00035 seAppBase.__init__(self, common)
00036 log.debug("userApplication.__init__()")
00037 self.tr = rcTestReport()
00038
00039 def setup(self):
00040 log.debug("userApplication.setup()")
00041
00042 return None
00043
00044 def startRun(self):
00045 log.debug("userApplication.startRun()")
00046
00047 return None
00048
00049 def stopRun(self):
00050 log.debug("userApplication.stopRun()")
00051 self.setCompletionStatus(self.COMPL_STATUS_PASSED)
00052 self.createTestReport()
00053
00054
00055 def createTestReport(self):
00056 tr = self.tr
00057 tr.initReport(title='CAL System Test Procedure')
00058 tr.addHTML("""
00059 <STYLE TYPE="text/css">
00060 H1 { font-size: x-large; color: red }
00061 H2 { font-size: large; color: blue }
00062 H3 { font-size: medium; color: blue }
00063 </STYLE>
00064 """)
00065 tr.addHeading('CALF_SUPP_P02')
00066 tr.addHeading('System Test Procedure Report')
00067 tr.addHeading('Sat May 31, 2003 18:01:46 Eastern Daylight Time')
00068 versions = tr.addSection('Versions')
00069 tr.addSectionItem(versions, 'Release', 'P01-06-00')
00070 verTable = tr.addSectionTable(versions, border='1', width='25%')
00071 tr.addTableHeader(verTable, '<i>Module</i>', 'left')
00072 tr.addTableHeader(verTable, '<i>Version</i>', 'right')
00073 tr.beginTableRow(verTable)
00074 tr.addTableData('GAEM', align='left')
00075 tr.addTableData('2.0.1.0', align='right')
00076 tr.beginTableRow(verTable)
00077 tr.addTableData('GGLT', align='left')
00078 tr.addTableData('1.3.1.0', align='right')
00079 tr.addSectionItem(versions, 'Verification failed on', 'cmdCli, evtCli')
00080 assocFiles = tr.addSection('Associated Files')
00081 tr.addSectionItem(assocFiles,
00082 'Snapshot File',
00083 '../snapshots/030531180141_calf_supp_p02.xml',
00084 'http://archsys/snapshots/030531180141_calf_supp_p02.xml'
00085 )
00086 tr.addSectionItem(assocFiles,
00087 'Event File',
00088 '../Event Collections/030531180141_calf_supp_p02.ced',
00089 'http://archsys/Event Collections/030531180141_calf_supp_p02.ced'
00090 )
00091
00092 runp = tr.addSection('Run Parameters')
00093 tr.addSectionItem(runp, 'Number of Charge Injection events per setting', '500')
00094 tr.addSectionItem(runp, 'Charge Injection setting', '100')
00095 tr.addSectionItem(runp, 'Tack Delay Setting(timed readout delay)', '56')
00096 tr.addSectionItem(runp, 'CAL Bias DAC setting', '0x15800')
00097 tr.addSectionItem(runp, 'LE Gain setting', '5')
00098 tr.addSectionItem(runp, 'LE Gain setting', '13')
00099 tr.addSectionImage(runp, 'Test Image', './CALreport.png')
00100 laset = tr.addSection('Log Accept DAC Settings')
00101 dsTable = tr.addSectionTable(laset, border='1', width='100%')
00102 for hdr in ('Row', 'Lg0', 'Lg1', 'Lg2', 'Lg3', 'Lg4', 'Lg5', 'Lg6', 'Lg7', 'Lg8', 'Lg9', 'Lg10', 'Lg11'):
00103 tr.addTableHeader(dsTable, hdr, align='left')
00104 for data in [('X0' ,17,0,0,13,16,20,23,16,2,0,3,18),
00105 ('X0+',18,28,15,16,8,6,16,7,11,32,0,6)
00106 ]:
00107 tr.beginTableRow(dsTable)
00108 for d in data:
00109 tr.addTableData(d, align='left', width='7%')
00110 corNrgThr = tr.addSection('Corresponding Energy Thresholds(Mev)')
00111 ntTable = tr.addSectionTable(corNrgThr, border='1', width='100%')
00112 for hdr in ('Row', 'Lg0', 'Lg1', 'Lg2', 'Lg3', 'Lg4', 'Lg5', 'Lg6', 'Lg7', 'Lg8', 'Lg9', 'Lg10', 'Lg11'):
00113 tr.addTableHeader(ntTable, hdr, align='left')
00114 for data in [('X0' ,0.76,1.58,1.71,0.58,0.62,0.57,0.48,0.78,0.58,1.82,0.44,1.01),
00115 ('X0+',0.75,0.66,1.14,0.65,0.36,0.63,0.62,0.93,0.61,0.58,3.83,0.50)
00116 ]:
00117 tr.beginTableRow(ntTable)
00118 for d in data:
00119 if d > 1.0:
00120 d = '<b>' + str(d) + '</b>'
00121 else:
00122 d = str(d)
00123 tr.addTableData("<u>"+d+"</u>", align='left', width='7%')
00124 tr.addHTML('<b>BOLD</b> indicates energy thresholds above 1 Mev', section=corNrgThr)
00125 sumPage = tr.addSection('Summary Page', insert=0)
00126 tr.addSectionItem(sumPage, 'Test Description', 'Determine nominal log accept DAC settings')
00127 tr.addSectionItem(sumPage, 'Operator', 'johnson')
00128 tr.addSectionItem(sumPage, 'Schema', 'EM AFEE boards SN# X-001, X-002, Y-001, Y-002')
00129 tr.addSectionItem(sumPage, 'Configuration', 'calf_supp_p02.xml version:0.1')
00130 tr.addSectionItem(sumPage, 'Test Start Time', 'Sat May 31, 2003 18:01:46 Eastern Daylight Time')
00131 tr.addSectionItem(sumPage, 'Test End Time', 'Sat May 31, 2003 18:04:12 Eastern Daylight Time')
00132 tr.addSectionItem(sumPage, 'Test Start AFEEoTo Temp', '25.13C')
00133 tr.addSectionItem(sumPage, 'Test Stop AFEEoTo Temp', '25.17C')
00134 tr.addSectionItem(sumPage, 'Status', 'PASSED')
00135 tr.addSectionItem(sumPage, 'Notes', '')
00136 tr.insertSection(sumPage, versions)
00137 log.debug("Generating test report...")
00138 testReportFile = os.path.join(self.prefs["reportdir"],
00139 '%s_%s.html' % (self.getName(), self.runId))
00140 tr.transformToFile(LICOS_TEST_REPORT_XSL, testReportFile)
00141 self.addExportedFile(testReportFile, delete=True)