[Lldb-commits] [PATCH] D13588: dotest.py: Fail if we detect multiple tests with the same name

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Fri Oct 9 05:35:17 PDT 2015


labath created this revision.
labath added reviewers: tberghammer, zturner.
labath added subscribers: lldb-commits, iancottrell.

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.

http://reviews.llvm.org/D13588

Files:
  test/dotest.py

Index: test/dotest.py
===================================================================
--- test/dotest.py
+++ 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


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13588.36939.patch
Type: text/x-patch
Size: 1008 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20151009/02dc6772/attachment.bin>


More information about the lldb-commits mailing list