Index: /trunk/glueforge/glueforge.in
===================================================================
--- /trunk/glueforge/glueforge.in	(revision 4005)
+++ /trunk/glueforge/glueforge.in	(revision 4006)
@@ -3,5 +3,5 @@
 # Copyright (C) 2005  Joshua Hoblitt
 #
-# $Id: glueforge.in,v 1.13 2005-05-20 03:32:11 jhoblitt Exp $
+# $Id: glueforge.in,v 1.14 2005-05-20 22:53:49 jhoblitt Exp $
 
 use strict;
@@ -70,4 +70,5 @@
         ctype   => $mdtypes->{ctype},
         mtype   => $mdtypes->{mtype},
+        test    => $mdtypes->{test},
         comment => $elem->{comment},
         value   => $elem->{value},
@@ -76,4 +77,5 @@
 
 $data{columns} = \@items;
+
 
 $output = $data{pkg_name} unless defined $output;
@@ -91,6 +93,7 @@
     'dbsetup_c.tt'          => "$output/tests/dbsetup.c",
     'dbcleanup_c.tt'        => "$output/tests/dbcleanup.c",
+    'alloc_c.tt'            => "$output/tests/alloc.c",
     'init_c.tt'             => "$output/tests/init.c",
-    'init_c.tt'             => "$output/tests/cleanup.c",
+    'cleanup_c.tt'          => "$output/tests/cleanup.c",
     'createtable_c.tt'      => "$output/tests/createtable.c",
     'droptable_c.tt'        => "$output/tests/droptable.c",
@@ -131,8 +134,22 @@
     my %ctypes = map { $_ => "ps$_" } keys %primitives;
 
+    my %ttypes = (
+        S8      => -8,
+        S16     => -16,
+        S32     => -32,
+        S64     => -64,
+        U8      => 8,
+        U16     => 16,
+        U32     => 32,
+        U64     => 64,
+        F32     => 32.32,
+        F64     => 64.64,
+    );
+
     if ( $primitives{$type} ) {
         return {
             ctype   => $ctypes{$type},
             mtype   => $mtypes{$type},
+            test    => $ttypes{$type},
         };
     } elsif ( $type =~ /STR|STRING/ ) {
@@ -140,4 +157,5 @@
             ctype   => "char*",
             mtype   => 'PS_META_STR',
+            test    => '"a string"',
         };
     } elsif ( $type =~ /BOOL/ ) {
@@ -145,4 +163,5 @@
             ctype   => "bool",
             mtype   => 'PS_META_STR',
+            test    => 'true',
         };
     } else {
Index: /trunk/glueforge/templates/psdb/code.tt
===================================================================
--- /trunk/glueforge/templates/psdb/code.tt	(revision 4005)
+++ /trunk/glueforge/templates/psdb/code.tt	(revision 4006)
@@ -2,4 +2,6 @@
 
 #define [% namespace FILTER upper %]_TABLE_NAME "[% table_name %]"
+
+[% INCLUDE alloc.tt %]
 
 [% INCLUDE init.tt %]
Index: /trunk/glueforge/templates/psdb/tests_makefile_am.tt
===================================================================
--- /trunk/glueforge/templates/psdb/tests_makefile_am.tt	(revision 4005)
+++ /trunk/glueforge/templates/psdb/tests_makefile_am.tt	(revision 4006)
@@ -51,4 +51,5 @@
 
 TESTS = \
+	alloc \
 	init \
 	cleanup \
Index: /trunk/glueforge/templates/psdb/testsuite_at.tt
===================================================================
--- /trunk/glueforge/templates/psdb/testsuite_at.tt	(revision 4005)
+++ /trunk/glueforge/templates/psdb/testsuite_at.tt	(revision 4006)
@@ -2,4 +2,6 @@
 
 AT_INIT
+
+[% INCLUDE alloc_at.tt %]
 
 #m4_include([init.at])
