From 064e4dae2d384b82eada53aa27415661b1b3dbb7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 7 Dec 2023 19:20:29 +0100 Subject: [PATCH] support case where no previous tests have been found --- pytest_abra/cli.py | 4 +++- pytest_abra/dir_manager.py | 10 +++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pytest_abra/cli.py b/pytest_abra/cli.py index d2efaf9..8658dbb 100644 --- a/pytest_abra/cli.py +++ b/pytest_abra/cli.py @@ -29,7 +29,9 @@ def run(): session_id = "test-" + get_datetime_string() if args.resume: - session_id = DirManager.get_latest_session_id(args.output_dir) + latest_session_id = DirManager.get_latest_session_id(args.output_dir) + if latest_session_id: + session_id = DirManager.get_latest_session_id(args.output_dir) # ------------------------------- setup logging ------------------------------ # diff --git a/pytest_abra/dir_manager.py b/pytest_abra/dir_manager.py index 846d9f6..fb29e4d 100644 --- a/pytest_abra/dir_manager.py +++ b/pytest_abra/dir_manager.py @@ -1,4 +1,5 @@ from pathlib import Path +from typing import Optional from dotenv import dotenv_values @@ -78,8 +79,11 @@ class DirManager: return config @staticmethod - def get_latest_session_id(output_dir: Path) -> str: + def get_latest_session_id(output_dir: Path) -> Optional[str]: """returns the name of the newest dir inside of output_dir""" all_dirs = [d for d in output_dir.iterdir() if d.is_dir()] - newest_dir: Path = max(all_dirs, key=lambda x: x.stat().st_ctime) - return newest_dir.name + if all_dirs: + newest_dir: Path = max(all_dirs, key=lambda x: x.stat().st_ctime) + return newest_dir.name + else: + return None