]> git.sur5r.net Git - bacula/bacula/commitdiff
New debug code + update Python prototypes
authorKern Sibbald <kern@sibbald.com>
Wed, 1 Dec 2004 07:53:51 +0000 (07:53 +0000)
committerKern Sibbald <kern@sibbald.com>
Wed, 1 Dec 2004 07:53:51 +0000 (07:53 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1732 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/kernstodo
bacula/src/findlib/find.c
bacula/src/lib/python.c

index 58ae189434f89fbf131fc388fe74eac8a87291ed..164768cce9da240ff1af9ca172df82f1bd8f72a6 100644 (file)
@@ -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 <jesse@wingnet.net>
 - Add "limit=n" for "list jobs"
index c8a510f6d8c6f3c9ae2103969b755f91b65f163c..cd120f49fd2af89b8da5047eacd2d69656e7d8c7 100644 (file)
@@ -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; j<incexe->name_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; k<fo->wild.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; k<fo->wild.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; j<incexe->name_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 */
         }
       }
index c9eee25b28f0890a9c8952f3727a10cfffd96ded..cffef6f539c0ecfef315469f8ceebf8dab01f5e8 100644 (file)
@@ -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() { }