aboutsummaryrefslogtreecommitdiff
path: root/test/html/leakfilter.awk
diff options
context:
space:
mode:
Diffstat (limited to 'test/html/leakfilter.awk')
-rw-r--r--test/html/leakfilter.awk14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/html/leakfilter.awk b/test/html/leakfilter.awk
new file mode 100644
index 00000000..381ed0a7
--- /dev/null
+++ b/test/html/leakfilter.awk
@@ -0,0 +1,14 @@
+# Detect beginning of leak message
+/^Direct leak/ { msg=msg "\n" $0; inleak=1; next }
+
+# Ignore anything coming from libfontconfig.so
+inleak && /libfontconfig.so/ { inleak=0; msg="" }
+
+# Store leak line
+inleak && /^ +#/ { msg=msg "\n" $0; next }
+
+# End of the leak lines, print and finish
+inleak { inleak=0; print msg; msg=""; nleaks++ }
+
+# At exit count filtered leaks and fail accordingly
+END { printf "\n==== Total leaks after filter: %d ====\n\n", nleaks; if (nleaks > 0) { exit 1 } }