blob: 2abd77f40f1f5a92581b9aac0aeb3f02cb585bfd [file] [log] [blame]
You Wangdb927a52016-02-26 11:03:28 -08001"""
2This file contains the Event class for CHOTestMonkey
3Author: you@onlab.us
4"""
5from threading import Lock
6
7class EventType:
8 def __init__( self ):
9 self.map = {}
10 # Group events (>100) should be divided into individual events by the generator before going to the scheduler
11 self.NULL = 0
12 for eventName in main.params[ 'EVENT' ].keys():
13 typeString = main.params[ 'EVENT' ][ eventName ][ 'typeString' ]
14 typeIndex = int( main.params[ 'EVENT' ][ eventName ][ 'typeIndex' ] )
15 setattr( self, typeString, typeIndex )
16 self.map[ typeIndex ] = typeString
17
18class EventStates:
19 def __init__( self ):
20 self.map = {}
21 self.FAIL = 0
22 self.map[ 0 ] = 'FAIL'
23 self.PASS = 1
24 self.map[ 1 ] = 'PASS'
25 self.ABORT = -1
26 self.map[ -1 ] = 'ABORT'
27
28class Event:
29 """
30 Event class for CHOTestMonkey
31 It is the super class for CheckEvent and NetworkEvent
32 """
33 def __init__( self ):
34 self.typeString = main.params[ 'EVENT' ][ self.__class__.__name__ ][ 'typeString' ]
35 self.typeIndex = int( main.params[ 'EVENT' ][ self.__class__.__name__ ][ 'typeIndex' ] )
36 self.eventLock = Lock()
37 self.variableLock = Lock()
38
39 def startEvent( self, args=None ):
40 """
41 Start running the event
42 """
43 return EventStates().PASS