dotest.py: Fail if we detect multiple tests with the same name

Summary:
Log files produced by dotest have names derived from the test name, and this produces errors in
case we have multiple tests with the same name. Additionally, it's good if the test name explains
what the test is testing (which it clearly doesn't do well if there are multiple tests with
identical names). This commit makes the presence of such tests a hard error.

Reviewers: tberghammer, zturner

Subscribers: iancottrell, lldb-commits

Differential Revision: http://reviews.llvm.org/D13588

llvm-svn: 249828
diff --git a/lldb/test/dotest.py b/lldb/test/dotest.py
index f8fab97..f519672 100755
--- a/lldb/test/dotest.py
+++ b/lldb/test/dotest.py
@@ -265,6 +265,9 @@
 results_formatter_object = None
 results_formatter_options = None
 
+# The names of all tests. Used to assert we don't have two tests with the same base name.
+all_tests = set()
+
 def usage(parser):
     parser.print_help()
     if verbose > 0:
@@ -1288,6 +1291,7 @@
     global filters
     global fs4all
     global excluded
+    global all_tests
 
     if set(dir.split(os.sep)).intersection(excluded):
         #print "Detected an excluded dir component: %s" % dir
@@ -1298,6 +1302,11 @@
             continue
 
         if '.py' == os.path.splitext(name)[1] and name.startswith(prefix):
+
+            if name in all_tests:
+                raise Exception("Found multiple tests with the name %s" % name)
+            all_tests.add(name)
+
             # Try to match the regexp pattern, if specified.
             if regexp:
                 import re