Skip to content
  • Johnny Chen's avatar
    Some re-achitecturing of the plugins interface. The caller is now required to · 690fcef7
    Johnny Chen authored
    pass in a 'sender' arg to the buildDefault(), buildDsym(), buildDwarf(), and
    cleanup() functions.  The sender arg will be the test instance itself (i.e.,
    an instance of TestBase).  This is so that the relevant command execution can be
    recorded in the TestBase.session object if sender is available.
    
    The lldbtest.system() command has been modified to pop the 'sender' arg out of
    the keyword arguments dictionary and use it as the test instance to facilitate
    seesion recordings.  An example is in test/types/AbstractBase.py:
    
        def generic_type_tester(self, atoms, quotedDisplay=False):
            """Test that variables with basic types are displayed correctly."""
    
            # First, capture the golden output emitted by the oracle, i.e., the
            # series of printf statements.
            go = system("./a.out", sender=self)
    
    There are cases when sender is None.  This is the case when the @classmethod is
    involved in the use of these APIs.  When this happens, there is no recording
    into a session object, but printing on the sys.stderr is still honored if the
    trace flag is ON.
    
    An example is in test/settings/TestSettings.py:
    
        @classmethod
        def classCleanup(cls):
            system(["/bin/sh", "-c", "rm -f output.txt"])
            system(["/bin/sh", "-c", "rm -f stdout.txt"])
    
    llvm-svn: 116648
    690fcef7
Loading