summaryrefslogtreecommitdiffstats
path: root/src/test/encoding/identity.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/encoding/identity.sh')
-rwxr-xr-xsrc/test/encoding/identity.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/encoding/identity.sh b/src/test/encoding/identity.sh
new file mode 100755
index 000000000..67c803c9d
--- /dev/null
+++ b/src/test/encoding/identity.sh
@@ -0,0 +1,32 @@
+#!/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