Re: [PATCH kvm-unit-tests v2 00/14] API test framework

2010-12-22 Thread Marcelo Tosatti
On Wed, Dec 15, 2010 at 06:09:29PM +0200, Avi Kivity wrote:
 This patchset adds an API test framework.  Rather than driving kvm from qemu,
 we now have a way of calling the kvm API directly and observing the results.
 We can switch to guest mode and back at will and see any micro effects such
 as the result of executing particular instructions.
 
 A first test is added, for commit edde99ce0 (KVM: Write protect memory
 after slot swap).  This would be pretty hard to test for using the current
 qemu-driven tests, but detects 5 million failures in about two minutes on
 my machine.
 
 As an experiment, the framework is coded in C++.
 
 Avi Kivity (14):
   Makefile: add support for C++
   Improve autodepend includes
 v2: new
   Add exception class for kernel errors (errno)
 v2: new
   Add try_main() for running a program under an exception handler
 v2: new
   Introduce a C++ wrapper for the kvm APIs
 v2: throw std::exception exceptions, not ints, for libc failures
 better msr list management
   Add support for calling a function in guest mode
 v2: use tr1::function instead of boost::function
   Add sample test using the api test harness
   api: add support for KVM_SET_USER_MEMORY_REGION flags field
 v2: new
   api: support KVM_GET_DIRTY_LOG ioctl
 v2: new
   api: add memory map management
 v2: new
   Build tests with debug information
 v2: new
   api: Add support for creating an identity map with a hole
 v2: new
   Introduce libapi.a to avoid long Makefile recipes
 v2: new
   Add dirty log test
 v2: new
 
  Makefile  |8 +-
  api/api-sample.cc |   30 
  api/dirty-log.cc  |   78 
  api/exception.cc  |   33 
  api/exception.hh  |   19 +
  api/identity.cc   |   95 
  api/identity.hh   |   43 +++
  api/kvmxx.cc  |  194 
 +
  api/kvmxx.hh  |   85 +
  api/memmap.cc |   76 +++
  api/memmap.hh |   43 +++
  config-x86-common.mak |   15 -
  12 files changed, 715 insertions(+), 4 deletions(-)
  create mode 100644 api/api-sample.cc
  create mode 100644 api/dirty-log.cc
  create mode 100644 api/exception.cc
  create mode 100644 api/exception.hh
  create mode 100644 api/identity.cc
  create mode 100644 api/identity.hh
  create mode 100644 api/kvmxx.cc
  create mode 100644 api/kvmxx.hh
  create mode 100644 api/memmap.cc
  create mode 100644 api/memmap.hh

Applied, thanks.

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH kvm-unit-tests v2 00/14] API test framework

2010-12-15 Thread Avi Kivity
This patchset adds an API test framework.  Rather than driving kvm from qemu,
we now have a way of calling the kvm API directly and observing the results.
We can switch to guest mode and back at will and see any micro effects such
as the result of executing particular instructions.

A first test is added, for commit edde99ce0 (KVM: Write protect memory
after slot swap).  This would be pretty hard to test for using the current
qemu-driven tests, but detects 5 million failures in about two minutes on
my machine.

As an experiment, the framework is coded in C++.

Avi Kivity (14):
  Makefile: add support for C++
  Improve autodepend includes
v2: new
  Add exception class for kernel errors (errno)
v2: new
  Add try_main() for running a program under an exception handler
v2: new
  Introduce a C++ wrapper for the kvm APIs
v2: throw std::exception exceptions, not ints, for libc failures
better msr list management
  Add support for calling a function in guest mode
v2: use tr1::function instead of boost::function
  Add sample test using the api test harness
  api: add support for KVM_SET_USER_MEMORY_REGION flags field
v2: new
  api: support KVM_GET_DIRTY_LOG ioctl
v2: new
  api: add memory map management
v2: new
  Build tests with debug information
v2: new
  api: Add support for creating an identity map with a hole
v2: new
  Introduce libapi.a to avoid long Makefile recipes
v2: new
  Add dirty log test
v2: new

 Makefile  |8 +-
 api/api-sample.cc |   30 
 api/dirty-log.cc  |   78 
 api/exception.cc  |   33 
 api/exception.hh  |   19 +
 api/identity.cc   |   95 
 api/identity.hh   |   43 +++
 api/kvmxx.cc  |  194 +
 api/kvmxx.hh  |   85 +
 api/memmap.cc |   76 +++
 api/memmap.hh |   43 +++
 config-x86-common.mak |   15 -
 12 files changed, 715 insertions(+), 4 deletions(-)
 create mode 100644 api/api-sample.cc
 create mode 100644 api/dirty-log.cc
 create mode 100644 api/exception.cc
 create mode 100644 api/exception.hh
 create mode 100644 api/identity.cc
 create mode 100644 api/identity.hh
 create mode 100644 api/kvmxx.cc
 create mode 100644 api/kvmxx.hh
 create mode 100644 api/memmap.cc
 create mode 100644 api/memmap.hh

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html