Framework of the new CHOtest
Change-Id: Ie5b58bfa2ed487386443692cbea0d469d7419c24
diff --git a/TestON/tests/CHOTestMonkey/dependencies/events/Event.py b/TestON/tests/CHOTestMonkey/dependencies/events/Event.py
new file mode 100644
index 0000000..2abd77f
--- /dev/null
+++ b/TestON/tests/CHOTestMonkey/dependencies/events/Event.py
@@ -0,0 +1,43 @@
+"""
+This file contains the Event class for CHOTestMonkey
+Author: you@onlab.us
+"""
+from threading import Lock
+
+class EventType:
+ def __init__( self ):
+ self.map = {}
+ # Group events (>100) should be divided into individual events by the generator before going to the scheduler
+ self.NULL = 0
+ for eventName in main.params[ 'EVENT' ].keys():
+ typeString = main.params[ 'EVENT' ][ eventName ][ 'typeString' ]
+ typeIndex = int( main.params[ 'EVENT' ][ eventName ][ 'typeIndex' ] )
+ setattr( self, typeString, typeIndex )
+ self.map[ typeIndex ] = typeString
+
+class EventStates:
+ def __init__( self ):
+ self.map = {}
+ self.FAIL = 0
+ self.map[ 0 ] = 'FAIL'
+ self.PASS = 1
+ self.map[ 1 ] = 'PASS'
+ self.ABORT = -1
+ self.map[ -1 ] = 'ABORT'
+
+class Event:
+ """
+ Event class for CHOTestMonkey
+ It is the super class for CheckEvent and NetworkEvent
+ """
+ def __init__( self ):
+ self.typeString = main.params[ 'EVENT' ][ self.__class__.__name__ ][ 'typeString' ]
+ self.typeIndex = int( main.params[ 'EVENT' ][ self.__class__.__name__ ][ 'typeIndex' ] )
+ self.eventLock = Lock()
+ self.variableLock = Lock()
+
+ def startEvent( self, args=None ):
+ """
+ Start running the event
+ """
+ return EventStates().PASS