[Lldb-commits] [lldb] r282683 - Add a unit test for an x86_64 assembly inspection of

Jason Molenda via lldb-commits lldb-commits at lists.llvm.org
Thu Sep 29 14:22:30 PDT 2016


Interesting, I can't get the failure to repo with i386 + gcc-4.8 on an ubuntu 14.04.5 system.  Downloading & building gcc-4.9.4 right now.



$ ./dotest.py -C gcc-4.8 -A i386 --executable ~/build/bin/lldb testcases/python_api/sbdata
LLDB library dir: /home/jmolenda/build/bin
LLDB import library dir: /home/jmolenda/build/bin
lldb version 4.0.0 (http://llvm.org/svn/llvm-project/lldb/trunk revision 282753 clang revision 282567 llvm revision 282567)
The 'lldb-mi' executable cannot be located.  The lldb-mi tests can not be run as a result.

Session logs for test failures/errors/unexpected successes will go into directory '2016-09-29-15_09_05'
Command invoked: ./dotest.py -C gcc-4.8 -A i386 --executable /home/jmolenda/build/bin/lldb testcases/python_api/sbdata
compilers=['gcc-4.8']

Configuration: arch=i386 compiler=gcc-4.8
----------------------------------------------------------------------
Collected 2 tests

----------------------------------------------------------------------
Ran 2 tests in 1.540s

RESULT: PASSED (2 passes, 0 failures, 0 errors, 0 skipped, 0 expected failures, 0 unexpected successes)


J

> On Sep 29, 2016, at 12:29 PM, Jason Molenda <jmolenda at apple.com> wrote:
> 
> Yep, will do.  I saw that build bot result last night and ran the testsuite on my local ubuntu box and didn't repo the failure so I thought maybe it was an already-failing test case that the bot was just telling me about.  But I think I was running the test x86_64 - I'll figure out how to run it i386 and look into it.
> 
>> On Sep 29, 2016, at 5:56 AM, Pavel Labath <labath at google.com> wrote:
>> 
>> Note that the test fails when using gcc as a compiler (specifically gcc-4.9 in this case, but hopefully the exact version does not matter here).
>> 
>> Jason, will you be able to check this out today?
>> 
>> On 29 September 2016 at 05:45, Dimitar Vlahovski via lldb-commits <lldb-commits at lists.llvm.org> wrote:
>> This is the first build that failed right after your CL: http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/20083
>> 
>> On Thu, Sep 29, 2016 at 1:35 PM, Dimitar Vlahovski <dvlahovski at google.com> wrote:
>> Hi,
>> 
>> Is the work that you are currently doing the reason why the lldb build on i386 is failing?
>> http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake
>> http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/20099
>> 
>> Dimitar
>> 
>> 
>> On Thu, Sep 29, 2016 at 5:30 AM, Jason Molenda via lldb-commits <lldb-commits at lists.llvm.org> wrote:
>> Good suggestions, thanks.  I'll fix those when I commit the 32-bit version of the same test.
>> 
>> J
>> 
>>> On Sep 28, 2016, at 9:28 PM, Zachary Turner <zturner at google.com> wrote:
>>> 
>>> 
>>> 
>>> On Wed, Sep 28, 2016 at 9:10 PM Jason Molenda via lldb-commits <lldb-commits at lists.llvm.org> wrote:
>>> 
>>> +  EXPECT_TRUE(regloc.GetOffset() == -8);
>>> This should be
>>> 
>>> EXPECT_EQ(-8, regloc.GetOffset());
>>> 
>>> That way if it fails, you'll get a handy error message that says:
>>> 
>>> Expected: -8
>>> Actual: -7
>>> 
>>> If you use EXPECT_TRUE, it's not going to tell you the actual value.  The same goes for many other places in the file.  Note that you're supposed to put the expected value *first*.  The test is the same either way obviously, but it affects the printing of the above message.
>>> 
>>> +
>>> +  // these could be set to IsSame and be valid -- meaning that the
>>> +  // register value is the same as the caller's -- but I'd rather
>>> +  // they not be mentioned at all.
>>> +  EXPECT_TRUE(row_sp->GetRegisterInfo(k_rbp, regloc) == false);
>>> +  EXPECT_TRUE(row_sp->GetRegisterInfo(k_r15, regloc) == false);
>>> +  EXPECT_TRUE(row_sp->GetRegisterInfo(k_r14, regloc) == false);
>>> +  EXPECT_TRUE(row_sp->GetRegisterInfo(k_r13, regloc) == false);
>>> +  EXPECT_TRUE(row_sp->GetRegisterInfo(k_r12, regloc) == false);
>>> +  EXPECT_TRUE(row_sp->GetRegisterInfo(k_rbx, regloc) == false);
>>> If you're using EXPECT_TRUE and EXPECT_FALSE, I think it's more intuitive to not use the comparison operator.  The above is just
>>> 
>>> EXPECT_FALSE(row_sp->GetRegisterInfo(k_rbx, regloc));
>> 
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>> 
>> 
>> 
>> _______________________________________________
>> lldb-commits mailing list
>> lldb-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
>> 
>> 
> 



More information about the lldb-commits mailing list