summaryrefslogtreecommitdiff
path: root/libiberty/testsuite/regress-demangle
diff options
context:
space:
mode:
Diffstat (limited to 'libiberty/testsuite/regress-demangle')
-rwxr-xr-xlibiberty/testsuite/regress-demangle28
1 files changed, 28 insertions, 0 deletions
diff --git a/libiberty/testsuite/regress-demangle b/libiberty/testsuite/regress-demangle
new file mode 100755
index 00000000000..bd48ce9013e
--- /dev/null
+++ b/libiberty/testsuite/regress-demangle
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+# Run a regression test for the demangler.
+# Usage: regress-demangle TEST-FILE
+
+failures=0
+count=0
+sed -e '/^#/ d' "$1" | (
+ while read type; do
+ read mangled
+ read demangled
+
+ x="`echo $mangled | ./test-filter $type`"
+ count=`expr $count + 1`
+ if test "x$x" != "x$demangled"; then
+ failures=`expr $failures + 1`
+ echo "FAIL: $type $mangled"
+ fi
+ done
+
+ if test $failures -eq 0; then
+ echo "All $count tests passed"
+ else
+ echo "$failures of $count tests failed"
+ fi
+
+ test $failures -eq 0
+)