Skip all non-executables in run-test-suites.pl

The script was blacklisting extensions. Rather than keep adding to the
extensions, whitelist executables.
diff --git a/tests/scripts/run-test-suites.pl b/tests/scripts/run-test-suites.pl
index 58f827c..1f73a54 100755
--- a/tests/scripts/run-test-suites.pl
+++ b/tests/scripts/run-test-suites.pl
@@ -33,7 +33,10 @@
     $verbose = TRUE;
 }
 
-my @suites = grep { ! /\.(?:c|gcno|gcda|dSYM)$/ } glob 'test_suite_*';
+# All test suites = executable files, excluding source files, debug
+# and profiling information, etc. We can't just grep {! /\./} because
+#some of our test cases' base names contain a dot.
+my @suites = grep { -x $_ || /\.exe$/ } glob 'test_suite_*';
 die "$0: no test suite found\n" unless @suites;
 
 # in case test suites are linked dynamically