From 623a8e7ce974f0e5b9b1c8a80c626be5edb4909a Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Thu, 13 Aug 2015 14:49:40 -0400 Subject: [PATCH] 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 --- src/test/encoding/check-generated.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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" -- 2.47.3