Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
HADOOP-12111
-
None
Description
In tap.sh, TAP results are parsed as follows:
filenames=$(find "${TAP_LOG_DIR}" -type f -exec "${GREP}" -l -E "not ok " {} \;)
But this regex seems to have the following problems:
1. According to the TAP specification, "ok" / "not ok" is only required in the test line and others are optional. So each line can be terminated with just "ok" or "not ok", without trailing spaces. In that case, the regex "not ok " will miss test failures.
2. TAP output can contain descriptions and diagnostics. If they contains the string "not ok ", a false-alarm will be raised.
They won't occur as far as we are using only bats, but considering supporting other test tools in the future, the regex should be replaced with "^not ok".