Skip to content
  1. Oct 02, 2010
    • Johnny Chen's avatar
      o Added a new feature to the test framework to skip long running tests conditionally. · da88434b
      Johnny Chen authored
        To not skip long running tests, pass '-l' to the test driver (dotest.py).
      
        An example:
      
          @unittest2.skipIf(TestBase.skipLongRunningTest(), "Skip this long running test")
          def test_foundation_disasm(self):
              ...
      
      o Added a long running disassemble test to the foundation directory, which iterates
        the code symbols from Foundation.framework and kicks off a disassemble command for
        for the named function symbol.  Found a crasher: rdar://problem/8504895.
      
      o Plus added/updated some comments for the TestBase class.
      
      llvm-svn: 115368
      da88434b
  2. Sep 30, 2010
  3. Sep 24, 2010
    • Johnny Chen's avatar
      Added a generic_type_tester() to the TestBasicTypes class to be used for · b052f6c5
      Johnny Chen authored
      testing various combinations of displaying variales of basic types.
      
      The generic_type_tester() works by first capturing the golden output produced
      by the printf stmts of ./a.out, creating a list of (var, value) pairs, and then
      running the a.out to a stop point, and comparing the 'frame variable var' output
      against the list of (var, value) pairs.
      
      Modified int_type() and added long_type() to use generic_type_tester().
      
      Also modified TestBase.expect() such that substring matching also return ok if
      the substring starts at the 0-th position.
      
      llvm-svn: 114708
      b052f6c5
  4. Sep 23, 2010
    • Johnny Chen's avatar
      Checked in an initial template for the types directory. Right now, it doesn't · c70b02a3
      Johnny Chen authored
      actually test-and-compare anything yet.  The lldbtest.TestBase has an added
      method setTearDownCleanup(dictionary=None) to facilitate running the cleanup
      right after each data type test is run.  The test case can pass a dictionary
      object when registering the test case cleanup.
      
      There is currently only int_type test in the repository.
      
      llvm-svn: 114600
      c70b02a3
  5. Sep 22, 2010
  6. Sep 21, 2010
    • Johnny Chen's avatar
      Added a more complex test case of breakpoint commands, which executes a sequence · ea88e943
      Johnny Chen authored
      of 'breakpoint command add/list/remove' commands to set breakpoint callbacks,
      list them, and then remove one.
      
      Modified the lldbtest.TestBase.expect() method to add two additional keyword
      arguments:
      
      o matching (default to True), which, if set to False, reverses the semantics of
        'expect' to 'expect not'
      
      o patterns (default to None), which specifies a list of regexp patterns to match
        against the output from running the command
      
      TestBreakpointCommand.py uses the matching=False and the patterns=[...] expect()
      API.
      
      llvm-svn: 114480
      ea88e943
  7. Sep 18, 2010
  8. Sep 16, 2010
    • Johnny Chen's avatar
      Added a test case for the settings command which sets process.output-path and · 2fcc0e55
      Johnny Chen authored
      checks that the launched process writes its standard output there.
      
      llvm-svn: 114102
      2fcc0e55
    • Johnny Chen's avatar
      Provided a mechanism for the test class to cleanup after itself once it's done. · 1a9f4dd5
      Johnny Chen authored
      This will remove the confusion experienced when previous test runs left some
      files (both intermediate or by-product as a result of the test).
      
      lldbtest.TestBase defines a classmethod tearDownClass(cls) which invokes the
      platform-specific cleanup() function as defined by the plugin; after that, it
      invokes a subclass-specific function classCleanup(cls) if defined; and, finally,
      it restores the old working directory.
      
      An example of classCleanup(cls) is in settings/TestSettings.py:
      
          @classmethod
          def classCleanup(cls):
              system(["/bin/sh", "-c", "rm output.txt"])
      
      where it deletes the by-product "output.txt" as a result of running a.out.
      
      llvm-svn: 114058
      1a9f4dd5
  9. Sep 15, 2010
  10. Sep 13, 2010
    • Johnny Chen's avatar
      Extend the build mechanism to allow for specifying the compiler used to build · 1394a4b7
      Johnny Chen authored
      the binaries.
      
      If the build* function is passed the compiler argument, for example, 'llvm-gcc',
      it is passed as a make variable to the make command.  Otherwise, we check the
      LLDB_CC environment variable; if it is defined, it is passed as a make variable
      to the make command.
      
      If neither the compiler keyword argument nor the LLDB_CC environment variable is
      specified, no CC make variable is passed to the make command.  The Makefile gets
      to define the default CC being used.
      
      --------------------------------------------------------------------------------
      Example usage follows:
      
      o Via the keyword argument:
      
      class ArrayTypesTestCase(TestBase):
      
          mydir = "array_types"
      
          @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
          def test_with_dsym_and_run_command(self):
              """Test 'frame variable var_name' on some variables with array types."""
              self.buildDsym(compiler='llvm-gcc')
              self.array_types()
      ...
      
      o Via LLDB_CC environment variable:
      
      $ LLDB_CC=llvm-gcc ./dotest.py -v -t array_types
      ----------------------------------------------------------------------
      Collected 4 tests
      
      test_with_dsym_and_python_api (TestArrayTypes.ArrayTypesTestCase)
      Use Python APIs to inspect variables with array types. ... 
      os command: [['/bin/sh', '-c', 'make clean; make MAKE_DSYM=YES CC=llvm-gcc']]
      output: rm -rf "a.out" "a.out.dSYM"  main.o main.d
      llvm-gcc -arch x86_64 -gdwarf-2 -O0 -arch x86_64 -gdwarf-2 -O0  -c -o main.o main.c
      llvm-gcc -arch x86_64 -gdwarf-2 -O0  main.o -o "a.out"
      /usr/bin/dsymutil  -o "a.out.dSYM" "a.out"
      
      ...
      
      llvm-svn: 113781
      1394a4b7
  11. Sep 07, 2010
  12. Sep 04, 2010
  13. Sep 03, 2010
  14. Sep 02, 2010
  15. Sep 01, 2010
  16. Aug 31, 2010
  17. Aug 30, 2010
    • Johnny Chen's avatar
      Added a system() method to the TestBase class of lldbtest.py, which is actually · 8952a2d5
      Johnny Chen authored
      taken from Python 2.7's subprocess.check_output() convenience function.  The
      purpose of this method is to run the os command with arguments and return its
      output as a byte string.
      
      Modified hello_world/TestHelloWorld.py to have two test cases:
      
      o test_with_dsym_and_run_command
      o test_with_dwarf_and_process_launch_api
      
      with the dsym case conditioned on sys.platform.startswith("darwin") being true.
      The two cases utilize the system() method to invoke "make clean; make MAKE_DYSM=YES/NO"
      to prepare for the appropriate debugging format before running the test logic.
      
      llvm-svn: 112530
      8952a2d5
  18. Aug 28, 2010
  19. Aug 27, 2010
  20. Aug 26, 2010
  21. Aug 25, 2010
Loading