-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AST tests do not correctly report errors #506
Comments
Exiting with a non-zero status seems to be correct when it's not found? Anyway xmllint is not a utility we make, so for issues with that you would need to check there. The ci script also works properly, if you add paths that aren't found to the test txt files, the ci script properly aborts, optionally also printing the XML if you run it with environment variable |
It was a long time, atleast until like 11 months ago where this was removed: https://gitlab.gnome.org/GNOME/libxml2/-/commit/e85f9b98a5389c69167176ae6600091e719ec38f Which aparently was a long standing decision, since For me the ci script dosnt works at all and also dosnt aborts; atleast when using a newer version of xmllint. |
for now you can work around this through this patch: diff --git a/test/run_tests.sh b/test/run_tests.sh
index 1e267d2..c2d6609 100755
--- a/test/run_tests.sh
+++ b/test/run_tests.sh
@@ -88,12 +88,12 @@ if [[ ${BUILDKITE:-} != "true" ]]; then
expectParseFailure=1
elif [[ "$line" =~ ^# ]]; then
true # comment line
- elif echo "$AST" | xmllint --xpath "${line}" - 2>/dev/null > /dev/null; then
- ((currentPasses=currentPasses+1))
- else
+ elif echo "$AST" | xmllint --xpath "${line}" - 2>&1 | grep 'XPath set is empty' >/dev/null; then
echo
echo -e " ${RED}Check on line $lineCount of $queryFile failed.${NORMAL}"
((currentFailures=currentFailures+1))
+ else
+ ((currentPasses=currentPasses+1))
fi
((lineCount=lineCount+1))
done < "$queryFile" however we will need to find a permanent solution, although it really sucks they removed this feature |
It seems that the ast checks all are counted as passed, even if one tries to write an failing check on purpose. It seems that when
xmllint
doesnt find what one tries to search via--xpath
, it simply prints outXPath set is empty
to stderr, but exits with a non-zero status.Example:
xmllint version:
The text was updated successfully, but these errors were encountered: