[InlineTest] getRerunArgs returns an empty string if the test was skipped.
authorSiva Chandra <sivachandra@google.com>
Fri, 9 Jan 2015 01:54:44 +0000 (01:54 +0000)
committerSiva Chandra <sivachandra@google.com>
Fri, 9 Jan 2015 01:54:44 +0000 (01:54 +0000)
Summary:
The main issue that this patch is trying to address is that the current
implementation of getRerunArgs of InlineTest relies on the attribute
'using_dsym' which could be absent if the test was skipped altogether.
[That is, if both dsym and dwarf tests were skipped.]

While at it, the use of deprecated Python module 'new' is eliminated.

Test Plan: [Linux] dotest.py -p TestExprPathSynthetic

Reviewers: vharron, clayborg

Reviewed By: clayborg

Subscribers: lldb-commits

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

llvm-svn: 225496

lldb/test/lldbinline.py

index 21b716a..ca8a866 100644 (file)
@@ -2,7 +2,6 @@ import lldb
 from lldbtest import *
 import lldbutil
 import os
-import new
 import unittest2
 import sys
 
@@ -72,7 +71,10 @@ class InlineTest(TestBase):
     def getRerunArgs(self):
         # The -N option says to NOT run a if it matches the option argument, so
         # if we are using dSYM we say to NOT run dwarf (-N dwarf) and vice versa.
-        if self.using_dsym:
+        if self.using_dsym is None:
+            # The test was skipped altogether.
+            return ""
+        elif self.using_dsym:
             return "-N dwarf %s" % (self.mydir)
         else:
             return "-N dsym %s" % (self.mydir)
@@ -179,7 +181,7 @@ def MakeInlineTest(__file, __globals, decorators=None):
 
     test_name, _ = os.path.splitext(file_basename)
     # Build the test case 
-    test = new.classobj(test_name, (InlineTest,), {})
+    test = type(test_name, (InlineTest,), {'using_dsym': None})
     test.name = test_name
 
     test.test_with_dsym = ApplyDecoratorsToFunction(test._InlineTest__test_with_dsym, decorators)