Comment 0 for bug 1909647

Revision history for this message
Po-Hsu Lin (cypressyew) wrote :

There are failed cases in the xfrm_policy.sh test, but the overall result is PASS
$ sudo ./xfrm_policy.sh
 # selftests: net: xfrm_policy.sh
 # PASS: policy before exception matches
 # FAIL: expected ping to .254 to fail (exceptions)
 # PASS: direct policy matches (exceptions)
 # PASS: policy matches (exceptions)
 # FAIL: expected ping to .254 to fail (exceptions and block policies)
 # PASS: direct policy matches (exceptions and block policies)
 # PASS: policy matches (exceptions and block policies)
 # FAIL: expected ping to .254 to fail (exceptions and block policies after hresh changes)
 # PASS: direct policy matches (exceptions and block policies after hresh changes)
 # PASS: policy matches (exceptions and block policies after hresh changes)
 # FAIL: expected ping to .254 to fail (exceptions and block policies after hthresh change in ns3)
 # PASS: direct policy matches (exceptions and block policies after hthresh change in ns3)
 # PASS: policy matches (exceptions and block policies after hthresh change in ns3)
 # FAIL: expected ping to .254 to fail (exceptions and block policies after htresh change to normal)
 # PASS: direct policy matches (exceptions and block policies after htresh change to normal)
 # PASS: policy matches (exceptions and block policies after htresh change to normal)
 # PASS: policies with repeated htresh change
 ok 12 selftests: net: xfrm_policy.sh
$ echo $?
0

This is because of the variable "lret" in check_xfrm() is not a local variable, and it looks like it will override the one in check_exceptions() thus making the return value become 0 for the passed test case after the failed one.