blob: 07a8cf3e26ecedff163c9cd45c352e897ba6f138 [file] [log] [blame]
You Wangdb927a52016-02-26 11:03:28 -08001"""
2This file contains classes for CHOTestMonkey that are related to check event
3Author: you@onlab.us
4"""
5from tests.CHOTestMonkey.dependencies.events.Event import EventType, EventStates, Event
6
Jon Hall2bb3e212017-05-24 17:07:25 -07007
You Wangdb927a52016-02-26 11:03:28 -08008class TestEvent( Event ):
Jon Hall2bb3e212017-05-24 17:07:25 -07009
You Wangdb927a52016-02-26 11:03:28 -080010 def __init__( self ):
11 Event.__init__( self )
12
13 def startTestEvent( self ):
14 return EventStates().PASS
15
16 def startEvent( self, args ):
17 with self.eventLock:
18 main.log.info( "%s - starting event" % ( self.typeString ) )
19 result = self.startTestEvent( args )
20 return result
21
Jon Hall2bb3e212017-05-24 17:07:25 -070022
You Wangdb927a52016-02-26 11:03:28 -080023class TestPause( TestEvent ):
Jon Hall2bb3e212017-05-24 17:07:25 -070024
You Wangdb927a52016-02-26 11:03:28 -080025 def __init__( self ):
26 TestEvent.__init__( self )
27 self.typeString = main.params[ 'EVENT' ][ self.__class__.__name__ ][ 'typeString' ]
28 self.typeIndex = int( main.params[ 'EVENT' ][ self.__class__.__name__ ][ 'typeIndex' ] )
29
30 def startTestEvent( self, args=None ):
31 result = EventStates().PASS
32 main.eventScheduler.setRunningState( False )
33 return result
34
Jon Hall2bb3e212017-05-24 17:07:25 -070035
You Wangdb927a52016-02-26 11:03:28 -080036class TestResume( TestEvent ):
Jon Hall2bb3e212017-05-24 17:07:25 -070037
You Wangdb927a52016-02-26 11:03:28 -080038 def __init__( self ):
39 TestEvent.__init__( self )
40 self.typeString = main.params[ 'EVENT' ][ self.__class__.__name__ ][ 'typeString' ]
41 self.typeIndex = int( main.params[ 'EVENT' ][ self.__class__.__name__ ][ 'typeIndex' ] )
42
43 def startTestEvent( self, args=None ):
44 result = EventStates().PASS
45 main.eventScheduler.setRunningState( True )
46 return result
47
Jon Hall2bb3e212017-05-24 17:07:25 -070048
You Wangdb927a52016-02-26 11:03:28 -080049class TestSleep( TestEvent ):
Jon Hall2bb3e212017-05-24 17:07:25 -070050
You Wangdb927a52016-02-26 11:03:28 -080051 def __init__( self ):
52 TestEvent.__init__( self )
53 self.typeString = main.params[ 'EVENT' ][ self.__class__.__name__ ][ 'typeString' ]
54 self.typeIndex = int( main.params[ 'EVENT' ][ self.__class__.__name__ ][ 'typeIndex' ] )
55
56 def startTestEvent( self, args ):
57 import time
58 result = EventStates().PASS
59 if len( args ) < 1:
60 main.log.warn( "%s - Not enough arguments: %s" % ( self.typeString, args ) )
61 result = EventStates().ABORT
62 elif len( args ) > 1:
63 main.log.warn( "%s - Too many arguments: %s" % ( self.typeString, args ) )
64 result = EventStates().ABORT
65 sleepTime = int( args[ 0 ] )
66 time.sleep( sleepTime )
67 return result