From 31d93f0d114639425d32ab48d93be35959896fa4 Mon Sep 17 00:00:00 2001
From: Jeff Wallace <jwallace@basistech.com>
Date: Tue, 23 Jul 2013 15:21:10 -0400
Subject: [PATCH] Added main function to tskdbdiff so it can be called
 directly.

---
 test/script/tskdbdiff.py | 37 ++++++++++++++++++++++++++++++++-----
 1 file changed, 32 insertions(+), 5 deletions(-)

diff --git a/test/script/tskdbdiff.py b/test/script/tskdbdiff.py
index 1e71d9e834..985cd2ba17 100644
--- a/test/script/tskdbdiff.py
+++ b/test/script/tskdbdiff.py
@@ -5,6 +5,7 @@
 import os
 import codecs
 import datetime
+import sys
 
 class TskDbDiff(object):
     """Represents the differences between the gold and output databases.
@@ -59,9 +60,9 @@ def run_diff(self):
         self._init_diff()
         # generate the gold database dumps if necessary
         if self._generate_gold_dump:
-            TskDbDiff._dump_output_db_nonbb(self.gold_db, self.gold_dump)
+            TskDbDiff._dump_output_db_nonbb(self.gold_db_file, self.gold_dump)
         if self._generate_gold_bb_dump:
-            TskDbDiff._dump_ouput_db_bb(self.gold_db, self.gold_bb_dump)
+            TskDbDiff._dump_output_db_bb(self.gold_db_file, self.gold_bb_dump)
 
         # generate the output database dumps
         TskDbDiff.dump_output_db(self.output_db_file, self._dump, self._bb_dump)
@@ -94,9 +95,11 @@ def _cleanup_diff(self):
         if self.output_dir is None:
             #cleanup temp files
             os.remove(self._dump)
-            os.remove(self._dump_diff)
             os.remove(self._bb_dump)
-            os.remove(self._bb_dump_diff)
+            if os.path.isfile(self._dump_diff):
+                os.remove(self._dump_diff)
+            if os.path.isfile(self._bb_dump_diff):
+                os.remove(self._bb_dump_diff)
         if self.gold_bb_dump is None:
             os.remove(self.gold_bb_dump)
             os.remove(self.gold_dump)
@@ -251,5 +254,29 @@ def _get_tmp_file(base, ext):
 
 
 class TskDbDiffException(Exception):
-   pass
+    pass
+
+
+def main():
+    try:
+        sys.argv.pop(0)
+        output_db = sys.argv.pop(0)
+        gold_db = sys.argv.pop(0)
+    except:
+        print("usage: tskdbdiff [OUPUT DB PATH] [GOLD DB PATH]")
+        sys.exit()
+
+    db_diff = TskDbDiff(output_db, gold_db)
+    passed = db_diff.run_diff()
+
+    if passed:
+        print("Database comparison passed.")
+    else:
+        print("Database comparison failed.")
+
+    return 0
+
+
+if __name__ == "__main__":
+    sys.exit(main())
 
-- 
GitLab