Skip to content
  1. Jan 25, 2013
  2. Nov 27, 2012
  3. Nov 26, 2012
    • Daniel Malea's avatar
      Fix for TestSharedLib.py (on Linux) · 179ff298
      Daniel Malea authored
      - use lldb 'settings' command to help testcase find shared library
      - pull up dyldPath variable from TestLoadUnload.py to fixture base class (applicable in multiple cases)
      
      llvm-svn: 168612
      179ff298
  4. Nov 23, 2012
    • Daniel Malea's avatar
      Update test status on Linux · 93aec0f9
      Daniel Malea authored
      - add decorators @expectedFailLinux and @skipOnLinux
      - skip/mark xfail cases due to open bugzillas # 14323, 14416, 14423, 14424, 14425, 14426
      
      Patch by Ashok Thirumurthi!
      
      llvm-svn: 168529
      93aec0f9
  5. Oct 24, 2012
  6. Oct 23, 2012
  7. Oct 16, 2012
  8. Sep 22, 2012
  9. 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
  10. Aug 01, 2012
  11. Jun 20, 2012
  12. May 16, 2012
  13. Apr 19, 2012
  14. Apr 16, 2012
    • Johnny Chen's avatar
      Add the capability of supplying the pre/post-flight functions to the test suite such that · 44d24971
      Johnny Chen authored
      the pre-flight code gets executed during setUp() after the debugger instance is available
      and the post-flight code gets executed during tearDown() after the debugger instance has
      done killing the inferior and deleting all the target programs.
      
      Example:
      
      [11:32:48] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-pre-post-flight  functionalities/watchpoint/hello_watchpoint
      config: {'pre_flight': <function pre_flight at 0x1098541b8>, 'post_flight': <function post_flight at 0x109854230>}
      LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug
      LLDB-139
      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: 154753
      Node Kind: directory
      Schedule: normal
      Last Changed Author: gclayton
      Last Changed Rev: 154730
      Last Changed Date: 2012-04-13 18:42:46 -0700 (Fri, 13 Apr 2012)
      
      
      lldb.pre_flight: def pre_flight(test):
          __import__("lldb")
          __import__("lldbtest")
          print "\nRunning pre-flight function:"
          print "for test case:", test
      
      lldb.post_flight: def post_flight(test):
          __import__("lldb")
          __import__("lldbtest")
          print "\nRunning post-flight function:"
          print "for test case:", test
      
      
      Session logs for test failures/errors/unexpected successes will go into directory '2012-04-16-11_34_08'
      Command invoked: python ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-pre-post-flight functionalities/watchpoint/hello_watchpoint
      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. ... 
      Running pre-flight function:
      for test case: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
      
      Running post-flight function:
      for test case: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
      ok
      2: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
         Test a simple sequence of watchpoint creation and watchpoint hit. ... 
      Running pre-flight function:
      for test case: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
      
      Running post-flight function:
      for test case: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
      ok
      
      ----------------------------------------------------------------------
      Ran 2 tests in 1.584s
      
      OK
      
      llvm-svn: 154847
      44d24971
  15. 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
  16. Mar 16, 2012
  17. Mar 15, 2012
  18. Feb 28, 2012
  19. Feb 09, 2012
  20. Feb 03, 2012
  21. Feb 01, 2012
  22. Jan 21, 2012
    • Johnny Chen's avatar
      o CommandObjectSettingsSet.cpp: · 98aceb08
      Johnny Chen authored
        Fix a bug where "settings set -r th" wouldn't complete.
      
      o UserSettingsController.cpp:
      
        Fix a bug where "settings set target.process." wouldn't complete.
      
      o test/functionalities/completion:
      
        Add various completion test cases related to 'settings set' command.
      
      llvm-svn: 148596
      98aceb08
  23. Dec 22, 2011
  24. Dec 03, 2011
  25. Nov 17, 2011
    • Johnny Chen's avatar
      Add an option '-S' to skip the build and cleanup while running the test. · 0fddfb2c
      Johnny Chen authored
      Use this option with care as you would need to build the inferior(s) by hand
      and build the executable(s) with the correct name(s).  This option can be used
      with '-# n' to stress test certain test cases for n number of times.
      
      An example:
      
      [11:55:11] johnny:/Volumes/data/lldb/svn/trunk/test/python_api/value $ ls
      Makefile		TestValueAPI.pyc	linked_list
      TestValueAPI.py		change_values		main.c
      [11:55:14] johnny:/Volumes/data/lldb/svn/trunk/test/python_api/value $ make EXE=test_with_dsym
      clang -gdwarf-2 -O0  -arch x86_64   -c -o main.o main.c
      clang -gdwarf-2 -O0  -arch x86_64   main.o -o "test_with_dsym"
      /usr/bin/dsymutil  -o "test_with_dsym.dSYM" "test_with_dsym"
      [11:55:20] johnny:/Volumes/data/lldb/svn/trunk/test/python_api/value $ cd ../..
      [11:55:24] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v -# 10 -S -f ValueAPITestCase.test_with_dsym
      LLDB build dir: /Volumes/data/lldb/svn/trunk/build/Debug
      LLDB-89
      Path: /Volumes/data/lldb/svn/trunk
      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: 144914
      Node Kind: directory
      Schedule: normal
      Last Changed Author: gclayton
      Last Changed Rev: 144911
      Last Changed Date: 2011-11-17 09:22:31 -0800 (Thu, 17 Nov 2011)
      
      
      
      Session logs for test failures/errors/unexpected successes will go into directory '2011-11-17-11_55_29'
      Command invoked: python ./dotest.py -v -# 10 -S -f ValueAPITestCase.test_with_dsym
      ----------------------------------------------------------------------
      Collected 1 test
      
      1: test_with_dsym (TestValueAPI.ValueAPITestCase)
         Exercise some SBValue APIs. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 1.163s
      
      OK
      1: test_with_dsym (TestValueAPI.ValueAPITestCase)
         Exercise some SBValue APIs. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 0.200s
      
      OK
      1: test_with_dsym (TestValueAPI.ValueAPITestCase)
         Exercise some SBValue APIs. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 0.198s
      
      OK
      1: test_with_dsym (TestValueAPI.ValueAPITestCase)
         Exercise some SBValue APIs. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 0.199s
      
      OK
      1: test_with_dsym (TestValueAPI.ValueAPITestCase)
         Exercise some SBValue APIs. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 0.239s
      
      OK
      1: test_with_dsym (TestValueAPI.ValueAPITestCase)
         Exercise some SBValue APIs. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 1.215s
      
      OK
      1: test_with_dsym (TestValueAPI.ValueAPITestCase)
         Exercise some SBValue APIs. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 0.105s
      
      OK
      1: test_with_dsym (TestValueAPI.ValueAPITestCase)
         Exercise some SBValue APIs. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 0.098s
      
      OK
      1: test_with_dsym (TestValueAPI.ValueAPITestCase)
         Exercise some SBValue APIs. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 0.195s
      
      OK
      1: test_with_dsym (TestValueAPI.ValueAPITestCase)
         Exercise some SBValue APIs. ... ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 1.197s
      
      OK
      [11:55:34] johnny:/Volumes/data/lldb/svn/trunk/test $ 
      
      llvm-svn: 144919
      0fddfb2c
  26. Nov 16, 2011
  27. Oct 19, 2011
  28. Oct 07, 2011
  29. Sep 30, 2011
    • Johnny Chen's avatar
      o lldbtest.py: · 86268e44
      Johnny Chen authored
      Add a keyword argument 'endstr' to TestBase.expect() method to assert that the output
      will end with 'endstr'.
      
      Add TestBase.switch_to_thread_with_stop_reason(stop_reason) to select the thread with
      the stop reason = 'stop_reason' as the current thread.
      
      o TestWatchLocation.py:
      
      Modified to switch to the stopped thread with stop reason = watchpoint and to evaluate
      an expression with expected output for stronger assertion.
      
      llvm-svn: 140890
      86268e44
  30. Sep 15, 2011
  31. Aug 26, 2011
    • Johnny Chen's avatar
      Add a new attribute self.lldbHere, representing the fullpath to the 'lldb' executable · d890bfc9
      Johnny Chen authored
      built locally from the source tree.  This is distinguished from self.lldbExec, which
      can be used by test/benchmarks to measure the performances against other debuggers.
      
      You can use environment variable LLDB_EXEC to specify self.lldbExec to the dotest.py
      test driver, otherwise it is going to be populated with self.lldbHere.
      
      Modify the regular tests under test dir, i.e., not test/benchmarks, to use self.lldbHere.
      Also modify the benchmarks tests to use self.lldbHere when it needs an 'lldb' executable
      with debug info to do the performance measurements.
      
      llvm-svn: 138608
      d890bfc9
  32. Aug 24, 2011
Loading