From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53414) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VLbKk-00055k-2I for qemu-devel@nongnu.org; Mon, 16 Sep 2013 12:07:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VLbKf-0007uC-6v for qemu-devel@nongnu.org; Mon, 16 Sep 2013 12:07:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45532) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VLbKe-0007u8-VJ for qemu-devel@nongnu.org; Mon, 16 Sep 2013 12:07:25 -0400 Message-ID: <52372CC5.8090408@redhat.com> Date: Mon, 16 Sep 2013 18:07:33 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <20130915172331.GA2821@redhat.com> <5236A5ED.3000804@suse.de> <20130916123303.GA2992@redhat.com> <523722BE.90202@suse.de> <20130916154851.GB4141@redhat.com> <52372A48.1040803@redhat.com> <20130916160127.GD4141@redhat.com> In-Reply-To: <20130916160127.GD4141@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] qom: helper macro for adding read-only properties List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Igor Mammedov , Stefan Hajnoczi , =?ISO-8859-1?Q?Andreas_F=E4rber?= , Anthony Liguori , qemu-devel@nongnu.org Il 16/09/2013 18:01, Michael S. Tsirkin ha scritto: > On Mon, Sep 16, 2013 at 05:56:56PM +0200, Paolo Bonzini wrote: >> Il 16/09/2013 17:48, Michael S. Tsirkin ha scritto: >>> http://sweng.the-davies.net/Home/rustys-api-design-manifesto >>> >>> Even then: it will be at best >>> "5. Do it right or it will always break at runtime." >>> >>> We need to switch to APIs at >>> "9. The compiler/linker won't let you get it wrong." >> >> We definitely can get at least to "make check won't let you get it >> wrong", which is somewhere in the middle. >> >> Paolo > > We can't. > make check just runs unit tests. > So it can catch changes, but it can not catch bugs in new > interfaces. We can have "make check" run QEMU once for each board, which would trap things that will always break at runtime such as a misspelled property. Similarly, we could have tests that try to instantiate every device, even if they do not do anything with the guest-visible device. Such dummy tests can catch bugs in interface changes. I look forward to discussing the future of qos and qtest at KVM Forum... :) Paolo