make sure fsreport can run on empty mailbox dir

This commit is contained in:
holger krekel
2025-10-21 17:19:54 +02:00
parent 11a8f8cf9e
commit 0931da21b8
2 changed files with 10 additions and 2 deletions

View File

@@ -81,7 +81,10 @@ class Report:
print("## Mailbox storage use analysis")
print(f"Mailbox data total size: {HSize(self.size_extra + all_messages)}")
print(f"Messages total size : {HSize(all_messages)}")
percent = self.size_extra / (self.size_extra + all_messages) * 100
try:
percent = self.size_extra / (self.size_extra + all_messages) * 100
except ZeroDivisionError:
percent = 100
print(f"Extra files : {HSize(self.size_extra)} ({percent:.2f}%)")
print()
@@ -98,7 +101,7 @@ class Report:
user_logins = self.num_all_logins - self.num_ci_logins
def p(num):
return f"({num / user_logins * 100:2.2f}%)"
return f"({num / user_logins * 100:2.2f}%)" if user_logins else "100%"
print()
print(f"## Login stats, from date reference {datetime.fromtimestamp(self.now)}")

View File

@@ -79,6 +79,11 @@ def test_stats_mailbox(mbox1):
assert mbox3.last_login is None
def test_report_no_mailboxes(example_config):
args = (str(example_config._inipath),)
report_main(args)
def test_report(mbox1, example_config):
args = (str(example_config._inipath),)
report_main(args)