Skip to content

Commit 1ba71c3

Browse files
committed
Fix issues with setting the time-limit in tests
1 parent 288da6f commit 1ba71c3

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1833,6 +1833,10 @@ def wait_for_angularjs(self, timeout=None, **kwargs):
18331833
def sleep(self, seconds):
18341834
if not sb_config.time_limit:
18351835
time.sleep(seconds)
1836+
elif seconds <= 0.3:
1837+
shared_utils.check_if_time_limit_exceeded()
1838+
time.sleep(seconds)
1839+
shared_utils.check_if_time_limit_exceeded()
18361840
else:
18371841
start_ms = time.time() * 1000.0
18381842
stop_ms = start_ms + (seconds * 1000.0)
@@ -4728,7 +4732,8 @@ def setUp(self, masterqa_mode=False):
47284732
self.demo_mode = sb_config.demo_mode
47294733
self.demo_sleep = sb_config.demo_sleep
47304734
self.highlights = sb_config.highlights
4731-
self.time_limit = sb_config.time_limit
4735+
self.time_limit = sb_config._time_limit
4736+
sb_config.time_limit = sb_config._time_limit # Reset between tests
47324737
self.environment = sb_config.environment
47334738
self.env = self.environment # Add a shortened version
47344739
self.with_selenium = sb_config.with_selenium # Should be True

seleniumbase/fixtures/shared_utils.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@
55
from seleniumbase import config as sb_config
66

77

8+
def __time_limit_exceeded(message):
9+
raise Exception(
10+
"TimeLimitExceeded: %s" % message)
11+
12+
813
def check_if_time_limit_exceeded():
914
if sb_config.time_limit:
1015
time_limit = sb_config.time_limit
@@ -16,6 +21,7 @@ def check_if_time_limit_exceeded():
1621
display_time_limit = int(time_limit)
1722
if display_time_limit == 1:
1823
plural = ""
19-
raise Exception(
24+
message = (
2025
"This test has exceeded the time limit of %s second%s!"
2126
"" % (display_time_limit, plural))
27+
__time_limit_exceeded(message)

seleniumbase/plugins/pytest_plugin.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,7 @@ def pytest_configure(config):
468468
sb_config.database_env = config.getoption('database_env')
469469
sb_config.log_path = 'latest_logs/' # (No longer editable!)
470470
sb_config.archive_logs = config.getoption('archive_logs')
471+
sb_config._time_limit = config.getoption('time_limit')
471472
sb_config.time_limit = config.getoption('time_limit')
472473
sb_config.slow_mode = config.getoption('slow_mode')
473474
sb_config.demo_mode = config.getoption('demo_mode')

0 commit comments

Comments
 (0)