Added a way to get the verbosity to test programs
[yaz-moved-to-github.git] / src / test.c
index 967b53b..c7267e3 100644 (file)
@@ -2,8 +2,13 @@
  * Copyright (C) 1995-2005, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: test.c,v 1.3 2006-01-29 21:59:13 adam Exp $
+ * $Id: test.c,v 1.7 2006-05-10 12:52:28 heikki Exp $
  */
+
+/** \file test.c
+    \brief Unit Test for YAZ
+*/
+
 #if HAVE_CONFIG_H
 #include <config.h>
 #endif
@@ -75,6 +80,7 @@ void yaz_check_init1(int *argc_p, char ***argv_p)
                         "       1=Report+Summary only if tests fail.\n"
                         "       2=Report failures. Print summary always\n"
                         "       3=Report + summary always\n"
+                        "       4=Report + summary + extra prints from tests\n"
                     );
                 exit(0);
             }
@@ -118,7 +124,20 @@ void yaz_check_term1(void)
     exit(0);
 }
 
-void yaz_check_print1(int type, const char *file, int line, const char *expr)
+void yaz_check_eq1(int type, const char *file, int line,
+                   const char *left, const char *right, int lval, int rval)
+{
+    char formstr[2048];
+    
+    if (type==YAZ_TEST_TYPE_OK) 
+        sprintf(formstr, "%.500s == %.500s ", left, right);
+    else
+        sprintf(formstr, "%.500s != %.500s\n %d != %d", left, right, lval,rval);
+    yaz_check_print1(type, file, line, formstr);
+}
+
+void yaz_check_print1(int type, const char *file, int line, 
+                      const char *expr)
 {
     const char *msg = "unknown";
 
@@ -127,20 +146,25 @@ void yaz_check_print1(int type, const char *file, int line, const char *expr)
     {
     case YAZ_TEST_TYPE_FAIL:
         test_failed++;
-        msg = "failed";
+        msg = "FAILED";
         if (test_verbose < 1)
             return;
         break;
     case YAZ_TEST_TYPE_OK:
-        msg = "OK";
+        msg = "ok";
         if (test_verbose < 3)
             return;
         break;
     }
-    fprintf(get_file(), "%s:%d %s: %s\n", file, line, msg, expr);
+    fprintf(get_file(), "%s:%d %s: ", file, line, msg);
+    fprintf(get_file(), "%s\n", expr);
 }
 
 
+int yaz_test_get_verbosity(){
+    return test_verbose;
+}
+
 /*
  * Local variables:
  * c-basic-offset: 4