diff options
Diffstat (limited to 'test/lib/ansible_test/_internal/commands/env/__init__.py')
-rw-r--r-- | test/lib/ansible_test/_internal/commands/env/__init__.py | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/test/lib/ansible_test/_internal/commands/env/__init__.py b/test/lib/ansible_test/_internal/commands/env/__init__.py index 967f091faa..90078553a9 100644 --- a/test/lib/ansible_test/_internal/commands/env/__init__.py +++ b/test/lib/ansible_test/_internal/commands/env/__init__.py @@ -42,16 +42,20 @@ from ...ci import ( get_ci_provider, ) +from ...timeout import ( + TimeoutDetail, +) + class EnvConfig(CommonConfig): """Configuration for the `env` command.""" def __init__(self, args): # type: (t.Any) -> None super().__init__(args, 'env') - self.show = args.show - self.dump = args.dump - self.timeout = args.timeout - self.list_files = args.list_files + self.show: bool = args.show + self.dump: bool = args.dump + self.timeout: int | float | None = args.timeout + self.list_files: bool = args.list_files if not self.show and not self.dump and self.timeout is None and not self.list_files: # default to --show if no options were given @@ -124,25 +128,18 @@ def set_timeout(args): # type: (EnvConfig) -> None if args.timeout is None: return - if args.timeout: - deadline = (datetime.datetime.utcnow() + datetime.timedelta(minutes=args.timeout)).strftime('%Y-%m-%dT%H:%M:%SZ') + timeout = TimeoutDetail.create(args.timeout) - display.info('Setting a %d minute test timeout which will end at: %s' % (args.timeout, deadline), verbosity=1) + if timeout: + display.info(f'Setting a {timeout.duration} minute test timeout which will end at: {timeout.deadline}', verbosity=1) else: - deadline = None - display.info('Clearing existing test timeout.', verbosity=1) if args.explain: return - if deadline: - data = dict( - duration=args.timeout, - deadline=deadline, - ) - - write_json_file(TIMEOUT_PATH, data) + if timeout: + write_json_file(TIMEOUT_PATH, timeout.to_dict()) elif os.path.exists(TIMEOUT_PATH): os.remove(TIMEOUT_PATH) |