From: Sage Weil Date: Thu, 13 Aug 2015 18:49:40 +0000 (-0400) Subject: test/encoding/check-generated: test sorted json dumps for nondeterministic objects X-Git-Tag: v9.1.0~372^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=623a8e7ce974f0e5b9b1c8a80c626be5edb4909a;p=ceph.git test/encoding/check-generated: test sorted json dumps for nondeterministic objects Nondeterministic objects dump nondeterministically (usually due to unordered_map or _set). Compare their sorted output. This is a weaker test but is better than nothing. Signed-off-by: Sage Weil --- diff --git a/src/test/encoding/check-generated.sh b/src/test/encoding/check-generated.sh index f539b2bcb838..7c33e5430648 100755 --- a/src/test/encoding/check-generated.sh +++ b/src/test/encoding/check-generated.sh @@ -29,6 +29,18 @@ for type in `./ceph-dencoder list_types`; do ./ceph-dencoder type $type select_test $n copy dump_json > $tmp3 ./ceph-dencoder type $type select_test $n copy_ctor dump_json > $tmp4 + # nondeterministic classes may dump nondeterministically. compare + # the sorted json output. this is a weaker test, but is better + # than nothing. + if ! ./ceph-dencoder type $type is_deterministic + then + echo " sorting json output for nondeterministic object" + for f in $tmp1 $tmp2 $tmp3 $tmp4; do + sort $f | sed 's/,$//' > $f.new + mv $f.new $f + done + fi + if ! cmp $tmp1 $tmp2; then echo "**** $type test $n dump_json check failed ****" echo " ./ceph-dencoder type $type select_test $n dump_json > $tmp1"