Index: trunk/ippdb/tests/alloc.c
===================================================================
--- trunk/ippdb/tests/alloc.c	(revision 10060)
+++ trunk/ippdb/tests/alloc.c	(revision 10110)
@@ -9,4 +9,20 @@
 {
     {
+        expTagCounterRow *object;
+
+        object = expTagCounterRowAlloc(64    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+    }
+
+    {
         summitExpRow    *object;
 
@@ -224,10 +240,11 @@
         newExpRow       *object;
 
-        object = newExpRowAlloc(64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32    );
-
-        if (!object) {
-            exit(EXIT_FAILURE);
-        }
-
+        object = newExpRowAlloc("a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32    );
+
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
Index: trunk/ippdb/tests/createtable.c
===================================================================
--- trunk/ippdb/tests/createtable.c	(revision 10060)
+++ trunk/ippdb/tests/createtable.c	(revision 10110)
@@ -13,4 +13,19 @@
         }
 
+        if(!expTagCounterCreateTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
         if(!summitExpCreateTable(dbh)) {
             exit(EXIT_FAILURE);
Index: trunk/ippdb/tests/dbcleanup.c
===================================================================
--- trunk/ippdb/tests/dbcleanup.c	(revision 10060)
+++ trunk/ippdb/tests/dbcleanup.c	(revision 10110)
@@ -11,4 +11,5 @@
     }
 
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS expTagCounter");
     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS summitExp");
     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS summitImfile");
Index: trunk/ippdb/tests/dbsetup.c
===================================================================
--- trunk/ippdb/tests/dbsetup.c	(revision 10060)
+++ trunk/ippdb/tests/dbsetup.c	(revision 10110)
@@ -13,4 +13,7 @@
 
     // remove the table if it already exists
+    p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS expTagCounter");
+    expTagCounterCreateTable(dbh);
+
     p_psDBRunQuery(dbh, "DROP TABLE IF EXISTS summitExp");
     summitExpCreateTable(dbh);
Index: trunk/ippdb/tests/droptable.c
===================================================================
--- trunk/ippdb/tests/droptable.c	(revision 10060)
+++ trunk/ippdb/tests/droptable.c	(revision 10110)
@@ -13,4 +13,19 @@
         }
 
+        if (!expTagCounterDropTable(dbh)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
         if (!summitExpDropTable(dbh)) {
             exit(EXIT_FAILURE);
Index: trunk/ippdb/tests/insert.c
===================================================================
--- trunk/ippdb/tests/insert.c	(revision 10060)
+++ trunk/ippdb/tests/insert.c	(revision 10110)
@@ -13,4 +13,19 @@
         }
 
+        if (!expTagCounterInsert(dbh, 64)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
         if (!summitExpInsert(dbh, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", "a string", -32)) {
             exit(EXIT_FAILURE);
@@ -103,5 +118,5 @@
         }
 
-        if (!newExpInsert(dbh, 64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32)) {
+        if (!newExpInsert(dbh, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32)) {
             exit(EXIT_FAILURE);
         }
Index: trunk/ippdb/tests/insertfits.c
===================================================================
--- trunk/ippdb/tests/insertfits.c	(revision 10060)
+++ trunk/ippdb/tests/insertfits.c	(revision 10110)
@@ -24,4 +24,30 @@
         }
 
+        if (!expTagCounterInsertFits(dbh, fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!psFitsClose(fits)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        // open a temp
+        fits = psFitsOpen(TMP_FILENAME, "r");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
         if (!summitExpInsertFits(dbh, fits)) {
             exit(EXIT_FAILURE);
Index: trunk/ippdb/tests/insertobject.c
===================================================================
--- trunk/ippdb/tests/insertobject.c	(revision 10060)
+++ trunk/ippdb/tests/insertobject.c	(revision 10110)
@@ -7,4 +7,26 @@
     {
         psDB            *dbh;
+        expTagCounterRow *object;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        object = expTagCounterRowAlloc(64);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        if (!expTagCounterInsertObject(dbh, object)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
         summitExpRow    *object;
 
@@ -146,5 +168,5 @@
         }
 
-        object = newExpRowAlloc(64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32);
+        object = newExpRowAlloc("a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32);
         if (!object) {
             exit(EXIT_FAILURE);
Index: trunk/ippdb/tests/metadatafromobject.c
===================================================================
--- trunk/ippdb/tests/metadatafromobject.c	(revision 10060)
+++ trunk/ippdb/tests/metadatafromobject.c	(revision 10110)
@@ -10,4 +10,28 @@
     {
         psMetadata      *md;
+        expTagCounterRow *object;
+        bool            status;
+
+        object = expTagCounterRowAlloc(64);
+        if (!object) {
+            exit(EXIT_FAILURE);
+        }
+
+        md = expTagCounterMetadataFromObject(object);
+        if (!md) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+    }
+
+    {
+        psMetadata      *md;
         summitExpRow    *object;
         bool            status;
@@ -274,5 +298,5 @@
         bool            status;
 
-        object = newExpRowAlloc(64, "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32);
+        object = newExpRowAlloc("a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -286,4 +310,5 @@
         psFree(object);
 
+        if (strncmp(psMetadataLookupPtr(&status, md, "exp_tag"), "a string", MAX_STRING_LENGTH)) {
             psFree(md);
             exit(EXIT_FAILURE);
Index: trunk/ippdb/tests/objectfrommetadata.c
===================================================================
--- trunk/ippdb/tests/objectfrommetadata.c	(revision 10060)
+++ trunk/ippdb/tests/objectfrommetadata.c	(revision 10110)
@@ -10,4 +10,28 @@
     {
         psMetadata      *md;
+        expTagCounterRow *object;
+
+        md = psMetadataAlloc();
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        object = expTagCounterObjectFromMetadata(md);
+        if (!object) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(md);
+
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(object);
+    }
+
+    {
+        psMetadata      *md;
         summitExpRow    *object;
 
@@ -391,4 +415,5 @@
 
         md = psMetadataAlloc();
+        if (!psMetadataAddStr(md, PS_LIST_TAIL, "exp_tag", 0, NULL, "a string")) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -426,4 +451,5 @@
         psFree(md);
 
+        if (strncmp(object->exp_tag, "a string", MAX_STRING_LENGTH)) {
             psFree(object);
             exit(EXIT_FAILURE);
Index: trunk/ippdb/tests/selectrowsfits.c
===================================================================
--- trunk/ippdb/tests/selectrowsfits.c	(revision 10060)
+++ trunk/ippdb/tests/selectrowsfits.c	(revision 10110)
@@ -21,4 +21,26 @@
         }
 
+        if (!expTagCounterSelectRowsFits(dbh, fits, NULL, 1)) {
+            exit(EXIT_FAILURE);
+        }
+
+        psFree(fits);
+        psDBCleanup(dbh);
+    }
+
+    {
+        psDB            *dbh;
+        psFits          *fits;
+
+        dbh = psDBInit("localhost", "test", NULL, "test");
+        if (!dbh) {
+            exit(EXIT_FAILURE);
+        }
+
+        fits = psFitsOpen(TMP_FILENAME, "w");
+        if (!fits) {
+            exit(EXIT_FAILURE);
+        }
+
         if (!summitExpSelectRowsFits(dbh, fits, NULL, 1)) {
             exit(EXIT_FAILURE);
