Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hltC0-000158-QZ for pgadmin-hackers@arkaria.postgresql.org; Fri, 12 Jul 2019 10:54:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hltBy-0005MM-Lf for pgadmin-hackers@arkaria.postgresql.org; Fri, 12 Jul 2019 10:54:18 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hltBy-0005Ft-2B for pgadmin-hackers@lists.postgresql.org; Fri, 12 Jul 2019 10:54:18 +0000 Received: from mail-ot1-x342.google.com ([2607:f8b0:4864:20::342]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hltBr-0005cp-8o for pgadmin-hackers@postgresql.org; Fri, 12 Jul 2019 10:54:16 +0000 Received: by mail-ot1-x342.google.com with SMTP id n5so9045487otk.1 for ; Fri, 12 Jul 2019 03:54:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yYUBkwp7Zwb0Nvb35We8zneeywLGHMR8Wlv18iGP9s4=; b=duyopHmBSGnhpLEP/nAiofjqdoHGg7XZWxAasFrrULjSc8/fadK93jIQagNjVSdvJn U6CQK5heaOp1jvHkRTxctvMmbg9SmlJVZTDK/fqE85wLDwbTUwD2zxFzRP27va3UiJsX pbUvRpfpzHmZ3Ad3fEY/Xq1M+qnU4PtXw1GHTww4OkBlU/tKAvlY2X+R282kerJNG0rR 4M9aOui4ynUWAZFr+soKt+4kcQAYMaLvFBaT79Xk8xp5CYMra4CLdpXmBm1LymRs6QZL KaTU8aCmRTqjSy84EsfzC/kGzSC5F9HlPY8Uq6pU0RzOtL2jca/1fGpBihsMFs2Wtq2d LKwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yYUBkwp7Zwb0Nvb35We8zneeywLGHMR8Wlv18iGP9s4=; b=jc7WY515eYxr5jIyi31hi4wRt5QPt+4N4W11sm80UwEIQpxsdZKUbUl9wWLbUhsyF4 BJOm1u77mBfhVQCpdMits0Ei17CVfr+ZMgDaDn0EshXuAR0MePz4k7TnHD4EGVu12wcG LF5PZS/eRiFDQYkG9BbhyAN/SmlJowitJ3vC90vR1QIMrwvSGOyjZwRxs8CMdhJjK3Za UJ5Wa4W3v7cQg3FhKXnLjBpBPkxtc4pwkN3cAuvluq8kcZokLwHe/eHbchAV46z5yqNx gqC+CVbBv6S+3S6JcIgPXMjGS32ei76DgxbuN8XRrnpcddBRrIQbT3G7dwRFISBcFgU1 yhXw== X-Gm-Message-State: APjAAAVYEcEI1bUQcRHHVaOlG30PVJMauF9l0y9m+4W3fxLBskGnWWDh HnZAwdQ/PFfWlsy3ZvpPO0F2JIuUqzQxqbWGPvuYFA== X-Google-Smtp-Source: APXvYqymspq2hplfSM6CIpKQaPTqHbTm+HJnxc+Ti9knHcvxvRJSo9E5s1j/coGOgvNcExBCDns7chmRnf+1xWICfrs= X-Received: by 2002:a9d:70da:: with SMTP id w26mr7677145otj.270.1562928850256; Fri, 12 Jul 2019 03:54:10 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Khushboo Vashi Date: Fri, 12 Jul 2019 16:24:00 +0530 Message-ID: Subject: Re: [pgAdmin4][Patch] : RE-SQL tests for Collation node To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000ee02ac058d79bab3" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000ee02ac058d79bab3 Content-Type: multipart/alternative; boundary="000000000000ee02aa058d79bab1" --000000000000ee02aa058d79bab1 Content-Type: text/plain; charset="UTF-8" Hi Dave, Please find the attached updated patch. On Fri, Jul 12, 2019 at 4:07 PM Dave Page wrote: > Hi > > On Fri, Jul 12, 2019 at 10:46 AM Khushboo Vashi < > khushboo.vashi@enterprisedb.com> wrote: > >> Hi, >> >> Please find the attached patch for the RE-SQL tests for collation node. >> This patch also includes the *modified SQL tests* as well as fixes for >> the RE-SQL in the collation node which I found while implementing this. >> >> To add the modified SQL tests, 2 optional parameters are introduced in >> the JSON file, i.e. >> *msql_endpoint* and *expected_msql_file.* >> These parameters need to be included in the Alter scenarios. >> >> I have modified the RE-SQL framework to support modified SQL. >> > > This fails on EPAS 9.4: > > ... 2019-07-12 11:35:09,672: ERROR flask.app: Failed to execute query > (execute_scalar) for the server #5 - DB:test_db_18bdb (Query-id: 9091709): > Error Message:ERROR: role "postgres" does not exist > > Create Collation... FAIL > Traceback (most recent call last): > File > "/Users/dpage/git/pgadmin4/web/regression/re_sql/tests/test_resql.py", line > 205, in execute_test_case > self.assertEquals(response.status_code, 200) > File > "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", > line 1338, in deprecated_func > return original_func(*args, **kwargs) > File > "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", > line 839, in assertEqual > assertion_func(first, second, msg=msg) > File > "/opt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", > line 832, in _baseAssertEqual > raise self.failureException(msg) > AssertionError: 500 != 200 > ERROR > > Fixed. > I guess we need to create a role first? > > Also, please keep your error messages consistent with the others, e.g. > "... FAIL" instead of " ..................FAIL". > > Removed. > Thanks! > > Thanks, Khushboo > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > --000000000000ee02aa058d79bab1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Dave,

Please find the attached= updated patch.

On Fri, Jul 12, 2019 at 4:07 PM Dave Page <dpage@pgadmin.org> wrote:
= Hi

On Fri, Jul 12, 2019 at 10:46 AM Khushboo Vashi <khushboo.vashi@enterprisedb= .com> wrote:
Hi,

Please find the attached patch = for the RE-SQL tests for collation node.
This patch also includes= the modified SQL tests as well as fixes for the RE-SQL in the colla= tion node which I found while implementing this.

T= o add the modified SQL tests, 2 optional parameters are introduced in the J= SON file, i.e.
msql_endpoint and expected_msq= l_file.
These parameters need to be included in the Alter= scenarios.

I have modified the RE-SQL framework t= o support modified SQL.

This fa= ils on EPAS 9.4:

=C2=A0... 2019-07-12 11:35:09,672= : ERROR flask.app: Failed to execute query (execute_scalar) for the server = #5 - DB:test_db_18bdb (Query-id: 9091709):
Error Message:ERROR: =C2=A0ro= le "postgres" does not exist

Create Collation... FAIL
T= raceback (most recent call last):
=C2=A0 File "/Users/dpage/git/pga= dmin4/web/regression/re_sql/tests/test_resql.py", line 205, in execute= _test_case
=C2=A0 =C2=A0 self.assertEquals(response.status_code, 200)=C2=A0 File "/opt/local/Library/Frameworks/Python.framework/Versions/= 3.7/lib/python3.7/unittest/case.py", line 1338, in deprecated_func
= =C2=A0 =C2=A0 return original_func(*args, **kwargs)
=C2=A0 File "/o= pt/local/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/uni= ttest/case.py", line 839, in assertEqual
=C2=A0 =C2=A0 assertion_fu= nc(first, second, msg=3Dmsg)
=C2=A0 File "/opt/local/Library/Framew= orks/Python.framework/Versions/3.7/lib/python3.7/unittest/case.py", li= ne 832, in _baseAssertEqual
=C2=A0 =C2=A0 raise self.failureException(ms= g)
AssertionError: 500 !=3D 200
ERROR

<= /div>
Fixed.
I gu= ess we need to create a role first?

Also, please k= eep your error messages consistent with the others, e.g. "... FAIL&quo= t; instead of " ..................FAIL".

Removed.=C2=A0
Thanks!
=C2=A0
Thanks,
Khushboo=C2=A0
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsna= ke

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Co= mpany
--000000000000ee02aa058d79bab1-- --000000000000ee02ac058d79bab3 Content-Type: application/octet-stream; name="resql_collation_v1.patch" Content-Disposition: attachment; filename="resql_collation_v1.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jxzzgl2l0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL19f aW5pdF9fLnB5CmluZGV4IDJhZWYyOGI3Li5kZDYwNjQ1NyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvY29sbGF0 aW9ucy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL19faW5pdF9fLnB5CkBAIC01MTEs MjQgKzUxMSwyMiBAQCBjbGFzcyBDb2xsYXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAg ICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRl X3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn Z2V0X25hbWUuc3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz Y2lkPXNjaWQsIGNvaWQ9Y29pZCkKLSAgICAgICAgICAgICAgICBzdGF0dXMsIG5hbWUgPSBzZWxm LmNvbm4uZXhlY3V0ZV9zY2FsYXIoU1FMKQorICAgICAgICAgICAgICAgIHN0YXR1cywgcmVzID0g c2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCiAgICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1 czoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJv cm1zZz1uYW1lKQotCi0gICAgICAgICAgICAgICAgaWYgbmFtZSBpcyBOb25lOgotICAgICAgICAg ICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAotICAgICAgICAgICAgICAgICAg ICAgICAgc3VjY2Vzcz0wLAotICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3Jtc2c9Z2V0dGV4 dCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXJyb3I6IE9iamVjdCBub3QgZm91bmQu JwotICAgICAgICAgICAgICAgICAgICAgICAgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGlu Zm89Z2V0dGV4dCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhlIHNwZWNpZmllZCBj b2xsYXRpb24gY291bGQgbm90IGJlIGZvdW5kLlxuJwotICAgICAgICAgICAgICAgICAgICAgICAg KQotICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBpbnRl cm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisgICAgICAgICAgICAgICAgaWYgbGVu KHJlc1sncm93cyddKSA9PSAwOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ29uZShnZXR0 ZXh0KAorICAgICAgICAgICAgICAgICAgICAgICAgIkNvdWxkIG5vdCBmaW5kIHRoZSBjb2xsYXRp b24gb2JqZWN0IGluIHRoZSBkYXRhYmFzZS4iCisgICAgICAgICAgICAgICAgICAgICkpCisKKyAg ICAgICAgICAgICAgICBkYXRhID0gcmVzWydyb3dzJ11bMF0KIAogICAgICAgICAgICAgICAgIFNR TCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlbGV0ZS5zcWwnXSks Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9bmFtZSwgY2FzY2Fk ZT1jYXNjYWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPWRh dGFbJ25hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnNwbmFt ZT1kYXRhWydzY2hlbWEnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y2FzY2FkZT1jYXNjYWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25uPXNlbGYuY29ubikKICAgICAgICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5l eGVjdXRlX3NjYWxhcihTUUwpCiAgICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKQEAgLTcw MCw3ICs2OTgsOCBAQCBjbGFzcyBDb2xsYXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAKICAg ICAgICAgc3FsX2hlYWRlciArPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxh dGVfcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdkZWxldGUuc3FsJ10pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBu YW1lPWRhdGFbJ25hbWUnXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bmFtZT1kYXRhWyduYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG5zcG5hbWU9ZGF0YVsnc2NoZW1hJ10pCiAgICAgICAgIFNRTCA9IHNxbF9oZWFkZXIgKyAnXG5c bicgKyBTUUwuc3RyaXAoJ1xuJykKIAogICAgICAgICByZXR1cm4gYWpheF9yZXNwb25zZShyZXNw b25zZT1TUUwpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL3RlbXBsYXRlcy9jb2xsYXRpb25z L3NxbC9kZWZhdWx0L2RlbGV0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL3RlbXBsYXRlcy9jb2xsYXRp b25zL3NxbC9kZWZhdWx0L2RlbGV0ZS5zcWwKaW5kZXggNWIxZjhjZTAuLmJiY2E0NDlmIDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9jb2xsYXRpb25zL3RlbXBsYXRlcy9jb2xsYXRpb25zL3NxbC9kZWZhdWx0L2Rl bGV0ZS5zcWwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvY29sbGF0aW9ucy90ZW1wbGF0ZXMvY29sbGF0aW9ucy9zcWwvZGVm YXVsdC9kZWxldGUuc3FsCkBAIC0xICsxIEBACi1EUk9QIENPTExBVElPTiB7e25hbWV9fXslIGlm IGNhc2NhZGUlfSBDQVNDQURFeyUgZW5kaWYgJX07CitEUk9QIENPTExBVElPTiB7eyBjb25ufHF0 SWRlbnQobnNwbmFtZSwgbmFtZSkgfX17JSBpZiBjYXNjYWRlJX0gQ0FTQ0FERXslIGVuZGlmICV9 OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvY29sbGF0aW9ucy90ZW1wbGF0ZXMvY29sbGF0aW9ucy9zcWwvZGVm YXVsdC9nZXRfbmFtZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL3RlbXBsYXRlcy9jb2xsYXRpb25zL3Nx bC9kZWZhdWx0L2dldF9uYW1lLnNxbAppbmRleCBmNWRkYTAwNS4uYjBkOTVlZDkgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2NvbGxhdGlvbnMvdGVtcGxhdGVzL2NvbGxhdGlvbnMvc3FsL2RlZmF1bHQvZ2V0X25h bWUuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVtcGxhdGVzL2NvbGxhdGlvbnMvc3FsL2RlZmF1 bHQvZ2V0X25hbWUuc3FsCkBAIC0xLDQgKzEsNCBAQAotU0VMRUNUIGNvbmNhdChxdW90ZV9pZGVu dChuc3BuYW1lKSwgJy4nLCBxdW90ZV9pZGVudChjb2xsbmFtZSkpICBBUyBuYW1lCitTRUxFQ1Qg bnNwbmFtZSBBUyBzY2hlbWEsIGNvbGxuYW1lIEFTIG5hbWUKIEZST00gcGdfY29sbGF0aW9uIGMs IHBnX25hbWVzcGFjZSBuCiBXSEVSRSBjLmNvbGxuYW1lc3BhY2UgPSBuLm9pZCBBTkQKICAgICBu Lm9pZCA9IHt7IHNjaWQgfX06Om9pZCBBTkQKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVz dHMvZGVmYXVsdC9hbHRlcl9jb2xsYXRpb24uc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvY29sbGF0aW9ucy90ZXN0cy9kZWZh dWx0L2FsdGVyX2NvbGxhdGlvbi5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAuLmMxZjlkYWNlCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvY29sbGF0aW9ucy90ZXN0cy9kZWZh dWx0L2FsdGVyX2NvbGxhdGlvbi5zcWwKQEAgLTAsMCArMSwxMiBAQAorLS0gQ29sbGF0aW9uOiBD bDFfJCV7fVtdKCkmKl4hQCInYFwvI2E7CisKKy0tIERST1AgQ09MTEFUSU9OIHRlc3RzY2hlbWEu IkNsMV8kJXt9W10oKSYqXiFAIiInYFwvI2EiOworCitDUkVBVEUgQ09MTEFUSU9OIHRlc3RzY2hl bWEuIkNsMV8kJXt9W10oKSYqXiFAIiInYFwvI2EiCisgICAgKExDX0NPTExBVEUgPSAnQycsIExD X0NUWVBFID0gJ0MnKTsKKworQUxURVIgQ09MTEFUSU9OIHRlc3RzY2hlbWEuIkNsMV8kJXt9W10o KSYqXiFAIiInYFwvI2EiCisgICAgT1dORVIgVE8gPE9XTkVSPjsKKworQ09NTUVOVCBPTiBDT0xM QVRJT04gdGVzdHNjaGVtYS4iQ2wxXyQle31bXSgpJipeIUAiIidgXC8jYSIKKyAgICBJUyAnRGVz Y3JpcHRpb24gZm9yIGFsdGVyJzsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVzdHMvZGVm YXVsdC9jcmVhdGVfY29sbGF0aW9uLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVzdHMvZGVmYXVsdC9j cmVhdGVfY29sbGF0aW9uLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4u OWQ0NGNkZGMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL3Rlc3RzL2RlZmF1bHQv Y3JlYXRlX2NvbGxhdGlvbi5zcWwKQEAgLTAsMCArMSwxMiBAQAorLS0gQ29sbGF0aW9uOiBDbDFf JCV7fVtdKCkmKl4hQCInYFwvIzsKKworLS0gRFJPUCBDT0xMQVRJT04gdGVzdHNjaGVtYS4iQ2wx XyQle31bXSgpJipeIUAiIidgXC8jIjsKKworQ1JFQVRFIENPTExBVElPTiB0ZXN0c2NoZW1hLiJD bDFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgKExDX0NPTExBVEUgPSAnQycsIExDX0NUWVBF ID0gJ0MnKTsKKworQUxURVIgQ09MTEFUSU9OIHRlc3RzY2hlbWEuIkNsMV8kJXt9W10oKSYqXiFA IiInYFwvIyIKKyAgICBPV05FUiBUTyA8T1dORVI+OworCitDT01NRU5UIE9OIENPTExBVElPTiB0 ZXN0c2NoZW1hLiJDbDFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgSVMgJ0Rlc2NyaXB0aW9u JzsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVzdHMvZGVmYXVsdC9tc3FsX2NvbGxhdGlv bi5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9jb2xsYXRpb25zL3Rlc3RzL2RlZmF1bHQvbXNxbF9jb2xsYXRpb24uc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5mNTg2MTZkYwotLS0gL2Rldi9udWxs CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVzdHMvZGVmYXVsdC9tc3FsX2NvbGxhdGlvbi5zcWwKQEAg LTAsMCArMSw1IEBACitDT01NRU5UIE9OIENPTExBVElPTiB0ZXN0c2NoZW1hLiJDbDFfJCV7fVtd KCkmKl4hQCIiJ2BcLyMiCisgICAgSVMgJ0Rlc2NyaXB0aW9uIGZvciBhbHRlcic7CisKK0FMVEVS IENPTExBVElPTiB0ZXN0c2NoZW1hLiJDbDFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgUkVO QU1FIFRPICJDbDFfJCV7fVtdKCkmKl4hQCIiJ2BcLyNhIjsKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxh dGlvbnMvdGVzdHMvZGVmYXVsdC90ZXN0Lmpzb24gYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL3Rlc3RzL2RlZmF1 bHQvdGVzdC5qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi45YjQwY2I5 OQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVzdHMvZGVmYXVsdC90ZXN0Lmpz b24KQEAgLTAsMCArMSwzNyBAQAoreworICAic2NlbmFyaW9zIjogWworICAgIHsKKyAgICAgICJ0 eXBlIjogImNyZWF0ZSIsCisgICAgICAibmFtZSI6ICJDcmVhdGUgQ29sbGF0aW9uIiwKKyAgICAg ICJlbmRwb2ludCI6ICJOT0RFLWNvbGxhdGlvbi5vYmoiLAorICAgICAgInNxbF9lbmRwb2ludCI6 ICJOT0RFLWNvbGxhdGlvbi5zcWxfaWQiLAorICAgICAgImRhdGEiOiB7CisgICAgICAgICJuYW1l IjogIkNsMV8kJXt9W10oKSYqXiFAXCInYFxcLyMiLAorICAgICAgICAic2NoZW1hIjogInRlc3Rz Y2hlbWEiLAorICAgICAgICAiY29weV9jb2xsYXRpb24iOiAicGdfY2F0YWxvZy5cIkNcIiIsCisg ICAgICAgICJkZXNjcmlwdGlvbiI6ICJEZXNjcmlwdGlvbiIKKyAgICAgIH0sCisgICAgICAiZXhw ZWN0ZWRfc3FsX2ZpbGUiOiAiY3JlYXRlX2NvbGxhdGlvbi5zcWwiCisgICAgfSwgeworICAgICAg InR5cGUiOiAiYWx0ZXIiLAorICAgICAgIm5hbWUiOiAiQWx0ZXIgQ29sbGF0aW9uIiwKKyAgICAg ICJlbmRwb2ludCI6ICJOT0RFLWNvbGxhdGlvbi5vYmpfaWQiLAorICAgICAgInNxbF9lbmRwb2lu dCI6ICJOT0RFLWNvbGxhdGlvbi5zcWxfaWQiLAorICAgICAgIm1zcWxfZW5kcG9pbnQiOiAiTk9E RS1jb2xsYXRpb24ubXNxbF9pZCIsCisgICAgICAiZGF0YSI6IHsKKyAgICAgICAgIm5hbWUiOiAi Q2wxXyQle31bXSgpJipeIUBcIidgXFwvI2EiLAorICAgICAgICAic2NoZW1hIjogInRlc3RzY2hl bWEiLAorICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGVzY3JpcHRpb24gZm9yIGFsdGVyIgorICAg ICAgfSwKKyAgICAgICJleHBlY3RlZF9zcWxfZmlsZSI6ICJhbHRlcl9jb2xsYXRpb24uc3FsIiwK KyAgICAgICJleHBlY3RlZF9tc3FsX2ZpbGUiOiAibXNxbF9jb2xsYXRpb24uc3FsIgorICAgIH0s IHsKKyAgICAgICJ0eXBlIjogImRlbGV0ZSIsCisgICAgICAibmFtZSI6ICJEcm9wIENvbGxhdGlv biIsCisgICAgICAiZW5kcG9pbnQiOiAiTk9ERS1jb2xsYXRpb24uZGVsZXRlX2lkIiwKKyAgICAg ICJkYXRhIjogeworICAgICAgICAibmFtZSI6ICJDbDFfJCV7fVtdKCkmKl4hQFwiJ2BcXC8jYSIK KyAgICAgIH0KKyAgICB9CisgIF0KK30KZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3JlX3Nx bC90ZXN0cy90ZXN0X3Jlc3FsLnB5IGIvd2ViL3JlZ3Jlc3Npb24vcmVfc3FsL3Rlc3RzL3Rlc3Rf cmVzcWwucHkKaW5kZXggN2Q2MjZjNDUuLjQxNDQyYjFiIDEwMDY0NAotLS0gYS93ZWIvcmVncmVz c2lvbi9yZV9zcWwvdGVzdHMvdGVzdF9yZXNxbC5weQorKysgYi93ZWIvcmVncmVzc2lvbi9yZV9z cWwvdGVzdHMvdGVzdF9yZXNxbC5weQpAQCAtOSw2ICs5LDcgQEAKIGZyb20gX19mdXR1cmVfXyBp bXBvcnQgcHJpbnRfZnVuY3Rpb24KIGltcG9ydCBqc29uCiBpbXBvcnQgb3MKK2ltcG9ydCB1cmxs aWIKIGltcG9ydCB0cmFjZWJhY2sKIGZyb20gZmxhc2sgaW1wb3J0IHVybF9mb3IKIGltcG9ydCBy ZWdyZXNzaW9uCkBAIC0yMjMsNiArMjI0LDE5IEBAIGNsYXNzIFJldmVyc2VFbmdpbmVlcmVkU1FM VGVzdENhc2VzKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgICAgICAgICAgICAgY29udGlu dWUKICAgICAgICAgICAgIGVsaWYgJ3R5cGUnIGluIHNjZW5hcmlvIGFuZCBzY2VuYXJpb1sndHlw ZSddID09ICdhbHRlcic6CiAgICAgICAgICAgICAgICAgIyBHZXQgdGhlIHVybCBhbmQgY3JlYXRl IHRoZSBzcGVjaWZpYyBub2RlLgorCisgICAgICAgICAgICAgICAgIyBJZiBtc3FsX2VuZHBvaW50 IGV4aXN0cyB0aGVuIHZhbGlkYXRlIHRoZSBtb2RpZmllZCBzcWwKKyAgICAgICAgICAgICAgICBp ZiAnbXNxbF9lbmRwb2ludCcgaW4gc2NlbmFyaW9cCisgICAgICAgICAgICAgICAgICAgICAgICBh bmQgc2NlbmFyaW9bJ21zcWxfZW5kcG9pbnQnXToKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90 IHNlbGYuY2hlY2tfbXNxbChzY2VuYXJpbywgb2JqZWN0X2lkKToKKyAgICAgICAgICAgICAgICAg ICAgICAgIHByaW50X21zZyA9IHNjZW5hcmlvWyduYW1lJ10KKyAgICAgICAgICAgICAgICAgICAg ICAgIGlmICdleHBlY3RlZF9tc3FsX2ZpbGUnIGluIHNjZW5hcmlvOgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHByaW50X21zZyArPSAiICBFeHBlY3RlZCBNU1FMIEZpbGU6IiArIHNjZW5h cmlvWworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhwZWN0ZWRfbXNxbF9maWxl J10KKyAgICAgICAgICAgICAgICAgICAgICAgIHByaW50X21zZyA9IHByaW50X21zZyArICIuLi4g RkFJTCIKKyAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KHByaW50X21zZykKKyAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKICAgICAgICAgICAgICAgICBhbHRlcl91cmwgPSBz ZWxmLmdldF91cmwoc2NlbmFyaW9bJ2VuZHBvaW50J10sIG9iamVjdF9pZCkKICAgICAgICAgICAg ICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnB1dChhbHRlcl91cmwsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKHNjZW5hcmlvWydk YXRhJ10pLApAQCAtMjk1LDYgKzMwOSw2NiBAQCBjbGFzcyBSZXZlcnNlRW5naW5lZXJlZFNRTFRl c3RDYXNlcyhCYXNlVGVzdEdlbmVyYXRvcik6CiAKICAgICAgICAgcmV0dXJuIEZhbHNlLCBOb25l CiAKKyAgICBkZWYgY2hlY2tfbXNxbChzZWxmLCBzY2VuYXJpbywgb2JqZWN0X2lkKToKKyAgICAg ICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjaGVjayB0aGUgbW9kaWZp ZWQgU1FMLgorICAgICAgICA6cGFyYW0gc2NlbmFyaW86CisgICAgICAgIDpwYXJhbSBvYmplY3Rf aWQ6CisgICAgICAgIDpyZXR1cm46CisgICAgICAgICIiIgorCisgICAgICAgIG1zcWxfdXJsID0g c2VsZi5nZXRfdXJsKHNjZW5hcmlvWydtc3FsX2VuZHBvaW50J10sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG9iamVjdF9pZCkKKworICAgICAgICBwYXJhbXMgPSB1cmxsaWIucGFy c2UudXJsZW5jb2RlKHNjZW5hcmlvWydkYXRhJ10pCisgICAgICAgIHVybCA9IG1zcWxfdXJsICsg Ij8lcyIgJSBwYXJhbXMKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQodXJsLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUp CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0 YXR1c19jb2RlLCAyMDApCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAg ICAgIHNlbGYuZmluYWxfdGVzdF9zdGF0dXMgPSBGYWxzZQorICAgICAgICAgICAgcHJpbnQoc2Nl bmFyaW9bJ25hbWUnXSArICIuLi4gRkFJTCIpCisgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRf ZXhjKCkKKworICAgICAgICByZXNwID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhKQorICAgICAg ICByZXNwX3NxbCA9IHJlc3BbJ2RhdGEnXQorCisgICAgICAgICMgUmVtb3ZlIGZpcnN0IGFuZCBs YXN0IGRvdWJsZSBxdW90ZXMKKyAgICAgICAgaWYgcmVzcF9zcWwuc3RhcnRzd2l0aCgnIicpIGFu ZCByZXNwX3NxbC5lbmRzd2l0aCgnIicpOgorICAgICAgICAgICAgcmVzcF9zcWwgPSByZXNwX3Nx bFsxOi0xXQorICAgICAgICAgICAgcmVzcF9zcWwgPSByZXNwX3NxbC5yc3RyaXAoKQorCisgICAg ICAgICMgQ2hlY2sgaWYgZXhwZWN0ZWQgc3FsIGlzIGdpdmVuIGluIEpTT04gZmlsZSBvciBwYXRo IG9mIHRoZSBvdXRwdXQKKyAgICAgICAgIyBmaWxlIGlzIGdpdmVuCisgICAgICAgIGlmICdleHBl Y3RlZF9tc3FsX2ZpbGUnIGluIHNjZW5hcmlvOgorICAgICAgICAgICAgb3V0cHV0X2ZpbGUgPSBv cy5wYXRoLmpvaW4oc2VsZi50ZXN0X2ZvbGRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNjZW5hcmlvWydleHBlY3RlZF9tc3FsX2ZpbGUnXSkKKworICAgICAgICAg ICAgaWYgb3MucGF0aC5leGlzdHMob3V0cHV0X2ZpbGUpOgorICAgICAgICAgICAgICAgIGZwID0g b3BlbihvdXRwdXRfZmlsZSwgInIiKQorICAgICAgICAgICAgICAgICMgVXNlZCByc3RyaXAgdG8g cmVtb3ZlIHRyYWlsaW5nIFxuCisgICAgICAgICAgICAgICAgc3FsID0gZnAucmVhZCgpLnJzdHJp cCgpCisgICAgICAgICAgICAgICAgIyBSZXBsYWNlIHBsYWNlIGhvbGRlciA8b3duZXI+IHdpdGgg dGhlIGN1cnJlbnQgdXNlcm5hbWUKKyAgICAgICAgICAgICAgICAjIHVzZWQgdG8gY29ubmVjdCB0 byB0aGUgZGF0YWJhc2UKKyAgICAgICAgICAgICAgICBpZiAndXNlcm5hbWUnIGluIHNlbGYuc2Vy dmVyOgorICAgICAgICAgICAgICAgICAgICBzcWwgPSBzcWwucmVwbGFjZShzZWxmLkpTT05fUExB Q0VIT0xERVJTWydvd25lciddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLnNlcnZlclsndXNlcm5hbWUnXSkKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAg ICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHNxbCwgcmVzcF9zcWwpCisgICAgICAgICAg ICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmZp bmFsX3Rlc3Rfc3RhdHVzID0gRmFsc2UKKyAgICAgICAgICAgICAgICAgICAgdHJhY2ViYWNrLnBy aW50X2V4YygpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICAgICAg ZWxzZToKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNz ZXJ0RmFsc2UoIkV4cGVjdGVkIFNRTCBGaWxlIG5vdCBmb3VuZCIpCisgICAgICAgICAgICAgICAg ZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmZpbmFsX3Rl c3Rfc3RhdHVzID0gRmFsc2UKKyAgICAgICAgICAgICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4 YygpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1 ZQorCiAgICAgZGVmIGNoZWNrX3JlX3NxbChzZWxmLCBzY2VuYXJpbywgb2JqZWN0X2lkKToKICAg ICAgICAgIiIiCiAgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBnZXQgdGhlIHJldmVy c2UgZW5naW5lZXJpbmcgU1FMLgpAQCAtMzAyLDExICszNzYsMTQgQEAgY2xhc3MgUmV2ZXJzZUVu Z2luZWVyZWRTUUxUZXN0Q2FzZXMoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICA6cGFyYW0g b2JqZWN0X2lkOgogICAgICAgICA6cmV0dXJuOgogICAgICAgICAiIiIKKwogICAgICAgICBzcWxf dXJsID0gc2VsZi5nZXRfdXJsKHNjZW5hcmlvWydzcWxfZW5kcG9pbnQnXSwgb2JqZWN0X2lkKQog ICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldChzcWxfdXJsKQorCiAgICAgICAgIHRy eToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAy MDApCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKwogICAgICAgICAgICAgc2VsZi5m aW5hbF90ZXN0X3N0YXR1cyA9IEZhbHNlCiAgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhj KCkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQo= --000000000000ee02ac058d79bab3--