Skip to content
  1. Mar 17, 2011
  2. Mar 11, 2011
  3. Mar 04, 2011
    • Johnny Chen's avatar
      Add the ability for the test suite to specify a list of compilers and a list of architectures · e0ec9ea5
      Johnny Chen authored
      on the command line.  For example, use '-A x86_64^i386' to launch the inferior use both x86_64
      and i386.
      
      This is an example of building the debuggee using both clang and gcc compiers:
      
      [17:30:46] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -C clang^gcc -v -f SourceManagerTestCase.test_modify_source_file_while_debugging
      
      Session logs for test failures/errors will go into directory '2011-03-03-17_31_39'
      Command invoked: python ./dotest.py -C clang^gcc -v -f SourceManagerTestCase.test_modify_source_file_while_debugging
      
      Configuration:  compiler=clang
      ----------------------------------------------------------------------
      Collected 1 test
      
      1: test_modify_source_file_while_debugging (TestSourceManager.SourceManagerTestCase)
         Modify a source file while debugging the executable. ... Command 'run' failed!
      
      original content: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello world.\n"); // Set break point at this line.
          return 0;
      }
      
      new content: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello lldb.\n"); // Set break point at this line.
          return 0;
      }
      
      os.path.getmtime() after writing new content: 1299202305.0
      content restored to: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello world.\n"); // Set break point at this line.
          return 0;
      }
      
      os.path.getmtime() after restore: 1299202307.0
      ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 8.259s
      
      OK
      
      Configuration:  compiler=gcc
      ----------------------------------------------------------------------
      Collected 1 test
      
      1: test_modify_source_file_while_debugging (TestSourceManager.SourceManagerTestCase)
         Modify a source file while debugging the executable. ... original content: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello world.\n"); // Set break point at this line.
          return 0;
      }
      
      new content: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello lldb.\n"); // Set break point at this line.
          return 0;
      }
      
      os.path.getmtime() after writing new content: 1299202307.0
      content restored to: #include <stdio.h>
      
      int main(int argc, char const *argv[]) {
          printf("Hello world.\n"); // Set break point at this line.
          return 0;
      }
      
      os.path.getmtime() after restore: 1299202309.0
      ok
      
      ----------------------------------------------------------------------
      Ran 1 test in 2.301s
      
      OK
      [17:31:49] johnny:/Volumes/data/lldb/svn/trunk/test $ 
      
      llvm-svn: 126979
      e0ec9ea5
  4. Feb 23, 2011
    • Greg Clayton's avatar
      Abtracted all mach-o and ELF out of ArchSpec. This patch is a modified form · 64195a2c
      Greg Clayton authored
      of Stephen Wilson's idea (thanks for the input Stephen!). What I ended up
      doing was:
      - Got rid of ArchSpec::CPU (which was a generic CPU enumeration that mimics
        the contents of llvm::Triple::ArchType). We now rely upon the llvm::Triple 
        to give us the machine type from llvm::Triple::ArchType.
      - There is a new ArchSpec::Core definition which further qualifies the CPU
        core we are dealing with into a single enumeration. If you need support for
        a new Core and want to debug it in LLDB, it must be added to this list. In
        the future we can allow for dynamic core registration, but for now it is
        hard coded.
      - The ArchSpec can now be initialized with a llvm::Triple or with a C string
        that represents the triple (it can just be an arch still like "i386").
      - The ArchSpec can still initialize itself with a architecture type -- mach-o
        with cpu type and subtype, or ELF with e_machine + e_flags -- and this will
        then get translated into the internal llvm::Triple::ArchSpec + ArchSpec::Core.
        The mach-o cpu type and subtype can be accessed using the getter functions:
        
        uint32_t
        ArchSpec::GetMachOCPUType () const;
      
        uint32_t
        ArchSpec::GetMachOCPUSubType () const;
        
        But these functions are just converting out internal llvm::Triple::ArchSpec 
        + ArchSpec::Core back into mach-o. Same goes for ELF.
      
      All code has been updated to deal with the changes.
      
      This should abstract us until later when the llvm::TargetSpec stuff gets
      finalized and we can then adopt it.
      
      llvm-svn: 126278
      64195a2c
    • Greg Clayton's avatar
      Don't enable thread safe logging as it currently deadlocks logging. · 1971900f
      Greg Clayton authored
      llvm-svn: 126260
      1971900f
  5. Feb 22, 2011
  6. Feb 15, 2011
  7. Feb 14, 2011
  8. Jan 29, 2011
  9. Jan 26, 2011
  10. Jan 19, 2011
  11. Jan 05, 2011
  12. Dec 10, 2010
  13. Dec 08, 2010
  14. Dec 03, 2010
  15. Dec 02, 2010
  16. Dec 01, 2010
    • Johnny Chen's avatar
      Add a '-b blacklistFile' option to the test driver to take a file specifying the · 75739045
      Johnny Chen authored
      test classes or test cases to be excludued from the test suite.
      
      Check in an example blacklist file: blacklist.py:
      
      """
      'blacklist' is a Python dictionary, it stores the mapping of a string describing
      either a testclass or a testcase, i.e, testclass.testmethod, to the reason (a
      string) it is blacklisted.
      
      Following is an example which states that test class IntegerTypesExprTestCase
      should be skipped because 'This test class crashed' and the test case
      FoundationTestCase.test_data_type_and_expr_with_dsym should be skipped because
      it is 'Temporarily disabled'.
      
      blacklist = {'IntegerTypesExprTestCase': 'This test class crashed',
                   'FoundationTestCase.test_data_type_and_expr_with_dsym': 'Temporarily disabled'
                   }
      """
      
      blacklist = {}
      
      An example of invoking the test driver and specifying a blacklist file:
      
      ./dotest.py -b blacklist.py -v types
      
      This runs the tests under 'types' directory but excludes the tests specified in
      balcklist.py.
      
      llvm-svn: 120620
      75739045
  17. Nov 29, 2010
  18. Nov 16, 2010
  19. Nov 11, 2010
  20. Nov 10, 2010
  21. Nov 08, 2010
  22. Nov 05, 2010
  23. Nov 03, 2010
    • Johnny Chen's avatar
      Now that the test suite has very few expected failures remaining (2), it is a good · 110bd0f8
      Johnny Chen authored
      idea to also dump the session information for expected failures in addition to
      failures and errors (tests with unexpected exceptions).
      
      Modify the LLDBTestResult class which derives from unittest2.TextTestResult to
      intercept the addExpectedFailure() method in order to mark the test instance as
      needing its session information dumped.
      
      llvm-svn: 118185
      110bd0f8
  24. Oct 30, 2010
  25. Oct 28, 2010
  26. Oct 22, 2010
Loading