From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27875 invoked by alias); 15 Apr 2013 14:58:00 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 27847 invoked by uid 89); 15 Apr 2013 14:58:00 -0000 X-Spam-SWARE-Status: No, score=-4.7 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_EG autolearn=ham version=3.3.1 Received: from mail-ob0-f169.google.com (HELO mail-ob0-f169.google.com) (209.85.214.169) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Mon, 15 Apr 2013 14:57:58 +0000 Received: by mail-ob0-f169.google.com with SMTP id ta14so943806obb.0 for ; Mon, 15 Apr 2013 07:57:57 -0700 (PDT) X-Received: by 10.60.16.69 with SMTP id e5mr7704836oed.68.1366037877105; Mon, 15 Apr 2013 07:57:57 -0700 (PDT) MIME-Version: 1.0 Received: by 10.60.13.133 with HTTP; Mon, 15 Apr 2013 07:57:16 -0700 (PDT) In-Reply-To: <5167F13F.6090007@redhat.com> References: <515451EA.1000200@mentor.com> <83y5d7wpvq.fsf@gnu.org> <516454DA.9040109@redhat.com> <51667EDC.9070207@redhat.com> <5167F13F.6090007@redhat.com> From: Hui Zhu Date: Mon, 15 Apr 2013 18:59:00 -0000 Message-ID: Subject: Re: [PATCH] add -s option to make -break-insert support dprintf To: Pedro Alves Cc: Eli Zaretskii , Hui Zhu , gdb-patches ml , Marc Khouzam Content-Type: multipart/mixed; boundary=089e0149c6746a2b6304da677af4 X-Virus-Found: No X-SW-Source: 2013-04/txt/msg00429.txt.bz2 --089e0149c6746a2b6304da677af4 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 3080 On Fri, Apr 12, 2013 at 7:34 PM, Pedro Alves wrote: > On 04/12/2013 11:38 AM, Hui Zhu wrote: >>> > >>> > I still get: >>> > >>> > $ make check gdbserver RUNTESTFLAGS=3D"--target_board=3Dnative-gdbser= ver mi-dprintf.exp" >> This part is really odd. >> In my part, without "sleep 1" will random get fail with "Set dprintf >> style to agent ". >> The reason of fail is test try to check the output before it call >> send_gdb "set dprintf-style agent\n". >> This is why I add a "sleep 1" for it. >> >> But looks it still not OK in your part, so I change it to: >> mi_gdb_test "pwd" ".*" >> >> If it is still not OK in your part, I suggest remove this part of test >> because it is not very important for this test. The "set >> dprintf-style agent" is tested in "dprintf.exp". >> > > No, it's not okay. And it's not okay to just sweep it under the rug. > > I believe the problem is that the test is sending CLI resumption commands: > > + mi_gdb_test "continue" ".*At foo entry.*arg=3D1234, g=3D1234.*" "= mi 1st dprintf" > + mi_gdb_test "continue" ".*At foo entry.*arg=3D1235, g=3D2222.*" "= mi 2nd dprintf" > > "continue" sent from MI causes two prompts to appear: > > (gdb) > continue > &"continue\n" > ~"Continuing.\n" > ^running > *running,thread-id=3D"all" > (gdb) > =3Dbreakpoint-modified,bkpt=3D{number=3D"6",type=3D"breakpoint",disp=3D"k= eep",enabled=3D"y",addr=3D"0x000000000045a3ff",func=3D"main",file=3D"../../= src/gdb/gdb.c",fullname=3D"/home/pedro/gdb/mygit/src/gdb/gdb.c",line=3D"32"= ,thread-groups=3D["i1"],times=3D"1",original-location=3D"/home/pedro/gdb/my= git/src/gdb/gdb.c:32"} > ~"\nBreakpoint " > ~"6, main (argc=3D1, argv=3D0x7fffffffdc58) at ../../src/gdb/gdb.c:32\n" > ~"32\t args.use_windows =3D 0;\n" > *stopped,reason=3D"breakpoint-hit",disp=3D"keep",bkptno=3D"6",frame=3D{ad= dr=3D"0x000000000045a3ff",func=3D"main",args=3D[{name=3D"argc",value=3D"1"}= ,{name=3D"argv",value=3D"0x7fffffffdc58"}],file=3D"../../src/gdb/gdb.c",ful= lname=3D"/home/pedro/gdb/mygit/src/gdb/gdb.c",line=3D"32"},thread-id=3D"1",= stopped-threads=3D"all",core=3D"0" > (gdb) > > and that is confusing the test (the regex for the prompt is probably stop= ping > at the first prompt sometimes). > > The test should be adjusted to do MI -exec-continue instead, with > mi_execute_to "exec-continue", mi_send_resuming_command "exec-continue" > or something like that. > > BTW, you don't need to use gdbserver to trigger the issue. Native > works too. E.g., leave this running, and eventually, it should FAIL > and stop: > > $ (set -e; while true; do make check RUNTESTFLAGS=3D"mi-dprintf.exp"; don= e) > > gdb/contrib/expect-read1.sh probably makes this reproducible all > the time, though I haven't tried. Post a new version change the continue to mi_run_cmd, gdb_expect and mi_send_resuming_command. It works OK with loop test. Please help me review it. Thanks, Hui > > -- > Pedro Alves > 2013-04-15 Hui Zhu * gdb.mi/Makefile.in (PROGS): Add "mi-dprintf". * gdb.mi/mi-dprintf.exp, gdb.mi/mi-dprintf.c: New. --089e0149c6746a2b6304da677af4 Content-Type: text/plain; charset=US-ASCII; name="mi-dprintf-test.txt" Content-Disposition: attachment; filename="mi-dprintf-test.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hfjrn2u50 Content-length: 10257 LS0tIGEvdGVzdHN1aXRlL2dkYi5taS9NYWtlZmlsZS5pbgorKysgYi90ZXN0 c3VpdGUvZ2RiLm1pL01ha2VmaWxlLmluCkBAIC0zLDcgKzMsNyBAQCBzcmNk aXIgPSBAc3JjZGlyQAogCiBQUk9HUyA9IGJhc2ljcyBjX3ZhcmlhYmxlIGNw cF92YXJpYWJsZSB2YXItY21kIGR3Mi1yZWYtbWlzc2luZy1mcmFtZQlcCiAJ Z2RiNjY5LXB0aHJlYWRzIGdkYjcwMSBnZGI3OTIgbWktYXN5bmMgbWktYmFz aWNzIG1pLWJyZWFrCVwKLQltaS1jbGkgbWktY29uc29sZSBtaS1kaXNhc3Nl bWJsZSBtaS1ldmFsIG1pLWZpbGUJCVwKKwltaS1jbGkgbWktY29uc29sZSBt aS1kaXNhc3NlbWJsZSBtaS1kcHJpbnRmIG1pLWV2YWwgbWktZmlsZQlcCiAJ bWktZmlsZS10cmFuc2ZlciBtaS1ub24tc3RvcCBtaS1ub24tc3RvcC1leGl0 CQkJXAogCW1pLW5zLXN0YWxlLXJlZ2NhY2hlIG1pLW5zaW50cmFsbCBtaS1u c21vcmlidW5kIG1pLW5zdGhyZXhlYwlcCiAJbWktcGVuZGluZyBtaS1wdGhy ZWFkcyBtaS1yZWFkLW1lbW9yeSBtaS1yZWdzIG1pLXJldHVybgkJXAotLS0g L2Rldi9udWxsCisrKyBiL3Rlc3RzdWl0ZS9nZGIubWkvbWktZHByaW50Zi5j CkBAIC0wLDAgKzEsNTkgQEAKKy8qIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBv ZiBHREIsIHRoZSBHTlUgZGVidWdnZXIuCisKKyAgIENvcHlyaWdodCAoQykg MjAxMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvbnRy aWJ1dGVkIGJ5IEh1aSBaaHUgIDxodWlAY29kZXNvdXJjZXJ5LmNvbT4KKwor ICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICAgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworI2luY2x1ZGUgPHN0ZGlv Lmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKK3N0YXRpYyBpbnQgZzsKKwor dm9pZAorZm9vIChpbnQgYXJnKQoreworICBnICs9IGFyZzsKKyAgZyAqPSAy OyAvKiBzZXQgZHByaW50ZiAxIGhlcmUgKi8KKyAgZyAvPSAyLjU7IC8qIHNl dCBicmVha3BvaW50IDEgaGVyZSAqLworfQorCitpbnQKK21haW4gKGludCBh cmdjLCBjaGFyICphcmd2W10pCit7CisgIGludCBsb2MgPSAxMjM0OworCisg IC8qIEVuc3VyZSB0aGVzZSBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZS4gICov CisgIHByaW50ZiAoImtpY2tvZmYgJWRcbiIsIGxvYyk7CisgIGZwcmludGYg KHN0ZGVyciwgImFsc28gdG8gc3RkZXJyICVkXG4iLCBsb2MpOworCisgIGZv byAobG9jKyspOworICBmb28gKGxvYysrKTsKKyAgZm9vIChsb2MrKyk7Cisg IHJldHVybiBnOworfQorCisvKiBNYWtlIHN1cmUgZnVuY3Rpb24gJ21hbGxv YycgaXMgbGlua2VkIGludG8gcHJvZ3JhbS4gIE9uIHNvbWUgYmFyZS1tZXRh bAorICAgcG9ydCwgaWYgd2UgZG9uJ3QgdXNlICdtYWxsb2MnLCBpdCB3aWxs IG5vdCBiZSBsaW5rZWQgaW4gcHJvZ3JhbS4gICdtYWxsb2MnCisgICBpcyBu ZWVkZWQsIG90aGVyd2lzZSB3ZSdsbCBzZWUgc3VjaCBlcnJvciBtZXNzYWdl CisgICBldmFsdWF0aW9uIG9mIHRoaXMgZXhwcmVzc2lvbiByZXF1aXJlcyB0 aGUgcHJvZ3JhbSB0byBoYXZlIGEgZnVuY3Rpb24KKyAgICJtYWxsb2MiLiAg Ki8KKwordm9pZAorYmFyICh2b2lkKQoreworICB2b2lkICpwID0gbWFsbG9j ICgxNik7CisKKyAgZnJlZSAocCk7Cit9Ci0tLSAvZGV2L251bGwKKysrIGIv dGVzdHN1aXRlL2dkYi5taS9taS1kcHJpbnRmLmV4cApAQCAtMCwwICsxLDE0 OCBAQAorIyAgIENvcHlyaWdodCAoQykgMjAxMyBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKyMgICBDb250cmlidXRlZCBieSBIdWkgWmh1ICA8 aHVpQGNvZGVzb3VyY2VyeS5jb20+CisKKyMgVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBu b3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKK2xv YWRfbGliIG1pLXN1cHBvcnQuZXhwCitzZXQgTUlGTEFHUyAiLWk9bWkiCisK K2dkYl9leGl0CitpZiBbbWlfZ2RiX3N0YXJ0XSB7CisgICAgY29udGludWUK K30KKworc3RhbmRhcmRfdGVzdGZpbGUKKworaWYge1tidWlsZF9leGVjdXRh YmxlICR0ZXN0ZmlsZS5leHAgJHRlc3RmaWxlICRzcmNmaWxlIHtkZWJ1Z31d ID09IC0xfSB7CisgICAgdW50ZXN0ZWQgImZhaWxlZCB0byBjb21waWxlICR0 ZXN0ZmlsZSIKKyAgICByZXR1cm4gLTEKK30KKworbWlfZGVsZXRlX2JyZWFr cG9pbnRzCisKK3NldCBicF9sb2NhdGlvbjEgW2dkYl9nZXRfbGluZV9udW1i ZXIgInNldCBicmVha3BvaW50IDEgaGVyZSJdCitzZXQgZHBfbG9jYXRpb24x IFtnZGJfZ2V0X2xpbmVfbnVtYmVyICJzZXQgZHByaW50ZiAxIGhlcmUiXQor CittaV9ydW5fdG9fbWFpbgorCittaV9nZGJfdGVzdCAiMS1icmVhay1pbnNl cnQgLXMiIFwKKyAgICAiMVxcXmVycm9yLG1zZz1cIi1icmVhay1pbnNlcnQ6 IE9wdGlvbiAtcyByZXF1aXJlcyBhbiBhcmd1bWVudFwiIiAibWkgaW5zZXJ0 IHdpdGhvdXQgbG9jYXRpb24iCisKK21pX2dkYl90ZXN0ICIyLWJyZWFrLWlu c2VydCAtcyBmb28iIFwKKyAgICAiMlxcXmVycm9yLG1zZz1cIi1icmVhay1p bnNlcnQ6IE1pc3NpbmcgPGxvY2F0aW9uPlwiIiAibWkgaW5zZXJ0IGJyZWFr cG9pbnQgd2l0aG91dCBmb3JtYXQgc3RyaW5nIgorCittaV9nZGJfdGVzdCAi My1icmVhay1pbnNlcnQgLXMgMjkiIFwKKyAgICAiM1xcXmVycm9yLG1zZz1c Ii1icmVhay1pbnNlcnQ6IE1pc3NpbmcgPGxvY2F0aW9uPlwiIiAibWkgaW5z ZXJ0IHNlY29uZCBicmVha3BvaW50IHdpdGhvdXQgZm9ybWF0IHN0cmluZyIK KworbWlfZ2RiX3Rlc3QgIi1icmVhay1pbnNlcnQgbWFpbiIgIi4qIiAibWkg aW5zZXJ0IGJyZWFrcG9pbnQgbWFpbiIKK21pX2RlbGV0ZV9icmVha3BvaW50 cworCittaV9nZGJfdGVzdCAiNC1icmVhay1pbnNlcnQgLXMgXCJcXFwiQXQg Zm9vIGVudHJ5XFxcXG5cXFwiXCIgZm9vIiBcCisgICAgIjRcXF5kb25lLGJr cHQ9XHtudW1iZXI9XCIuKlwiLHR5cGU9XCJkcHJpbnRmXCIuKmZ1bmM9XCJm b29cIixmaWxlPVwiLiptaS1kcHJpbnRmLmNcIixmdWxsbmFtZT1cIi4qbWkt ZHByaW50Zi5jXCIsbGluZT1cIi4qXCIuKiIgIm1pIGluc2VydCBkcHJpbnRm IGZvbyIKKworbWlfZ2RiX3Rlc3QgIjUtYnJlYWstaW5zZXJ0IC1zIFwiXFxc ImFyZz0lZCwgZz0lZFxcXFxuXFxcIiwgYXJnLCBnXCIgJGRwX2xvY2F0aW9u MSIgXAorICAgICI1XFxeZG9uZSxia3B0PVx7bnVtYmVyPVwiLipcIix0eXBl PVwiZHByaW50ZlwiLipmdW5jPVwiZm9vXCIsZmlsZT1cIi4qbWktZHByaW50 Zi5jXCIsZnVsbG5hbWU9XCIuKm1pLWRwcmludGYuY1wiLGxpbmU9XCIkZHBf bG9jYXRpb24xXCIuKiIgXAorICAgICJtaSBpbnNlcnQgZHByaW50ZiBkcF9s b2NhdGlvbjEiCisKK21pX2dkYl90ZXN0ICI2LWJyZWFrLWluZm8iIFwKKyAg ICAiNlxcXmRvbmUsQnJlYWtwb2ludFRhYmxlPVx7bnJfcm93cz1cIi5cIixu cl9jb2xzPVwiLlwiLGhkcj1cXFxbXHt3aWR0aD1cIi4qXCIsYWxpZ25tZW50 PVwiLipcIixjb2xfbmFtZT1cIm51bWJlclwiLGNvbGhkcj1cIk51bVwiXH0s XHt3aWR0aD1cIi4qXCIsYWxpZ25tZW50PVwiLipcIixjb2xfbmFtZT1cInR5 cGVcIixjb2xoZHI9XCJUeXBlXCJcfSxce3dpZHRoPVwiLipcIixhbGlnbm1l bnQ9XCIuKlwiLGNvbF9uYW1lPVwiZGlzcFwiLGNvbGhkcj1cIkRpc3BcIlx9 LFx7d2lkdGg9XCIuKlwiLGFsaWdubWVudD1cIi4qXCIsY29sX25hbWU9XCJl bmFibGVkXCIsY29saGRyPVwiRW5iXCJcfSxce3dpZHRoPVwiLipcIixhbGln bm1lbnQ9XCIuKlwiLGNvbF9uYW1lPVwiYWRkclwiLGNvbGhkcj1cIkFkZHJl c3NcIlx9LFx7d2lkdGg9XCIuKlwiLGFsaWdubWVudD1cIi4qXCIsY29sX25h bWU9XCJ3aGF0XCIsY29saGRyPVwiV2hhdFwiXH1cXFxdLGJvZHk9XFxcW2Jr cHQ9XHtudW1iZXI9XCIzXCIsdHlwZT1cImRwcmludGZcIi4qZnVuYz1cImZv b1wiLGZpbGU9XCIuKm1pLWRwcmludGYuY1wiLGZ1bGxuYW1lPVwiLiptaS1k cHJpbnRmLmNcIixsaW5lPVwiLipcIi4qLGJrcHQ9XHtudW1iZXI9XCIuKlwi LHR5cGU9XCJkcHJpbnRmXCIuKmZ1bmM9XCJmb29cIixmaWxlPVwiLiptaS1k cHJpbnRmLmNcIixmdWxsbmFtZT1cIi4qbWktZHByaW50Zi5jXCIsbGluZT1c IiRkcF9sb2NhdGlvbjFcIi4qIiBcCisgICAgIm1pIGluZm8gZHByaW50ZiIK KworbWlfZ2RiX3Rlc3QgIi1icmVhay1pbnNlcnQgJGJwX2xvY2F0aW9uMSIg Ii4qIiAibWkgaW5zZXJ0IGJyZWFrcG9pbnQgYnBfbG9jYXRpb24xIgorCitw cm9jIG1pX2NvbnRpbnVlX2RwcmludGYge2FyZ3N9IHsKKyAgICB3aXRoX3Rl c3RfcHJlZml4ICRhcmdzIHsKKwlnbG9iYWwgbWlfZ2RiX3Byb21wdAorCisJ bWlfcnVuX2NtZAorCXNldCBtc2cgIm1pIDFzdCBkcHJpbnRmIgorCWdkYl9l eHBlY3QgeworICAgICAgICAgICAgLXJlICIuKkF0IGZvbyBlbnRyeS4qYXJn PTEyMzQsIGc9MTIzNC4qIiB7CisJCXBhc3MgJG1zZworCSAgICB9CisJICAg IC1yZSAiLiokbWlfZ2RiX3Byb21wdCQiIHsKKwkJZmFpbCAkbXNnCisJICAg IH0KKyAgICAgICAgICAgIHRpbWVvdXQgeworCQlmYWlsICRtc2cKKyAgICAg ICAgICAgIH0KKwl9CisJbWlfZXhwZWN0X3N0b3AgIi4qIiAiLioiICIuKiIg Ii4qIiAiLioiICIiICIkbXNnIHN0b3AiCisKKwlzZXQgbXNnICJtaSAybmQg ZHByaW50ZiIKKwltaV9zZW5kX3Jlc3VtaW5nX2NvbW1hbmQgImV4ZWMtY29u dGludWUiICIkbXNnIGNvbnRpbnVlIgorCWdkYl9leHBlY3QgeworICAgICAg ICAgICAgLXJlICIuKkF0IGZvbyBlbnRyeS4qYXJnPTEyMzUsIGc9MjIyMi4q IiB7CisJCXBhc3MgJG1zZworCSAgICB9CisJICAgIC1yZSAiLiokbWlfZ2Ri X3Byb21wdCQiIHsKKwkJZmFpbCAkbXNnCisJICAgIH0KKyAgICAgICAgICAg IHRpbWVvdXQgeworCQlmYWlsICRtc2cKKyAgICAgICAgICAgIH0KKwl9Cisg ICAgfQorfQorCittaV9jb250aW51ZV9kcHJpbnRmICJnZGIiCisKKyMgVGhl ICJjYWxsIiBzdHlsZSBkZXBlbmRzIG9uIGhhdmluZyBJL08gZnVuY3Rpb25z IGF2YWlsYWJsZSwgc28gdGVzdC4KKworaWYgIVt0YXJnZXRfaW5mbyBleGlz dHMgZ2RiLG5vaW5mZXJpb3Jpb10geworCisgICAgIyBOb3cgc3dpdGNoIHN0 eWxlcyBhbmQgcmVydW47IGluIHRoZSBhYnNlbmNlIG9mIHJlZGlyZWN0aW9u IHRoZQorICAgICMgb3V0cHV0IHNob3VsZCBiZSB0aGUgc2FtZS4KKworICAg IG1pX2dkYl90ZXN0ICJzZXQgZHByaW50Zi1zdHlsZSBjYWxsIiAiLioiICJt aSBzZXQgZHByaW50ZiBzdHlsZSB0byBjYWxsIgorICAgIG1pX2NvbnRpbnVl X2RwcmludGYgImNhbGwiCisKKyAgICBtaV9nZGJfdGVzdCAic2V0IGRwcmlu dGYtZnVuY3Rpb24gZnByaW50ZiIgIi4qIiAibWkgc2V0IGRwcmludGYtY2hh bm5lbCBzdGRlcnIiCisgICAgbWlfZ2RiX3Rlc3QgInNldCBkcHJpbnRmLWNo YW5uZWwgc3RkZXJyIiAiLioiICJtaSBzZXQgZHByaW50ZiBjaGFubmVsIgor ICAgIG1pX2NvbnRpbnVlX2RwcmludGYgImZwcmludGYiCit9CisKKyMgVG8g bWFrZSBzdXJlIHNldCBkcHJpbnRmLXN0eWxlIGFnZW50IGdldCByaWdodCBv dXRwdXQuCittaV9nZGJfdGVzdCAicHdkIiAiLioiCisKK3NldCB0YXJnZXRf Y2FuX2RwcmludGYgMAorc2V0IG1zZyAic2V0IGRwcmludGYgc3R5bGUgdG8g YWdlbnQiCitzZW5kX2dkYiAic2V0IGRwcmludGYtc3R5bGUgYWdlbnRcbiIK K2dkYl9leHBlY3QgeworICAgIC1yZSAid2FybmluZzogVGFyZ2V0IGNhbm5v dCBydW4gZHByaW50ZiBjb21tYW5kcywgZmFsbGluZyBiYWNrIHRvIEdEQiBw cmludGYuKiRtaV9nZGJfcHJvbXB0JCIgeworCXVuc3VwcG9ydGVkICIkbXNn IgorICAgIH0KKyAgICAtcmUgIi4qZG9uZS4qJG1pX2dkYl9wcm9tcHQkIiB7 CisJc2V0IHRhcmdldF9jYW5fZHByaW50ZiAxCisJcGFzcyAiJG1zZyIKKyAg ICB9CisgICAgLXJlICIuKiRtaV9nZGJfcHJvbXB0JCIgeworCWZhaWwgIiRt c2ciCisgICAgfQorICAgIHRpbWVvdXQgeworCWZhaWwgIiRtc2ciCisgICAg fQorfQorCitpZiAkdGFyZ2V0X2Nhbl9kcHJpbnRmIHsKKyAgICBtaV9ydW5f Y21kCisKKyAgICBtaV9nZGJfdGVzdCAiY29udGludWUiICIuKmJyZWFrcG9p bnQtaGl0LipmdW5jPVwiZm9vXCIuKiIgIm1pIDFzdCBkcHJpbnRmLCBhZ2Vu dCIKKworICAgIG1pX2dkYl90ZXN0ICJjb250aW51ZSIgIi4qYnJlYWtwb2lu dC1oaXQuKmZ1bmM9XCJmb29cIi4qIiAibWkgMm5kIGRwcmludGYsIGFnZW50 IgorCisgICAgbWlfZ2RiX3Rlc3QgIjYtYnJlYWstaW5mbyIgIi4qbW9kaWZp ZWQuKiIgIm1pIGluZm8gZHByaW50ZiBzZWNvbmQgdGltZSIKK30KKworbWlf Z2RiX3Rlc3QgInNldCBkcHJpbnRmLXN0eWxlIGZvb2JhciIgIi4qZXJyb3Iu KiIgIm1pIHNldCBkcHJpbnRmIHN0eWxlIHRvIGFuIHVucmVjb2duaXplZCB0 eXBlIgo= --089e0149c6746a2b6304da677af4--