예제 #1
0
    def testA_createDashboardInfo(self):
        """
        _createDashboardInfo_

        Can we create the dashboardInfo and fill it with
        local information?
        """

        # Get the necessary objects
        name     = 'testA'
        job      = self.createTestJob()
        workload = self.createWorkload()
        task     = workload.getTask(taskName = "DataProcessing")
        report   = self.createReport()

        # Fill the job environment
        self.setupJobEnvironment(name = name)

        # Instantiate DBInfo
        dbInfo   = DashboardInfo(job = job, task = task)

        # Check some defaults
        self.assertEqual(dbInfo.get('TaskType', None), task.taskType())
        self.assertEqual(dbInfo.get('User', None), '*****@*****.**')
        self.assertEqual(dbInfo.get('JSTool', None), 'WMAgent')

        # This shouldn't add anything,
        # but we have to make sure it doesn't fail.
        dbInfo.jobStart()        

        # Do a step
        step = task.getStep(stepName = "cmsRun1")

        # Do the step start
        data = dbInfo.stepStart(step = step.data)
        self.assertEqual(data.get('ExeStart', None), step.name())
        self.assertEqual(data.get('taskId', None), 'wmagent_Tier1ReReco')


        # Do the step end
        data = dbInfo.stepEnd(step = step.data, stepReport = report)
        self.assertEqual(data.get('ExeEnd', None), step.name())
        self.assertEqual(data.get('ExeExitCode', None), 0)




        # End the job!
        data = dbInfo.jobEnd()
        self.assertFalse(data.get('MessageTS', None) == None,
                         'Did not assign finish time in jobEnd()')

        return
예제 #2
0
    def testA_createDashboardInfo(self):
        """
        _createDashboardInfo_

        Can we create the dashboardInfo and fill it with
        local information?
        """

        # Get the necessary objects
        name     = 'testA'
        job      = self.createTestJob()
        workload = self.createWorkload()
        task     = workload.getTask(taskName = "DataProcessing")
        report   = self.createReport()

        # Fill the job environment
        self.setupJobEnvironment(name = name)

        # Instantiate DBInfo
        dbInfo   = DashboardInfo(job = job, task = task)


        # Check some defaults
        self.assertEqual(dbInfo.get('TaskType', None), task.taskType())
        self.assertEqual(dbInfo.get('User', None), '*****@*****.**')
        self.assertEqual(dbInfo.get('JSTool', None), 'WMAgent')
        self.assertEqual(dbInfo.get('jobName', None),
                         'WMAgent_1_0_ThisIsASillyName')
        self.assertEqual(dbInfo.get('taskName', None),
                         'ProdAgent_-Tier1ReReco-DataProcessing_WMAgentPrimary')


        dbInfo.jobStart()

        self.assertEqual(dbInfo.get('GridJobID', None), name)
        self.assertEqual(dbInfo.get('SyncCE', None), name)


        # Do a step
        step = task.getStep(stepName = "cmsRun1")

        # Do the step start
        dbInfo.stepStart(step = step.data)
        self.assertEqual(dbInfo.get('ExeStart', None), step.name())
        self.assertEqual(dbInfo.get('ApplicationVersion', None),
                         'CMSSW_3_5_8')


        # Do the step end
        dbInfo.stepEnd(step = step.data, stepReport = report)
        self.assertEqual(dbInfo.get('ExeEnd', None), step.name())
        self.assertEqual(dbInfo.get('ExeExitStatus', None), False)




        # End the job!
        dbInfo.jobEnd()
        self.assertFalse(dbInfo.get('JobFinished', None) == None,
                         'Did not assign finish time in jobEnd()')

        return