From 2bcc52b2e0b2397bd62dbba4db29b4fadc3870af Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Sun, 27 Sep 2020 16:16:44 +0200 Subject: DB: Add assertion to check for missing files in database This is related to 62f5bc3ce90fedb396d103caae68dc2f211f1b16 and would trigger if the optimization prevents a path from being added to the database. Signed-off-by: Florian Pritz --- lib/App/BorgRestore/PathTimeTable/DB.pm | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/App/BorgRestore') diff --git a/lib/App/BorgRestore/PathTimeTable/DB.pm b/lib/App/BorgRestore/PathTimeTable/DB.pm index 069d991..685c7b9 100644 --- a/lib/App/BorgRestore/PathTimeTable/DB.pm +++ b/lib/App/BorgRestore/PathTimeTable/DB.pm @@ -1,6 +1,7 @@ package App::BorgRestore::PathTimeTable::DB; use strictures 2; +use Carp::Assert; use Function::Parameters; BEGIN { use Log::Any qw($log); @@ -130,6 +131,11 @@ method save_nodes() { for my $key (keys %{$self->{stats}}) { $log->debugf("Performance counter %s = %s", $key, $self->{stats}->{$key}); } + + # +2 because: + # - borg list gives us `.` as the first path and we essentially skip it + # - we call `add_path` with `.` at the beginning of this method + assert($self->{stats}->{real_calls_to_db_class} + 2 == $self->{stats}->{total_paths}, "All files were actually added to the database"); } 1; -- cgit v1.2.3-24-g4f1b