From: Kern Sibbald Date: Wed, 1 Dec 2004 07:53:51 +0000 (+0000) Subject: New debug code + update Python prototypes X-Git-Tag: Release-1.38.0~732 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=b4515ad827638c852834b0d13a9d281ee296ea49;p=bacula%2Fbacula New debug code + update Python prototypes git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1732 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/kernstodo b/bacula/kernstodo index 58ae189434..164768cce9 100644 --- a/bacula/kernstodo +++ b/bacula/kernstodo @@ -23,6 +23,21 @@ For 1.36.1: #6 Select one from among Multiple Storage Devices for Job #7 Single Job Writing to Multiple Storage Devices +Regression tests: +- Add Pool/Storage override regression test. +- Add delete JobId to regression. +- Add a regression test for dbcheck. +- New test to add bscan to four-concurrent-jobs regression, + i.e. after the four-concurrent jobs zap the + database as is done in the bscan-test, then use bscan to + restore the database, do a restore and compare with the + original. +- Add restore of specific JobId to regression (item 3 + on the restore prompt) +- Add IPv6 to regression +- Add database test to regression. Test each function like delete, + purge, ... + 1.37 Possibilities: - Require restore via the restore command or make a restore Job @@ -41,7 +56,6 @@ For 1.36.1: - Implement a Pool of type Cleaning? - Implement VolReadTime and VolWriteTime in SD - Modify Backing up Your Database to include a bootstrap file. -- Add restore of specific JobId to regression. - Think about making certain database errors fatal. - Look at correcting the time jump in the sceduler for daylight savings time changes. @@ -62,12 +76,8 @@ For 1.36.1: - Implement Total Bytes Written, ... for restore job. - Check dates entered by user for correctness (month/day/... ranges) - Compress restore Volume listing by date and first file. -- Add Pool/Storage override regression test. -- Add delete JobId to regression. -- Add bscan to four-concurrent-jobs regression. - Look at patches/bacula_db.b2z postgresql that loops during restore. See Gregory Wright. -- Add IPv6 to regression - Perhaps add read/write programs and/or plugins to FileSets. - How to handle backing up portables ... - Add some sort of guaranteed Interval for upgrading jobs. @@ -122,8 +132,6 @@ For 1.37 Testing/Documentation: - Add a read-only mode to the mount option. - Allow Simultaneous Priorities = yes => run up to Max concurrent jobs even with multiple priorities. -- Add db check test to regression. Test each function like delete, - purge, ... - If you use restore replace=never, the directory attributes for non-existent directories will not be restored properly. @@ -252,7 +260,6 @@ For 1.37 Testing/Documentation: creation date of files, we can be evensmarter about this and not count entirely upon the length.On a restore, the full and all incrementals since it will beapplied in sequence to restore the file. -- Add a regression test for dbcheck. - Allow for optional cancelling of SD and FD in case DIR gets a fatal error. Requested by Jesse Guardiani - Add "limit=n" for "list jobs" diff --git a/bacula/src/findlib/find.c b/bacula/src/findlib/find.c index c8a510f6d8..cd120f49fd 100644 --- a/bacula/src/findlib/find.c +++ b/bacula/src/findlib/find.c @@ -137,7 +137,7 @@ find_files(JCR *jcr, FF_PKT *ff, int callback(FF_PKT *ff_pkt, void *hpkt), void bstrncat(ff->VerifyOpts, fo->VerifyOpts, sizeof(ff->VerifyOpts)); } for (j=0; jname_list.size(); j++) { - Dmsg1(400, "F %s\n", (char *)incexe->name_list.get(j)); + Dmsg1(100, "F %s\n", (char *)incexe->name_list.get(j)); char *fname = (char *)incexe->name_list.get(j); if (find_one_file(jcr, ff, our_callback, his_pkt, fname, (dev_t)-1, 1) == 0) { return 0; /* error return */ @@ -151,7 +151,7 @@ find_files(JCR *jcr, FF_PKT *ff, int callback(FF_PKT *ff_pkt, void *hpkt), void while (!job_canceled(jcr) && (inc = get_next_included_file(ff, inc))) { /* Copy options for this file */ bstrncat(ff->VerifyOpts, inc->VerifyOpts, sizeof(ff->VerifyOpts)); - Dmsg1(50, "find_files: file=%s\n", inc->fname); + Dmsg1(100, "find_files: file=%s\n", inc->fname); if (!file_is_excluded(ff, inc->fname)) { if (find_one_file(jcr, ff, callback, his_pkt, inc->fname, (dev_t)-1, 1) ==0) { return 0; /* error return */ @@ -177,6 +177,8 @@ static bool accept_file(FF_PKT *ff) for (k=0; kwild.size(); k++) { if (fnmatch((char *)fo->wild.get(k), ff->fname, fnmode) == 0) { if (ff->flags & FO_EXCLUDE) { + Dmsg2(100, "Exclude wild: %s file=%s\n", (char *)fo->wild.get(k), + ff->fname); return false; /* reject file */ } return true; /* accept file */ @@ -202,14 +204,14 @@ static bool accept_file(FF_PKT *ff) findFOPTS *fo = (findFOPTS *)incexe->opts_list.get(j); for (k=0; kwild.size(); k++) { if (fnmatch((char *)fo->wild.get(k), ff->fname, fnmode) == 0) { - Dmsg1(400, "Reject wild1: %s\n", ff->fname); + Dmsg1(100, "Reject wild1: %s\n", ff->fname); return false; /* reject file */ } } } for (j=0; jname_list.size(); j++) { if (fnmatch((char *)incexe->name_list.get(j), ff->fname, fnmode) == 0) { - Dmsg1(400, "Reject wild2: %s\n", ff->fname); + Dmsg1(100, "Reject wild2: %s\n", ff->fname); return false; /* reject file */ } } diff --git a/bacula/src/lib/python.c b/bacula/src/lib/python.c index c9eee25b28..cffef6f539 100644 --- a/bacula/src/lib/python.c +++ b/bacula/src/lib/python.c @@ -136,7 +136,7 @@ int generate_event(JCR *jcr, const char *event) */ int generate_event(JCR *jcr, const char *event) { return 0; } -void init_python_interpreter(char *progname) { } +void init_python_interpreter(const char *progname, const char *scripts) { } void term_python_interpreter() { }