]> git.sur5r.net Git - bacula/bacula/commitdiff
ebl First cup of faketape dummy tape driver for regression testing.
authorEric Bollengier <eric@eb.homelinux.org>
Tue, 6 May 2008 20:57:30 +0000 (20:57 +0000)
committerEric Bollengier <eric@eb.homelinux.org>
Tue, 6 May 2008 20:57:30 +0000 (20:57 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6902 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/baconfig.h
bacula/src/stored/btape.c
bacula/src/stored/dev.c
bacula/src/version.h

index 00f0a4c928d0c1e0a26f2d1052f05a3f71b3bd6b..180f6824fa899f5207e04bdf646aca8c75394148 100644 (file)
@@ -87,7 +87,7 @@ void InitWinAPIWrapper();
 #define  tape_read            win32_tape_read
 #define  tape_write           win32_tape_write
 #define  tape_close           win32_tape_close
-
+#define  IS_TAPE(x)           (0)
 
 #define sbrk(x)  0
 
@@ -106,19 +106,30 @@ void InitWinAPIWrapper();
 #  define CATS_IMP_EXP
 #endif
 
-#else
+#else  /* HAVE_WIN32 */
 
 #define DLL_IMP_EXP
 #define CATS_IMP_EXP
 
 #define  OSDependentInit()
-#define  tape_open            ::open
-#define  tape_ioctl           ::ioctl
-#define  tape_read            ::read
-#define  tape_write           ::write
-#define  tape_close           ::close
 
-#endif
+#if defined(USE_FAKETAPE)
+#  define  tape_open            faketape_open
+#  define  tape_ioctl           faketape_ioctl
+#  define  tape_read            faketape_read
+#  define  tape_write           faketape_write
+#  define  tape_close           faketape_close
+#  define  IS_TAPE(x)           (S_ISCHR(x) || S_ISREG(x))
+#else  /* UNIX && !FAKETAPE */
+#  define  tape_open            ::open
+#  define  tape_ioctl           ::ioctl
+#  define  tape_read            ::read
+#  define  tape_write           ::write
+#  define  tape_close           ::close
+#  define  IS_TAPE(x)           S_ISCHR(x)
+#endif
+
+#endif /* HAVE_WIN32 */
 
 
 #ifdef ENABLE_NLS
index f469691fd103fdb90b6dda493a53f9b661fecac5..a92d01e215129b6e8e775def821fd838a361fc95 100644 (file)
 #include "bacula.h"
 #include "stored.h"
 
+#ifdef USE_FAKETAPE
+#include "faketape.h"
+#endif
+
 /* Dummy functions */
 int generate_daemon_event(JCR *jcr, const char *event) { return 1; }
 
index 558fd729843497ab579324159c2a4ff5663658bd..5afe0e10f8411d316a3e1f3272121a5bfa542f4c 100644 (file)
@@ -123,7 +123,7 @@ init_dev(JCR *jcr, DEVRES *device)
       }
       if (S_ISDIR(statp.st_mode)) {
          device->dev_type = B_FILE_DEV;
-      } else if (S_ISCHR(statp.st_mode)) {
+      } else if (IS_TAPE(statp.st_mode)) { /* char device or fake tape */
          device->dev_type = B_TAPE_DEV;
       } else if (S_ISFIFO(statp.st_mode)) {
          device->dev_type = B_FIFO_DEV;
index 0fae6a841d59fce8e53532add71e5c45fe4204b6..99fe973ac7d46221c7b80dff227bca9fc72eaaff 100644 (file)
 #define SMCHECK
 #endif
 
+/*
+ * USE_FAKETAPE is a dummy tape driver. This is useful to
+ *  run regress test.
+ */
+#ifdef DEVELOPER
+//#define USE_FAKETAPE
+#endif
+
 /* 
  * for fastest speed but you must have a UPS to avoid unwanted shutdowns
  */