tests: Make $expected_mismatch skip the cardinality check, rather
than consider it an expected failure. With this change, if $expected_region_highlight and $region_highlight coincidentally have the same number of elements, the test won't be considered to fail. This is useful in conjunction with the next commit, q.v.. At this time, no tests set $expected_mismatch explicitly. However, the commit after next (this commit's grandchild) will add a test that will set $expected_mismatch implicitly, using the functionality in the next commit (this commit's child).
This commit is contained in:
parent
e209cbe61a
commit
d5a4a6e195
@ -23,8 +23,7 @@ need not match the order in `$region_highlight`.
|
|||||||
|
|
||||||
Normally, tests fail if `$expected_region_highlight` and `$region_highlight`
|
Normally, tests fail if `$expected_region_highlight` and `$region_highlight`
|
||||||
have different numbers of elements. Tests may set `$expected_mismatch` to an
|
have different numbers of elements. Tests may set `$expected_mismatch` to an
|
||||||
explanation string (like `$todo`) to avoid this and mark the cardinality check
|
explanation string (like `$todo`) to avoid this and skip the cardinality check.
|
||||||
as todo.
|
|
||||||
|
|
||||||
**Note**: `$region_highlight` uses the same `"$i $j $style"` syntax but
|
**Note**: `$region_highlight` uses the same `"$i $j $style"` syntax but
|
||||||
interprets the indexes differently.
|
interprets the indexes differently.
|
||||||
|
@ -171,14 +171,17 @@ run_test_internal() {
|
|||||||
unset desc
|
unset desc
|
||||||
done
|
done
|
||||||
|
|
||||||
if (( $#expected_region_highlight == $#region_highlight )); then
|
if [[ -n $expected_mismatch ]]; then
|
||||||
print -r -- "ok $i - cardinality check" "${expected_mismatch:+"# TODO ${(qqq)expected_mismatch}"}"
|
tap_escape $expected_mismatch; expected_mismatch=$REPLY
|
||||||
|
print "ok $i - cardinality check" "# SKIP $expected_mismatch"
|
||||||
|
elif (( $#expected_region_highlight == $#region_highlight )); then
|
||||||
|
print -r -- "ok $i - cardinality check"
|
||||||
else
|
else
|
||||||
local details
|
local details
|
||||||
details+="have $#expected_region_highlight expectations and $#region_highlight region_highlight entries: "
|
details+="have $#expected_region_highlight expectations and $#region_highlight region_highlight entries: "
|
||||||
details+="«$(typeset_p expected_region_highlight)» «$(typeset_p region_highlight)»"
|
details+="«$(typeset_p expected_region_highlight)» «$(typeset_p region_highlight)»"
|
||||||
tap_escape $details; details=$REPLY
|
tap_escape $details; details=$REPLY
|
||||||
print -r -- "not ok $i - cardinality check" "$details" "${expected_mismatch:+"# TODO ${(qqq)expected_mismatch}"}"
|
print -r -- "not ok $i - cardinality check - $details"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user