From f7893bf8589e70e05ce4f81e2ddb5d5629224ff9 Mon Sep 17 00:00:00 2001 From: vshepard Date: Thu, 25 Jul 2024 10:21:53 +0200 Subject: [PATCH] Add log folder size in cleanup --- testgres/node.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/testgres/node.py b/testgres/node.py index 2ea49529..5b245fe4 100644 --- a/testgres/node.py +++ b/testgres/node.py @@ -913,6 +913,17 @@ def free_port(self): self._should_free_port = False release_port(self.port) + def _get_directory_size(self, directory): + """Calculate the total size of a directory.""" + total_size = 0 + for dirpath, dirnames, filenames in os.walk(directory): + for f in filenames: + fp = os.path.join(dirpath, f) + # Skip if it is symbolic link + if not os.path.islink(fp): + total_size += os.path.getsize(fp) + return total_size + def cleanup(self, max_attempts=3, full=False): """ Stop node if needed and remove its data/logs directory. @@ -934,6 +945,9 @@ def cleanup(self, max_attempts=3, full=False): else: rm_dir = self.data_dir # just data, save logs + dir_size = self._get_directory_size(rm_dir) + print(f"Cleanup: Size of the directory '{rm_dir}' before removal: {dir_size} bytes") + self.os_ops.rmdirs(rm_dir, ignore_errors=False) return self