[{"id":1760532,"web_url":"http://patchwork.ozlabs.org/comment/1760532/","msgid":"<cb493e5c-0604-e572-c7e4-2276e29a6bdb@redhat.com>","list_archive_url":null,"date":"2017-08-30T22:15:05","subject":"Re: [Qemu-devel] [PATCH v3 1/5] qemu-iotests: set TEST_DIR to a\n\tunique dir for each test","submitter":{"id":64343,"url":"http://patchwork.ozlabs.org/api/people/64343/","name":"John Snow","email":"jsnow@redhat.com"},"content":"On 08/30/2017 12:52 PM, Jeff Cody wrote:\n> Right now, all qemu-iotests output data into the same scratch directory,\n> and so each test needs to be responsible for cleaning up its own files.\n> \n> Have each test use 'scratch/$seq' as its temp directory, so the check\n> script can do simple cleanup of removing the whole temporary directory.\n> \n> Reviewed-by: Eric Blake <eblake@redhat.com>\n> Signed-off-by: Jeff Cody <jcody@redhat.com>\n> ---\n>  tests/qemu-iotests/check | 21 +++++++++++++++++----\n>  1 file changed, 17 insertions(+), 4 deletions(-)\n> \n> diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check\n> index d504b6e..f6ca85d 100755\n> --- a/tests/qemu-iotests/check\n> +++ b/tests/qemu-iotests/check\n> @@ -243,6 +243,7 @@ seq=\"check\"\n>  \n>  for seq in $list\n>  do\n> +    TEST_DIR_SEQ=$TEST_DIR/$seq\n>      err=false\n>      printf %s \"$seq\"\n>      if [ -n \"$TESTS_REMAINING_LOG\" ] ; then\n> @@ -289,13 +290,23 @@ do\n>          fi\n>          export OUTPUT_DIR=$PWD\n>          if $debug; then\n> -            (cd \"$source_iotests\";\n> +            (\n> +            export TEST_DIR=$TEST_DIR_SEQ\n> +            . \"$source_iotests/common.config\"\n> +            . \"$source_iotests/common.rc\"\n\nWhat purpose do these serve?\n\n> +            cd \"$source_iotests\" &&\n>              MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \\\n> -                    $run_command -d 2>&1 | tee $tmp.out)\n> +                    $run_command -d 2>&1 | tee $tmp.out\n> +            )\n>          else\n> -            (cd \"$source_iotests\";\n> +            (\n> +            export TEST_DIR=$TEST_DIR_SEQ\n> +            . \"$source_iotests/common.config\"\n> +            . \"$source_iotests/common.rc\"\n> +             cd \"$source_iotests\" &&\n>              MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \\\n> -                    $run_command >$tmp.out 2>&1)\n> +                    $run_command >$tmp.out 2>&1\n> +            )\n>          fi\n>          sts=$?\n>          $timestamp && _timestamp\n> @@ -359,6 +370,8 @@ do\n>              fi\n>          fi\n>  \n> +        rm -rf \"$TEST_DIR_SEQ\"\n> +\n>      fi\n>  \n>      # come here for each test, except when $showme is true\n> \n\nSeems OK to me, though I am not able to answer all doubts about exactly\nhow this may effect the strange pipe/subshell arrangements that occur\ndeeper in the bowels of the included files for launching QEMU and so\non.. I suppose that might be related to the inclusion of those\ncommon.XYZ files?\n\nTested-by: John Snow <jsnow@redhat.com>\nReviewed-by: John Snow <jsnow@redhat.com>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx01.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx01.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=jsnow@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xjKZk2CLzz9s81\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 31 Aug 2017 08:15:41 +1000 (AEST)","from localhost ([::1]:52992 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dnBGr-0005M6-Mu\n\tfor incoming@patchwork.ozlabs.org; Wed, 30 Aug 2017 18:15:37 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:54585)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <jsnow@redhat.com>) id 1dnBGX-0005KX-In\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 18:15:18 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <jsnow@redhat.com>) id 1dnBGW-0006CJ-Ih\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 18:15:17 -0400","from mx1.redhat.com ([209.132.183.28]:58300)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <jsnow@redhat.com>)\n\tid 1dnBGR-0006Ah-V6; Wed, 30 Aug 2017 18:15:12 -0400","from smtp.corp.redhat.com\n\t(int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id CBFF181F01;\n\tWed, 30 Aug 2017 22:15:10 +0000 (UTC)","from [10.18.17.130] (dhcp-17-130.bos.redhat.com [10.18.17.130])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id E6A2E5DD64;\n\tWed, 30 Aug 2017 22:15:06 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com CBFF181F01","To":"Jeff Cody <jcody@redhat.com>, qemu-devel@nongnu.org","References":"<cover.1504111803.git.jcody@redhat.com>\n\t<fab0dc0858ef58dd2e58ddcac3c38f9ab39d045f.1504111803.git.jcody@redhat.com>","From":"John Snow <jsnow@redhat.com>","Message-ID":"<cb493e5c-0604-e572-c7e4-2276e29a6bdb@redhat.com>","Date":"Wed, 30 Aug 2017 18:15:05 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<fab0dc0858ef58dd2e58ddcac3c38f9ab39d045f.1504111803.git.jcody@redhat.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.14","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.25]);\n\tWed, 30 Aug 2017 22:15:10 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH v3 1/5] qemu-iotests: set TEST_DIR to a\n\tunique dir for each test","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"kwolf@redhat.com, stefanha@redhat.com, armbru@redhat.com,\n\tqemu-block@nongnu.org","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1760550,"web_url":"http://patchwork.ozlabs.org/comment/1760550/","msgid":"<20170830223911.GM4770@localhost.localdomain>","list_archive_url":null,"date":"2017-08-30T22:39:11","subject":"Re: [Qemu-devel] [PATCH v3 1/5] qemu-iotests: set TEST_DIR to a\n\tunique dir for each test","submitter":{"id":12159,"url":"http://patchwork.ozlabs.org/api/people/12159/","name":"Jeff Cody","email":"jcody@redhat.com"},"content":"On Wed, Aug 30, 2017 at 06:15:05PM -0400, John Snow wrote:\n> \n> \n> On 08/30/2017 12:52 PM, Jeff Cody wrote:\n> > Right now, all qemu-iotests output data into the same scratch directory,\n> > and so each test needs to be responsible for cleaning up its own files.\n> > \n> > Have each test use 'scratch/$seq' as its temp directory, so the check\n> > script can do simple cleanup of removing the whole temporary directory.\n> > \n> > Reviewed-by: Eric Blake <eblake@redhat.com>\n> > Signed-off-by: Jeff Cody <jcody@redhat.com>\n> > ---\n> >  tests/qemu-iotests/check | 21 +++++++++++++++++----\n> >  1 file changed, 17 insertions(+), 4 deletions(-)\n> > \n> > diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check\n> > index d504b6e..f6ca85d 100755\n> > --- a/tests/qemu-iotests/check\n> > +++ b/tests/qemu-iotests/check\n> > @@ -243,6 +243,7 @@ seq=\"check\"\n> >  \n> >  for seq in $list\n> >  do\n> > +    TEST_DIR_SEQ=$TEST_DIR/$seq\n> >      err=false\n> >      printf %s \"$seq\"\n> >      if [ -n \"$TESTS_REMAINING_LOG\" ] ; then\n> > @@ -289,13 +290,23 @@ do\n> >          fi\n> >          export OUTPUT_DIR=$PWD\n> >          if $debug; then\n> > -            (cd \"$source_iotests\";\n> > +            (\n> > +            export TEST_DIR=$TEST_DIR_SEQ\n> > +            . \"$source_iotests/common.config\"\n> > +            . \"$source_iotests/common.rc\"\n> \n> What purpose do these serve?\n>\n\nThis is setting $TEST_DIR according to the $seq number (test # being run) in\nthe bash subshell that the tests are being run from.  So that all the other\nvariables that are based on the $TEST_DIR are set appropriately, this also\nsources them in the subshell prior to running the test.  That way their\nenvironment is with $TEST_DIR_SEQ rather than the original base $TEST_DIR.\n\n> > +            cd \"$source_iotests\" &&\n> >              MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \\\n> > -                    $run_command -d 2>&1 | tee $tmp.out)\n> > +                    $run_command -d 2>&1 | tee $tmp.out\n> > +            )\n> >          else\n> > -            (cd \"$source_iotests\";\n> > +            (\n> > +            export TEST_DIR=$TEST_DIR_SEQ\n> > +            . \"$source_iotests/common.config\"\n> > +            . \"$source_iotests/common.rc\"\n> > +             cd \"$source_iotests\" &&\n> >              MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(($RANDOM % 255 + 1))} \\\n> > -                    $run_command >$tmp.out 2>&1)\n> > +                    $run_command >$tmp.out 2>&1\n> > +            )\n> >          fi\n> >          sts=$?\n> >          $timestamp && _timestamp\n> > @@ -359,6 +370,8 @@ do\n> >              fi\n> >          fi\n> >  \n> > +        rm -rf \"$TEST_DIR_SEQ\"\n> > +\n> >      fi\n> >  \n> >      # come here for each test, except when $showme is true\n> > \n> \n> Seems OK to me, though I am not able to answer all doubts about exactly\n> how this may effect the strange pipe/subshell arrangements that occur\n> deeper in the bowels of the included files for launching QEMU and so\n> on.. I suppose that might be related to the inclusion of those\n> common.XYZ files?\n> \n> Tested-by: John Snow <jsnow@redhat.com>\n> Reviewed-by: John Snow <jsnow@redhat.com>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx09.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx09.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=jcody@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xjL7T3JJqz9s8J\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 31 Aug 2017 08:40:37 +1000 (AEST)","from localhost ([::1]:53061 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dnBf1-0007KK-LD\n\tfor incoming@patchwork.ozlabs.org; Wed, 30 Aug 2017 18:40:35 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:58838)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <jcody@redhat.com>) id 1dnBdr-00066R-Gw\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 18:39:24 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <jcody@redhat.com>) id 1dnBdq-0005hq-H3\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 18:39:23 -0400","from mx1.redhat.com ([209.132.183.28]:54088)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <jcody@redhat.com>)\n\tid 1dnBdk-0005gL-4z; Wed, 30 Aug 2017 18:39:16 -0400","from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 141864E334;\n\tWed, 30 Aug 2017 22:39:15 +0000 (UTC)","from localhost (ovpn-116-70.phx2.redhat.com [10.3.116.70])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id ED53577714;\n\tWed, 30 Aug 2017 22:39:11 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 141864E334","Date":"Wed, 30 Aug 2017 18:39:11 -0400","From":"Jeff Cody <jcody@redhat.com>","To":"John Snow <jsnow@redhat.com>","Message-ID":"<20170830223911.GM4770@localhost.localdomain>","References":"<cover.1504111803.git.jcody@redhat.com>\n\t<fab0dc0858ef58dd2e58ddcac3c38f9ab39d045f.1504111803.git.jcody@redhat.com>\n\t<cb493e5c-0604-e572-c7e4-2276e29a6bdb@redhat.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<cb493e5c-0604-e572-c7e4-2276e29a6bdb@redhat.com>","User-Agent":"Mutt/1.5.24 (2015-08-30)","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.13","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.38]);\n\tWed, 30 Aug 2017 22:39:15 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH v3 1/5] qemu-iotests: set TEST_DIR to a\n\tunique dir for each test","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"kwolf@redhat.com, stefanha@redhat.com, qemu-devel@nongnu.org,\n\tqemu-block@nongnu.org, armbru@redhat.com","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]