Skip to content

Commit 39aaaef

Browse files
committed
Remove empty logging folders
1 parent b3dd883 commit 39aaaef

File tree

5 files changed

+27
-12
lines changed

5 files changed

+27
-12
lines changed

seleniumbase/behave/behave_sb.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -940,7 +940,7 @@ def get_configured_sb(context):
940940
if sb_config.dash_title:
941941
constants.Dashboard.TITLE = sb_config.dash_title.replace("_", " ")
942942

943-
log_helper.log_folder_setup(sb.log_path, sb.archive_logs)
943+
log_helper.log_folder_setup("latest_logs/", sb.archive_logs)
944944
download_helper.reset_downloads_folder()
945945
proxy_helper.remove_proxy_zip_if_present()
946946
return sb
@@ -1152,10 +1152,9 @@ def _perform_behave_unconfigure_():
11521152
except Exception:
11531153
pass
11541154
sb_config.shared_driver = None
1155-
if hasattr(sb_config, "log_path"):
1156-
log_helper.archive_logs_if_set(
1157-
sb_config.log_path, sb_config.archive_logs
1158-
)
1155+
if hasattr(sb_config, "archive_logs"):
1156+
log_helper.archive_logs_if_set("latest_logs/", sb_config.archive_logs)
1157+
log_helper.clear_empty_logs()
11591158
# Dashboard post-processing: Disable time-based refresh and stamp complete
11601159
if not hasattr(sb_config, "dashboard") or not sb_config.dashboard:
11611160
# Done with "behave_unconfigure" unless using the Dashboard

seleniumbase/core/log_helper.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -563,3 +563,18 @@ def log_folder_setup(log_path, archive_logs=False):
563563
pass
564564
else:
565565
shutil.rmtree(archived_logs) # (Archive test run later)
566+
567+
568+
def clear_empty_logs():
569+
latest_logs_dir = os.path.join(os.getcwd(), "latest_logs") + os.sep
570+
archived_folder = os.path.join(os.getcwd(), "archived_logs") + os.sep
571+
if os.path.exists(latest_logs_dir) and not os.listdir(latest_logs_dir):
572+
try:
573+
os.rmdir(latest_logs_dir)
574+
except OSError:
575+
pass
576+
if os.path.exists(archived_folder) and not os.listdir(archived_folder):
577+
try:
578+
os.rmdir(archived_folder)
579+
except OSError:
580+
pass

seleniumbase/plugins/base_plugin.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,7 @@ def finalize(self, result):
244244
log_helper.archive_logs_if_set(
245245
self.options.log_path, self.options.archive_logs
246246
)
247+
log_helper.clear_empty_logs()
247248
if self.report_on:
248249
if not self.import_error:
249250
report_helper.add_bad_page_log_file(self.page_results_list)

seleniumbase/plugins/pytest_plugin.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1708,7 +1708,7 @@ def pytest_configure(config):
17081708
from seleniumbase.core import download_helper
17091709
from seleniumbase.core import proxy_helper
17101710

1711-
log_helper.log_folder_setup(sb_config.log_path, sb_config.archive_logs)
1711+
log_helper.log_folder_setup("latest_logs/", sb_config.archive_logs)
17121712
download_helper.reset_downloads_folder()
17131713
proxy_helper.remove_proxy_zip_if_present()
17141714

@@ -1810,7 +1810,7 @@ def pytest_collection_finish(session):
18101810
from seleniumbase.core import download_helper
18111811
from seleniumbase.core import proxy_helper
18121812

1813-
log_helper.log_folder_setup(sb_config.log_path, sb_config.archive_logs)
1813+
log_helper.log_folder_setup("latest_logs/", sb_config.archive_logs)
18141814
download_helper.reset_downloads_folder()
18151815
proxy_helper.remove_proxy_zip_if_present()
18161816
if sb_config.dashboard and len(session.items) > 0:
@@ -2016,9 +2016,8 @@ def _perform_pytest_unconfigure_():
20162016
pass
20172017
sb_config.shared_driver = None
20182018
if hasattr(sb_config, "log_path") and sb_config.item_count > 0:
2019-
log_helper.archive_logs_if_set(
2020-
sb_config.log_path, sb_config.archive_logs
2021-
)
2019+
log_helper.archive_logs_if_set("latest_logs/", sb_config.archive_logs)
2020+
log_helper.clear_empty_logs()
20222021
# Dashboard post-processing: Disable time-based refresh and stamp complete
20232022
if not hasattr(sb_config, "dashboard") or not sb_config.dashboard:
20242023
# Done with "pytest_unconfigure" unless using the Dashboard

seleniumbase/plugins/sb_manager.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ def SB(
115115
interval=None, # SECONDS (Autoplay interval for SB Slides & Tour steps.)
116116
time_limit=None, # SECONDS (Safely fail tests that exceed the time limit.)
117117
):
118+
import os
118119
import sys
119120
import time
120121
import traceback
@@ -809,7 +810,6 @@ def SB(
809810
terminal_width = shared_utils.get_terminal_width()
810811
if test:
811812
import colorama
812-
import os
813813

814814
colorama.init(autoreset=True)
815815
c1 = colorama.Fore.GREEN
@@ -834,7 +834,8 @@ def SB(
834834
from seleniumbase.core import download_helper
835835
from seleniumbase.core import proxy_helper
836836

837-
log_helper.log_folder_setup(sb_config.log_path)
837+
log_helper.log_folder_setup("latest_logs/")
838+
log_helper.clear_empty_logs()
838839
download_helper.reset_downloads_folder()
839840
if not sb_config.multi_proxy:
840841
proxy_helper.remove_proxy_zip_if_present()

0 commit comments

Comments
 (0)