Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cYJQS-0004gf-VB for pgadmin-hackers@arkaria.postgresql.org; Mon, 30 Jan 2017 21:23:49 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1cYJQR-0002bB-VR for pgadmin-hackers@arkaria.postgresql.org; Mon, 30 Jan 2017 21:23:48 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cYJQB-0002KW-4X for pgadmin-hackers@postgresql.org; Mon, 30 Jan 2017 21:23:31 +0000 Received: from mail-qt0-x22a.google.com ([2607:f8b0:400d:c0d::22a]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1cYJQ2-000291-1i for pgadmin-hackers@postgresql.org; Mon, 30 Jan 2017 21:23:27 +0000 Received: by mail-qt0-x22a.google.com with SMTP id k15so217285742qtg.3 for ; Mon, 30 Jan 2017 13:23:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pivotal-io.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=+5CBrdPIFgQHQW7RuzJ0jOzR1t0lQmZYrt6Yn3jV6II=; b=zUzRjIz496g4/a4L8Rk4WkJiXj+JF5YcXJT3Fl85R8v0LVr9jlD9WKUJI+cdm3N8wS EgoAzb3KIPA2r7U9sSYu+LnktcZVR5IOemNkY/jVaWaA4ZInMOSMYADiTK0eA1oAoa7u xeqMubW8tI4e+lllrg4aWNcCXlSKMreH8V9K/ZlKu4YQ2JsIA0DpninD2OI3XIEzNKv3 iUz+6/1PjgkcQi3hioot9Z2ehWpWF8/jZeRvsEbH9uyr4ne88MR4/TqAqT9Y7FbQMKU4 +zx17pq6sWfFiYaPbau2P2Cf6Jog7BhrJc9nQnV9RbZJAwFXjLS/XaSs1xacqAQEpZsV 2ZAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=+5CBrdPIFgQHQW7RuzJ0jOzR1t0lQmZYrt6Yn3jV6II=; b=IOZXVHwV/9RD8Ogf/I4ioClnwC1PDpORMG1SeuDUAkR0KzA/nKD6/8530jnJeJEh5R u4Z/OGylBfKK/t2gQUwcxQzzQkRZXeyCxZSe3U2jksZqAkunPQQISqj642wXBBqxh54N bdPusgcEPVbAld983ikyC7FqG2ywAbpRhDh5Hd7fTll3SdZbti2tclrqFzD+Lm5UCzU4 aVKRSjZEsDAgqTAzjYjEtPtK8p5af7fOWVRpjnlsSu1EB+J7fRZIX2ZtP2NTKBaBlfO8 D7o79TDvAyF1PW2TWB00nq5/ru7AilfTYFEvOUH/Li9U3mmtRJ5SYZQFoZb9T1hLTOH0 YVwA== X-Gm-Message-State: AIkVDXKdaUtIqKg2t/XqSzCcwFY1U0iGOoUiYoz6mp0vHjj8awaDQIvp+XTy8HLeT9nlOxBALGw4peLAfGB+ru90 X-Received: by 10.200.51.100 with SMTP id u33mr22227494qta.110.1485811396260; Mon, 30 Jan 2017 13:23:16 -0800 (PST) MIME-Version: 1.0 Received: by 10.140.102.16 with HTTP; Mon, 30 Jan 2017 13:23:15 -0800 (PST) In-Reply-To: References: From: Atira Odhner Date: Mon, 30 Jan 2017 16:23:15 -0500 Message-ID: Subject: Re: Acceptance Tests against a browser (WIP) To: George Gelashvili Cc: Dave Page , pgadmin-hackers Content-Type: multipart/mixed; boundary=001a113e00da7a847f0547566cc3 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a113e00da7a847f0547566cc3 Content-Type: multipart/alternative; boundary=001a113e00da7a847c0547566cc1 --001a113e00da7a847c0547566cc1 Content-Type: text/plain; charset=UTF-8 Here's the patch with one more fix -- cleaning up the connections that get created in pgAdmin. On Mon, Jan 30, 2017 at 2:28 PM, George Gelashvili wrote: > so, it sounds like you're saying our accaptable_test_db is unacceptable :-P > > here's a patch that takes an "--exclude" flag (see README) and doesn't > create dbs that don't get cleaned up afterwards > > On Fri, Jan 27, 2017 at 11:28 AM, Dave Page wrote: > >> On Fri, Jan 27, 2017 at 4:11 PM, Dave Page wrote: >> > On Thu, Jan 26, 2017 at 10:40 PM, George Gelashvili >> > wrote: >> >> instead of that patch, please use this no-zombies version that kills >> the >> >> started process group instead of pid-only. >> > >> > Very cool :-). The only minor annoyance for me is that my Mac pops up >> > a message asking me if I want pgAdmin to accept connections, but >> > there's nothing you can do about that of course. >> > >> > At this point I think there are a couple of things left to do; >> > >> > - Add more tests! >> > >> > - Add command line options to runtests.py to allow users to run either >> > the existing tests or the acceptance tests (or both, which should be >> > the default). Of course, it should still be possible to just run any >> > single test. >> >> Please add: >> >> - Proper cleanup. I just noticed the tests have left an >> "acceptable_test_db" database behind. >> >> Thanks. >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > --001a113e00da7a847c0547566cc1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Here's the patch with one more fix -- cleaning up the = connections that get created in pgAdmin.


On Mon, Jan 30, 2017 at 2:28 PM= , George Gelashvili <ggelashvili@pivotal.io> wrote:
=
so, it sounds like you'= re saying our accaptable_test_db is unacceptable :-P

her= e's a patch that takes an "--exclude" flag (see README) and d= oesn't create dbs that don't get cleaned up afterwards
<= div class=3D"HOEnZb">

On Fri, Jan 27, 2017 at 11:28 AM, Dave Page <dpage@p= gadmin.org> wrote:
On= Fri, Jan 27, 2017 at 4:11 PM, Dave Page <dpage@pgadmin.org> wrote:
> On Thu, Jan 26, 2017 at 10:40 PM, George Gelashvili
> <ggelas= hvili@pivotal.io> wrote:
>> instead of that patch, please use this no-zombies version that kil= ls the
>> started process group instead of pid-only.
>
> Very cool :-). The only minor annoyance for me is that my Mac pops up<= br> > a message asking me if I want pgAdmin to accept connections, but
> there's nothing you can do about that of course.
>
> At this point I think there are a couple of things left to do;
>
> - Add more tests!
>
> - Add command line options to runtests.py to allow users to run either=
> the existing tests or the acceptance tests (or both, which should be > the default). Of course, it should still be possible to just run any > single test.

Please add:

- Proper cleanup. I just noticed the tests have left an
"acceptable_test_db" database behind.

Thanks.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


--001a113e00da7a847c0547566cc1-- --001a113e00da7a847f0547566cc3 Content-Type: text/plain; charset=US-ASCII; name="acceptance-tests-with-exclude-and-connection-cleanup.diff" Content-Disposition: attachment; filename="acceptance-tests-with-exclude-and-connection-cleanup.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iyklqt1m1 ZGlmZiAtLWdpdCBhL3JlcXVpcmVtZW50c19weTIudHh0IGIvcmVxdWlyZW1l bnRzX3B5Mi50eHQKaW5kZXggNGZiMDU4OTEuLjk5OGNkYWJmIDEwMDY0NAot LS0gYS9yZXF1aXJlbWVudHNfcHkyLnR4dAorKysgYi9yZXF1aXJlbWVudHNf cHkyLnR4dApAQCAtMzYsNiArMzYsNyBAQCB0ZXN0c2NlbmFyaW9zPT0wLjUu MAogdGVzdHRvb2xzPT0yLjAuMAogdHJhY2ViYWNrMj09MS40LjAKIHVuaXR0 ZXN0Mj09MS4xLjAKK3NlbGVuaXVtPT0zLjAuMgogV2Vya3pldWc9PTAuOS42 CiBXVEZvcm1zPT0yLjAuMgogc3FscGFyc2U9PTAuMS4xOQpkaWZmIC0tZ2l0 IGEvcmVxdWlyZW1lbnRzX3B5My50eHQgYi9yZXF1aXJlbWVudHNfcHkzLnR4 dAppbmRleCBjNDQ5MGY1Mi4uMjIzOWRlNjMgMTAwNjQ0Ci0tLSBhL3JlcXVp cmVtZW50c19weTMudHh0CisrKyBiL3JlcXVpcmVtZW50c19weTMudHh0CkBA IC0zNSw2ICszNSw3IEBAIHRlc3RzY2VuYXJpb3M9PTAuNS4wCiB0ZXN0dG9v bHM9PTIuMC4wCiB0cmFjZWJhY2syPT0xLjQuMAogdW5pdHRlc3QyPT0xLjEu MAorc2VsZW5pdW09PTMuMC4yCiBXZXJremV1Zz09MC45LjYKIFdURm9ybXM9 PTIuMC4yCiBzcWxwYXJzZT09MC4xLjE5CmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9hY2NlcHRhbmNlL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYWNj ZXB0YW5jZS9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMC4uZTY5ZGUyOWIKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2FjY2VwdGFuY2UvdGVzdHMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9h Y2NlcHRhbmNlL3Rlc3RzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwLi5lNjlkZTI5YgpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYWNjZXB0YW5jZS90ZXN0cy9jb25uZWN0X3RvX3NlcnZlcl9m ZWF0dXJlX3Rlc3QucHkgYi93ZWIvcGdhZG1pbi9hY2NlcHRhbmNlL3Rlc3Rz L2Nvbm5lY3RfdG9fc2VydmVyX2ZlYXR1cmVfdGVzdC5weQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uMDhlOTIxNTQKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi9hY2NlcHRhbmNlL3Rlc3RzL2Nvbm5l Y3RfdG9fc2VydmVyX2ZlYXR1cmVfdGVzdC5weQpAQCAtMCwwICsxLDczIEBA CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVT UUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNywgVGhl IHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlz IHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisKK2ltcG9ydCB0aW1lCisKK2Zyb20gc2VsZW5p dW0gaW1wb3J0IHdlYmRyaXZlcgorZnJvbSBzZWxlbml1bS5jb21tb24uZXhj ZXB0aW9ucyBpbXBvcnQgTm9TdWNoRWxlbWVudEV4Y2VwdGlvbgorZnJvbSBz ZWxlbml1bS53ZWJkcml2ZXIgaW1wb3J0IEFjdGlvbkNoYWlucworCitmcm9t IHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9y CisKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgb3MKK2ltcG9ydCBzaWdu YWwKK2ltcG9ydCBjb25maWcgYXMgYXBwX2NvbmZpZworZnJvbSByZWdyZXNz aW9uIGltcG9ydCB0ZXN0X3V0aWxzCitmcm9tIHJlZ3Jlc3Npb24udXRpbHMu YXBwX3N0YXJ0ZXIgaW1wb3J0IEFwcFN0YXJ0ZXIKK2Zyb20gcmVncmVzc2lv bi51dGlscy5wZ2FkbWluX3BhZ2UgaW1wb3J0IFBnYWRtaW5QYWdlCisKKwor Y2xhc3MgQ29ubmVjdHNUb1NlcnZlckZlYXR1cmVUZXN0KEJhc2VUZXN0R2Vu ZXJhdG9yKToKKyAgICAiIiIKKyAgICBUZXN0cyB0aGF0IGEgZGF0YWJhc2Ug Y29ubmVjdGlvbiBjYW4gYmUgY3JlYXRlZCBmcm9tIHRoZSBVSQorICAgICIi IgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBpZiBhcHBfY29u ZmlnLlNFUlZFUl9NT0RFOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgi Q3VycmVudGx5LCBjb25maWcgaXMgc2V0IHRvIHN0YXJ0IHBnYWRtaW4gaW4g c2VydmVyIG1vZGUuICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIlRo aXMgdGVzdCBkb2Vzbid0IGtub3cgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHNv IGRvZXNuJ3Qgd29yayBpbiBzZXJ2ZXIgbW9kZSIpCisKKyAgICAgICAgZHJp dmVyID0gd2ViZHJpdmVyLkNocm9tZSgpCisgICAgICAgIHNlbGYuYXBwX3N0 YXJ0ZXIgPSBBcHBTdGFydGVyKGRyaXZlciwgYXBwX2NvbmZpZykKKyAgICAg ICAgc2VsZi5wYWdlID0gUGdhZG1pblBhZ2UoZHJpdmVyLCBhcHBfY29uZmln KQorCisgICAgICAgIHNlbGYuYXBwX3N0YXJ0ZXIuc3RhcnRfYXBwKCkKKyAg ICAgICAgc2VsZi5wYWdlLndhaXRfZm9yX2FwcCgpCisKKworICAgIGRlZiBy dW5UZXN0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFwcF9j b25maWcuQVBQX05BTUUsIHNlbGYucGFnZS5kcml2ZXIudGl0bGUpCisgICAg ICAgIHNlbGYucGFnZS53YWl0X2Zvcl9zcGlubmVyX3RvX2Rpc2FwcGVhcigp CisKKyAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoIi8vKltAY2xh c3M9J2FjaVRyZWVUZXh0JyBhbmQgLj0nU2VydmVycyddIikuY2xpY2soKQor ICAgICAgICBzZWxmLnBhZ2UuZHJpdmVyLmZpbmRfZWxlbWVudF9ieV9saW5r X3RleHQoIk9iamVjdCIpLmNsaWNrKCkKKyAgICAgICAgQWN0aW9uQ2hhaW5z KHNlbGYucGFnZS5kcml2ZXIpIFwKKyAgICAgICAgICAgIC5tb3ZlX3RvX2Vs ZW1lbnQoc2VsZi5wYWdlLmRyaXZlci5maW5kX2VsZW1lbnRfYnlfbGlua190 ZXh0KCJDcmVhdGUiKSkgXAorICAgICAgICAgICAgLnBlcmZvcm0oKQorICAg ICAgICBzZWxmLnBhZ2UuZmluZF9ieV9wYXJ0aWFsX2xpbmtfdGV4dCgiU2Vy dmVyLi4uIikuY2xpY2soKQorCisgICAgICAgIHNlcnZlcl9jb25maWcgPSBz ZWxmLnNlcnZlcgorICAgICAgICBzZWxmLnBhZ2UuZmlsbF9pbnB1dF9ieV9m aWVsZF9uYW1lKCJuYW1lIiwgc2VydmVyX2NvbmZpZ1snbmFtZSddKQorICAg ICAgICBzZWxmLnBhZ2UuZmluZF9ieV9wYXJ0aWFsX2xpbmtfdGV4dCgiQ29u bmVjdGlvbiIpLmNsaWNrKCkKKyAgICAgICAgc2VsZi5wYWdlLmZpbGxfaW5w dXRfYnlfZmllbGRfbmFtZSgiaG9zdCIsIHNlcnZlcl9jb25maWdbJ2hvc3Qn XSkKKyAgICAgICAgc2VsZi5wYWdlLmZpbGxfaW5wdXRfYnlfZmllbGRfbmFt ZSgicG9ydCIsIHNlcnZlcl9jb25maWdbJ3BvcnQnXSkKKyAgICAgICAgc2Vs Zi5wYWdlLmZpbGxfaW5wdXRfYnlfZmllbGRfbmFtZSgidXNlcm5hbWUiLCBz ZXJ2ZXJfY29uZmlnWyd1c2VybmFtZSddKQorICAgICAgICBzZWxmLnBhZ2Uu ZmlsbF9pbnB1dF9ieV9maWVsZF9uYW1lKCJwYXNzd29yZCIsIHNlcnZlcl9j b25maWdbJ2RiX3Bhc3N3b3JkJ10pCisgICAgICAgIHNlbGYucGFnZS5maW5k X2J5X3hwYXRoKCIvL2J1dHRvbltjb250YWlucyguLCdTYXZlJyldIikuY2xp Y2soKQorCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X3hwYXRoKCIvLypb QGlkPSd0cmVlJ10vLypbLj0nIiArIHNlcnZlcl9jb25maWdbJ25hbWUnXSAr ICInXSIpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIHNl bGYucGFnZS5yZW1vdmVfc2VydmVyKHNlbGYuc2VydmVyKQorICAgICAgICBz ZWxmLmFwcF9zdGFydGVyLnN0b3BfYXBwKCkKKworICAgIGRlZiBmYWlsdXJl RXhjZXB0aW9uKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNl bGYucGFnZS5kcml2ZXIuc2F2ZV9zY3JlZW5zaG90KCcvdG1wL3BnYWRtaW5f dGVzdF9zY3JlZW5zaG90LnBuZycpCisgICAgICAgIHJldHVybiBBc3NlcnRp b25FcnJvcigqYXJncywgKiprd2FyZ3MpCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9hY2NlcHRhbmNlL3Rlc3RzL3NxbF90ZW1wbGF0ZV9zZWxlY3Rpb25f YnlfcG9zdGdyZXNfdmVyc2lvbl93b3Jrc19mZWF0dXJlX3Rlc3QucHkgYi93 ZWIvcGdhZG1pbi9hY2NlcHRhbmNlL3Rlc3RzL3NxbF90ZW1wbGF0ZV9zZWxl Y3Rpb25fYnlfcG9zdGdyZXNfdmVyc2lvbl93b3Jrc19mZWF0dXJlX3Rlc3Qu cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLmVkNmMw ZDZiCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYWNjZXB0YW5j ZS90ZXN0cy9zcWxfdGVtcGxhdGVfc2VsZWN0aW9uX2J5X3Bvc3RncmVzX3Zl cnNpb25fd29ya3NfZmVhdHVyZV90ZXN0LnB5CkBAIC0wLDAgKzEsNjggQEAK K2ltcG9ydCB0aW1lCitmcm9tIHNlbGVuaXVtIGltcG9ydCB3ZWJkcml2ZXIK K2Zyb20gc2VsZW5pdW0ud2ViZHJpdmVyIGltcG9ydCBBY3Rpb25DaGFpbnMK KworaW1wb3J0IGNvbmZpZyBhcyBhcHBfY29uZmlnCitmcm9tIHBnYWRtaW4u dXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCitmcm9tIHJl Z3Jlc3Npb24gaW1wb3J0IHRlc3RfdXRpbHMKK2Zyb20gcmVncmVzc2lvbi51 dGlscy5hcHBfc3RhcnRlciBpbXBvcnQgQXBwU3RhcnRlcgorZnJvbSByZWdy ZXNzaW9uLnV0aWxzLnBnYWRtaW5fcGFnZSBpbXBvcnQgUGdhZG1pblBhZ2UK KworCitjbGFzcyBTUUxUZW1wbGF0ZVNlbGVjdGlvbkJ5UG9zdGdyZXNWZXJz aW9uV29ya3NGZWF0dXJlVGVzdChCYXNlVGVzdEdlbmVyYXRvcik6CisgICAg ZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBpZiBhcHBfY29uZmlnLlNFUlZF Ul9NT0RFOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgiQ3VycmVudGx5 LCBjb25maWcgaXMgc2V0IHRvIHN0YXJ0IHBnYWRtaW4gaW4gc2VydmVyIG1v ZGUuICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgdGVzdCBk b2Vzbid0IGtub3cgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIHNvIGRvZXNuJ3Qg d29yayBpbiBzZXJ2ZXIgbW9kZSIpCisKKyAgICAgICAgZHJpdmVyID0gd2Vi ZHJpdmVyLkNocm9tZSgpCisgICAgICAgIHNlbGYuYXBwX3N0YXJ0ZXIgPSBB cHBTdGFydGVyKGRyaXZlciwgYXBwX2NvbmZpZykKKyAgICAgICAgc2VsZi5w YWdlID0gUGdhZG1pblBhZ2UoZHJpdmVyLCBhcHBfY29uZmlnKQorCisgICAg ICAgIHRlc3RfdXRpbHMuY3JlYXRlX2RhdGFiYXNlKHNlbGYuc2VydmVyLCAi YWNjZXB0YW5jZV90ZXN0X2RiIikKKworICAgICAgICBzZWxmLmFwcF9zdGFy dGVyLnN0YXJ0X2FwcCgpCisgICAgICAgIHNlbGYucGFnZS53YWl0X2Zvcl9h cHAoKQorCisgICAgICAgIHNlbGYucGFnZS5hZGRfc2VydmVyKHNlbGYuc2Vy dmVyKQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgIHRlc3Rf dXRpbHMuY3JlYXRlX3RhYmxlKHNlbGYuc2VydmVyLCAiYWNjZXB0YW5jZV90 ZXN0X2RiIiwgInRlc3RfdGFibGUiKQorCisgICAgICAgIHNlbGYucGFnZS50 b2dnbGVfb3Blbl90cmVlX2l0ZW0oc2VsZi5zZXJ2ZXJbJ25hbWUnXSkKKyAg ICAgICAgc2VsZi5wYWdlLnRvZ2dsZV9vcGVuX3RyZWVfaXRlbSgnRGF0YWJh c2VzJykKKyAgICAgICAgc2VsZi5wYWdlLnRvZ2dsZV9vcGVuX3RyZWVfaXRl bSgnYWNjZXB0YW5jZV90ZXN0X2RiJykKKyAgICAgICAgc2VsZi5wYWdlLnRv Z2dsZV9vcGVuX3RyZWVfaXRlbSgnU2NoZW1hcycpCisgICAgICAgIHNlbGYu cGFnZS50b2dnbGVfb3Blbl90cmVlX2l0ZW0oJ3B1YmxpYycpCisgICAgICAg IHNlbGYucGFnZS5maW5kX2J5X3hwYXRoKCIvLypbQGlkPSd0cmVlJ10vLypb QGNsYXNzPSdhY2lUcmVlVGV4dCcgYW5kIC49J1RyaWdnZXIgRnVuY3Rpb25z J10iKS5jbGljaygpCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X3BhcnRp YWxfbGlua190ZXh0KCJPYmplY3QiKS5jbGljaygpCisgICAgICAgIEFjdGlv bkNoYWlucyhzZWxmLnBhZ2UuZHJpdmVyKSBcCisgICAgICAgICAgICAubW92 ZV90b19lbGVtZW50KHNlbGYucGFnZS5kcml2ZXIuZmluZF9lbGVtZW50X2J5 X2xpbmtfdGV4dCgiQ3JlYXRlIikpIFwKKyAgICAgICAgICAgIC5wZXJmb3Jt KCkKKyAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfcGFydGlhbF9saW5rX3Rl eHQoIlRyaWdnZXIgZnVuY3Rpb24uLi4iKS5jbGljaygpCisgICAgICAgIHNl bGYucGFnZS5maWxsX2lucHV0X2J5X2ZpZWxkX25hbWUoIm5hbWUiLCAidGVz dC10cmlnZ2VyLWZ1bmN0aW9uIikKKyAgICAgICAgc2VsZi5wYWdlLmZpbmRf YnlfcGFydGlhbF9saW5rX3RleHQoIkRlZmluaXRpb24iKS5jbGljaygpCisg ICAgICAgIHNlbGYucGFnZS5maWxsX2NvZGVtaXJyb3JfYXJlYV93aXRoKAor IiIiQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gbG9nX2xhc3RfbmFtZV9j aGFuZ2VzKCkKK1JFVFVSTlMgVFJJR0dFUiBBUworJEJPRFkkCitCRUdJTgor CitFTkQ7CiskQk9EWSQKKyIiIgorICAgICAgICApCisgICAgICAgIHNlbGYu cGFnZS5maW5kX2J5X3BhcnRpYWxfbGlua190ZXh0KCJTUUwiKS5jbGljaygp CisKKyAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoIi8vKltjb250 YWlucyhAY2xhc3MsJ0NvZGVNaXJyb3ItbGluZXMnKSBhbmQgY29udGFpbnMo LiwnTEVBS1BST09GJyldIikKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToK KyAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoIi8vYnV0dG9uW2Nv bnRhaW5zKC4sJ0NhbmNlbCcpXSIpLmNsaWNrKCkKKyAgICAgICAgc2VsZi5w YWdlLnJlbW92ZV9zZXJ2ZXIoc2VsZi5zZXJ2ZXIpCisgICAgICAgIHNlbGYu YXBwX3N0YXJ0ZXIuc3RvcF9hcHAoKQorICAgICAgICBjb25uZWN0aW9uID0g dGVzdF91dGlscy5nZXRfZGJfY29ubmVjdGlvbihzZWxmLnNlcnZlclsnZGIn XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3VzZXJuYW1lJ10sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu c2VydmVyWydkYl9wYXNzd29yZCddLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsnaG9z dCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWxmLnNlcnZlclsncG9ydCddKQorICAgICAgICB0ZXN0 X3V0aWxzLmRyb3BfZGF0YWJhc2UoY29ubmVjdGlvbiwgImFjY2VwdGFuY2Vf dGVzdF9kYiIpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi91dGlscy9yb3V0 ZS5weSBiL3dlYi9wZ2FkbWluL3V0aWxzL3JvdXRlLnB5CmluZGV4IGYxOGQy YzE4Li45OTY4OTJhNiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdXRpbHMv cm91dGUucHkKKysrIGIvd2ViL3BnYWRtaW4vdXRpbHMvcm91dGUucHkKQEAg LTU0LDI3ICs1NCwyMyBAQCBjbGFzcyBUZXN0c0dlbmVyYXRvclJlZ2lzdHJ5 KEFCQ01ldGEpOgogICAgICAgICBBQkNNZXRhLl9faW5pdF9fKGNscywgbmFt ZSwgYmFzZXMsIGQpCiAKICAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgbG9h ZF9nZW5lcmF0b3JzKGNscywgcGtnKToKKyAgICBkZWYgbG9hZF9nZW5lcmF0 b3JzKGNscywgcGtnX3Jvb3QsIGV4Y2x1ZGVfcGtncyk6CiAKICAgICAgICAg Y2xzLnJlZ2lzdHJ5ID0gZGljdCgpCiAKKyAgICAgICAgYWxsX21vZHVsZXMg PSBbXQorCisgICAgICAgIGFsbF9tb2R1bGVzICs9IGZpbmRfbW9kdWxlcyhw a2dfcm9vdCwgRmFsc2UsIFRydWUpCisKICAgICAgICAgIyBDaGVjayBmb3Ig U0VSVkVSIG1vZGUKLSAgICAgICAgaWYgY29uZmlnLlNFUlZFUl9NT0RFOgot ICAgICAgICAgICAgZm9yIG1vZHVsZV9uYW1lIGluIGZpbmRfbW9kdWxlcyhw a2csIEZhbHNlLCBUcnVlKToKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAg ICAgICAgICAgICAgICAgIGlmICJ0ZXN0cy4iIGluIHN0cihtb2R1bGVfbmFt ZSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpbXBvcnRfbW9kdWxlKG1v ZHVsZV9uYW1lKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJv cjoKLSAgICAgICAgICAgICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4Yyhm aWxlPXN5cy5zdGRlcnIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBm b3IgbW9kdWxlX25hbWUgaW4gZmluZF9tb2R1bGVzKHBrZywgRmFsc2UsIFRy dWUpOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAg ICAgIyBFeGNsdWRlIHRoZSB0ZXN0IGNhc2VzIGluIGJyb3dzZXIgbm9kZSBp ZiBTRVJWRVJfTU9ERQotICAgICAgICAgICAgICAgICAgICAjIGlzIEZhbHNl Ci0gICAgICAgICAgICAgICAgICAgIGlmICJwZ2FkbWluLmJyb3dzZXIudGVz dHMiIG5vdCBpbiBtb2R1bGVfbmFtZToKLSAgICAgICAgICAgICAgICAgICAg ICAgIGltcG9ydF9tb2R1bGUobW9kdWxlX25hbWUpCi0gICAgICAgICAgICAg ICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICAgICAgICAgICAgICB0 cmFjZWJhY2sucHJpbnRfZXhjKGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAg Zm9yIG1vZHVsZV9uYW1lIGluIGFsbF9tb2R1bGVzOgorICAgICAgICAgICAg dHJ5OgorICAgICAgICAgICAgICAgIGlmICJ0ZXN0cy4iIGluIHN0cihtb2R1 bGVfbmFtZSkgYW5kIG5vdCBhbnkoCisgICAgICAgICAgICAgICAgICAgICAg ICBzdHIobW9kdWxlX25hbWUpLnN0YXJ0c3dpdGgoJ3BnYWRtaW4uJyArIHN0 cihleGNsdWRlX3BrZykpIGZvciBleGNsdWRlX3BrZyBpbiBleGNsdWRlX3Br Z3MKKyAgICAgICAgICAgICAgICApOgorICAgICAgICAgICAgICAgICAgICBp bXBvcnRfbW9kdWxlKG1vZHVsZV9uYW1lKQorICAgICAgICAgICAgZXhjZXB0 IEltcG9ydEVycm9yOgorICAgICAgICAgICAgICAgIHRyYWNlYmFjay5wcmlu dF9leGMoZmlsZT1zeXMuc3RkZXJyKQogCiAKIGltcG9ydCBzaXgKZGlmZiAt LWdpdCBhL3dlYi9yZWdyZXNzaW9uLy5naXRpZ25vcmUgYi93ZWIvcmVncmVz c2lvbi8uZ2l0aWdub3JlCmluZGV4IDA1ODE4MTBiLi43MjNmY2U3ZSAxMDA2 NDQKLS0tIGEvd2ViL3JlZ3Jlc3Npb24vLmdpdGlnbm9yZQorKysgYi93ZWIv cmVncmVzc2lvbi8uZ2l0aWdub3JlCkBAIC0xLDQgKzEsNSBAQAogcGFyZW50 X2lkLnBrbAogcmVncmVzc2lvbi5sb2cKK3Rlc3RfZ3JlZW5wbHVtX2NvbmZp Zy5qc29uCiB0ZXN0X2FkdmFuY2VkX2NvbmZpZy5qc29uCiB0ZXN0X2NvbmZp Zy5qc29uCmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi9SRUFETUUgYi93 ZWIvcmVncmVzc2lvbi9SRUFETUUKaW5kZXggOGNjMjk5ODcuLjViMDc3ZDgx IDEwMDY0NAotLS0gYS93ZWIvcmVncmVzc2lvbi9SRUFETUUKKysrIGIvd2Vi L3JlZ3Jlc3Npb24vUkVBRE1FCkBAIC0xMDMsNiArMTAzLDEwIEBAIFRlc3Qg RGF0YSBEZXRhaWxzCiBFeGVjdXRpb246CiAtLS0tLS0tLS0tLQogCistIEZv ciBhY2NlcHRhbmNlIHRlc3RzIHRvIHJ1biBhcyBwYXJ0IG9mIHRoZSBlbnRp cmUgdGVzdCBzdWl0ZSwgQ2hyb21lIGFuZCBjaHJvbWVkcml2ZXIgbmVlZCB0 byBiZSBpbnN0YWxsZWQ6CisgIGdldCBjaHJvbWVkcml2ZXIgZnJvbSBodHRw czovL3NpdGVzLmdvb2dsZS5jb20vYS9jaHJvbWl1bS5vcmcvY2hyb21lZHJp dmVyL2Rvd25sb2FkcyBvciBhIHBhY2thZ2UgbWFuYWdlcgorICBhbmQgbWFr ZSBzdXJlIGl0IGlzIG9uIHRoZSBQQVRICisKIC0gVGhlIHRlc3QgZnJhbWV3 b3JrIGlzIG1vZHVsYXIgYW5kIHBsdWdnYWJsZSBhbmQgZHluYW1pY2FsbHkg bG9jYXRlcyB0ZXN0cwogICBmb3IgbW9kdWxlcyB3aGljaCBhcmUgZGlzY292 ZXJlZCBhdCBydW50aW1lLiBBbGwgdGVzdCBjYXNlcyBhcmUgZm91bmQKICAg YW5kIHJlZ2lzdGVyZWQgYXV0b21hdGljYWxseSBieSBpdHMgbW9kdWxlIG5h bWUgaW4KQEAgLTEyMiwzICsxMjYsOCBAQCBFeGVjdXRpb246CiAKICAgICAg RXhhbXBsZSAyKSBSdW4gdGVzdCBmcmFtZXdvcmsgZm9yICdkYXRhYmFzZScg bm9kZQogICAgICBydW4gJ3B5dGhvbiBydW50ZXN0cy5weSAtLXBrZyBicm93 c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMnCisKKy0gRXhj bHVkZSBhIHBhY2thZ2UgYW5kIGl0cyBzdWJwYWNrYWdlcyB3aGVuIHJ1bm5p bmcgdGVzdHM6CisKKyAgICBFeGFtcGxlOiBleGNsdWRlIGFjY2VwdGFuY2Ug dGVzdHMgYnV0IHJ1biBhbGwgb3RoZXJzOgorICAgIHJ1biAncHl0aG9uIHJ1 bnRlc3RzLnB5IC0tZXhjbHVkZSBhY2NlcHRhbmNlJwpkaWZmIC0tZ2l0IGEv d2ViL3JlZ3Jlc3Npb24vcnVudGVzdHMucHkgYi93ZWIvcmVncmVzc2lvbi9y dW50ZXN0cy5weQppbmRleCA4ZDJhODg2YS4uY2QzNzJiNGUgMTAwNjQ0Ci0t LSBhL3dlYi9yZWdyZXNzaW9uL3J1bnRlc3RzLnB5CisrKyBiL3dlYi9yZWdy ZXNzaW9uL3J1bnRlc3RzLnB5CkBAIC0xMzMsMTIgKzEzMywyMCBAQCBkZWYg Z2V0X3Rlc3RfbW9kdWxlcyhhcmd1bWVudHMpOgogCiAgICAgZnJvbSBwZ2Fk bWluLnV0aWxzLnJvdXRlIGltcG9ydCBUZXN0c0dlbmVyYXRvclJlZ2lzdHJ5 CiAKKyAgICBleGNsdWRlX3BrZ3MgPSBbXQorCisgICAgaWYgbm90IGNvbmZp Zy5TRVJWRVJfTU9ERToKKyAgICAgICAgZXhjbHVkZV9wa2dzLmFwcGVuZCgi YnJvd3Nlci50ZXN0cyIpCisgICAgaWYgJ2V4Y2x1ZGUnIGluIGFyZ3VtZW50 czoKKyAgICAgICAgZXhjbHVkZV9wa2dzLmFwcGVuZChhcmd1bWVudHNbJ2V4 Y2x1ZGUnXSkKKwogICAgICMgTG9hZCB0aGUgdGVzdCBtb2R1bGVzIHdoaWNo IGFyZSBpbiBnaXZlbiBwYWNrYWdlKGkuZS4gaW4gYXJndW1lbnRzLnBrZykK ICAgICBpZiBhcmd1bWVudHNbJ3BrZyddIGlzIE5vbmUgb3IgYXJndW1lbnRz Wydwa2cnXSA9PSAiYWxsIjoKLSAgICAgICAgVGVzdHNHZW5lcmF0b3JSZWdp c3RyeS5sb2FkX2dlbmVyYXRvcnMoJ3BnYWRtaW4nKQorICAgICAgICBUZXN0 c0dlbmVyYXRvclJlZ2lzdHJ5LmxvYWRfZ2VuZXJhdG9ycygncGdhZG1pbics IGV4Y2x1ZGVfcGtncykKICAgICBlbHNlOgogICAgICAgICBUZXN0c0dlbmVy YXRvclJlZ2lzdHJ5LmxvYWRfZ2VuZXJhdG9ycygncGdhZG1pbi4lcy50ZXN0 cycgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBhcmd1bWVudHNbJ3BrZyddKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVudHNbJ3BrZydd LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBleGNsdWRlX3BrZ3MpCiAKICAgICAjIFNvcnQgbW9kdWxlIGxpc3Qg c28gdGhhdCB0ZXN0IHN1aXRlIGV4ZWN1dGVzIHRoZSB0ZXN0IGNhc2VzIHNl cXVlbnRpYWxseQogICAgIG1vZHVsZV9saXN0ID0gVGVzdHNHZW5lcmF0b3JS ZWdpc3RyeS5yZWdpc3RyeS5pdGVtcygpCkBAIC0xNTksNiArMTY3LDggQEAg ZGVmIGFkZF9hcmd1bWVudHMoKToKICAgICBwYXJzZXIgPSBhcmdwYXJzZS5B cmd1bWVudFBhcnNlcihkZXNjcmlwdGlvbj0nVGVzdCBzdWl0ZSBmb3IgcGdB ZG1pbjQnKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tcGtnJywgaGVs cD0nRXhlY3V0ZXMgdGhlIHRlc3QgY2FzZXMgb2YgcGFydGljdWxhcicKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBwYWNrYWdl JykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWV4Y2x1ZGUnLCBoZWxw PSdTa2lwcyBleGVjdXRpb24gb2YgdGhlIHRlc3QgJworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nhc2VzIG9mIHBhcnRp Y3VsYXIgcGFja2FnZScpCiAgICAgYXJnID0gcGFyc2VyLnBhcnNlX2FyZ3Mo KQogCiAgICAgcmV0dXJuIGFyZwpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Np b24vdGVzdF91dGlscy5weSBiL3dlYi9yZWdyZXNzaW9uL3Rlc3RfdXRpbHMu cHkKaW5kZXggMWY5ZjA1MjIuLjY4ZjM2Y2JjIDEwMDY0NAotLS0gYS93ZWIv cmVncmVzc2lvbi90ZXN0X3V0aWxzLnB5CisrKyBiL3dlYi9yZWdyZXNzaW9u L3Rlc3RfdXRpbHMucHkKQEAgLTEzNCw2ICsxMzQsMjQgQEAgZGVmIGNyZWF0 ZV9kYXRhYmFzZShzZXJ2ZXIsIGRiX25hbWUpOgogICAgICAgICB0cmFjZWJh Y2sucHJpbnRfZXhjKGZpbGU9c3lzLnN0ZGVycikKIAogCitkZWYgY3JlYXRl X3RhYmxlKHNlcnZlciwgZGJfbmFtZSwgdGFibGVfbmFtZSk6CisgICAgdHJ5 OgorICAgICAgICBjb25uZWN0aW9uID0gZ2V0X2RiX2Nvbm5lY3Rpb24oZGJf bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlcnZlclsndXNlcm5hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlcnZlclsnZGJfcGFzc3dvcmQnXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsnaG9z dCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VydmVyWydwb3J0J10pCisgICAgICAgIG9sZF9pc29sYXRpb25fbGV2ZWwg PSBjb25uZWN0aW9uLmlzb2xhdGlvbl9sZXZlbAorICAgICAgICBjb25uZWN0 aW9uLnNldF9pc29sYXRpb25fbGV2ZWwoMCkKKyAgICAgICAgcGdfY3Vyc29y ID0gY29ubmVjdGlvbi5jdXJzb3IoKQorICAgICAgICBwZ19jdXJzb3IuZXhl Y3V0ZSgnJydDUkVBVEUgVEFCTEUgIiVzIiAobmFtZSBWQVJDSEFSLCB2YWx1 ZSBOVU1FUklDKScnJyAlIHRhYmxlX25hbWUpCisgICAgICAgIHBnX2N1cnNv ci5leGVjdXRlKCcnJ0lOU0VSVCBJTlRPICIlcyIgVkFMVUVTICgnU29tZS1O YW1lJywgNiknJycgJSB0YWJsZV9uYW1lKQorICAgICAgICBjb25uZWN0aW9u LnNldF9pc29sYXRpb25fbGV2ZWwob2xkX2lzb2xhdGlvbl9sZXZlbCkKKyAg ICAgICAgY29ubmVjdGlvbi5jb21taXQoKQorCisgICAgZXhjZXB0IEV4Y2Vw dGlvbjoKKyAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YyhmaWxlPXN5cy5z dGRlcnIpCisKIGRlZiBkcm9wX2RhdGFiYXNlKGNvbm5lY3Rpb24sIGRhdGFi YXNlX25hbWUpOgogICAgICIiIlRoaXMgZnVuY3Rpb24gdXNlZCB0byBkcm9w IHRoZSBkYXRhYmFzZSIiIgogICAgIGlmIGRhdGFiYXNlX25hbWUgbm90IGlu IFsicG9zdGdyZXMiLCAidGVtcGxhdGUxIiwgInRlbXBsYXRlMCJdOgpkaWZm IC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vdXRpbHMvYXBwX3N0YXJ0ZXIucHkg Yi93ZWIvcmVncmVzc2lvbi91dGlscy9hcHBfc3RhcnRlci5weQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uZmZmZDk1MjYKLS0tIC9k ZXYvbnVsbAorKysgYi93ZWIvcmVncmVzc2lvbi91dGlscy9hcHBfc3RhcnRl ci5weQpAQCAtMCwwICsxLDI3IEBACitpbXBvcnQgb3MKK2ltcG9ydCBzdWJw cm9jZXNzCisKK2ltcG9ydCBzaWduYWwKKworCitjbGFzcyBBcHBTdGFydGVy OgorICAgICIiIgorICAgIEhlbHBlciBmb3Igc3RhcnRpbmcgdGhlIGZ1bGwg cGdhZG1pbjQgYXBwIGFuZCBsb2FkaW5nIHRoZSBwYWdlIHZpYSBzZWxlbml1 bQorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRyaXZlciwg YXBwX2NvbmZpZyk6CisgICAgICAgIHNlbGYuZHJpdmVyID0gZHJpdmVyCisg ICAgICAgIHNlbGYuYXBwX2NvbmZpZyA9IGFwcF9jb25maWcKKworICAgIGRl ZiBzdGFydF9hcHAoc2VsZik6CisgICAgICAgIHNlbGYucGdhZG1pbl9wcm9j ZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihbInB5dGhvbiIsICJwZ0FkbWluNC5w eSJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2hlbGw9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVleGVjX2ZuPW9zLnNldHNp ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0ZGVycj1vcGVuKG9zLmRldm51bGwsICd3JykpCisKKyAgICAg ICAgcHJpbnQoIm9wZW5pbmcgYnJvd3NlciIpCisgICAgICAgIHNlbGYuZHJp dmVyLmdldCgiaHR0cDovLyIgKyBzZWxmLmFwcF9jb25maWcuREVGQVVMVF9T RVJWRVIgKyAiOiIgKyBzdHIoc2VsZi5hcHBfY29uZmlnLkRFRkFVTFRfU0VS VkVSX1BPUlQpKQorCisgICAgZGVmIHN0b3BfYXBwKHNlbGYpOgorICAgICAg ICBzZWxmLmRyaXZlci5jbG9zZSgpCisgICAgICAgIG9zLmtpbGxwZyhvcy5n ZXRwZ2lkKHNlbGYucGdhZG1pbl9wcm9jZXNzLnBpZCksIHNpZ25hbC5TSUdU RVJNKQpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vdXRpbHMvcGdhZG1p bl9wYWdlLnB5IGIvd2ViL3JlZ3Jlc3Npb24vdXRpbHMvcGdhZG1pbl9wYWdl LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi40ZTMz NGU4MAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9yZWdyZXNzaW9uL3V0aWxz L3BnYWRtaW5fcGFnZS5weQpAQCAtMCwwICsxLDEwNiBAQAoraW1wb3J0IHRp bWUKK2Zyb20gc2VsZW5pdW0uY29tbW9uLmV4Y2VwdGlvbnMgaW1wb3J0IE5v U3VjaEVsZW1lbnRFeGNlcHRpb24KK2Zyb20gc2VsZW5pdW0ud2ViZHJpdmVy IGltcG9ydCBBY3Rpb25DaGFpbnMKKworCitjbGFzcyBQZ2FkbWluUGFnZToK KyAgICAiIiIKKyAgICBIZWxwZXIgY2xhc3MgZm9yIGludGVyYWN0aW5nIHdp dGggdGhlIHBhZ2UsIGdpdmVuIGEgc2VsZW5pdW0gZHJpdmVyCisgICAgIiIi CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRyaXZlciwgYXBwX2NvbmZpZyk6 CisgICAgICAgIHNlbGYuZHJpdmVyID0gZHJpdmVyCisgICAgICAgIHNlbGYu YXBwX2NvbmZpZyA9IGFwcF9jb25maWcKKworICAgIGRlZiBhZGRfc2VydmVy KHNlbGYsIHNlcnZlcl9jb25maWcpOgorICAgICAgICBzZWxmLndhaXRfZm9y X3NwaW5uZXJfdG9fZGlzYXBwZWFyKCkKKworICAgICAgICBzZWxmLmZpbmRf YnlfeHBhdGgoIi8vKltAY2xhc3M9J2FjaVRyZWVUZXh0JyBhbmQgY29udGFp bnMoLiwnU2VydmVycycpXSIpLmNsaWNrKCkKKyAgICAgICAgc2VsZi5kcml2 ZXIuZmluZF9lbGVtZW50X2J5X2xpbmtfdGV4dCgiT2JqZWN0IikuY2xpY2so KQorICAgICAgICBBY3Rpb25DaGFpbnMoc2VsZi5kcml2ZXIpIFwKKyAgICAg ICAgICAgIC5tb3ZlX3RvX2VsZW1lbnQoc2VsZi5kcml2ZXIuZmluZF9lbGVt ZW50X2J5X2xpbmtfdGV4dCgiQ3JlYXRlIikpIFwKKyAgICAgICAgICAgIC5w ZXJmb3JtKCkKKyAgICAgICAgc2VsZi5maW5kX2J5X3BhcnRpYWxfbGlua190 ZXh0KCJTZXJ2ZXIuLi4iKS5jbGljaygpCisKKyAgICAgICAgc2VsZi5maWxs X2lucHV0X2J5X2ZpZWxkX25hbWUoIm5hbWUiLCBzZXJ2ZXJfY29uZmlnWydu YW1lJ10pCisgICAgICAgIHNlbGYuZmluZF9ieV9wYXJ0aWFsX2xpbmtfdGV4 dCgiQ29ubmVjdGlvbiIpLmNsaWNrKCkKKyAgICAgICAgc2VsZi5maWxsX2lu cHV0X2J5X2ZpZWxkX25hbWUoImhvc3QiLCBzZXJ2ZXJfY29uZmlnWydob3N0 J10pCisgICAgICAgIHNlbGYuZmlsbF9pbnB1dF9ieV9maWVsZF9uYW1lKCJw b3J0Iiwgc2VydmVyX2NvbmZpZ1sncG9ydCddKQorICAgICAgICBzZWxmLmZp bGxfaW5wdXRfYnlfZmllbGRfbmFtZSgidXNlcm5hbWUiLCBzZXJ2ZXJfY29u ZmlnWyd1c2VybmFtZSddKQorICAgICAgICBzZWxmLmZpbGxfaW5wdXRfYnlf ZmllbGRfbmFtZSgicGFzc3dvcmQiLCBzZXJ2ZXJfY29uZmlnWydkYl9wYXNz d29yZCddKQorICAgICAgICBzZWxmLmZpbmRfYnlfeHBhdGgoIi8vYnV0dG9u W2NvbnRhaW5zKC4sJ1NhdmUnKV0iKS5jbGljaygpCisKKyAgICAgICAgc2Vs Zi5maW5kX2J5X3hwYXRoKCIvLypbQGlkPSd0cmVlJ10vLypbLj0nIiArIHNl cnZlcl9jb25maWdbJ25hbWUnXSArICInXSIpCisKKyAgICBkZWYgcmVtb3Zl X3NlcnZlcihzZWxmLCBzZXJ2ZXJfY29uZmlnKToKKyAgICAgICAgc2VsZi5m aW5kX2J5X3hwYXRoKCIvLypbQGlkPSd0cmVlJ10vLypbLj0nIiArIHNlcnZl cl9jb25maWdbJ25hbWUnXSArICInIGFuZCBAY2xhc3M9J2FjaVRyZWVJdGVt J10iKS5jbGljaygpCisgICAgICAgIHNlbGYuZmluZF9ieV9wYXJ0aWFsX2xp bmtfdGV4dCgiT2JqZWN0IikuY2xpY2soKQorICAgICAgICBzZWxmLmZpbmRf YnlfcGFydGlhbF9saW5rX3RleHQoIkRlbGV0ZS9Ecm9wIikuY2xpY2soKQor ICAgICAgICB0aW1lLnNsZWVwKDAuNSkKKyAgICAgICAgc2VsZi5maW5kX2J5 X3hwYXRoKCIvL2J1dHRvbltjb250YWlucyguLCdPSycpXSIpLmNsaWNrKCkK KworICAgIGRlZiB0b2dnbGVfb3Blbl90cmVlX2l0ZW0oc2VsZiwgdHJlZV9p dGVtX3RleHQpOgorICAgICAgICBzZWxmLmZpbmRfYnlfeHBhdGgoIi8vKltA aWQ9J3RyZWUnXS8vKlsuPSciICsgdHJlZV9pdGVtX3RleHQgKyAiJ10vLi4v KltAY2xhc3M9J2FjaVRyZWVCdXR0b24nXSIpLmNsaWNrKCkKKworICAgIGRl ZiBmaW5kX2J5X3hwYXRoKHNlbGYsIHhwYXRoKToKKyAgICAgICAgcmV0dXJu IHNlbGYud2FpdF9mb3JfZWxlbWVudChsYW1iZGE6IHNlbGYuZHJpdmVyLmZp bmRfZWxlbWVudF9ieV94cGF0aCh4cGF0aCkpCisKKyAgICBkZWYgZmluZF9i eV9pZChzZWxmLCBlbGVtZW50X2lkKToKKyAgICAgICAgcmV0dXJuIHNlbGYu d2FpdF9mb3JfZWxlbWVudChsYW1iZGE6IHNlbGYuZHJpdmVyLmZpbmRfZWxl bWVudF9ieV9pZChlbGVtZW50X2lkKSkKKworICAgIGRlZiBmaW5kX2J5X3Bh cnRpYWxfbGlua190ZXh0KHNlbGYsIGxpbmtfdGV4dCk6CisgICAgICAgIHJl dHVybiBzZWxmLndhaXRfZm9yX2VsZW1lbnQobGFtYmRhOiBzZWxmLmRyaXZl ci5maW5kX2VsZW1lbnRfYnlfcGFydGlhbF9saW5rX3RleHQobGlua190ZXh0 KSkKKworICAgIGRlZiBmaWxsX2lucHV0X2J5X2ZpZWxkX25hbWUoc2VsZiwg ZmllbGRfbmFtZSwgZmllbGRfY29udGVudCk6CisgICAgICAgIHNlbGYuZmlu ZF9ieV94cGF0aCgiLy9pbnB1dFtAbmFtZT0nIiArIGZpZWxkX25hbWUgKyAi J10iKS5jbGVhcigpCisgICAgICAgIHNlbGYuZmluZF9ieV94cGF0aCgiLy9p bnB1dFtAbmFtZT0nIiArIGZpZWxkX25hbWUgKyAiJ10iKS5zZW5kX2tleXMo CisgICAgICAgICAgICBmaWVsZF9jb250ZW50KQorCisgICAgZGVmIGZpbGxf Y29kZW1pcnJvcl9hcmVhX3dpdGgoc2VsZiwgZmllbGRfY29udGVudCk6Cisg ICAgICAgIHNlbGYuZmluZF9ieV94cGF0aCgKKyAgICAgICAgICAgICIvL3By ZVtjb250YWlucyhAY2xhc3MsJ0NvZGVNaXJyb3ItbGluZScpXS8uLi8uLi8u Li8qW2NvbnRhaW5zKEBjbGFzcywnQ29kZU1pcnJvci1jb2RlJyldIikuY2xp Y2soKQorICAgICAgICBBY3Rpb25DaGFpbnMoc2VsZi5kcml2ZXIpLnNlbmRf a2V5cyhmaWVsZF9jb250ZW50KS5wZXJmb3JtKCkKKworICAgIGRlZiB3YWl0 X2Zvcl9lbGVtZW50KHNlbGYsIGZpbmRfbWV0aG9kX3dpdGhfYXJncyk6Cisg ICAgICAgIGRlZiBlbGVtZW50X2lmX2l0X2V4aXN0cygpOgorICAgICAgICAg ICAgdHJ5OgorICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBmaW5kX21ldGhv ZF93aXRoX2FyZ3MoKQorICAgICAgICAgICAgICAgIGlmIGVsZW1lbnQuaXNf ZGlzcGxheWVkKCkgJiBlbGVtZW50LmlzX2VuYWJsZWQoKToKKyAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQKKyAgICAgICAgICAgIGV4Y2Vw dCBOb1N1Y2hFbGVtZW50RXhjZXB0aW9uOgorICAgICAgICAgICAgICAgIHJl dHVybiBGYWxzZQorCisgICAgICAgIHJldHVybiBzZWxmLl93YWl0X2Zvcigi ZWxlbWVudCB0byBleGlzdCIsIGVsZW1lbnRfaWZfaXRfZXhpc3RzKQorCisg ICAgZGVmIHdhaXRfZm9yX3NwaW5uZXJfdG9fZGlzYXBwZWFyKHNlbGYpOgor ICAgICAgICBkZWYgc3Bpbm5lcl9oYXNfZGlzYXBwZWFyZWQoKToKKyAgICAg ICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLmRyaXZlci5maW5k X2VsZW1lbnRfYnlfaWQoInBnLXNwaW5uZXIiKQorICAgICAgICAgICAgICAg IHJldHVybiBGYWxzZQorICAgICAgICAgICAgZXhjZXB0IE5vU3VjaEVsZW1l bnRFeGNlcHRpb246CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKwor ICAgICAgICBzZWxmLl93YWl0X2Zvcigic3Bpbm5lciB0byBkaXNhcHBlYXIi LCBzcGlubmVyX2hhc19kaXNhcHBlYXJlZCkKKworICAgIGRlZiB3YWl0X2Zv cl9hcHAoc2VsZik6CisgICAgICAgIGRlZiBwYWdlX3Nob3dzX2FwcCgpOgor ICAgICAgICAgICAgaWYgc2VsZi5kcml2ZXIudGl0bGUgPT0gc2VsZi5hcHBf Y29uZmlnLkFQUF9OQU1FOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVl CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuZHJp dmVyLnJlZnJlc2goKQorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQor CisgICAgICAgIHNlbGYuX3dhaXRfZm9yKCJhcHAgdG8gc3RhcnQiLCBwYWdl X3Nob3dzX2FwcCkKKworICAgIGRlZiBfd2FpdF9mb3Ioc2VsZiwgd2FpdGlu Z19mb3JfbWVzc2FnZSwgY29uZGl0aW9uX21ldF9mdW5jdGlvbik6CisgICAg ICAgIHRpbWVvdXQgPSA1CisgICAgICAgIHRpbWVfd2FpdGVkID0gMAorICAg ICAgICBzbGVlcF90aW1lID0gMC4wMQorCisgICAgICAgIHdoaWxlIHRpbWVf d2FpdGVkIDwgdGltZW91dDoKKyAgICAgICAgICAgIHJlc3VsdCA9IGNvbmRp dGlvbl9tZXRfZnVuY3Rpb24oKQorICAgICAgICAgICAgaWYgcmVzdWx0Ogor ICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQKKyAgICAgICAgICAgIHRp bWVfd2FpdGVkICs9IHNsZWVwX3RpbWUKKyAgICAgICAgICAgIHRpbWUuc2xl ZXAoc2xlZXBfdGltZSkKKworICAgICAgICByYWlzZSBSdW50aW1lRXJyb3Io InRpbWVkIG91dCB3YWl0aW5nIGZvciAiICsgd2FpdGluZ19mb3JfbWVzc2Fn ZSkK --001a113e00da7a847f0547566cc3 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a113e00da7a847f0547566cc3--