func_timeout/tests/FuncTimeoutTests/test_TestUtilsSleep.py

48 lines
1.6 KiB
Python
Executable File

#!/usr/bin/env python
# vim: set ts=4 sw=4 expandtab :
'''
Copyright (c) 2017 Tim Savannah All Rights Reserved.
Licensed under the Lesser GNU Public License Version 3, LGPLv3. You should have recieved a copy of this with the source distribution as
LICENSE, otherwise it is available at https://github.com/kata198/func_timeout/LICENSE
'''
import copy
import sys
import subprocess
import time
from func_timeout import func_timeout, FunctionTimedOut, func_set_timeout
from TestUtils import ARG_NO_DEFAULT, ARG_NO_DEFAULT_TYPE, getSleepLambda, getSleepLambdaWithArgs, compareTimes
class TestBasicSleep(object):
'''
TestBasicSleep - Perform test on the sleep generator function.
Seperate file so runs in separate GoodTests process ( for performance reasons )
'''
def test_getSleepLambda(self):
sleepLambda = getSleepLambda(2)
startTime = time.time()
sleepLambda(2, 3)
endTime = time.time()
assert compareTimes(endTime, startTime, 2, 2, deltaFixed=.1, deltaPct=None) == 0 , 'Expected getSleepLambda(2) to take 2 seconds.'
sleepLambda = getSleepLambda(3.1)
startTime = time.time()
sleepLambda(2, 3)
endTime = time.time()
assert compareTimes(endTime, startTime, 3.1, 2, deltaFixed=.1, deltaPct=None) == 0 , 'Expected getSleepLambda(3.1) to take 3.1 seconds.'
if __name__ == '__main__':
sys.exit(subprocess.Popen('GoodTests.py -n1 "%s" %s' %(sys.argv[0], ' '.join(['"%s"' %(arg.replace('"', '\\"'), ) for arg in sys.argv[1:]]) ), shell=True).wait())
# vim: set ts=4 sw=4 expandtab :