From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60913) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WhKhu-0005gE-OC for qemu-devel@nongnu.org; Mon, 05 May 2014 11:21:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WhKhn-00038u-9I for qemu-devel@nongnu.org; Mon, 05 May 2014 11:21:30 -0400 Received: from mail-wg0-x229.google.com ([2a00:1450:400c:c00::229]:62124) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WhKhn-00038b-25 for qemu-devel@nongnu.org; Mon, 05 May 2014 11:21:23 -0400 Received: by mail-wg0-f41.google.com with SMTP id z12so2388633wgg.12 for ; Mon, 05 May 2014 08:21:22 -0700 (PDT) Date: Mon, 5 May 2014 17:21:19 +0200 From: Stefan Hajnoczi Message-ID: <20140505152119.GA27180@stefanha-thinkpad.redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH v5 0/3] Add common QEMU control functionality to qemu-iotests List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jeff Cody Cc: kwolf@redhat.com, famz@redhat.com, benoit@irqsave.net, qemu-devel@nongnu.org, Max Reitz , stefanha@redhat.com On Wed, Apr 30, 2014 at 10:55:07AM -0400, Jeff Cody wrote: > This adds some common functionality to control QEMU for qemu-iotests. > > Additionally, test 085 is updated to use this new functionality. > > Some minor fixups along the way, to clear up spaced pathname issues, > for common.rc, test 019, and test 086. > > > Jeff Cody (3): > block: qemu-iotests - add common.qemu, for bash-controlled qemu tests Once a test launches QEMU, it soon needs to parse QMP commands or wait for QMP events. That doesn't lend itself to the traditional qemu-iotests shell model. That is why iotests.py exists. Shell script is a poor language for test cases that go beyond pre-defined commands whose output is saved for diffing. The string manipulation is clumsy, JSON is not supported, tricks with fifos can easily deadlock or break when a process terminates unexpectedly, etc. If we go further in the direction of this patch series, we'll duplicate existing iotests.py code and have complex shell tests that are hard to extend. I think it's time to draw the line and convert any test cases that need to complexity to Python. Why not use iotests.py? Do you want help converting test cases that are on the edge to Python? CCing Max because I think he was in favor of shell in the past and might have some points here.