Exemplo n.º 1
0
    def testFilter(self):
        """
        Test filtering of a set(run) object
        """
        mask = Mask()
        mask.addRunWithLumiRanges(run=1, lumiList=[[1, 9], [12, 12], [31, 31], [38, 39], [49, 49]])

        runs = set()
        runs.add(Run(1, 148, 166, 185, 195, 203, 212))
        newRuns = mask.filterRunLumisByMask(runs = runs)
        self.assertEqual(len(newRuns), 0)

        runs = set()
        runs.add(Run(1, 2, 148, 166, 185, 195, 203, 212))
        runs.add(Run(2, 148, 166, 185, 195, 203, 212))
        newRuns = mask.filterRunLumisByMask(runs = runs)
        self.assertEqual(len(newRuns), 1)

        runs = set()
        runs.add(Run(1, 2, 148, 166, 185, 195, 203, 212))
        newRuns = mask.filterRunLumisByMask(runs = runs)
        self.assertEqual(len(newRuns), 1)

        run = newRuns.pop()
        self.assertEqual(run.run, 1)
        self.assertEqual(run.lumis, [2])
Exemplo n.º 2
0
    def testFilter(self):
        """
        Test filtering of a set(run) object
        """
        mask = Mask()
        mask.addRunWithLumiRanges(run=1,
                                  lumiList=[[1, 9], [12, 12], [31, 31],
                                            [38, 39], [49, 49]])

        runs = set()
        runs.add(Run(1, 148, 166, 185, 195, 203, 212))
        newRuns = mask.filterRunLumisByMask(runs=runs)
        self.assertEqual(len(newRuns), 0)

        runs = set()
        runs.add(Run(1, 2, 148, 166, 185, 195, 203, 212))
        runs.add(Run(2, 148, 166, 185, 195, 203, 212))
        newRuns = mask.filterRunLumisByMask(runs=runs)
        self.assertEqual(len(newRuns), 1)

        runs = set()
        runs.add(Run(1, 2, 9, 148, 166, 185, 195, 203, 212))
        newRuns = mask.filterRunLumisByMask(runs=runs)
        self.assertEqual(len(newRuns), 1)

        run = newRuns.pop()
        self.assertEqual(run.run, 1)
        self.assertEqual(run.lumis, [2, 9])
Exemplo n.º 3
0
    def testFilterRealCase(self):
        """
        Test filtering of a set(run) object based on real cases from production
        """
        mask = Mask()
        mask.addRunWithLumiRanges(run=1, lumiList=[[9, 9], [8, 8], [3, 4], [7, 7]])
        mask.setMaxAndSkipLumis(0, 7)
        mask.setMaxAndSkipRuns(0, 1)

        runs = set()
        runs.add(Run(1, *[(9, 500), (10, 500)]))
        runs.add(Run(1, *[(3, 500), (4, 500)]))
        runs.add(Run(1, *[(7, 500), (8, 500)]))
        newRuns = mask.filterRunLumisByMask(runs=runs)
        self.assertEqual(len(newRuns), 1)
        run = newRuns.pop()
        self.assertEqual(run.run, 1)
        self.assertEqual(run.lumis, [3, 4, 7, 8, 9])
Exemplo n.º 4
0
    def testFilterRealCase(self):
        """
        Test filtering of a set(run) object based on real cases from production
        """
        mask = Mask()
        mask.addRunWithLumiRanges(run=1,
                                  lumiList=[[9, 9], [8, 8], [3, 4], [7, 7]])
        mask.setMaxAndSkipLumis(0, 7)
        mask.setMaxAndSkipRuns(0, 1)

        runs = set()
        runs.add(Run(1, *[(9, 500), (10, 500)]))
        runs.add(Run(1, *[(3, 500), (4, 500)]))
        runs.add(Run(1, *[(7, 500), (8, 500)]))
        newRuns = mask.filterRunLumisByMask(runs=runs)
        self.assertEqual(len(newRuns), 1)
        run = newRuns.pop()
        self.assertEqual(run.run, 1)
        self.assertEqual(run.lumis, [3, 4, 7, 8, 9])
Exemplo n.º 5
0
     for key in maskA['runAndLumis'].keys():
         maskA['runAndLumis'][int(key)] = maskA['runAndLumis'][key]
         del maskA['runAndLumis'][key]
 except KeyError:
     # We don't have a mask.  Not much we can do about this
     maskA = Mask()
 mask   = Mask()
 mask.update(maskA)
 runs   = []
 # Turn arbitrary format into real runs
 for r in runsA:
     run = Run(runNumber = r['run_number'])
     run.lumis = r.get('lumis', [])
     runs.append(run)
 # Get rid of runs that aren't in the mask
 runs = mask.filterRunLumisByMask(runs = runs)
 for err in errorCouch:
     task   = err['value']['task']
     step   = err['value']['step']
     errors = err['value']['error']
     logs   = err['value']['logs']
     start  = err['value']['start']
     stop   = err['value']['stop']
     if not task in workflowData['errors'].keys():
         workflowData['errors'][task] = {'failureTime': 0}
     if not step in workflowData['errors'][task].keys():
         workflowData['errors'][task][step] = {}
     workflowData['errors'][task]['failureTime'] += (stop - start)
     stepFailures = workflowData['errors'][task][step]
     for error in errors:
         exitCode = str(error['exitCode'])