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