From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41877) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VhEsI-0002W1-VY for qemu-devel@nongnu.org; Fri, 15 Nov 2013 03:35:40 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VhEsB-0007cz-Qh for qemu-devel@nongnu.org; Fri, 15 Nov 2013 03:35:34 -0500 Received: from mx1.redhat.com ([209.132.183.28]:37705) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VhEsB-0007cu-Eh for qemu-devel@nongnu.org; Fri, 15 Nov 2013 03:35:27 -0500 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id rAF8ZQqE000808 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 15 Nov 2013 03:35:26 -0500 Date: Fri, 15 Nov 2013 09:35:24 +0100 From: Stefan Hajnoczi Message-ID: <20131115083524.GD12545@stefanha-thinkpad.redhat.com> References: <1384439646-19703-1-git-send-email-stefanha@redhat.com> <5284E4F8.9040301@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5284E4F8.9040301@redhat.com> Subject: Re: [Qemu-devel] [PATCH] qemu-iotests: filter QEMU monitor \r\n List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: Kevin Wolf , qemu-devel@nongnu.org, Luiz Capitulino On Thu, Nov 14, 2013 at 07:58:00AM -0700, Eric Blake wrote: > On 11/14/2013 07:34 AM, Stefan Hajnoczi wrote: > > SMTP does not preserve newlines. This is normally not a problem if the > > email body uses DOS or UNIX newlines consistently. In 051.out we mix > > UNIX newlines with DOS newlines (since QEMU monitor output uses \r\n). > > > > This patch filters the QEMU monitor output so the golden master file > > uses UNIX newlines exclusively. > > > > The result is that patches touching 051.out will apply cleanly without > > mangling newlines after this commit. > > The idea makes sense. However... > > > > > Signed-off-by: Stefan Hajnoczi > > --- > > If you have trouble applying this patch, you can use by git repo: > > git://github.com/stefanha/qemu.git fix-qemu-io-cr > > > > > +++ b/tests/qemu-iotests/common.filter > > @@ -156,7 +156,8 @@ _filter_qemu_io() > > _filter_qemu() > > { > > sed -e "s#\\(^\\|(qemu) \\)$(basename $QEMU_PROG):#\1QEMU_PROG:#" \ > > - -e 's#^QEMU [0-9]\+\.[0-9]\+\.[0-9]\+ monitor#QEMU X.Y.Z monitor#' > > + -e 's#^QEMU [0-9]\+\.[0-9]\+\.[0-9]\+ monitor#QEMU X.Y.Z monitor#' \ > > + -e 's#\r##' # QEMU monitor uses \r\n line endings > > \r is not portable sed (some implementations match a literal \ followed > by a literal r; some treat it as a syntax error; while you want it to be > treated as an escape sequence for CR). Then again, \+ is not portable > sed either, so we already fail to run on non-GNU sed. > > Both problems could be avoided: write '[0-9][0-9]*' instead of > '[0-9]\+'; and exploit the fact that common.filter already requires bash > by writing "-e $'s#\r##'" (using $'' to do the \r interpolation prior to > handing the argument to sed). Thanks Eric. I'd rather not fix up existing code in the same commit but we can switch to the portable bash version. In general, qemu-iotests only supports Linux today. Kevin (or note to self): use "-e $'s#\r##'" when merging. Stefan