Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
# The purpose of this unit test is to execute the code
# in the FastTimerService and at least verify that it
# runs without crashing. There is output in the log
# file and also a json file.

# The output times and memory usage values may vary from
# one job to the next. We do not want a test that can
# occasionally fail and require investigation when
# nothing is wrong, so we choose not to require certain
# values in the output.

# Besides the FastTimerService, the rest of the
# configuration is of no significance. This is
# just copied from another test configuration.
# We just needed some modules and paths to run
# in order to exercise the service.

import FWCore.ParameterSet.Config as cms

process = cms.Process("PROD1")

process.load('DQMServices.Core.DQMStore_cfi')

from HLTrigger.Timer.FastTimerService_cfi import *

process.FastTimerService = FastTimerService

process.FastTimerService.printEventSummary = True
process.FastTimerService.writeJSONSummary = True
process.FastTimerService.dqmTimeRange = 2000
process.FastTimerService.enableDQM = True
process.FastTimerService.enableDQMTransitions = True
process.FastTimerService.enableDQMbyLumiSection = True
process.FastTimerService.enableDQMbyModule = True
process.FastTimerService.enableDQMbyPath = True
process.FastTimerService.enableDQMbyProcesses = True

process.MessageLogger = cms.Service("MessageLogger",
    cerr = cms.untracked.PSet(
        FastReport = cms.untracked.PSet(
            limit = cms.untracked.int32(1000000)
        ),
        threshold  = cms.untracked.string('INFO')
    )
)

process.options = cms.untracked.PSet(
    numberOfStreams = cms.untracked.uint32(1),
    numberOfConcurrentRuns = cms.untracked.uint32(1),
    numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(1)
)

process.source = cms.Source("IntSource")
process.maxEvents = cms.untracked.PSet(
    input = cms.untracked.int32(3)
)

process.out = cms.OutputModule("PoolOutputModule",
    fileName = cms.untracked.string('testFastTimerService.root')
)

process.dqmOutput = cms.OutputModule('DQMRootOutputModule',
    fileName = cms.untracked.string('dqmOutput.root')
)

process.busy1 = cms.EDProducer("BusyWaitIntProducer",ivalue = cms.int32(1), iterations = cms.uint32(10*1000*1000))

process.a1 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("source") ),
  expectedSum = cms.untracked.int32(530021),
  inputTagsNotFound = cms.untracked.VInputTag(
    cms.InputTag("source", processName=cms.InputTag.skipCurrentProcess()),
    cms.InputTag("intProducer", processName=cms.InputTag.skipCurrentProcess()),
    cms.InputTag("intProducerU", processName=cms.InputTag.skipCurrentProcess())
  ),
  inputTagsBeginProcessBlock = cms.untracked.VInputTag(
    cms.InputTag("intProducerBeginProcessBlock"),
  ),
  inputTagsEndProcessBlock = cms.untracked.VInputTag(
    cms.InputTag("intProducerEndProcessBlock"),
  ),
  inputTagsEndProcessBlock2 = cms.untracked.VInputTag(
    cms.InputTag("intProducerEndProcessBlock", "two"),
  ),
  inputTagsEndProcessBlock3 = cms.untracked.VInputTag(
    cms.InputTag("intProducerEndProcessBlock", "three"),
  ),
  inputTagsEndProcessBlock4 = cms.untracked.VInputTag(
    cms.InputTag("intProducerEndProcessBlock", "four"),
  ),
  testGetterOfProducts = cms.untracked.bool(True)
)

process.a2 = cms.EDAnalyzer("TestFindProduct",
  inputTags = cms.untracked.VInputTag( cms.InputTag("intProducerA") ),
  expectedSum = cms.untracked.int32(300)
)

process.intProducer = cms.EDProducer("IntProducer", ivalue = cms.int32(1))

process.intProducerDeleted = cms.EDProducer("IntProducer", ivalue = cms.int32(10))

process.intProducerU = cms.EDProducer("IntProducer", ivalue = cms.int32(10))

process.intProducerA = cms.EDProducer("IntProducer", ivalue = cms.int32(100))

process.intVectorProducer = cms.EDProducer("IntVectorProducer",
  count = cms.int32(9),
  ivalue = cms.int32(11)
)

process.intProducerB = cms.EDProducer("IntProducer", ivalue = cms.int32(1000))

process.thingProducer = cms.EDProducer("ThingProducer")

process.intProducerBeginProcessBlock = cms.EDProducer("IntProducerBeginProcessBlock", ivalue = cms.int32(10000))

process.intProducerEndProcessBlock = cms.EDProducer("IntProducerEndProcessBlock", ivalue = cms.int32(100000))

process.t = cms.Task(process.intProducerDeleted,
                     process.intProducerU,
                     process.intProducerA,
                     process.intProducerB,
                     process.intVectorProducer,
                     process.intProducerBeginProcessBlock,
                     process.intProducerEndProcessBlock
)

process.p1 = cms.Path(process.intProducer * process.a1 * process.a2, process.t)

process.p2 = cms.Path(process.busy1 * process.thingProducer)

#process.e = cms.EndPath(process.out * process.dqmOutput)