Skip to content
  • Anthony Liguori's avatar
    qtest: add test framework · c7f0f3b1
    Anthony Liguori authored
    
    
    The idea behind qtest is pretty simple.  Instead of executing a CPU via TCG or
    KVM, rely on an external process to send events to the device model that the CPU
    would normally generate.
    
    qtest presents itself as an accelerator.  In addition, a new option is added to
    establish a qtest server (-qtest) that takes a character device.  This is what
    allows the external process to send CPU events to the device model.
    
    qtest uses a simple line based protocol to send the events.  Documentation of
    that protocol is in qtest.c.
    
    I considered reusing the monitor for this job.  Adding interrupts would be a bit
    difficult.  In addition, logging would also be difficult.
    
    qtest has extensive logging support.  All protocol commands are logged with
    time stamps using a new command line option (-qtest-log).  Logging is important
    since ultimately, this is a feature for debugging.
    
    Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
    c7f0f3b1