+#!/bin/sh
+
+. tap.sh
+
+plan 5
+
+PF=test.db
+
+rm -f $PF
+
+zpm-shell $PF < db.sql
+
+okexit direct schema load
+
+{ cat<<-EOS
+pragma foreign_keys = off;
+insert into packagefiles
+(package,version,release,path,mode,username,groupname,hash)
+values
+('foo','1',1,'/nopath','0644','root','root','fakehash')
+EOS
+} | zpm-shell $PF 2>/dev/null
+
+okexit basic packagefile insert
+
+{ cat<<-EOS
+pragma foreign_keys = off;
+insert into packagefiles
+(package,version,release,path,mode,username,groupname,hash)
+values
+('foo','1',1,'/nopath','0644','root','root',NULL)
+EOS
+} | zpm-shell $PF 2>/dev/null
+
+failsok regular with null hash rejected
+
+{ cat<<-EOS
+pragma foreign_keys = off;
+insert into packagefiles
+(package,version,release,path,mode,username,groupname,hash)
+values
+('foo','1',1,'/nopath','0644','root',NULL,'fakehash')
+EOS
+} | zpm-shell $PF 2>/dev/null
+
+failsok null groupname rejected
+
+{ cat<<-EOS
+pragma foreign_keys = off;
+insert into packagefiles
+(package,version,release,path,mode,username,groupname,hash)
+values
+('foo','1',1,'/nopath','0644',NULL,'root','fakehash')
+EOS
+} | zpm-shell $PF 2>/dev/null
+
+failsok null username rejected
+
+finish
+rm -f $PF
+exit 0
+
+zpm-test test.empty 2>/dev/null
+failsok zpm-test of empty file
+
+zpm-init $PF
+ zpm-init new file
+
+finish
+
+rm -f $PF test.empty