summaryrefslogtreecommitdiff
path: root/scripts/Util.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Util.py')
-rw-r--r--scripts/Util.py28
1 files changed, 19 insertions, 9 deletions
diff --git a/scripts/Util.py b/scripts/Util.py
index 4f7a36626d9..a26b4f3f144 100644
--- a/scripts/Util.py
+++ b/scripts/Util.py
@@ -2914,15 +2914,25 @@ from LocalDriver import *
#
# Supported mappings
#
-Mapping.add("cpp", CppMapping())
-Mapping.add("java", JavaMapping())
-Mapping.add("java-compat", JavaCompatMapping())
-Mapping.add("python", PythonMapping())
-Mapping.add("ruby", RubyMapping())
-Mapping.add("php", PhpMapping())
-Mapping.add("js", JavaScriptMapping())
-Mapping.add("csharp", CSharpMapping())
-Mapping.add("objective-c", ObjCMapping())
+for m in filter(lambda x: os.path.isdir(os.path.join(toplevel, x)), os.listdir(toplevel)):
+ if m == "cpp" or re.match("cpp-.*", m):
+ Mapping.add(m, CppMapping())
+ elif m == "java-compat" or re.match("java-compat-.*", m):
+ Mapping.add(m, JavaCompatMapping())
+ elif m == "java" or re.match("java-.*", m):
+ Mapping.add(m, JavaMapping())
+ elif m == "python" or re.match("python-.*", m):
+ Mapping.add(m, PythonMapping())
+ elif m == "ruby" or re.match("ruby-.*", m):
+ Mapping.add(m, RubyMapping())
+ elif m == "php" or re.match("php-.*", m):
+ Mapping.add(m, PhpMapping())
+ elif m == "js" or re.match("js-.*", m):
+ Mapping.add(m, JavaScriptMapping())
+ elif m == "csharp" or re.match("csharp-.*", m):
+ Mapping.add(m, CSharpMapping())
+ elif m == "objective-c" or re.match("objective-c-*", m):
+ Mapping.add(m, ObjCMapping())
def runTestsWithPath(path):
runTests([Mapping.getByPath(path)])