From 4aa34948eaf6e287f8b9b86cdfe5d30d9ea90bf2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rados=C5=82aw=20Korzeniewski?= Date: Wed, 25 Aug 2021 16:54:04 +0200 Subject: [PATCH] regress: Update regression script for accurate mode. --- .../fd/pluginlib/test_metaplugin_backend.c | 36 ++++++++++++++++++- regress/scripts/metaplugin-protocol-tests.sh | 21 +++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/bacula/src/plugins/fd/pluginlib/test_metaplugin_backend.c b/bacula/src/plugins/fd/pluginlib/test_metaplugin_backend.c index 9fd4b2402..12ed7450d 100644 --- a/bacula/src/plugins/fd/pluginlib/test_metaplugin_backend.c +++ b/bacula/src/plugins/fd/pluginlib/test_metaplugin_backend.c @@ -73,6 +73,7 @@ bool regress_standard_error_backup = false; bool regress_cancel_backup = false; bool regress_cancel_restore = false; +bool Job_Level_Incremental = false; #define BUFLEN 4096 #define BIGBUFLEN 131072 @@ -782,6 +783,32 @@ void perform_backup() signal_eod(); } + bool seen = false; + if (Job_Level_Incremental) { + // we can accurateCheck query + write_plugin('C', "CHECK:/etc/passwd\n"); + write_plugin('C', "STAT:F 37 0 0 100640 1\n"); + write_plugin('C', "TSTAMP:1504271937 1504271937 1504271937\n"); + read_plugin(buf); + write_plugin('I', "TEST CHECK Response"); + write_plugin('I', buf); + if (strncmp(buf, "SEEN", 4) == 0) { + seen = true; + } + } + + // backup if full or not seen + if (!Job_Level_Incremental || !seen) { + write_plugin('C', "FNAME:/etc/passwd\n"); + write_plugin('C', "STAT:F 37 0 0 100640 1\n"); + write_plugin('C', "TSTAMP:1504271937 1504271937 1504271937\n"); + signal_eod(); + /* here comes a file data contents */ + write_plugin('C', "DATA\n"); + write_plugin('D', "/* here comes a file data contents */"); + signal_eod(); + } + // next file write_plugin('I', "TEST8"); snprintf(buf, BIGBUFLEN, "FNAME:%s/bucket/%d/SHELL\n", PLUGINPREFIX, mypid); @@ -1472,7 +1499,14 @@ int main(int argc, char** argv) { #endif /* Job Info (2) */ - while ((len = read_plugin(buf)) > 0); + while ((len = read_plugin(buf)) > 0) + { + if (strcmp(buf, "Level=I\n") == 0) { + Job_Level_Incremental = true; + continue; + } + } + write_plugin('I', "TEST2"); signal_eod(); diff --git a/regress/scripts/metaplugin-protocol-tests.sh b/regress/scripts/metaplugin-protocol-tests.sh index ecaa4b8c5..d1e12705f 100755 --- a/regress/scripts/metaplugin-protocol-tests.sh +++ b/regress/scripts/metaplugin-protocol-tests.sh @@ -191,6 +191,27 @@ END_OF_DATA run_bconsole +# now do an incremental backup job +cat <${cwd}/tmp/bconcmds +@# +@# Backup incremental +@# +@output /dev/null +messages +@$out ${cwd}/tmp/log10.out +status client=$CLIENT +setdebug level=500 client=$CLIENT trace=1 +run job=$JobBackup1 level=incremental yes +wait +status client=$CLIENT +messages +llist job=$JobBackup1 +@output +quit +END_OF_DATA + +run_bconsole + # now test estimate job cat <${cwd}/tmp/bconcmds -- 2.47.3