Skip to content

Commit

Permalink
test: Don't compact json so errors are easier to identify
Browse files Browse the repository at this point in the history
Signed-off-by: David Zafman <dzafman@redhat.com>
  • Loading branch information
dzafman committed Jul 7, 2016
1 parent 356fc75 commit c8fcc14
Showing 1 changed file with 218 additions and 28 deletions.
246 changes: 218 additions & 28 deletions src/test/osd/osd-scrub-snaps.sh
Expand Up @@ -166,36 +166,226 @@ function TEST_scrub_snaps() {
rados list-inconsistent-snapset $pgid > $dir/json || return 1
test $(jq '.inconsistents | length' $dir/json) = "20" || return 1

jq -c '.inconsistents | sort' > $dir/checkcsjson << EOF
{"epoch":18,"inconsistents":[{"name":"obj1","nspace":"","locator":"","snap":1,
"errors":["headless"]},{"name":"obj10","nspace":"","locator":"","snap":1,
"errors":["size_mismatch"]},{"name":"obj11","nspace":"","locator":"","snap":1,
"errors":["headless"]},{"name":"obj14","nspace":"","locator":"","snap":1,
"errors":["size_mismatch"]},{"name":"obj6","nspace":"","locator":"","snap":1,
"errors":["headless"]},{"name":"obj7","nspace":"","locator":"","snap":1,
"errors":["headless"]},{"name":"obj9","nspace":"","locator":"","snap":1,
"errors":["size_mismatch"]},{"name":"obj2","nspace":"","locator":"","snap":4,
"errors":["headless"]},{"name":"obj5","nspace":"","locator":"","snap":4,
"errors":["size_mismatch"]},{"name":"obj2","nspace":"","locator":"","snap":7,
"errors":["headless"]},{"name":"obj5","nspace":"","locator":"","snap":7,
"errors":["oi_attr_missing","headless"]},{"name":"obj11","nspace":"",
"locator":"","snap":"head","errors":["extra_clones"],"extra clones":[1]},
{"name":"obj12","nspace":"","locator":"","snap":"head",
"errors":["head_mismatch"]},{"name":"obj3","nspace":"","locator":"",
"snap":"head","errors":["size_mismatch"]},{"name":"obj5","nspace":"",
"locator":"","snap":"head","errors":["extra_clones","clone_missing"],
"extra clones":[7],"missing":[2,1]},{"name":"obj6","nspace":"","locator":"",
"snap":"head","errors":["extra_clones"],"extra clones":[1]},{"name":"obj7",
"nspace":"","locator":"","snap":"head","errors":["head_mismatch",
"extra_clones"],"extra clones":[1]},{"name":"obj8","nspace":"","locator":"",
"snap":"head","errors":["snapset_mismatch"]},{"name":"obj2","nspace":"",
"locator":"","snap":"snapdir","errors":["ss_attr_missing","extra_clones"],
"extra clones":[7,4]},{"name":"obj4","nspace":"","locator":"","snap":"snapdir",
"errors":["clone_missing"],"missing":[7]}]}
local jqfilter='.inconsistents'
local sortkeys='import json; import sys ; JSON=sys.stdin.read() ; ud = json.loads(JSON) ; print json.dumps(ud, sort_keys=True, indent=2)'

jq "$jqfilter" << EOF | python -c "$sortkeys" > $dir/checkcsjson
{
"inconsistents": [
{
"errors": [
"headless"
],
"snap": 1,
"locator": "",
"nspace": "",
"name": "obj1"
},
{
"errors": [
"size_mismatch"
],
"snap": 1,
"locator": "",
"nspace": "",
"name": "obj10"
},
{
"errors": [
"headless"
],
"snap": 1,
"locator": "",
"nspace": "",
"name": "obj11"
},
{
"errors": [
"size_mismatch"
],
"snap": 1,
"locator": "",
"nspace": "",
"name": "obj14"
},
{
"errors": [
"headless"
],
"snap": 1,
"locator": "",
"nspace": "",
"name": "obj6"
},
{
"errors": [
"headless"
],
"snap": 1,
"locator": "",
"nspace": "",
"name": "obj7"
},
{
"errors": [
"size_mismatch"
],
"snap": 1,
"locator": "",
"nspace": "",
"name": "obj9"
},
{
"errors": [
"headless"
],
"snap": 4,
"locator": "",
"nspace": "",
"name": "obj2"
},
{
"errors": [
"size_mismatch"
],
"snap": 4,
"locator": "",
"nspace": "",
"name": "obj5"
},
{
"errors": [
"headless"
],
"snap": 7,
"locator": "",
"nspace": "",
"name": "obj2"
},
{
"errors": [
"oi_attr_missing",
"headless"
],
"snap": 7,
"locator": "",
"nspace": "",
"name": "obj5"
},
{
"extra clones": [
1
],
"errors": [
"extra_clones"
],
"snap": "head",
"locator": "",
"nspace": "",
"name": "obj11"
},
{
"errors": [
"head_mismatch"
],
"snap": "head",
"locator": "",
"nspace": "",
"name": "obj12"
},
{
"errors": [
"size_mismatch"
],
"snap": "head",
"locator": "",
"nspace": "",
"name": "obj3"
},
{
"missing": [
2,
1
],
"extra clones": [
7
],
"errors": [
"extra_clones",
"clone_missing"
],
"snap": "head",
"locator": "",
"nspace": "",
"name": "obj5"
},
{
"extra clones": [
1
],
"errors": [
"extra_clones"
],
"snap": "head",
"locator": "",
"nspace": "",
"name": "obj6"
},
{
"extra clones": [
1
],
"errors": [
"head_mismatch",
"extra_clones"
],
"snap": "head",
"locator": "",
"nspace": "",
"name": "obj7"
},
{
"errors": [
"snapset_mismatch"
],
"snap": "head",
"locator": "",
"nspace": "",
"name": "obj8"
},
{
"extra clones": [
7,
4
],
"errors": [
"ss_attr_missing",
"extra_clones"
],
"snap": "snapdir",
"locator": "",
"nspace": "",
"name": "obj2"
},
{
"missing": [
7
],
"errors": [
"clone_missing"
],
"snap": "snapdir",
"locator": "",
"nspace": "",
"name": "obj4"
}
],
"epoch": 20
}
EOF

jq -c '.inconsistents | sort' $dir/json > $dir/csjson
diff $dir/csjson $dir/checkcsjson || return 1
jq "$jqfilter" $dir/json | python -c "$sortkeys" > $dir/csjson
diff -y $dir/checkcsjson $dir/csjson || return 1

for i in `seq 1 7`
do
Expand Down

0 comments on commit c8fcc14

Please sign in to comment.