--- /dev/null
+#!/bin/sh -e
+
+dir=$1
+
+set -e
+
+tmp1=`mktemp /tmp/typ-XXXXXXXXX`
+tmp2=`mktemp /tmp/typ-XXXXXXXXX`
+
+for type in `ls $dir`
+do
+ if ./ceph-dencoder type $type 2>/dev/null; then
+ echo "type $type"
+ for o in `ls $dir/$type`; do
+ f="$dir/$type/$o"
+ echo "\t$f"
+
+ ./ceph-dencoder type $type import $f decode dump_json > $tmp1
+ ./ceph-dencoder type $type import $f decode encode decode dump_json > $tmp2
+ cmp $tmp1 $tmp2 || exit 1
+
+ ./ceph-dencoder type $type import $f decode encode export $tmp1
+ cmp $tmp1 $f || exit 1
+ done
+ else
+ echo "skip $type"
+ fi
+done
+
+rm -f $tmp1 $tmp2
+
+echo OK