Debugger: Pass down expanded inames in LLDB tests

... as well as the 'autoderef' flag. A lot of dumper tests were
failing even though the dumpers themselves were ok.

Change-Id: I198784d95eb0004e81bfab995121e048b1722c66
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
hjk
2015-11-10 09:23:58 +01:00
parent aed9c46ea6
commit aa221121b6
2 changed files with 9 additions and 11 deletions

View File

@@ -1767,14 +1767,9 @@ class Dumper(DumperBase):
# Used in dumper auto test. # Used in dumper auto test.
class Tester(Dumper): class Tester(Dumper):
def __init__(self, binary, expandedINames): def __init__(self, binary, args):
Dumper.__init__(self) Dumper.__init__(self)
lldb.theDumper = self lldb.theDumper = self
self.expandedINames = set(expandedINames)
self.passExceptions = True
self.sortStructMembers = True
self.loadDumpers({'token': 1}) self.loadDumpers({'token': 1})
error = lldb.SBError() error = lldb.SBError()
self.target = self.debugger.CreateTarget(binary, None, None, True, error) self.target = self.debugger.CreateTarget(binary, None, None, True, error)
@@ -1783,14 +1778,14 @@ class Tester(Dumper):
warn("ERROR: %s" % error) warn("ERROR: %s" % error)
return return
s = threading.Thread(target=self.testLoop, args=[]) s = threading.Thread(target=self.testLoop, args=(args,))
s.start() s.start()
s.join(30) s.join(30)
def reportDumpers(self, msg): def reportDumpers(self, msg):
pass pass
def testLoop(self): def testLoop(self, args):
# Disable intermediate reporting. # Disable intermediate reporting.
savedReport = self.report savedReport = self.report
self.report = lambda stuff: 0 self.report = lambda stuff: 0
@@ -1833,7 +1828,7 @@ class Tester(Dumper):
if line != 0: if line != 0:
self.report = savedReport self.report = savedReport
self.process.SetSelectedThread(stoppedThread) self.process.SetSelectedThread(stoppedThread)
self.fetchVariables({'token':2, 'fancy':1}) self.fetchVariables(args)
#self.describeLocation(frame) #self.describeLocation(frame)
self.report("@NS@%s@" % self.qtNamespace()) self.report("@NS@%s@" % self.qtNamespace())
#self.report("ENV=%s" % os.environ.items()) #self.report("ENV=%s" % os.environ.items())

View File

@@ -1300,7 +1300,8 @@ void tst_Dumpers::dumper()
"python from gdbbridge import *\n" "python from gdbbridge import *\n"
"python theDumper.setupDumpers()\n" "python theDumper.setupDumpers()\n"
"run " + nograb + "\n" "run " + nograb + "\n"
"python theDumper.fetchVariables({'fancy':1,'forcens':1," "python theDumper.fetchVariables({"
"'token':2,'fancy':1,'forcens':1,'sortstructs':1,"
"'autoderef':1,'dyntype':1,'passexceptions':1," "'autoderef':1,'dyntype':1,'passexceptions':1,"
"'expanded':[" + expandedq + "]})\n"; "'expanded':[" + expandedq + "]})\n";
@@ -1331,7 +1332,9 @@ void tst_Dumpers::dumper()
"sc sys.path.insert(1, '" + dumperDir + "')\n" "sc sys.path.insert(1, '" + dumperDir + "')\n"
"sc from lldbbridge import *\n" "sc from lldbbridge import *\n"
// "sc print(dir())\n" // "sc print(dir())\n"
"sc Tester('" + t->buildPath.toLatin1() + "/doit', [" + expandedq + "])\n" "sc Tester('" + t->buildPath.toLatin1() + "/doit', {'fancy':1,'forcens':1,"
"'autoderef':1,'dyntype':1,'passexceptions':1,"
"'expanded':[" + expandedq + "]})\n"
"quit\n"; "quit\n";
fullLldb.write(cmds); fullLldb.write(cmds);