Skip to content
  1. May 15, 2013
  2. May 10, 2013
  3. Apr 26, 2013
  4. Apr 02, 2013
  5. Mar 01, 2013
  6. Feb 25, 2013
  7. Feb 15, 2013
    • Daniel Malea's avatar
      Linux test case cleanup: · 654b12c6
      Daniel Malea authored
      - Enable TestFormatters.py: expressions with "new" work
      - Enable TestChangeValueAPI.py: llvm.org/PR15039 fixed
      - Disable expression_command/call-restarts due to llvm.org/PR15278
      - Disable expression_command/call-throws due to ObjC test program
      
      llvm-svn: 175287
      654b12c6
  8. Feb 14, 2013
  9. Feb 13, 2013
  10. Feb 11, 2013
  11. Jan 25, 2013
    • Daniel Malea's avatar
      Disable confirmation prompts for testing · 318cbcef
      Daniel Malea authored
      - set auto-confirm to false when running TestExprs (avoid hang when using API)
      - set prompt-on-quit to false in test helper (avoid timeout when using lldb CLI)
      
      llvm-svn: 173485
      318cbcef
  12. Jan 15, 2013
    • Jim Ingham's avatar
      Separated the "expr --unwind-on-error" behavior into two parts, actual errors... · 184e9811
      Jim Ingham authored
      Separated the "expr --unwind-on-error" behavior into two parts, actual errors (i.e. crashes) which continue to be
      controlled by the --unwind-on-error flag, and --ignore-breakpoint which separately controls behavior when a called
      function hits a breakpoint.  For breakpoints, we don't unwind, we either stop, or ignore the breakpoint, which makes
      more sense.  
      Also make both these behaviors globally settable through "settings set".
      Also handle the case where a breakpoint command calls code that ends up re-hitting the breakpoint.  We were recursing
      and crashing.  Now we just stop without calling the second command.
      
      <rdar://problem/12986644>
      <rdar://problem/9119325>
      
      llvm-svn: 172503
      184e9811
  13. Jan 09, 2013
    • Enrico Granata's avatar
      <rdar://problem/12028723> · b576bba2
      Enrico Granata authored
      Adding useful formatting options to the expression (expr) command.
      As a side effect of this change, the -d option now supports the same three-values enumeration that frame variables uses (run, don't run, none) instead of a boolean like it did previously
      
      These options do not apply to print, p or po because these are aliased to not take any options.
      In order to use them, use expression or expr.
      
      llvm-svn: 171993
      b576bba2
  14. Jan 04, 2013
  15. Dec 07, 2012
  16. Dec 04, 2012
    • Greg Clayton's avatar
      <rdar://problem/12798131> · 3bcdfc0e
      Greg Clayton authored
      Cleaned up the option parsing code to always pass around the short options as integers. Previously we cast this down to "char" and lost some information. I recently added an assert that would detect duplicate short character options which was firing during the test suite.
      
      This fix does the following:
      - make sure all short options are treated as "int"
      - make sure that short options can be non-printable values when a short option is not required or when an option group is mixed into many commands and a short option is not desired
      - fix the help printing to "do the right thing" in all cases. Previously if there were duplicate short character options, it would just not emit help for the duplicates
      - fix option parsing when there are duplicates to parse options correctly. Previously the option parsing, when done for an OptionGroup, would just start parsing options incorrectly by omitting table entries and it would end up setting the wrong option value
      
      llvm-svn: 169189
      3bcdfc0e
  17. Nov 27, 2012
  18. Nov 23, 2012
  19. Nov 21, 2012
    • Daniel Malea's avatar
      Linux test case fixes · b90c3686
      Daniel Malea authored
      - missing includes in cpp test programs
      - mismatched dwarf/dsym test cases
      - make "com.apple.main-thread" expected string conditional on darwin platform
      
      llvm-svn: 168452
      b90c3686
  20. Nov 20, 2012
  21. Nov 12, 2012
  22. Oct 24, 2012
  23. Oct 18, 2012
    • Greg Clayton's avatar
      <rdar://problem/12462048> · 45392553
      Greg Clayton authored
      LLDB changes argv[0] when debugging a symlink. Now we have the notion of argv0 in the target settings:
      
      target.arg0 (string) = 
      
      There is also the program argument that are separate from the first argument that have existed for a while:
      
      target.run-args (arguments) =
      
      When running "target create <exe>", we will place the untouched "<exe>" into target.arg0 to ensure when we run, we run with what the user typed. This has been added to the ProcessLaunchInfo and all other needed places so we always carry around the:
      - resolved executable path
      - argv0
      - program args
      
      Some systems may not support separating argv0 from the resolved executable path and the ProcessLaunchInfo needs to carry all of this information along so that each platform can make that decision.
      
      llvm-svn: 166137
      45392553
  24. Oct 17, 2012
  25. Oct 16, 2012
  26. Sep 22, 2012
  27. Sep 21, 2012
    • Enrico Granata's avatar
      Initial commit of a new testsuite feature: test categories. · 165f8af8
      Enrico Granata authored
      This feature allows us to group test cases into logical groups (categories), and to only run a subset of test cases based on these categories.
      
      Each test-case can have a new method getCategories(self): which returns a list of strings that are the categories to which the test case belongs.
      If a test-case does not provide its own categories, we will look for categories in the class that contains the test case.
      If that fails too, the default implementation looks for a .category file, which contains a comma separated list of strings.
      The test suite will recurse look for .categories up until the top level directory (which we guarantee will have an empty .category file).
      
      The driver dotest.py has a new --category <foo> option, which can be repeated, and specifies which categories of tests you want to run.
      (example: ./dotest.py --category objc --category expression)
      
      All tests that do not belong to any specified category will be skipped. Other filtering options still exist and should not interfere with category filtering.
      A few tests have been categorized. Feel free to categorize others, and to suggest new categories that we could want to use.
      
      All categories need to be validly defined in dotest.py, or the test suite will refuse to run when you use them as arguments to --category.
      
      In the end, failures will be reported on a per-category basis, as well as in the usual format.
      
      This is the very first stage of this feature. Feel free to chime in with ideas for improvements!
      
      llvm-svn: 164403
      165f8af8
  28. May 11, 2012
  29. Apr 25, 2012
  30. Apr 24, 2012
  31. Apr 19, 2012
  32. Apr 06, 2012
    • Johnny Chen's avatar
      Add a new option to the test driver, -N dsym or -N dwarf, in order to exclude tests decorated with · f1548d4f
      Johnny Chen authored
      either @dsym_test or @dwarf_test to be executed during the testsuite run.  There are still lots of
      Test*.py files which have not been decorated with the new decorator.
      
      An example:
      
      # From TestMyFirstWatchpoint.py ->
      class HelloWatchpointTestCase(TestBase):
      
          mydir = os.path.join("functionalities", "watchpoint", "hello_watchpoint")
      
          @dsym_test
          def test_hello_watchpoint_with_dsym_using_watchpoint_set(self):
              """Test a simple sequence of watchpoint creation and watchpoint hit."""
              self.buildDsym(dictionary=self.d)
              self.setTearDownCleanup(dictionary=self.d)
              self.hello_watchpoint()
      
          @dwarf_test
          def test_hello_watchpoint_with_dwarf_using_watchpoint_set(self):
              """Test a simple sequence of watchpoint creation and watchpoint hit."""
              self.buildDwarf(dictionary=self.d)
              self.setTearDownCleanup(dictionary=self.d)
              self.hello_watchpoint()
      
      
      # Invocation ->
      [17:50:14] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -N dsym -v -p TestMyFirstWatchpoint.py
      LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug
      LLDB-137
      Path: /Volumes/data/lldb/svn/ToT
      URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk
      Repository Root: https://johnny@llvm.org/svn/llvm-project
      Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
      Revision: 154133
      Node Kind: directory
      Schedule: normal
      Last Changed Author: gclayton
      Last Changed Rev: 154109
      Last Changed Date: 2012-04-05 10:43:02 -0700 (Thu, 05 Apr 2012)
      
      
      
      Session logs for test failures/errors/unexpected successes will go into directory '2012-04-05-17_50_49'
      Command invoked: python ./dotest.py -N dsym -v -p TestMyFirstWatchpoint.py
      compilers=['clang']
      
      Configuration: arch=x86_64 compiler=clang
      ----------------------------------------------------------------------
      Collected 2 tests
      
      1: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
         Test a simple sequence of watchpoint creation and watchpoint hit. ... skipped 'dsym tests'
      2: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
         Test a simple sequence of watchpoint creation and watchpoint hit. ... ok
      
      ----------------------------------------------------------------------
      Ran 2 tests in 1.138s
      
      OK (skipped=1)
      Session logs for test failures/errors/unexpected successes can be found in directory '2012-04-05-17_50_49'
      [17:50:50] johnny:/Volumes/data/lldb/svn/ToT/test $ 
      
      llvm-svn: 154154
      f1548d4f
  33. Mar 25, 2012
  34. Feb 04, 2012
    • Greg Clayton's avatar
      Convert all python objects in our API to use overload the __str__ method · 81e871ed
      Greg Clayton authored
      instead of the __repr__. __repr__ is a function that should return an
      expression that can be used to recreate an python object and we were using
      it to just return a human readable string.
      
      Fixed a crasher when using the new implementation of SBValue::Cast(SBType).
      
      Thread hardened lldb::SBValue and lldb::SBWatchpoint and did other general
      improvements to the API.
      
      Fixed a crasher in lldb::SBValue::GetChildMemberWithName() where we didn't
      correctly handle not having a target.
      
      llvm-svn: 149743
      81e871ed
  35. Jan 06, 2012
  36. Dec 17, 2011
    • Johnny Chen's avatar
      http://llvm.org/bugs/show_bug.cgi?id=11588 · b456b792
      Johnny Chen authored
      valobj.AddressOf() returns None when an address is expected in a SyntheticChildrenProvider
      
      Patch from Enrico Granata:
      
      The problem was that the frozen object created by the expression parser was a copy of the contents of the StgClosure, rather than a pointer to it. Thus, the expression parser was correctly computing the result of the arithmetic&cast operation along with its address, but only saving it in the live object. This meant that the frozen copy acted as an address-less variable, hence the problem.
      
      The fix attached to this email lets the expression parser store the "live address" in the frozen copy of the address when the object is built without a valid address of its own.
      Doing so, along with delegating ValueObjectConstResult to calculate its own address when necessary, solves the issue. I have also added a new test case to check for regressions in this area, and checked that existing test cases pass correctly.
      
      llvm-svn: 146768
      b456b792
  37. Nov 15, 2011
  38. Oct 24, 2011
Loading