From unknown Fri Sep 12 10:41:38 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#46668 <46668@debbugs.gnu.org> To: bug#46668 <46668@debbugs.gnu.org> Subject: Status: [PATCH]: tests: do not hard code HTTP ports Reply-To: bug#46668 <46668@debbugs.gnu.org> Date: Fri, 12 Sep 2025 17:41:38 +0000 retitle 46668 [PATCH]: tests: do not hard code HTTP ports reassign 46668 guix-patches submitter 46668 Maxime Devos severity 46668 normal tag 46668 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 20 17:01:08 2021 Received: (at submit) by debbugs.gnu.org; 20 Feb 2021 22:01:08 +0000 Received: from localhost ([127.0.0.1]:53036 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lDaJH-0007WB-Jc for submit@debbugs.gnu.org; Sat, 20 Feb 2021 17:01:08 -0500 Received: from lists.gnu.org ([209.51.188.17]:59690) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lDaJE-0007W2-HZ for submit@debbugs.gnu.org; Sat, 20 Feb 2021 17:01:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45466) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lDaJD-0002kC-Ga for guix-patches@gnu.org; Sat, 20 Feb 2021 17:01:04 -0500 Received: from xavier.telenet-ops.be ([2a02:1800:120:4::f00:14]:54034) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lDaJ9-0001WP-F1 for guix-patches@gnu.org; Sat, 20 Feb 2021 17:01:03 -0500 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by xavier.telenet-ops.be with bizsmtp id Xa0l2400C0mfAB401a0m9t; Sat, 20 Feb 2021 23:00:46 +0100 Message-ID: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@telenet.be> Subject: [PATCH]: tests: do not hard code HTTP ports From: Maxime Devos To: guix-patches@gnu.org Date: Sat, 20 Feb 2021 23:00:30 +0100 Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-Wur77PkwInOpVenpJAVX" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1613858446; bh=rZIq8pQeUkeuXj56FRLGO6OJEXP0Hd99EFL7wfL1o4U=; h=Subject:From:To:Date; b=sO0GqKCKD0uSwn5CKoZN+xuHCQbkAtWjf7sQPKCsmM2AU87mu5AoPd/xYzKAwTIFn 2nQu3mAhH3QgN4RzCHSmQQeOLU7Oo8EpG8rsNtRpHdB7P01e6BN4KefNY+7I7vwlTl b2PvEgOUlt2a6WU+liKeRo69V/KZovIs8yU6nRUe9D9ftSqLl7F6UUwmOvxPsFyKDE nsFllyGduOpd4vd/5GeVbqyvJzK18kGyO3I2JIVLYh2diFhVW/L8kw4p+6VY8d0h0N T4MsQ2V9RnfJYQy8/KiR0zHNq/OGvPv925KnQbu0+27Y46NaNbXSgGaQDiwe21u11b MTnPL4nJTOw1g== Received-SPF: pass client-ip=2a02:1800:120:4::f00:14; envelope-from=maximedevos@telenet.be; helo=xavier.telenet-ops.be X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --=-Wur77PkwInOpVenpJAVX Content-Type: multipart/mixed; boundary="=-KT5nFCqXFfNhBilrQFpc" --=-KT5nFCqXFfNhBilrQFpc Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Guix, I encountered a =E2=80=98Cannot listen to port: is bound=E2=80=99 error or something like that when testing some changes to the substituter. I'm not sure yet what the cause is, but this patch should eliminate some potential trouble, by not hard-coding ports in tests that require a temporary http server, and instead automatically assigning a free port. Greetings, Maxime --=-KT5nFCqXFfNhBilrQFpc Content-Disposition: attachment; filename="0001-tests-do-not-hard-code-HTTP-ports.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="0001-tests-do-not-hard-code-HTTP-ports.patch"; charset="UTF-8" RnJvbSA2YTVlYTFmMWE5MTU1ZTIzZTQ2YTM4NTc3YWRmNzQ1MjdiYTUwYjJjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFNhdCwgMjAgRmViIDIwMjEgMjI6MDQ6NTkgKzAxMDAKU3ViamVjdDogW1BBVENIXSB0 ZXN0czogZG8gbm90IGhhcmQgY29kZSBIVFRQIHBvcnRzCgpQcmV2aW91c2x5LCB0ZXN0IGNhc2Vz IGNvdWxkIGZhaWwgaWYgc29tZSBwcm9jZXNzIHdhcyBsaXN0ZW5pbmcKYXQgYSBoYXJkLWNvZGVk IHBvcnQuICBUaGlzIHBhdGNoIGVsaW1pbmF0ZXMgbW9zdCBvZiB0aGVzZSBwb3RlbnRpYWwKZmFp bHVyZXMsIGJ5IGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGFuIHVuYm91bmQgcG9ydC4gIFRoaXMg c2hvdWxkCmFsbG93IGZvciBidWlsZGluZyBtdWx0aXBsZSBndWl4IHRyZWVzIGluIHBhcmFsbGVs IG91dHNpZGUgYSBidWlsZApjb250YWluZXIsIHRob3VnaCB0aGlzIGlzIGN1cnJlbnRseSB1bnRl c3RlZC4KClRoZSB0ZXN0ICJob21lLXBhZ2U6IENvbm5lY3Rpb24gcmVmdXNlZCIgaW4gdGVzdHMv bGludC5zY20gc3RpbGwKaGFyZGNvZGVzIHBvcnQgOTk5OSwgaG93ZXZlci4KCiogZ3VpeC90ZXN0 cy9odHRwLnNjbQogIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPyk6IHJlbW92ZSBub3cgdW51c2Vk IHByb2NlZHVyZS4KICAoJWh0dHAtc2VydmVyLXBvcnQpOiBkZWZhdWx0IHRvIHBvcnQgMCwgbWVh bmluZyB0aGUgT1MKICB3aWxsIGF1dG9tYXRpY2FsbHkgY2hvb3NlIGEgcG9ydC4KICAob3Blbi1o dHRwLXNlcnZlci1zb2NrZXQpOiByZW1vdmUgdGhlIGZhbHNlIHN0YXRlbWVudCBjbGFpbWluZwog IHRoaXMgcHJvY2VkdXJlIGlzIGV4cG9ydGVkIGFuZCBhbHNvIHJldHVybiB0aGUgYWxsb2NhdGVk IHBvcnQKICBudW1iZXIuCiAgKCVsb2NhbC11cmwpOiByYWlzZSBhbiBlcnJvciBpZiB0aGUgcG9y dCBpcyBvYnZpb3VzbHkgdW5ib3VuZC4KICAoY2FsbC13aXRoLWh0dHAtc2VydmVyKTogc2V0ICVo dHRwLXNlcnZlci1wb3J0IHRvIHRoZSBhbGxvY2F0ZWQKICBwb3J0IHdoaWxlIHRoZSB0aHVuayBp cyBjYWxsZWQuCiogdGVzdHMvZGVyaXZhdGlvbnMuc2NtOiBhZGp1c3QgdGVzdCBjYXNlcyB0byB1 c2UgYXV0b21hdGljYWxseQogIGFzc2lnbiBhIHBvcnQuICBBcyB0aGVyZSBpcyBubyByaXNrIG9m IGEgcG9ydCBjb25mbGljdCBub3csCiAgZG8gbm90IG1ha2UgYW55IHRlc3RzIGNvbmRpdGlvbmFs IHVwb24gJ2h0dHAtc2VydmVyLWNhbi1saXN0ZW4/JwogIGFueW1vcmUuCiogdGVzdHMvZWxwYS5z Y206IGxpa2V3aXNlLgoqIHRlc3RzL2xpbnQuc2NtOiBsaWtld2lzZSwgYW5kIGFkZCBhIFRPRE8g Y29tbWVudCBhYm91dCBhIHBvcnQKICB0aGF0IGlzIHN0aWxsIGhhcmQtY29kZWQuCiogdGVzdHMv dGV4bGl2ZS5zY206IGxpa2V3aXNlLgotLS0KIGd1aXgvdGVzdHMvaHR0cC5zY20gICB8ICAzOSAr KysrKy0tLS0KIHRlc3RzL2Rlcml2YXRpb25zLnNjbSB8ICA0MSArKysrLS0tLS0tCiB0ZXN0cy9l bHBhLnNjbSAgICAgICAgfCAgIDMgLQogdGVzdHMvbGludC5zY20gICAgICAgIHwgMTc5ICsrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdGVzdHMvdGV4bGl2ZS5zY20g ICAgIHwgICAzIC0KIDUgZmlsZXMgY2hhbmdlZCwgMTE5IGluc2VydGlvbnMoKyksIDE0NiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ndWl4L3Rlc3RzL2h0dHAuc2NtIGIvZ3VpeC90ZXN0cy9o dHRwLnNjbQppbmRleCA0MTE5ZTljZTAxLi40ZWU2MGU4ODY0IDEwMDY0NAotLS0gYS9ndWl4L3Rl c3RzL2h0dHAuc2NtCisrKyBiL2d1aXgvdGVzdHMvaHR0cC5zY20KQEAgLTEsNSArMSw2IEBACiA7 OzsgR05VIEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFja2FnZSBtYW5hZ2VtZW50IGZvciBHTlUKIDs7 OyBDb3B5cmlnaHQgwqkgMjAxNCwgMjAxNSwgMjAxNiwgMjAxNywgMjAxOSBMdWRvdmljIENvdXJ0 w6hzIDxsdWRvQGdudS5vcmc+Cis7OzsgQ29weXJpZ2h0IMKpIDIwMjEgTWF4aW1lIERldm9zIDxt YXhpbWVkZXZvc0B0ZWxlbmV0LmJlPgogOzs7CiA7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V IEd1aXguCiA7OzsKQEAgLTIzLDEwICsyNCwxMCBAQAogICAjOnVzZS1tb2R1bGUgKHdlYiByZXNw b25zZSkKICAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMzkpCiAgICM6dXNlLW1vZHVsZSAoaWNl LTkgbWF0Y2gpCisgICM6dXNlLW1vZHVsZSAoaWNlLTkgcmVjZWl2ZSkKICAgIzpleHBvcnQgKHdp dGgtaHR0cC1zZXJ2ZXIKICAgICAgICAgICAgIGNhbGwtd2l0aC1odHRwLXNlcnZlcgogICAgICAg ICAgICAgJWh0dHAtc2VydmVyLXBvcnQKLSAgICAgICAgICAgIGh0dHAtc2VydmVyLWNhbi1saXN0 ZW4/CiAgICAgICAgICAgICAlbG9jYWwtdXJsKSkKIAogOzs7IENvbW1lbnRhcnk6CkBAIC0zNywx MiArMzgsMTMgQEAKIAogKGRlZmluZSAlaHR0cC1zZXJ2ZXItcG9ydAogICA7OyBUQ1AgcG9ydCB0 byB1c2UgZm9yIHRoZSBzdHViIEhUVFAgc2VydmVyLgotICAobWFrZS1wYXJhbWV0ZXIgOTk5OSkp CisgIDs7IElmIDAsIHRoZSBPUyB3aWxsIGF1dG9tYXRpY2FsbHkgY2hvb3NlCisgIDs7IGEgcG9y dC4KKyAgKG1ha2UtcGFyYW1ldGVyIDApKQogCiAoZGVmaW5lIChvcGVuLWh0dHAtc2VydmVyLXNv Y2tldCkKLSAgIlJldHVybiBhIGxpc3RlbmluZyBzb2NrZXQgZm9yIHRoZSB3ZWIgc2VydmVyLiAg SXQgaXMgdXNlZnVsIHRvIGV4cG9ydCBpdCBzbwotdGhhdCB0ZXN0cyBjYW4gY2hlY2sgd2hldGhl ciB3ZSBzdWNjZWVkZWQgb3BlbmluZyB0aGUgc29ja2V0IGFuZCB0ZXN0cyBza2lwIGlmCi1uZWVk ZWQuIgorICAiUmV0dXJuIGEgbGlzdGVuaW5nIHNvY2tldCBmb3IgdGhlIHdlYiBzZXJ2ZXIgYW5k IHRoZSBwb3J0CithY3R1YWxseSBsaXN0ZW5lZCBhdCAoaW4gY2FzZSAlaHR0cC1zZXJ2ZXItcG9y dCB3YXMgMCkuIgogICAoY2F0Y2ggJ3N5c3RlbS1lcnJvcgogICAgIChsYW1iZGEgKCkKICAgICAg IChsZXQgKChzb2NrIChzb2NrZXQgUEZfSU5FVCBTT0NLX1NUUkVBTSAwKSkpCkBAIC01MCwyMiAr NTIsMTggQEAgbmVlZGVkLiIKICAgICAgICAgKGJpbmQgc29jawogICAgICAgICAgICAgICAobWFr ZS1zb2NrZXQtYWRkcmVzcyBBRl9JTkVUIElOQUREUl9MT09QQkFDSwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoJWh0dHAtc2VydmVyLXBvcnQpKSkKLSAgICAgICAgc29jaykp CisgICAgICAgICh2YWx1ZXMgc29jaworICAgICAgICAgICAgICAgIChzb2NrYWRkcjpwb3J0IChn ZXRzb2NrbmFtZSBzb2NrKSkpKSkKICAgICAobGFtYmRhIGFyZ3MKICAgICAgIChsZXQgKChlcnIg KHN5c3RlbS1lcnJvci1lcnJubyBhcmdzKSkpCiAgICAgICAgIChmb3JtYXQgKGN1cnJlbnQtZXJy b3ItcG9ydCkKICAgICAgICAgICAgICAgICAid2FybmluZzogY2Fubm90IHJ1biBXZWIgc2VydmVy IGZvciB0ZXN0czogfmF+JSIKICAgICAgICAgICAgICAgICAoc3RyZXJyb3IgZXJyKSkKLSAgICAg ICAgI2YpKSkpCi0KLShkZWZpbmUgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KQotICAiUmV0dXJu ICN0IGlmIHdlIG1hbmFnZWQgdG8gb3BlbiBhIGxpc3RlbmluZyBzb2NrZXQuIgotICAoYW5kPT4g KG9wZW4taHR0cC1zZXJ2ZXItc29ja2V0KQotICAgICAgICAgKGxhbWJkYSAoc29ja2V0KQotICAg ICAgICAgICAoY2xvc2UtcG9ydCBzb2NrZXQpCi0gICAgICAgICAgICN0KSkpCisgICAgICAgICh2 YWx1ZXMgI2YgI2YpKSkpKQogCiAoZGVmaW5lKiAoJWxvY2FsLXVybCAjOm9wdGlvbmFsIChwb3J0 ICglaHR0cC1zZXJ2ZXItcG9ydCkpKQorICAod2hlbiAoPSBwb3J0IDApCisgICAgKGVycm9yICJu byB3ZWIgc2VydmVyIGlzIHJ1bm5pbmchIikpCiAgIDs7IFVSTCB0byB1c2UgZm9yICdob21lLXBh Z2UnIHRlc3RzLgogICAoc3RyaW5nLWFwcGVuZCAiaHR0cDovL2xvY2FsaG9zdDoiIChudW1iZXIt PnN0cmluZyBwb3J0KQogICAgICAgICAgICAgICAgICAiL2Zvby9iYXIiKSkKQEAgLTczLDcgKzcx LDEwIEBAIG5lZWRlZC4iCiAoZGVmaW5lKiAoY2FsbC13aXRoLWh0dHAtc2VydmVyIHJlc3BvbnNl cytkYXRhIHRodW5rKQogICAiQ2FsbCBUSFVOSyB3aXRoIGFuIEhUVFAgc2VydmVyIHJ1bm5pbmcg YW5kIHJldHVybmluZyBSRVNQT05TRVMrREFUQSBvbiBIVFRQCiByZXF1ZXN0cy4gIEVhY2ggZWxl bWVudCBvZiBSRVNQT05TRVMrREFUQSBtdXN0IGJlIGEgdHVwbGUgY29udGFpbmluZyBhCi1yZXNw b25zZSBhbmQgYSBzdHJpbmcsIG9yIGFuIEhUVFAgcmVzcG9uc2UgY29kZSBhbmQgYSBzdHJpbmcu IgorcmVzcG9uc2UgYW5kIGEgc3RyaW5nLCBvciBhbiBIVFRQIHJlc3BvbnNlIGNvZGUgYW5kIGEg c3RyaW5nLgorCislaHR0cC1zZXJ2ZXItcG9ydCB3aWxsIGJlIHNldCB0byB0aGUgcG9ydCBsaXN0 ZW5lZCBhdAorVGhlIHBvcnQgbGlzdGVuZWQgYXQgd2lsbCBiZSBzZXQgZm9yIHRoZSBkeW5hbWlj IGV4dGVudCBvZiBUSFVOSy4iCiAgIChkZWZpbmUgcmVzcG9uc2VzCiAgICAgKG1hcCAobWF0Y2gt bGFtYmRhCiAgICAgICAgICAgICgoKD8gcmVzcG9uc2U/IHJlc3BvbnNlKSBkYXRhKQpAQCAtMTAw LDYgKzEwMSw3IEBAIHJlc3BvbnNlIGFuZCBhIHN0cmluZywgb3IgYW4gSFRUUCByZXNwb25zZSBj b2RlIGFuZCBhIHN0cmluZy4iCiAgIDs7IE11dGV4IGFuZCBjb25kaXRpb24gdmFyaWFibGUgdG8g c3luY2hyb25pemUgd2l0aCB0aGUgSFRUUCBzZXJ2ZXIuCiAgIChkZWZpbmUgJWh0dHAtc2VydmVy LWxvY2sgKG1ha2UtbXV0ZXgpKQogICAoZGVmaW5lICVodHRwLXNlcnZlci1yZWFkeSAobWFrZS1j b25kaXRpb24tdmFyaWFibGUpKQorICAoZGVmaW5lICVodHRwLXJlYWwtc2VydmVyLXBvcnQgI2Yp CiAKICAgKGRlZmluZSAoaHR0cC1vcGVuIC4gYXJncykKICAgICAiU3RhcnQgbGlzdGVuaW5nIGZv ciBIVFRQIHJlcXVlc3RzIGFuZCBzaWduYWwgJUhUVFAtU0VSVkVSLVJFQURZLiIKQEAgLTEyMiw3 ICsxMjQsOSBAQCByZXNwb25zZSBhbmQgYSBzdHJpbmcsIG9yIGFuIEhUVFAgcmVzcG9uc2UgY29k ZSBhbmQgYSBzdHJpbmcuIgogICAgICAgICAgKHNldCEgcmVzcG9uc2VzIHJlc3QpCiAgICAgICAg ICAodmFsdWVzIHJlc3BvbnNlIGRhdGEpKSkpCiAKLSAgICAobGV0ICgoc29ja2V0IChvcGVuLWh0 dHAtc2VydmVyLXNvY2tldCkpKQorICAgIChyZWNlaXZlIChzb2NrZXQgcG9ydCkKKyAgICAgICAg KG9wZW4taHR0cC1zZXJ2ZXItc29ja2V0KQorICAgICAgKHNldCEgJWh0dHAtcmVhbC1zZXJ2ZXIt cG9ydCBwb3J0KQogICAgICAgKGNhdGNoICdxdWl0CiAgICAgICAgIChsYW1iZGEgKCkKICAgICAg ICAgICAocnVuLXNlcnZlciBoYW5kbGUgc3R1Yi1odHRwLXNlcnZlcgpAQCAtMTM0LDcgKzEzOCw4 IEBAIHJlc3BvbnNlIGFuZCBhIHN0cmluZywgb3IgYW4gSFRUUCByZXNwb25zZSBjb2RlIGFuZCBh IHN0cmluZy4iCiAgICAgKGxldCAoKHNlcnZlciAobWFrZS10aHJlYWQgc2VydmVyLWJvZHkpKSkK ICAgICAgICh3YWl0LWNvbmRpdGlvbi12YXJpYWJsZSAlaHR0cC1zZXJ2ZXItcmVhZHkgJWh0dHAt c2VydmVyLWxvY2spCiAgICAgICA7OyBOb3JtYWxseSBTRVJWRVIgZXhpdHMgYXV0b21hdGljYWxs eSBvbmNlIGl0IGhhcyByZWNlaXZlZCBhIHJlcXVlc3QuCi0gICAgICAodGh1bmspKSkpCisgICAg ICAocGFyYW1ldGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgJWh0dHAtcmVhbC1zZXJ2ZXItcG9y dCkpCisgICAgICAgICh0aHVuaykpKSkpCiAKIChkZWZpbmUtc3ludGF4IHdpdGgtaHR0cC1zZXJ2 ZXIKICAgKHN5bnRheC1ydWxlcyAoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGVyaXZhdGlvbnMuc2Nt IGIvdGVzdHMvZGVyaXZhdGlvbnMuc2NtCmluZGV4IDlmMTEwNGE4ODcuLmNkMTY1ZDFiZTYgMTAw NjQ0Ci0tLSBhL3Rlc3RzL2Rlcml2YXRpb25zLnNjbQorKysgYi90ZXN0cy9kZXJpdmF0aW9ucy5z Y20KQEAgLTc3LDkgKzc3LDYgQEAKICAgICAgICAgKGxhbWJkYSAoZTEgZTIpCiAgICAgICAgICAg KHN0cmluZzw/IChjYXIgZTEpIChjYXIgZTIpKSkpKQogCi07OyBBdm9pZCBjb2xsaXNpb25zIHdp dGggb3RoZXIgdGVzdHMuCi0oJWh0dHAtc2VydmVyLXBvcnQgMTA1MDApCi0KIAwKICh0ZXN0LWJl Z2luICJkZXJpdmF0aW9ucyIpCiAKQEAgLTIwNSw4ICsyMDIsNiBAQAogICAgICAgKGJ1aWxkLWRl cml2YXRpb25zICVzdG9yZSAobGlzdCBkcnYpKQogICAgICAgI2YpKSkKIAotKHVubGVzcyAoaHR0 cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pCi0gICh0ZXN0LXNraXAgMSkpCiAodGVzdC1hc3NlcnQgIidk b3dubG9hZCcgYnVpbHQtaW4gYnVpbGRlciIKICAgKGxldCAoKHRleHQgKHJhbmRvbS10ZXh0KSkp CiAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx0ZXh0KSkKQEAgLTIyMSw4ICsyMTYsNiBA QAogICAgICAgICAgICAgICAgICAgICAgICAgIGdldC1zdHJpbmctYWxsKQogICAgICAgICAgICAg ICAgICAgICAgICB0ZXh0KSkpKSkpCiAKLSh1bmxlc3MgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/ KQotICAodGVzdC1za2lwIDEpKQogKHRlc3QtYXNzZXJ0ICInZG93bmxvYWQnIGJ1aWx0LWluIGJ1 aWxkZXIsIGludmFsaWQgaGFzaCIKICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICJoZWxsbywg d29ybGQhIikpCiAgICAgKGxldCogKChkcnYgKGRlcml2YXRpb24gJXN0b3JlICJ3b3JsZCIKQEAg LTIzNiw4ICsyMjksNiBAQAogICAgICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0 IGRydikpCiAgICAgICAgICNmKSkpKQogCi0odW5sZXNzIChodHRwLXNlcnZlci1jYW4tbGlzdGVu PykKLSAgKHRlc3Qtc2tpcCAxKSkKICh0ZXN0LWFzc2VydCAiJ2Rvd25sb2FkJyBidWlsdC1pbiBi dWlsZGVyLCBub3QgZm91bmQiCiAgICh3aXRoLWh0dHAtc2VydmVyICcoKDQwNCAibm90IGZvdW5k IikpCiAgICAgKGxldCogKChkcnYgKGRlcml2YXRpb24gJXN0b3JlICJ3aWxsLW5ldmVyLWJlLWZv dW5kIgpAQCAtMjYyLDI2ICsyNTMsMjQgQEAKICAgICAgIChidWlsZC1kZXJpdmF0aW9ucyAlc3Rv cmUgKGxpc3QgZHJ2KSkKICAgICAgICNmKSkpCiAKLSh1bmxlc3MgKGh0dHAtc2VydmVyLWNhbi1s aXN0ZW4/KQotICAodGVzdC1za2lwIDEpKQogKHRlc3QtYXNzZXJ0ICInZG93bmxvYWQnIGJ1aWx0 LWluIGJ1aWxkZXIsIGNoZWNrIG1vZGUiCiAgIDs7IE1ha2Ugc3VyZSByZWJ1aWxkaW5nIHRoZSAn YnVpbHRpbjpkb3dubG9hZCcgZGVyaXZhdGlvbiBpbiBjaGVjayBtb2RlCiAgIDs7IHdvcmtzLiAg U2VlIDxodHRwOi8vYnVncy5nbnUub3JnLzI1MDg5Pi4KLSAgKGxldCogKCh0ZXh0IChyYW5kb20t dGV4dCkpCi0gICAgICAgICAoZHJ2IChkZXJpdmF0aW9uICVzdG9yZSAid29ybGQiCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICJidWlsdGluOmRvd25sb2FkIiAnKCkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgIzplbnYtdmFycyBgKCgidXJsIgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC4gLChvYmplY3QtPnN0cmluZyAoJWxvY2FsLXVybCkpKSkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIzpoYXNoLWFsZ28gJ3NoYTI1NgotICAgICAgICAgICAgICAg ICAgICAgICAgICAjOmhhc2ggKGdjcnlwdDpzaGEyNTYgKHN0cmluZy0+dXRmOCB0ZXh0KSkpKSkK LSAgICAoYW5kICh3aXRoLWh0dHAtc2VydmVyIGAoKDIwMCAsdGV4dCkpCi0gICAgICAgICAgIChi dWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KSkpCi0gICAgICAgICAod2l0aC1odHRw LXNlcnZlciBgKCgyMDAgLHRleHQpKQotICAgICAgICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0 b3JlIChsaXN0IGRydikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWlsZC1tb2Rl IGNoZWNrKSkpCi0gICAgICAgICAoc3RyaW5nPT8gKGNhbGwtd2l0aC1pbnB1dC1maWxlIChkZXJp dmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYpCi0gICAgICAgICAgICAgICAgICAgICBnZXQtc3RyaW5n LWFsbCkKLSAgICAgICAgICAgICAgICAgICB0ZXh0KSkpKQorICAobGV0KiAoKHRleHQgKHJhbmRv bS10ZXh0KSkpCisgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx0ZXh0KSkKKyAgICAgIChs ZXQgKChkcnYgKGRlcml2YXRpb24gJXN0b3JlICJ3b3JsZCIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgImJ1aWx0aW46ZG93bmxvYWQiICcoKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjOmVudi12YXJzIGAoKCJ1cmwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLiAsKG9iamVjdC0+c3RyaW5nICglbG9jYWwtdXJsKSkpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjOmhhc2gtYWxnbyAnc2hhMjU2CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICM6aGFzaCAoZ2NyeXB0OnNoYTI1NiAoc3RyaW5nLT51dGY4IHRleHQpKSkp KQorICAgICAgICAoYW5kIGRydiAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGRydikp CisgICAgICAgICAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx0ZXh0KSkKKyAgICAgICAg ICAgICAgIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChidWlsZC1tb2RlIGNoZWNrKSkpCisgICAgICAgICAgICAg KHN0cmluZz0/IChjYWxsLXdpdGgtaW5wdXQtZmlsZSAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGgg ZHJ2KQorICAgICAgICAgICAgICAgICAgICAgICAgIGdldC1zdHJpbmctYWxsKQorICAgICAgICAg ICAgICAgICAgICAgICB0ZXh0KSkpKSkpCiAKICh0ZXN0LWVxdWFsICJkZXJpdmF0aW9uLW5hbWUi CiAgICJmb28tMC4wIgpkaWZmIC0tZ2l0IGEvdGVzdHMvZWxwYS5zY20gYi90ZXN0cy9lbHBhLnNj bQppbmRleCBhMDA4Y2Y5OTNjLi4wMWVmOTQ4YjJlIDEwMDY0NAotLS0gYS90ZXN0cy9lbHBhLnNj bQorKysgYi90ZXN0cy9lbHBhLnNjbQpAQCAtNDAsOSArNDAsNiBAQAogICAgICAgICAgICAgIG5p bCAiSW50ZWdyYXRlZCBlbnZpcm9ubWVudCBmb3IgKlRlWCoiIHRhcgogICAgICAgICAgICAgICgo OnVybCAuICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXVjdGV4LyIpKV0pKSkKIAotOzsg QXZvaWQgY29sbGlzaW9ucyB3aXRoIG90aGVyIHRlc3RzLgotKCVodHRwLXNlcnZlci1wb3J0IDEw MzAwKQotCiAodGVzdC1iZWdpbiAiZWxwYSIpCiAKIChkZWZpbmUgKGV2YWwtdGVzdC13aXRoLWVs cGEgcGtnKQpkaWZmIC0tZ2l0IGEvdGVzdHMvbGludC5zY20gYi90ZXN0cy9saW50LnNjbQppbmRl eCA3YzI0NjExOTM0Li5iOTIwNTNmZDVmIDEwMDY0NAotLS0gYS90ZXN0cy9saW50LnNjbQorKysg Yi90ZXN0cy9saW50LnNjbQpAQCAtNjIsNyArNjIsNiBAQAogOzsgVGVzdCB0aGUgbGludGVyLgog CiA7OyBBdm9pZCBjb2xsaXNpb25zIHdpdGggb3RoZXIgdGVzdHMuCi0oJWh0dHAtc2VydmVyLXBv cnQgOTk5OSkKIAogKGRlZmluZSAlbnVsbC1zaGEyNTYKICAgOzsgU0hBMjU2IG9mIHRoZSBlbXB0 eSBzdHJpbmcuCkBAIC01MDAsMTYgKzQ5OSwxNiBAQAogICAgICAgICAgICAgICAgKGhvbWUtcGFn ZSAiaHR0cDovL2RvZXMtbm90LWV4aXN0IikpKSkKICAgICAod2FybmluZy1jb250YWlucz8gImRv bWFpbiBub3QgZm91bmQiIChjaGVjay1ob21lLXBhZ2UgcGtnKSkpKQogCi0odGVzdC1za2lwIChp ZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdl OiBDb25uZWN0aW9uIHJlZnVzZWQiCi0gICJVUkkgaHR0cDovL2xvY2FsaG9zdDo5OTk5L2Zvby9i YXIgdW5yZWFjaGFibGU6IENvbm5lY3Rpb24gcmVmdXNlZCIKLSAgKGxldCAoKHBrZyAocGFja2Fn ZQotICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBhY2thZ2UgIngiKSkKLSAgICAgICAg ICAgICAgIChob21lLXBhZ2UgKCVsb2NhbC11cmwpKSkpKQotICAgIChzaW5nbGUtbGludC13YXJu aW5nLW1lc3NhZ2UKLSAgICAgKGNoZWNrLWhvbWUtcGFnZSBwa2cpKSkpCisocGFyYW1ldGVyaXpl ICgoJWh0dHAtc2VydmVyLXBvcnQgOTk5OSkpCisgIDs7IFRPRE8gc2tpcCB0aGlzIHRlc3QgaWYg c29tZSBwcm9jZXNzIGlzIGN1cnJlbnRseSBsaXN0ZW5pbmcgYXQgOTk5OQorICAodGVzdC1lcXVh bCAiaG9tZS1wYWdlOiBDb25uZWN0aW9uIHJlZnVzZWQiCisgICAgIlVSSSBodHRwOi8vbG9jYWxo b3N0Ojk5OTkvZm9vL2JhciB1bnJlYWNoYWJsZTogQ29ubmVjdGlvbiByZWZ1c2VkIgorICAgIChs ZXQgKChwa2cgKHBhY2thZ2UKKyAgICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBhY2th Z2UgIngiKSkKKyAgICAgICAgICAgICAgICAgKGhvbWUtcGFnZSAoJWxvY2FsLXVybCkpKSkpCisg ICAgICAoc2luZ2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCisgICAgICAgKGNoZWNrLWhvbWUtcGFn ZSBwa2cpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAg MSkpCiAodGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAyMDAiCiAgICcoKQogICAod2l0aC1odHRwLXNl cnZlciBgKCgyMDAgLCVsb25nLXN0cmluZykpCkBAIC01MTgsMTAgKzUxNywxMCBAQAogICAgICAg ICAgICAgICAgICAoaG9tZS1wYWdlICglbG9jYWwtdXJsKSkpKSkKICAgICAgIChjaGVjay1ob21l LXBhZ2UgcGtnKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8p IDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAyMDAgYnV0IHNob3J0IGxlbmd0aCIKLSAg IlVSSSBodHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciByZXR1cm5lZCBzdXNwaWNpb3VzbHkg c21hbGwgZmlsZSAoMTggYnl0ZXMpIgotICAod2l0aC1odHRwLXNlcnZlciBgKCgyMDAgIlRoaXMg aXMgdG9vIHNtYWxsLiIpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICJUaGlzIGlzIHRvbyBz bWFsbC4iKSkKKyAgKHRlc3QtZXF1YWwgImhvbWUtcGFnZTogMjAwIGJ1dCBzaG9ydCBsZW5ndGgi CisgICAgKGZvcm1hdCAjZiAiVVJJIH5hIHJldHVybmVkIHN1c3BpY2lvdXNseSBzbWFsbCBmaWxl ICgxOCBieXRlcykiCisgICAgICAgICAgICAoJWxvY2FsLXVybCkpCiAgICAgKGxldCAoKHBrZyAo cGFja2FnZQogICAgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIpKQog ICAgICAgICAgICAgICAgICAoaG9tZS1wYWdlICglbG9jYWwtdXJsKSkpKSkKQEAgLTUyOSw1NCAr NTI4LDUxIEBACiAgICAgICAoc2luZ2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCiAgICAgICAgKGNo ZWNrLWhvbWUtcGFnZSBwa2cpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2Fu LWxpc3Rlbj8pIDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiA0MDQiCi0gICJVUkkgaHR0 cDovL2xvY2FsaG9zdDo5OTk5L2Zvby9iYXIgbm90IHJlYWNoYWJsZTogNDA0IChcIlN1Y2ggaXMg bGlmZVwiKSIKLSAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoNDA0ICwlbG9uZy1zdHJpbmcpKQorKHdp dGgtaHR0cC1zZXJ2ZXIgYCgoNDA0ICwlbG9uZy1zdHJpbmcpKQorICAodGVzdC1lcXVhbCAiaG9t ZS1wYWdlOiA0MDQiCisgICAgKGZvcm1hdCAjZiAiVVJJIH5hIG5vdCByZWFjaGFibGU6IDQwNCAo XCJTdWNoIGlzIGxpZmVcIikiICglbG9jYWwtdXJsKSkKICAgICAobGV0ICgocGtnIChwYWNrYWdl CiAgICAgICAgICAgICAgICAgIChpbmhlcml0IChkdW1teS1wYWNrYWdlICJ4IikpCiAgICAgICAg ICAgICAgICAgIChob21lLXBhZ2UgKCVsb2NhbC11cmwpKSkpKQogICAgICAgKHNpbmdsZS1saW50 LXdhcm5pbmctbWVzc2FnZQogICAgICAgIChjaGVjay1ob21lLXBhZ2UgcGtnKSkpKSkKIAotKHRl c3Qtc2tpcCAoaWYgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQotKHRlc3QtZXF1YWwg ImhvbWUtcGFnZTogMzAxLCBpbnZhbGlkIgotICAiaW52YWxpZCBwZXJtYW5lbnQgcmVkaXJlY3Qg ZnJvbSBodHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciIKLSAgKHdpdGgtaHR0cC1zZXJ2ZXIg YCgoMzAxICwlbG9uZy1zdHJpbmcpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMzAxICwlbG9uZy1z dHJpbmcpKQorICAodGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEsIGludmFsaWQiCisgICAgKGZv cm1hdCAjZiAiaW52YWxpZCBwZXJtYW5lbnQgcmVkaXJlY3QgZnJvbSB+YSIgKCVsb2NhbC11cmwp KQogICAgIChsZXQgKChwa2cgKHBhY2thZ2UKICAgICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1 bW15LXBhY2thZ2UgIngiKSkKICAgICAgICAgICAgICAgICAgKGhvbWUtcGFnZSAoJWxvY2FsLXVy bCkpKSkpCiAgICAgICAoc2luZ2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCiAgICAgICAgKGNoZWNr LWhvbWUtcGFnZSBwa2cpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxp c3Rlbj8pIDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4gMjAwIgotICAicGVy bWFuZW50IHJlZGlyZWN0IGZyb20gaHR0cDovL2xvY2FsaG9zdDoxMDAwMC9mb28vYmFyIHRvIGh0 dHA6Ly9sb2NhbGhvc3Q6OTk5OS9mb28vYmFyIgotICAod2l0aC1odHRwLXNlcnZlciBgKCgyMDAg LCVsb25nLXN0cmluZykpCi0gICAgKGxldCogKChpbml0aWFsLXVybCAoJWxvY2FsLXVybCkpCi0g ICAgICAgICAgIChyZWRpcmVjdCAgICAoYnVpbGQtcmVzcG9uc2UgIzpjb2RlIDMwMQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6aGVhZGVycwotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKGxvY2F0aW9uCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAsKHN0cmluZy0+dXJpIGluaXRpYWwtdXJsKSkp KSkpCi0gICAgICAocGFyYW1ldGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgKCsgMSAoJWh0dHAt c2VydmVyLXBvcnQpKSkpCi0gICAgICAgICh3aXRoLWh0dHAtc2VydmVyIGAoKCxyZWRpcmVjdCAi IikpCisod2l0aC1odHRwLXNlcnZlciBgKCgyMDAgLCVsb25nLXN0cmluZykpCisgIChsZXQqICgo aW5pdGlhbC11cmwgKCVsb2NhbC11cmwpKQorICAgICAgICAgKHJlZGlyZWN0IChidWlsZC1yZXNw b25zZSAjOmNvZGUgMzAxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6aGVh ZGVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChsb2NhdGlvbgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICwoc3RyaW5nLT51cmkgaW5pdGlh bC11cmwpKSkpKSkKKyAgICAocGFyYW1ldGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgMCkpCisg ICAgICAod2l0aC1odHRwLXNlcnZlciBgKCgscmVkaXJlY3QgIiIpKQorICAgICAgICAodGVzdC1l cXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4gMjAwIgorICAgICAgICAgIChmb3JtYXQgI2YgInBlcm1h bmVudCByZWRpcmVjdCBmcm9tIH5hIHRvIH5hIgorICAgICAgICAgICAgICAgICAgKCVsb2NhbC11 cmwpIGluaXRpYWwtdXJsKQogICAgICAgICAgIChsZXQgKChwa2cgKHBhY2thZ2UKICAgICAgICAg ICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBhY2thZ2UgIngiKSkKICAgICAgICAgICAg ICAgICAgICAgICAgKGhvbWUtcGFnZSAoJWxvY2FsLXVybCkpKSkpCiAgICAgICAgICAgICAoc2lu Z2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCiAgICAgICAgICAgICAgKGNoZWNrLWhvbWUtcGFnZSBw a2cpKSkpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAg MSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4gNDA0IgotICAiVVJJIGh0dHA6Ly9s b2NhbGhvc3Q6MTAwMDAvZm9vL2JhciBub3QgcmVhY2hhYmxlOiA0MDQgKFwiU3VjaCBpcyBsaWZl XCIpIgotICAod2l0aC1odHRwLXNlcnZlciAnKCg0MDQgImJvb2ghIikpCi0gICAgKGxldCogKChp bml0aWFsLXVybCAoJWxvY2FsLXVybCkpCi0gICAgICAgICAgIChyZWRpcmVjdCAgICAoYnVpbGQt cmVzcG9uc2UgIzpjb2RlIDMwMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICM6aGVhZGVycwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAo KGxvY2F0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAs KHN0cmluZy0+dXJpIGluaXRpYWwtdXJsKSkpKSkpCi0gICAgICAocGFyYW1ldGVyaXplICgoJWh0 dHAtc2VydmVyLXBvcnQgKCsgMSAoJWh0dHAtc2VydmVyLXBvcnQpKSkpCi0gICAgICAgICh3aXRo LWh0dHAtc2VydmVyIGAoKCxyZWRpcmVjdCAiIikpCisod2l0aC1odHRwLXNlcnZlciBgKCg0MDQg ImJvb2ghIikpCisgIChsZXQqICgoaW5pdGlhbC11cmwgKCVsb2NhbC11cmwpKQorICAgICAgICAg KHJlZGlyZWN0ICAgIChidWlsZC1yZXNwb25zZSAjOmNvZGUgMzAxCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICM6aGVhZGVycworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBgKChsb2NhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAuICwoc3RyaW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKKyAgICAocGFyYW1l dGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgMCkpCisgICAgICAod2l0aC1odHRwLXNlcnZlciBg KCgscmVkaXJlY3QgIiIpKQorICAgICAgICAodGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4g NDA0IgorICAgICAgICAgIChmb3JtYXQgI2YgIlVSSSB+YSBub3QgcmVhY2hhYmxlOiA0MDQgKFwi U3VjaCBpcyBsaWZlXCIpIiAoJWxvY2FsLXVybCkpCiAgICAgICAgICAgKGxldCAoKHBrZyAocGFj a2FnZQogICAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIp KQogICAgICAgICAgICAgICAgICAgICAgICAoaG9tZS1wYWdlICglbG9jYWwtdXJsKSkpKSkKQEAg LTcwNiw3ICs3MDIsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaGEyNTYg JW51bGwtc2hhMjU2KSkpKSkpCiAgICAgKGNoZWNrLXNvdXJjZS11bnN0YWJsZS10YXJiYWxsIHBr ZykpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAo dGVzdC1lcXVhbCAic291cmNlOiAyMDAiCiAgICcoKQogICAod2l0aC1odHRwLXNlcnZlciBgKCgy MDAgLCVsb25nLXN0cmluZykpCkBAIC03MTgsMTAgKzcxMywxMCBAQAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHNoYTI1NiAlbnVsbC1zaGEyNTYpKSkpKSkKICAgICAgIChjaGVjay1zb3Vy Y2UgcGtnKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAg MSkpCi0odGVzdC1lcXVhbCAic291cmNlOiAyMDAgYnV0IHNob3J0IGxlbmd0aCIKLSAgIlVSSSBo dHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciByZXR1cm5lZCBzdXNwaWNpb3VzbHkgc21hbGwg ZmlsZSAoMTggYnl0ZXMpIgotICAod2l0aC1odHRwLXNlcnZlciAnKCgyMDAgIlRoaXMgaXMgdG9v IHNtYWxsLiIpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgJygoMjAwICJUaGlzIGlzIHRvbyBzbWFsbC4i KSkKKyAgKHRlc3QtZXF1YWwgInNvdXJjZTogMjAwIGJ1dCBzaG9ydCBsZW5ndGgiCisgICAgKGZv cm1hdCAjZiAiVVJJIH5hIHJldHVybmVkIHN1c3BpY2lvdXNseSBzbWFsbCBmaWxlICgxOCBieXRl cykiCisgICAgICAgICAgICAoJWxvY2FsLXVybCkpCiAgICAgKGxldCAoKHBrZyAocGFja2FnZQog ICAgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIpKQogICAgICAgICAg ICAgICAgICAoc291cmNlIChvcmlnaW4KQEAgLTczMywxMCArNzI4LDEwIEBACiAgICAgICAgICAg KGFuZCAoPyBsaW50LXdhcm5pbmc/KSBzZWNvbmQtd2FybmluZykpCiAgICAgICAgICAobGludC13 YXJuaW5nLW1lc3NhZ2Ugc2Vjb25kLXdhcm5pbmcpKSkpKSkKIAotKHRlc3Qtc2tpcCAoaWYgKGh0 dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQotKHRlc3QtZXF1YWwgInNvdXJjZTogNDA0Igot ICAiVVJJIGh0dHA6Ly9sb2NhbGhvc3Q6OTk5OS9mb28vYmFyIG5vdCByZWFjaGFibGU6IDQwNCAo XCJTdWNoIGlzIGxpZmVcIikiCi0gICh3aXRoLWh0dHAtc2VydmVyIGAoKDQwNCAsJWxvbmctc3Ry aW5nKSkKKyh3aXRoLWh0dHAtc2VydmVyIGAoKDQwNCAsJWxvbmctc3RyaW5nKSkKKyAgKHRlc3Qt ZXF1YWwgInNvdXJjZTogNDA0IgorICAgIChmb3JtYXQgI2YgIlVSSSB+YSBub3QgcmVhY2hhYmxl OiA0MDQgKFwiU3VjaCBpcyBsaWZlXCIpIgorICAgICAgICAgICAgKCVsb2NhbC11cmwpKQogICAg IChsZXQgKChwa2cgKHBhY2thZ2UKICAgICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBh Y2thZ2UgIngiKSkKICAgICAgICAgICAgICAgICAgKHNvdXJjZSAob3JpZ2luCkBAIC03NDgsNyAr NzQzLDYgQEAKICAgICAgICAgICAoYW5kICg/IGxpbnQtd2FybmluZz8pIHNlY29uZC13YXJuaW5n KSkKICAgICAgICAgIChsaW50LXdhcm5pbmctbWVzc2FnZSBzZWNvbmQtd2FybmluZykpKSkpKQog Ci0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAodGVzdC1l cXVhbCAic291cmNlOiA0MDQgYW5kIDIwMCIKICAgJygpCiAgICh3aXRoLWh0dHAtc2VydmVyIGAo KDQwNCAsJWxvbmctc3RyaW5nKSkKQEAgLTc2NSwxNyArNzU5LDE3IEBACiAgICAgICAgICAgICA7 OyBsaXN0LgogICAgICAgICAgICAgKGNoZWNrLXNvdXJjZSBwa2cpKSkpKSkpCiAKLSh0ZXN0LXNr aXAgKGlmIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPykgMCAxKSkKLSh0ZXN0LWVxdWFsICJzb3Vy Y2U6IDMwMSAtPiAyMDAiCi0gICJwZXJtYW5lbnQgcmVkaXJlY3QgZnJvbSBodHRwOi8vbG9jYWxo b3N0OjEwMDAwL2Zvby9iYXIgdG8gaHR0cDovL2xvY2FsaG9zdDo5OTk5L2Zvby9iYXIiCi0gICh3 aXRoLWh0dHAtc2VydmVyIGAoKDIwMCAsJWxvbmctc3RyaW5nKSkKLSAgICAobGV0KiAoKGluaXRp YWwtdXJsICglbG9jYWwtdXJsKSkKLSAgICAgICAgICAgKHJlZGlyZWN0ICAgIChidWlsZC1yZXNw b25zZSAjOmNvZGUgMzAxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IzpoZWFkZXJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgobG9j YXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICwoc3Ry aW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKLSAgICAgIChwYXJhbWV0ZXJpemUgKCglaHR0cC1z ZXJ2ZXItcG9ydCAoKyAxICglaHR0cC1zZXJ2ZXItcG9ydCkpKSkKLSAgICAgICAgKHdpdGgtaHR0 cC1zZXJ2ZXIgYCgoLHJlZGlyZWN0ICIiKSkKKyh3aXRoLWh0dHAtc2VydmVyIGAoKDIwMCAsJWxv bmctc3RyaW5nKSkKKyAgKGxldCogKChpbml0aWFsLXVybCAoJWxvY2FsLXVybCkpCisgICAgICAg ICAocmVkaXJlY3QgICAgKGJ1aWxkLXJlc3BvbnNlICM6Y29kZSAzMDEKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIzpoZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGAoKGxvY2F0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC4gLChzdHJpbmctPnVyaSBpbml0aWFsLXVybCkpKSkpKQorICAgIChwYXJh bWV0ZXJpemUgKCglaHR0cC1zZXJ2ZXItcG9ydCAwKSkKKyAgICAgICh3aXRoLWh0dHAtc2VydmVy IGAoKCxyZWRpcmVjdCAiIikpCisgICAgICAgICh0ZXN0LWVxdWFsICJzb3VyY2U6IDMwMSAtPiAy MDAiCisgICAgICAgICAgKGZvcm1hdCAjZiAicGVybWFuZW50IHJlZGlyZWN0IGZyb20gfmEgdG8g fmEiCisgICAgICAgICAgICAgICAgICAoJWxvY2FsLXVybCkgaW5pdGlhbC11cmwpCiAgICAgICAg ICAgKGxldCAoKHBrZyAocGFja2FnZQogICAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJpdCAo ZHVtbXktcGFja2FnZSAieCIpKQogICAgICAgICAgICAgICAgICAgICAgICAoc291cmNlIChvcmln aW4KQEAgLTc4NywxNyArNzgxLDE3IEBACiAgICAgICAgICAgICAgICAgKGFuZCAoPyBsaW50LXdh cm5pbmc/KSBzZWNvbmQtd2FybmluZykpCiAgICAgICAgICAgICAgICAobGludC13YXJuaW5nLW1l c3NhZ2Ugc2Vjb25kLXdhcm5pbmcpKSkpKSkpKSkKIAotKHRlc3Qtc2tpcCAoaWYgKGh0dHAtc2Vy dmVyLWNhbi1saXN0ZW4/KSAwIDEpKQotKHRlc3QtZXF1YWwgInNvdXJjZSwgZ2l0LXJlZmVyZW5j ZTogMzAxIC0+IDIwMCIKLSAgInBlcm1hbmVudCByZWRpcmVjdCBmcm9tIGh0dHA6Ly9sb2NhbGhv c3Q6MTAwMDAvZm9vL2JhciB0byBodHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciIKLSAgKHdp dGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICwlbG9uZy1zdHJpbmcpKQotICAgIChsZXQqICgoaW5pdGlh bC11cmwgKCVsb2NhbC11cmwpKQotICAgICAgICAgICAocmVkaXJlY3QgICAgKGJ1aWxkLXJlc3Bv bnNlICM6Y29kZSAzMDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj OmhlYWRlcnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChsb2Nh dGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gLChzdHJp bmctPnVyaSBpbml0aWFsLXVybCkpKSkpKQotICAgICAgKHBhcmFtZXRlcml6ZSAoKCVodHRwLXNl cnZlci1wb3J0ICgrIDEgKCVodHRwLXNlcnZlci1wb3J0KSkpKQotICAgICAgICAod2l0aC1odHRw LXNlcnZlciBgKCgscmVkaXJlY3QgIiIpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICwlbG9u Zy1zdHJpbmcpKQorICAobGV0KiAoKGluaXRpYWwtdXJsICglbG9jYWwtdXJsKSkKKyAgICAgICAg IChyZWRpcmVjdCAgICAoYnVpbGQtcmVzcG9uc2UgIzpjb2RlIDMwMQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjOmhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYCgobG9jYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLiAsKHN0cmluZy0+dXJpIGluaXRpYWwtdXJsKSkpKSkpCisgICAgKHBhcmFt ZXRlcml6ZSAoKCVodHRwLXNlcnZlci1wb3J0IDApKQorICAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIg YCgoLHJlZGlyZWN0ICIiKSkKKyAgICAgICAgKHRlc3QtZXF1YWwgInNvdXJjZSwgZ2l0LXJlZmVy ZW5jZTogMzAxIC0+IDIwMCIKKyAgICAgICAgICAoZm9ybWF0ICNmICJwZXJtYW5lbnQgcmVkaXJl Y3QgZnJvbSB+YSB0byB+YSIKKyAgICAgICAgICAgICAgICAgICglbG9jYWwtdXJsKSBpbml0aWFs LXVybCkKICAgICAgICAgICAobGV0ICgocGtnIChkdW1teS1wYWNrYWdlCiAgICAgICAgICAgICAg ICAgICAgICAgIngiCiAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZSAob3JpZ2luCkBAIC04 MDcsMTcgKzgwMSwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hhMjU2 ICVudWxsLXNoYTI1NikpKSkpKQogICAgICAgICAgICAgKHNpbmdsZS1saW50LXdhcm5pbmctbWVz c2FnZSAoY2hlY2stc291cmNlIHBrZykpKSkpKSkpCiAKLSh0ZXN0LXNraXAgKGlmIChodHRwLXNl cnZlci1jYW4tbGlzdGVuPykgMCAxKSkKLSh0ZXN0LWVxdWFsICJzb3VyY2U6IDMwMSAtPiA0MDQi Ci0gICJVUkkgaHR0cDovL2xvY2FsaG9zdDoxMDAwMC9mb28vYmFyIG5vdCByZWFjaGFibGU6IDQw NCAoXCJTdWNoIGlzIGxpZmVcIikiCi0gICh3aXRoLWh0dHAtc2VydmVyICcoKDQwNCAiYm9vaCEi KSkKLSAgICAobGV0KiAoKGluaXRpYWwtdXJsICglbG9jYWwtdXJsKSkKLSAgICAgICAgICAgKHJl ZGlyZWN0ICAgIChidWlsZC1yZXNwb25zZSAjOmNvZGUgMzAxCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIzpoZWFkZXJzCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYCgobG9jYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAuICwoc3RyaW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKLSAgICAgIChw YXJhbWV0ZXJpemUgKCglaHR0cC1zZXJ2ZXItcG9ydCAoKyAxICglaHR0cC1zZXJ2ZXItcG9ydCkp KSkKLSAgICAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoLHJlZGlyZWN0ICIiKSkKKyh3aXRoLWh0 dHAtc2VydmVyICcoKDQwNCAiYm9vaCEiKSkKKyAgKGxldCogKChpbml0aWFsLXVybCAoJWxvY2Fs LXVybCkpCisgICAgICAgICAocmVkaXJlY3QgICAgKGJ1aWxkLXJlc3BvbnNlICM6Y29kZSAzMDEK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpoZWFkZXJzCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKGxvY2F0aW9uCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gLChzdHJpbmctPnVyaSBpbml0aWFsLXVybCkp KSkpKQorICAgIChwYXJhbWV0ZXJpemUgKCglaHR0cC1zZXJ2ZXItcG9ydCAwKSkKKyAgICAgICh3 aXRoLWh0dHAtc2VydmVyIGAoKCxyZWRpcmVjdCAiIikpCisgICAgICAgICh0ZXN0LWVxdWFsICJz b3VyY2U6IDMwMSAtPiA0MDQiCisgICAgICAgICAgKGZvcm1hdCAjZiAiVVJJIH5hIG5vdCByZWFj aGFibGU6IDQwNCAoXCJTdWNoIGlzIGxpZmVcIikiCisgICAgICAgICAgICAgICAgICAoJWxvY2Fs LXVybCkpCiAgICAgICAgICAgKGxldCAoKHBrZyAocGFja2FnZQogICAgICAgICAgICAgICAgICAg ICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIpKQogICAgICAgICAgICAgICAgICAgICAg ICAoc291cmNlIChvcmlnaW4KQEAgLTg0Nyw3ICs4NDEsNiBAQAogICAgIChzaW5nbGUtbGludC13 YXJuaW5nLW1lc3NhZ2UKICAgICAgKGNoZWNrLW1pcnJvci11cmwgKGR1bW15LXBhY2thZ2UgIngi IChzb3VyY2Ugc291cmNlKSkpKSkpCiAKLSh0ZXN0LXNraXAgKGlmIChodHRwLXNlcnZlci1jYW4t bGlzdGVuPykgMCAxKSkKICh0ZXN0LWVxdWFsICJnaXRodWItdXJsIgogICAnKCkKICAgKHdpdGgt aHR0cC1zZXJ2ZXIgYCgoMjAwICwlbG9uZy1zdHJpbmcpKQpAQCAtODU5LDcgKzg1Miw2IEBACiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hhMjU2ICVudWxsLXNoYTI1NikpKSkpKSkKIAog KGxldCAoKGdpdGh1Yi11cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9mb28vYmFyL2Jhci0xLjAudGFy Lmd6IikpCi0gICh0ZXN0LXNraXAgKGlmIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPykgMCAxKSkK ICAgKHRlc3QtZXF1YWwgImdpdGh1Yi11cmw6IG9uZSBzdWdnZXN0aW9uIgogICAgIChzdHJpbmct YXBwZW5kCiAgICAgICJVUkwgc2hvdWxkIGJlICciIGdpdGh1Yi11cmwgIiciKQpAQCAtODczLDcg Kzg2NSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6 aGVhZGVycwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChs b2NhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAu ICwoc3RyaW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKLSAgICAgICAgICAocGFyYW1ldGVyaXpl ICgoJWh0dHAtc2VydmVyLXBvcnQgKCsgMSAoJWh0dHAtc2VydmVyLXBvcnQpKSkpCisgICAgICAg ICAgKHBhcmFtZXRlcml6ZSAoKCVodHRwLXNlcnZlci1wb3J0IDApKQogICAgICAgICAgICAgKHdp dGgtaHR0cC1zZXJ2ZXIgYCgoLHJlZGlyZWN0ICIiKSkKICAgICAgICAgICAgICAgKHNpbmdsZS1s aW50LXdhcm5pbmctbWVzc2FnZQogICAgICAgICAgICAgICAgKGNoZWNrLWdpdGh1Yi11cmwKQEAg LTg4Myw3ICs4NzUsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo dXJpICglbG9jYWwtdXJsKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHNoYTI1NiAlbnVsbC1zaGEyNTYpKSkpKSkpKSkpKSkKIAotICAodGVzdC1za2lwIChpZiAoaHR0 cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAgICh0ZXN0LWVxdWFsICJnaXRodWItdXJsOiBh bHJlYWR5IHRoZSBjb3JyZWN0IGdpdGh1YiB1cmwiCiAgICAgJygpCiAgICAgKGNoZWNrLWdpdGh1 Yi11cmwKQEAgLTEwMDcsNyArOTk4LDYgQEAKICAgJygpCiAgIChjaGVjay1mb3JtYXR0aW5nIChk dW1teS1wYWNrYWdlICJ4IikpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxp c3Rlbj8pIDAgMSkpCiAodGVzdC1hc3NlcnQgImFyY2hpdmFsOiBtaXNzaW5nIGNvbnRlbnQiCiAg IChsZXQqICgob3JpZ2luICAgKG9yaWdpbgogICAgICAgICAgICAgICAgICAgICAgKG1ldGhvZCB1 cmwtZmV0Y2gpCkBAIC0xMDE5LDcgKzEwMDksNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZSBvcmlnaW4pKSkpKSkpCiAgICAg KHdhcm5pbmctY29udGFpbnM/ICJub3QgYXJjaGl2ZWQiIHdhcm5pbmdzKSkpCiAKLSh0ZXN0LXNr aXAgKGlmIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPykgMCAxKSkKICh0ZXN0LWVxdWFsICJhcmNo aXZhbDogY29udGVudCBhdmFpbGFibGUiCiAgICcoKQogICAobGV0KiAoKG9yaWdpbiAgIChvcmln aW4KQEAgLTEwMzMsNyArMTAyMiw2IEBACiAgICAgICAocGFyYW1ldGVyaXplICgoJXN3aC1iYXNl LXVybCAoJWxvY2FsLXVybCkpKQogICAgICAgICAoY2hlY2stYXJjaGl2YWwgKGR1bW15LXBhY2th Z2UgIngiIChzb3VyY2Ugb3JpZ2luKSkpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2 ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAodGVzdC1hc3NlcnQgImFyY2hpdmFsOiBtaXNzaW5nIHJl dmlzaW9uIgogICAobGV0KiAoKG9yaWdpbiAgIChvcmlnaW4KICAgICAgICAgICAgICAgICAgICAg IChtZXRob2QgZ2l0LWZldGNoKQpAQCAtMTA1Myw3ICsxMDQxLDYgQEAKICAgICAgICAgICAgICAg ICAgICAgICAgKGNoZWNrLWFyY2hpdmFsIChkdW1teS1wYWNrYWdlICJ4IiAoc291cmNlIG9yaWdp bikpKSkpKSkKICAgICAod2FybmluZy1jb250YWlucz8gInNjaGVkdWxlZCIgd2FybmluZ3MpKSkK IAotKHRlc3Qtc2tpcCAoaWYgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQogKHRlc3Qt ZXF1YWwgImFyY2hpdmFsOiByZXZpc2lvbiBhdmFpbGFibGUiCiAgICcoKQogICAobGV0KiAoKG9y aWdpbiAgIChvcmlnaW4KQEAgLTEwNjksNyArMTA1Niw2IEBACiAgICAgICAocGFyYW1ldGVyaXpl ICgoJXN3aC1iYXNlLXVybCAoJWxvY2FsLXVybCkpKQogICAgICAgICAoY2hlY2stYXJjaGl2YWwg KGR1bW15LXBhY2thZ2UgIngiIChzb3VyY2Ugb3JpZ2luKSkpKSkpKQogCi0odGVzdC1za2lwIChp ZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAodGVzdC1hc3NlcnQgImFyY2hpdmFs OiByYXRlIGxpbWl0IHJlYWNoZWQiCiAgIDs7IFdlIHNob3VsZCBnZXQgYSBzaW5nbGUgd2Fybmlu ZyBzdGF0aW5nIHRoYXQgdGhlIHJhdGUgbGltaXQgd2FzIHJlYWNoZWQsCiAgIDs7IGFuZCBub3Ro aW5nIG1vcmUsIGluIHBhcnRpY3VsYXIgbm8gb3RoZXIgSFRUUCByZXF1ZXN0cy4KQEAgLTEwOTEs NyArMTA3Nyw2IEBACiAgICAgKHN0cmluZy1jb250YWlucyAoc2luZ2xlLWxpbnQtd2FybmluZy1t ZXNzYWdlIHdhcm5pbmdzKQogICAgICAgICAgICAgICAgICAgICAgInJhdGUgbGltaXQgcmVhY2hl ZCIpKSkKIAotKHRlc3Qtc2tpcCAoaWYgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQog KHRlc3QtYXNzZXJ0ICJoYXNrZWxsLXN0YWNrYWdlIgogICAobGV0KiAoKHN0YWNrYWdlIChzdHJp bmctYXBwZW5kICJ7IFwicGFja2FnZXNcIjogW3siCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIiAgICBcIm5hbWVcIjpcInhcIiwiCmRpZmYgLS1naXQgYS90ZXN0cy90ZXhsaXZl LnNjbSBiL3Rlc3RzL3RleGxpdmUuc2NtCmluZGV4IGY3ZTU1MTVjNGMuLmE2ZjA4MDQ2YTggMTAw NjQ0Ci0tLSBhL3Rlc3RzL3RleGxpdmUuc2NtCisrKyBiL3Rlc3RzL3RleGxpdmUuc2NtCkBAIC02 OSw5ICs2OSw2IEBACiAgICAgICAgICAgICAgICAgIChrZXl2YWwgKEAgKHZhbHVlICJ0ZXN0cyIp IChrZXkgInRvcGljIikpKQogICAgICAgICAgICAgICAgICAiXG4gIG51bGxcbiIpKSkKIAotOzsg QXZvaWQgY29sbGlzaW9ucyB3aXRoIG90aGVyIHRlc3RzLgotKCVodHRwLXNlcnZlci1wb3J0IDEw MjAwKQotCiAodGVzdC1lcXVhbCAiZmV0Y2gtc3htbDogcmV0dXJucyBTWE1MIGZvciB2YWxpZCBY TUwiCiAgIHN4bWwKICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx4bWwpKQotLSAKMi4zMC4w Cgo= --=-KT5nFCqXFfNhBilrQFpc-- --=-Wur77PkwInOpVenpJAVX Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYDGGfxccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7g8WAP9mcb02py49RvzgdTX8o0vtn0Nv QtDzjdiv68xrpoVHxAEAostXqVhDcQQseJyPxAwR/lL4bC1jRueYWNukJm31jQ8= =nH5f -----END PGP SIGNATURE----- --=-Wur77PkwInOpVenpJAVX-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 10:46:43 2021 Received: (at 46668) by debbugs.gnu.org; 1 Mar 2021 15:46:43 +0000 Received: from localhost ([127.0.0.1]:50486 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGkks-0000SS-Jd for submit@debbugs.gnu.org; Mon, 01 Mar 2021 10:46:43 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46986) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGkkq-0000N0-LD for 46668@debbugs.gnu.org; Mon, 01 Mar 2021 10:46:41 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47381) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lGkkk-00006b-Cw; Mon, 01 Mar 2021 10:46:34 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=55314 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lGkkj-0001cu-1A; Mon, 01 Mar 2021 10:46:34 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#46668: [PATCH]: tests: do not hard code HTTP ports References: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@telenet.be> Date: Mon, 01 Mar 2021 16:46:30 +0100 In-Reply-To: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@telenet.be> (Maxime Devos's message of "Sat, 20 Feb 2021 23:00:30 +0100") Message-ID: <87r1kyri5l.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 46668 Cc: 46668@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Maxime, Maxime Devos skribis: > From 6a5ea1f1a9155e23e46a38577adf74527ba50b2c Mon Sep 17 00:00:00 2001 > From: Maxime Devos > Date: Sat, 20 Feb 2021 22:04:59 +0100 > Subject: [PATCH] tests: do not hard code HTTP ports > > Previously, test cases could fail if some process was listening > at a hard-coded port. This patch eliminates most of these potential > failures, by automatically assigning an unbound port. This should > allow for building multiple guix trees in parallel outside a build > container, though this is currently untested. > > The test "home-page: Connection refused" in tests/lint.scm still > hardcodes port 9999, however. > > * guix/tests/http.scm > (http-server-can-listen?): remove now unused procedure. > (%http-server-port): default to port 0, meaning the OS > will automatically choose a port. > (open-http-server-socket): remove the false statement claiming > this procedure is exported and also return the allocated port > number. > (%local-url): raise an error if the port is obviously unbound. > (call-with-http-server): set %http-server-port to the allocated > port while the thunk is called. > * tests/derivations.scm: adjust test cases to use automatically > assign a port. As there is no risk of a port conflict now, > do not make any tests conditional upon 'http-server-can-listen?' > anymore. > * tests/elpa.scm: likewise. > * tests/lint.scm: likewise, and add a TODO comment about a port > that is still hard-coded. > * tests/texlive.scm: likewise. Nice! Some comments below. > + #:use-module (ice-9 receive) Please use (srfi srfi-71) instead, or (srfi srfi-11). > -(unless (http-server-can-listen?) > - (test-skip 1)) > (test-assert "'download' built-in builder, check mode" > ;; Make sure rebuilding the 'builtin:download' derivation in check mode > ;; works. See . > - (let* ((text (random-text)) > - (drv (derivation %store "world" > - "builtin:download" '() > - #:env-vars `(("url" > - . ,(object->string (%local-url))= )) > - #:hash-algo 'sha256 > - #:hash (gcrypt:sha256 (string->utf8 text))))) > - (and (with-http-server `((200 ,text)) > - (build-derivations %store (list drv))) > - (with-http-server `((200 ,text)) > - (build-derivations %store (list drv) > - (build-mode check))) > - (string=3D? (call-with-input-file (derivation->output-path drv) > - get-string-all) > - text)))) > + (let* ((text (random-text))) > + (with-http-server `((200 ,text)) > + (let ((drv (derivation %store "world" > + "builtin:download" '() > + #:env-vars `(("url" > + . ,(object->string (%local-ur= l)))) > + #:hash-algo 'sha256 > + #:hash (gcrypt:sha256 (string->utf8 text)))= )) > + (and drv (build-derivations %store (list drv)) > + (with-http-server `((200 ,text)) > + (build-derivations %store (list drv) > + (build-mode check))) > + (string=3D? (call-with-input-file (derivation->output-path = drv) > + get-string-all) > + text)))))) This hunk shouldn=E2=80=99t be here. > -(test-equal "home-page: Connection refused" > - "URI http://localhost:9999/foo/bar unreachable: Connection refused" > - (let ((pkg (package > - (inherit (dummy-package "x")) > - (home-page (%local-url))))) > - (single-lint-warning-message > - (check-home-page pkg)))) > +(parameterize ((%http-server-port 9999)) > + ;; TODO skip this test if some process is currently listening at 9999 > + (test-equal "home-page: Connection refused" > + "URI http://localhost:9999/foo/bar unreachable: Connection refused" > + (let ((pkg (package > + (inherit (dummy-package "x")) > + (home-page (%local-url))))) > + (single-lint-warning-message > + (check-home-page pkg))))) Likewise. > -(test-equal "home-page: 200 but short length" > - "URI http://localhost:9999/foo/bar returned suspiciously small file (1= 8 bytes)" > - (with-http-server `((200 "This is too small.")) > +(with-http-server `((200 "This is too small.")) > + (test-equal "home-page: 200 but short length" > + (format #f "URI ~a returned suspiciously small file (18 bytes)" > + (%local-url)) Likewise. > -(test-equal "home-page: 404" > - "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\= ")" > - (with-http-server `((404 ,%long-string)) > +(with-http-server `((404 ,%long-string)) > + (test-equal "home-page: 404" > + (format #f "URI ~a not reachable: 404 (\"Such is life\")" (%local-ur= l)) Likewise. > -(test-equal "home-page: 301, invalid" > - "invalid permanent redirect from http://localhost:9999/foo/bar" > - (with-http-server `((301 ,%long-string)) > +(with-http-server `((301 ,%long-string)) > + (test-equal "home-page: 301, invalid" > + (format #f "invalid permanent redirect from ~a" (%local-url)) Likewise. > -(test-equal "home-page: 301 -> 200" > - "permanent redirect from http://localhost:10000/foo/bar to http://loca= lhost:9999/foo/bar" > - (with-http-server `((200 ,%long-string)) > - (let* ((initial-url (%local-url)) > - (redirect (build-response #:code 301 > - #:headers > - `((location > - . ,(string->uri initial-url))= )))) > - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) > - (with-http-server `((,redirect "")) > +(with-http-server `((200 ,%long-string)) > + (let* ((initial-url (%local-url)) > + (redirect (build-response #:code 301 > + #:headers > + `((location > + . ,(string->uri initial-url)))))) Likewise. > -(test-equal "home-page: 301 -> 404" > - "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life= \")" > - (with-http-server '((404 "booh!")) > - (let* ((initial-url (%local-url)) > - (redirect (build-response #:code 301 > - #:headers > - `((location > - . ,(string->uri initial-url))= )))) > - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) > - (with-http-server `((,redirect "")) > +(with-http-server `((404 "booh!")) Likewise. > -(test-equal "source: 200 but short length" > - "URI http://localhost:9999/foo/bar returned suspiciously small file (1= 8 bytes)" > - (with-http-server '((200 "This is too small.")) > +(with-http-server '((200 "This is too small.")) > + (test-equal "source: 200 but short length" > + (format #f "URI ~a returned suspiciously small file (18 bytes)" > + (%local-url)) Likewise. > -(test-equal "source: 404" > - "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\= ")" > - (with-http-server `((404 ,%long-string)) > +(with-http-server `((404 ,%long-string)) > + (test-equal "source: 404" > + (format #f "URI ~a not reachable: 404 (\"Such is life\")" > + (%local-url)) Likewise. > -(test-equal "source: 301 -> 200" > - "permanent redirect from http://localhost:10000/foo/bar to http://loca= lhost:9999/foo/bar" > - (with-http-server `((200 ,%long-string)) > - (let* ((initial-url (%local-url)) > - (redirect (build-response #:code 301 > - #:headers > - `((location > - . ,(string->uri initial-url))= )))) > - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) > - (with-http-server `((,redirect "")) > +(with-http-server `((200 ,%long-string)) Likewise. > -(test-equal "source, git-reference: 301 -> 200" > - "permanent redirect from http://localhost:10000/foo/bar to http://loca= lhost:9999/foo/bar" > - (with-http-server `((200 ,%long-string)) > - (let* ((initial-url (%local-url)) > - (redirect (build-response #:code 301 > - #:headers > - `((location > - . ,(string->uri initial-url))= )))) > - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) > - (with-http-server `((,redirect "")) > +(with-http-server `((200 ,%long-string)) Likewise. > -(test-equal "source: 301 -> 404" > - "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life= \")" > - (with-http-server '((404 "booh!")) > - (let* ((initial-url (%local-url)) > - (redirect (build-response #:code 301 > - #:headers > - `((location > - . ,(string->uri initial-url))= )))) > - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) > - (with-http-server `((,redirect "")) > +(with-http-server '((404 "booh!")) Likewise. Could you send an updated patch? Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 12:23:11 2021 Received: (at 46668) by debbugs.gnu.org; 1 Mar 2021 17:23:12 +0000 Received: from localhost ([127.0.0.1]:50694 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGmGF-0007q3-BL for submit@debbugs.gnu.org; Mon, 01 Mar 2021 12:23:11 -0500 Received: from laurent.telenet-ops.be ([195.130.137.89]:49478) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGmGC-0007pt-U6 for 46668@debbugs.gnu.org; Mon, 01 Mar 2021 12:23:10 -0500 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by laurent.telenet-ops.be with bizsmtp id b5P62400K0mfAB4015P6vY; Mon, 01 Mar 2021 18:23:07 +0100 Message-ID: <3ae8be5f05d73106c867fe2cfc7f619673fd738b.camel@telenet.be> Subject: Re: bug#46668: [PATCH]: tests: do not hard code HTTP ports From: Maxime Devos To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Date: Mon, 01 Mar 2021 18:23:00 +0100 In-Reply-To: <87r1kyri5l.fsf@gnu.org> References: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@telenet.be> <87r1kyri5l.fsf@gnu.org> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-1pXjYIk3M2qxf3O0S+Mi" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1614619387; bh=uhDwVhtwtA5c7h11YIQR5wSzo4VjPOFxIqWupSeYZ4Y=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=hNraRhKBCluaMPNFLm12N7JoPMh1olnW9PTBUXcp2939BQsK3DLLa012/7m8/m6BS MZeYRUDqYsgOrImxzQqrJ6OaRyXUAH9qLpUqLMNG2KRzC0Mf8lUK4tF3yTLp9G7fbW IPrNfuLYZpMQE0vGC63eCzmjGx4FKT7yoLegV2P8HwKahP2+3xX2ZuMtIfJQX2h5ZN O0otZdjPJEvmGDUa6COuGKgpLkgfeH3+HVHGbaSfXdLB85nkpw+vDmVvRZgLUAitmX pG5hKcBe2m2iW4RoHWzM+Tqx/uqCytvCx6BvznRcxTRS/DY8V/JuzxBTjT60X9rxER HJgl+fx4n+Ujg== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 46668 Cc: 46668@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-1pXjYIk3M2qxf3O0S+Mi Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 2021-03-01 at 16:46 +0100, Ludovic Court=C3=A8s wrote: > [...] > Maxime Devos skribis:=20 > > [...] >=20 > Nice! >=20 > Some comments below. >=20 > > + #:use-module (ice-9 receive) > Please use (srfi srfi-71) instead, or (srfi srfi-11). Sure, will do. You made some comments about =E2=80=98Hunks that shouldn't be here=E2=80=99= below. I disagree. As my explanation is exactly the same for almost all hunks, I've numbered them and the explanations. Explanations: A. (Hunk 2--12, i.e. all hunks except the first) In some tests, the port number is hardcoded. E.g., you'll see (test-equal "Some string http://localhost:9999" expres= sion). Removing the hard-coding is the whole point of this patch. B. See later (hunk #1). C. See later (hunk #2). Hunk #1. > > -(unless (http-server-can-listen?) > > - (test-skip 1)) > > (test-assert "'download' built-in builder, check mode" > > ;; Make sure rebuilding the 'builtin:download' derivation in check m= ode > > ;; works. See ;. > > - (let* ((text (random-text)) > > - (drv (derivation %store "world" > > - "builtin:download" '() > > - #:env-vars `(("url" > > - . ,(object->string (%local-url= )))) > > - #:hash-algo 'sha256 > > - #:hash (gcrypt:sha256 (string->utf8 text))))= ) > > - (and (with-http-server `((200 ,text)) > > - (build-derivations %store (list drv))) > > - (with-http-server `((200 ,text)) > > - (build-derivations %store (list drv) > > - (build-mode check))) > > - (string=3D? (call-with-input-file (derivation->output-path dr= v) > > - get-string-all) > > - text)))) > > + (let* ((text (random-text))) > > + (with-http-server `((200 ,text)) > > + (let ((drv (derivation %store "world" > > + "builtin:download" '() > > + #:env-vars `(("url" > > + . ,(object->string (%local-= url)))) > > + #:hash-algo 'sha256 > > + #:hash (gcrypt:sha256 (string->utf8 text)= )))) > > + (and drv (build-derivations %store (list drv)) > > + (with-http-server `((200 ,text)) > > + (build-derivations %store (list drv) > > + (build-mode check))) > > + (string=3D? (call-with-input-file (derivation->output-pat= h drv) > > + get-string-all) > > + text)))))) >=20 > This hunk shouldn=E2=80=99t be here. Explanation #B: If the hunk wasn't applied, then the first %local-url won't work, as no web server is running yet (so we cannot yet know the port to include in %local-url). I've added a check to %local-url to throw an exception when %http-server-port is 0 to prevent silently returning "http://localhost:0/foo/bar", which is rather meaningless. The "let" and "with-http-server" forms needed to be restructured, and the %local-url of the first server needed to be saved with a "let", to use the URL of the correct HTTP server. There are two HTTP servers in this test ... Hunk #2. > > -(test-equal "home-page: Connection refused" > > - "URI http://localhost:9999/foo/bar unreachable: Connection refused" > > - (let ((pkg (package > > - (inherit (dummy-package "x")) > > - (home-page (%local-url))))) > > - (single-lint-warning-message > > - (check-home-page pkg)))) > > +(parameterize ((%http-server-port 9999)) > > + ;; TODO skip this test if some process is currently listening at 999= 9 > > + (test-equal "home-page: Connection refused" > > + "URI http://localhost:9999/foo/bar unreachable: Connection refused= " > > + (let ((pkg (package > > + (inherit (dummy-package "x")) > > + (home-page (%local-url))))) > > + (single-lint-warning-message > > + (check-home-page pkg))))) >=20 > Likewise. Explanation #A. Also, explanation #C: The "(parameterize ((%http-server-port 9999)) ...)" form is required I think, as otherwise this test will try to connect to por= t 0, which doesn't make much sense IMHO. However, a quick test in Guile on Linu= x shows: > (socket AF_INET SOCK_STREAM 0) $1 =3D # > (connect $1 AF_INET INADDR_LOOPBACK 0) ice-9/boot-9.scm:1669:16: In procedure raise-exception: In procedure connect: Connection refused It seems like connecting to port 0 results in =E2=80=98Connection refused= =E2=80=99, but this connecting to port 0 seems a rather obscure to me, so I would rather not re= ly on this, though your opinion could vary. (If we drop the parameterize, then (%local-url) would need to be replaced with "http://localhost:0".) -- And why hardcode the port in the first case? Well, there isn't exactly a procedure for asking the OS to reserve a port, but not bind to it. Perha= ps something to figure out in a future patch ... Hunk #3. > > -(test-equal "home-page: 200 but short length" > > - "URI http://localhost:9999/foo/bar returned suspiciously small file = (18 bytes)" > > - (with-http-server `((200 "This is too small.")) > > +(with-http-server `((200 "This is too small.")) > > + (test-equal "home-page: 200 but short length" > > + (format #f "URI ~a returned suspiciously small file (18 bytes)" > > + (%local-url)) >=20 > Likewise. Explanation #A. Hunk #4. > > -(test-equal "home-page: 404" > > - "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is lif= e\")" > > - (with-http-server `((404 ,%long-string)) > > +(with-http-server `((404 ,%long-string)) > > + (test-equal "home-page: 404" > > + (format #f "URI ~a not reachable: 404 (\"Such is life\")" (%local-= url)) >=20 > Likewise. Explanation #A. Hunk #5. > > -(test-equal "home-page: 301, invalid" > > - "invalid permanent redirect from http://localhost:9999/foo/bar" > > - (with-http-server `((301 ,%long-string)) > > +(with-http-server `((301 ,%long-string)) > > + (test-equal "home-page: 301, invalid" > > + (format #f "invalid permanent redirect from ~a" (%local-url)) >=20 > Likewise. Explanation #A. Hunk #6. > > -(test-equal "home-page: 301 -> 200" > > - "permanent redirect from http://localhost:10000/foo/bar to http://lo= calhost:9999/foo/bar" > > - (with-http-server `((200 ,%long-string)) > > - (let* ((initial-url (%local-url)) > > - (redirect (build-response #:code 301 > > - #:headers > > - `((location > > - . ,(string->uri initial-url= )))))) > > - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) > > - (with-http-server `((,redirect "")) > > +(with-http-server `((200 ,%long-string)) > > + (let* ((initial-url (%local-url)) > > + (redirect (build-response #:code 301 > > + #:headers > > + `((location > > + . ,(string->uri initial-url)))))= ) >=20 > Likewise. Explanation #A. Hunk #7. > > -(test-equal "home-page: 301 -> 404" > > - "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is li= fe\")" > > - (with-http-server '((404 "booh!")) > > - (let* ((initial-url (%local-url)) > > - (redirect (build-response #:code 301 > > - #:headers > > - `((location > > - . ,(string->uri initial-url= )))))) > > - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) > > - (with-http-server `((,redirect "")) > > +(with-http-server `((404 "booh!")) >=20 > Likewise. Explanation #A. Hunk #8. > > -(test-equal "source: 200 but short length" > > - "URI http://localhost:9999/foo/bar returned suspiciously small file = (18 bytes)" > > - (with-http-server '((200 "This is too small.")) > > +(with-http-server '((200 "This is too small.")) > > + (test-equal "source: 200 but short length" > > + (format #f "URI ~a returned suspiciously small file (18 bytes)" > > + (%local-url)) >=20 > Likewise. Explanation #A. Hunk #9. > > -(test-equal "source: 404" > > - "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is lif= e\")" > > - (with-http-server `((404 ,%long-string)) > > +(with-http-server `((404 ,%long-string)) > > + (test-equal "source: 404" > > + (format #f "URI ~a not reachable: 404 (\"Such is life\")" > > + (%local-url)) >=20 > Likewise. Explanation #A. Hunk #10. > > -(test-equal "source: 301 -> 200" > > - "permanent redirect from http://localhost:10000/foo/bar to http://lo= calhost:9999/foo/bar" > > - (with-http-server `((200 ,%long-string)) > > - (let* ((initial-url (%local-url)) > > - (redirect (build-response #:code 301 > > - #:headers > > - `((location > > - . ,(string->uri initial-url= )))))) > > - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) > > - (with-http-server `((,redirect "")) > > +(with-http-server `((200 ,%long-string)) >=20 > Likewise. Explanation #A. Hunk #11. > > -(test-equal "source, git-reference: 301 -> 200" > > - "permanent redirect from http://localhost:10000/foo/bar to http://lo= calhost:9999/foo/bar" > > - (with-http-server `((200 ,%long-string)) > > - (let* ((initial-url (%local-url)) > > - (redirect (build-response #:code 301 > > - #:headers > > - `((location > > - . ,(string->uri initial-url= )))))) > > - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) > > - (with-http-server `((,redirect "")) > > +(with-http-server `((200 ,%long-string)) >=20 > Likewise. Explanation #A. Hunk #12. > > -(test-equal "source: 301 -> 404" > > - "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is li= fe\")" > > - (with-http-server '((404 "booh!")) > > - (let* ((initial-url (%local-url)) > > - (redirect (build-response #:code 301 > > - #:headers > > - `((location > > - . ,(string->uri initial-url= )))))) > > - (parameterize ((%http-server-port (+ 1 (%http-server-port)))) > > - (with-http-server `((,redirect "")) > > +(with-http-server '((404 "booh!")) >=20 > Likewise. Explanation #A. > Could you send an updated patch? Is explanation #A clear, and does explanation #B make sense to you? What do you think of explanation #C? If you remove these hunks, you should see that the tests will fail (make check TESTS=3D$tests). Thanks, Maxime. --=-1pXjYIk3M2qxf3O0S+Mi Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYD0i9RccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7iLmAP9yGQZ5LEPqBL6NCk+lrL2H+n5N KQyYcKt6aiNIKZRZYAD8DlK4Lg2o45jK3jhkm+W9iBsKmbWbmRiMU3TvPsIOPwQ= =6aAB -----END PGP SIGNATURE----- --=-1pXjYIk3M2qxf3O0S+Mi-- From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 01 16:40:27 2021 Received: (at 46668) by debbugs.gnu.org; 1 Mar 2021 21:40:27 +0000 Received: from localhost ([127.0.0.1]:51045 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGqHD-0001WW-6s for submit@debbugs.gnu.org; Mon, 01 Mar 2021 16:40:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55746) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lGqHB-0001WJ-MF for 46668@debbugs.gnu.org; Mon, 01 Mar 2021 16:40:26 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:54703) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lGqH6-0008Bt-9l; Mon, 01 Mar 2021 16:40:20 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=59104 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lGqH5-00045Q-NL; Mon, 01 Mar 2021 16:40:20 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#46668: [PATCH]: tests: do not hard code HTTP ports References: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@telenet.be> <87r1kyri5l.fsf@gnu.org> <3ae8be5f05d73106c867fe2cfc7f619673fd738b.camel@telenet.be> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 11 =?utf-8?Q?Vent=C3=B4se?= an 229 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 01 Mar 2021 22:40:18 +0100 In-Reply-To: <3ae8be5f05d73106c867fe2cfc7f619673fd738b.camel@telenet.be> (Maxime Devos's message of "Mon, 01 Mar 2021 18:23:00 +0100") Message-ID: <87h7lupn7h.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 46668 Cc: 46668@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, Maxime Devos skribis: > You made some comments about =E2=80=98Hunks that shouldn't be here=E2=80= =99 below. > I disagree. As my explanation is exactly the same for almost all hunks, > I've numbered them and the explanations. > > Explanations: > > A. (Hunk 2--12, i.e. all hunks except the first) > In some tests, the port number is hardcoded. > E.g., you'll see (test-equal "Some string http://localhost:9999" expr= ession). > Removing the hard-coding is the whole point of this patch. > B. See later (hunk #1). > C. See later (hunk #2). Oooh I see, my bad! I thought =E2=80=98test-equal=E2=80=99 & co. were vani= shing, when in fact they were just moved down. Your explanations make perfect sense. IWBN to keep the (test-xyz =E2=80=A6) forms at the top level as much as pos= sible (it=E2=80=99s more convenient, especially when working from Geiser); when i= t=E2=80=99s not possible, changes like you did are the right thing. Thank you, and apologies for the confusion! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 03:16:57 2021 Received: (at 46668) by debbugs.gnu.org; 2 Mar 2021 08:16:57 +0000 Received: from localhost ([127.0.0.1]:51651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH0DA-0006nN-B6 for submit@debbugs.gnu.org; Tue, 02 Mar 2021 03:16:57 -0500 Received: from andre.telenet-ops.be ([195.130.132.53]:47796) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lH0D6-0006nC-Fe for 46668@debbugs.gnu.org; Tue, 02 Mar 2021 03:16:54 -0500 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by andre.telenet-ops.be with bizsmtp id bLGp2400S0mfAB401LGqxg; Tue, 02 Mar 2021 09:16:50 +0100 Message-ID: Subject: Re: bug#46668: [PATCH]: tests: do not hard code HTTP ports From: Maxime Devos To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Date: Tue, 02 Mar 2021 09:15:57 +0100 In-Reply-To: <87h7lupn7h.fsf@gnu.org> References: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@telenet.be> <87r1kyri5l.fsf@gnu.org> <3ae8be5f05d73106c867fe2cfc7f619673fd738b.camel@telenet.be> <87h7lupn7h.fsf@gnu.org> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-ocdin7zixPRczI/iQ0j1" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1614673010; bh=QRqW85H8xQ/slrkLlbkL4gD4KS5MzFlmqT9ITfMkt94=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=MnnshWuWlQWZcv9Vkec9b52MlQlMD+0tV3w5GRAh0a2kIsVLokomv8YwxZ8sB7rJL WkN/JtD+ah4T/FIzmx0SLVx9NAHp3FTEiAz9Q8aqVv+jLRS2S/8Dj3Q2R8mApof3/1 slv/qe7mpCWG2EVJmZtv0MXEjK+BDLz+IoBUDj/oo3wxuTP/mgefymIDCnjyEV+8bG Rl2RNbpDzIL1zFk0Z/P3zMqnfsjioVoAf8JcD/NDI3CgTlxZDq6mhe/ZauG+Q85cWU oYr4kM72dXTnZWOnW8JVzx6ilzjAtPZ9cGOzgOOPbByVwiGmXPMgfSwS8B+2IV5SDW o2zukYSkCC9fw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 46668 Cc: 46668@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-ocdin7zixPRczI/iQ0j1 Content-Type: multipart/mixed; boundary="=-7+UWTvRGUG09BSD70CsE" --=-7+UWTvRGUG09BSD70CsE Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 2021-03-01 at 22:40 +0100, Ludovic Court=C3=A8s wrote: > [...] > Thank you, and apologies for the confusion! >=20 > Ludo=E2=80=99. No problem! The revised patch that uses "let-values" instead of "receive" is attached. Maxime. --=-7+UWTvRGUG09BSD70CsE Content-Disposition: attachment; filename="0001-tests-do-not-hard-code-HTTP-ports.patch" Content-Type: text/x-patch; name="0001-tests-do-not-hard-code-HTTP-ports.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA5MzNjYjg1ZGUwZjUwYzU0MTkwZTdjNjA0MjBiZWY1MjQ1YTNmMmVkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFNhdCwgMjAgRmViIDIwMjEgMjI6MDQ6NTkgKzAxMDAKU3ViamVjdDogW1BBVENIXSB0 ZXN0czogZG8gbm90IGhhcmQgY29kZSBIVFRQIHBvcnRzCgpQcmV2aW91c2x5LCB0ZXN0IGNhc2Vz IGNvdWxkIGZhaWwgaWYgc29tZSBwcm9jZXNzIHdhcyBsaXN0ZW5pbmcKYXQgYSBoYXJkLWNvZGVk IHBvcnQuICBUaGlzIHBhdGNoIGVsaW1pbmF0ZXMgbW9zdCBvZiB0aGVzZSBwb3RlbnRpYWwKZmFp bHVyZXMsIGJ5IGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGFuIHVuYm91bmQgcG9ydC4gIFRoaXMg c2hvdWxkCmFsbG93IGZvciBidWlsZGluZyBtdWx0aXBsZSBndWl4IHRyZWVzIGluIHBhcmFsbGVs IG91dHNpZGUgYSBidWlsZApjb250YWluZXIsIHRob3VnaCB0aGlzIGlzIGN1cnJlbnRseSB1bnRl c3RlZC4KClRoZSB0ZXN0ICJob21lLXBhZ2U6IENvbm5lY3Rpb24gcmVmdXNlZCIgaW4gdGVzdHMv bGludC5zY20gc3RpbGwKaGFyZGNvZGVzIHBvcnQgOTk5OSwgaG93ZXZlci4KCiogZ3VpeC90ZXN0 cy9odHRwLnNjbQogIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPyk6IHJlbW92ZSBub3cgdW51c2Vk IHByb2NlZHVyZS4KICAoJWh0dHAtc2VydmVyLXBvcnQpOiBkZWZhdWx0IHRvIHBvcnQgMCwgbWVh bmluZyB0aGUgT1MKICB3aWxsIGF1dG9tYXRpY2FsbHkgY2hvb3NlIGEgcG9ydC4KICAob3Blbi1o dHRwLXNlcnZlci1zb2NrZXQpOiByZW1vdmUgdGhlIGZhbHNlIHN0YXRlbWVudCBjbGFpbWluZwog IHRoaXMgcHJvY2VkdXJlIGlzIGV4cG9ydGVkIGFuZCBhbHNvIHJldHVybiB0aGUgYWxsb2NhdGVk IHBvcnQKICBudW1iZXIuCiAgKCVsb2NhbC11cmwpOiByYWlzZSBhbiBlcnJvciBpZiB0aGUgcG9y dCBpcyBvYnZpb3VzbHkgdW5ib3VuZC4KICAoY2FsbC13aXRoLWh0dHAtc2VydmVyKTogc2V0ICVo dHRwLXNlcnZlci1wb3J0IHRvIHRoZSBhbGxvY2F0ZWQKICBwb3J0IHdoaWxlIHRoZSB0aHVuayBp cyBjYWxsZWQuCiogdGVzdHMvZGVyaXZhdGlvbnMuc2NtOiBhZGp1c3QgdGVzdCBjYXNlcyB0byB1 c2UgYXV0b21hdGljYWxseQogIGFzc2lnbiBhIHBvcnQuICBBcyB0aGVyZSBpcyBubyByaXNrIG9m IGEgcG9ydCBjb25mbGljdCBub3csCiAgZG8gbm90IG1ha2UgYW55IHRlc3RzIGNvbmRpdGlvbmFs IHVwb24gJ2h0dHAtc2VydmVyLWNhbi1saXN0ZW4/JwogIGFueW1vcmUuCiogdGVzdHMvZWxwYS5z Y206IGxpa2V3aXNlLgoqIHRlc3RzL2xpbnQuc2NtOiBsaWtld2lzZSwgYW5kIGFkZCBhIFRPRE8g Y29tbWVudCBhYm91dCBhIHBvcnQKICB0aGF0IGlzIHN0aWxsIGhhcmQtY29kZWQuCiogdGVzdHMv dGV4bGl2ZS5zY206IGxpa2V3aXNlLgotLS0KIGd1aXgvdGVzdHMvaHR0cC5zY20gICB8ICAzOCAr KysrKy0tLS0KIHRlc3RzL2Rlcml2YXRpb25zLnNjbSB8ICA0MSArKysrLS0tLS0tCiB0ZXN0cy9l bHBhLnNjbSAgICAgICAgfCAgIDMgLQogdGVzdHMvbGludC5zY20gICAgICAgIHwgMTc5ICsrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdGVzdHMvdGV4bGl2ZS5zY20g ICAgIHwgICAzIC0KIDUgZmlsZXMgY2hhbmdlZCwgMTE4IGluc2VydGlvbnMoKyksIDE0NiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ndWl4L3Rlc3RzL2h0dHAuc2NtIGIvZ3VpeC90ZXN0cy9o dHRwLnNjbQppbmRleCA0MTE5ZTljZTAxLi44ZjUwZWFlZmNhIDEwMDY0NAotLS0gYS9ndWl4L3Rl c3RzL2h0dHAuc2NtCisrKyBiL2d1aXgvdGVzdHMvaHR0cC5zY20KQEAgLTEsNSArMSw2IEBACiA7 OzsgR05VIEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFja2FnZSBtYW5hZ2VtZW50IGZvciBHTlUKIDs7 OyBDb3B5cmlnaHQgwqkgMjAxNCwgMjAxNSwgMjAxNiwgMjAxNywgMjAxOSBMdWRvdmljIENvdXJ0 w6hzIDxsdWRvQGdudS5vcmc+Cis7OzsgQ29weXJpZ2h0IMKpIDIwMjEgTWF4aW1lIERldm9zIDxt YXhpbWVkZXZvc0B0ZWxlbmV0LmJlPgogOzs7CiA7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V IEd1aXguCiA7OzsKQEAgLTIxLDEyICsyMiwxMiBAQAogICAjOnVzZS1tb2R1bGUgKHdlYiBzZXJ2 ZXIpCiAgICM6dXNlLW1vZHVsZSAod2ViIHNlcnZlciBodHRwKQogICAjOnVzZS1tb2R1bGUgKHdl YiByZXNwb25zZSkKKyAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMTEpCiAgICM6dXNlLW1vZHVs ZSAoc3JmaSBzcmZpLTM5KQogICAjOnVzZS1tb2R1bGUgKGljZS05IG1hdGNoKQogICAjOmV4cG9y dCAod2l0aC1odHRwLXNlcnZlcgogICAgICAgICAgICAgY2FsbC13aXRoLWh0dHAtc2VydmVyCiAg ICAgICAgICAgICAlaHR0cC1zZXJ2ZXItcG9ydAotICAgICAgICAgICAgaHR0cC1zZXJ2ZXItY2Fu LWxpc3Rlbj8KICAgICAgICAgICAgICVsb2NhbC11cmwpKQogCiA7OzsgQ29tbWVudGFyeToKQEAg LTM3LDEyICszOCwxMyBAQAogCiAoZGVmaW5lICVodHRwLXNlcnZlci1wb3J0CiAgIDs7IFRDUCBw b3J0IHRvIHVzZSBmb3IgdGhlIHN0dWIgSFRUUCBzZXJ2ZXIuCi0gIChtYWtlLXBhcmFtZXRlciA5 OTk5KSkKKyAgOzsgSWYgMCwgdGhlIE9TIHdpbGwgYXV0b21hdGljYWxseSBjaG9vc2UKKyAgOzsg YSBwb3J0LgorICAobWFrZS1wYXJhbWV0ZXIgMCkpCiAKIChkZWZpbmUgKG9wZW4taHR0cC1zZXJ2 ZXItc29ja2V0KQotICAiUmV0dXJuIGEgbGlzdGVuaW5nIHNvY2tldCBmb3IgdGhlIHdlYiBzZXJ2 ZXIuICBJdCBpcyB1c2VmdWwgdG8gZXhwb3J0IGl0IHNvCi10aGF0IHRlc3RzIGNhbiBjaGVjayB3 aGV0aGVyIHdlIHN1Y2NlZWRlZCBvcGVuaW5nIHRoZSBzb2NrZXQgYW5kIHRlc3RzIHNraXAgaWYK LW5lZWRlZC4iCisgICJSZXR1cm4gYSBsaXN0ZW5pbmcgc29ja2V0IGZvciB0aGUgd2ViIHNlcnZl ciBhbmQgdGhlIHBvcnQKK2FjdHVhbGx5IGxpc3RlbmVkIGF0IChpbiBjYXNlICVodHRwLXNlcnZl ci1wb3J0IHdhcyAwKS4iCiAgIChjYXRjaCAnc3lzdGVtLWVycm9yCiAgICAgKGxhbWJkYSAoKQog ICAgICAgKGxldCAoKHNvY2sgKHNvY2tldCBQRl9JTkVUIFNPQ0tfU1RSRUFNIDApKSkKQEAgLTUw LDIyICs1MiwxOCBAQCBuZWVkZWQuIgogICAgICAgICAoYmluZCBzb2NrCiAgICAgICAgICAgICAg IChtYWtlLXNvY2tldC1hZGRyZXNzIEFGX0lORVQgSU5BRERSX0xPT1BCQUNLCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICglaHR0cC1zZXJ2ZXItcG9ydCkpKQotICAgICAgICBz b2NrKSkKKyAgICAgICAgKHZhbHVlcyBzb2NrCisgICAgICAgICAgICAgICAgKHNvY2thZGRyOnBv cnQgKGdldHNvY2tuYW1lIHNvY2spKSkpKQogICAgIChsYW1iZGEgYXJncwogICAgICAgKGxldCAo KGVyciAoc3lzdGVtLWVycm9yLWVycm5vIGFyZ3MpKSkKICAgICAgICAgKGZvcm1hdCAoY3VycmVu dC1lcnJvci1wb3J0KQogICAgICAgICAgICAgICAgICJ3YXJuaW5nOiBjYW5ub3QgcnVuIFdlYiBz ZXJ2ZXIgZm9yIHRlc3RzOiB+YX4lIgogICAgICAgICAgICAgICAgIChzdHJlcnJvciBlcnIpKQot ICAgICAgICAjZikpKSkKLQotKGRlZmluZSAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pCi0gICJS ZXR1cm4gI3QgaWYgd2UgbWFuYWdlZCB0byBvcGVuIGEgbGlzdGVuaW5nIHNvY2tldC4iCi0gIChh bmQ9PiAob3Blbi1odHRwLXNlcnZlci1zb2NrZXQpCi0gICAgICAgICAobGFtYmRhIChzb2NrZXQp Ci0gICAgICAgICAgIChjbG9zZS1wb3J0IHNvY2tldCkKLSAgICAgICAgICAgI3QpKSkKKyAgICAg ICAgKHZhbHVlcyAjZiAjZikpKSkpCiAKIChkZWZpbmUqICglbG9jYWwtdXJsICM6b3B0aW9uYWwg KHBvcnQgKCVodHRwLXNlcnZlci1wb3J0KSkpCisgICh3aGVuICg9IHBvcnQgMCkKKyAgICAoZXJy b3IgIm5vIHdlYiBzZXJ2ZXIgaXMgcnVubmluZyEiKSkKICAgOzsgVVJMIHRvIHVzZSBmb3IgJ2hv bWUtcGFnZScgdGVzdHMuCiAgIChzdHJpbmctYXBwZW5kICJodHRwOi8vbG9jYWxob3N0OiIgKG51 bWJlci0+c3RyaW5nIHBvcnQpCiAgICAgICAgICAgICAgICAgICIvZm9vL2JhciIpKQpAQCAtNzMs NyArNzEsMTAgQEAgbmVlZGVkLiIKIChkZWZpbmUqIChjYWxsLXdpdGgtaHR0cC1zZXJ2ZXIgcmVz cG9uc2VzK2RhdGEgdGh1bmspCiAgICJDYWxsIFRIVU5LIHdpdGggYW4gSFRUUCBzZXJ2ZXIgcnVu bmluZyBhbmQgcmV0dXJuaW5nIFJFU1BPTlNFUytEQVRBIG9uIEhUVFAKIHJlcXVlc3RzLiAgRWFj aCBlbGVtZW50IG9mIFJFU1BPTlNFUytEQVRBIG11c3QgYmUgYSB0dXBsZSBjb250YWluaW5nIGEK LXJlc3BvbnNlIGFuZCBhIHN0cmluZywgb3IgYW4gSFRUUCByZXNwb25zZSBjb2RlIGFuZCBhIHN0 cmluZy4iCityZXNwb25zZSBhbmQgYSBzdHJpbmcsIG9yIGFuIEhUVFAgcmVzcG9uc2UgY29kZSBh bmQgYSBzdHJpbmcuCisKKyVodHRwLXNlcnZlci1wb3J0IHdpbGwgYmUgc2V0IHRvIHRoZSBwb3J0 IGxpc3RlbmVkIGF0CitUaGUgcG9ydCBsaXN0ZW5lZCBhdCB3aWxsIGJlIHNldCBmb3IgdGhlIGR5 bmFtaWMgZXh0ZW50IG9mIFRIVU5LLiIKICAgKGRlZmluZSByZXNwb25zZXMKICAgICAobWFwICht YXRjaC1sYW1iZGEKICAgICAgICAgICAgKCgoPyByZXNwb25zZT8gcmVzcG9uc2UpIGRhdGEpCkBA IC0xMDAsNiArMTAxLDcgQEAgcmVzcG9uc2UgYW5kIGEgc3RyaW5nLCBvciBhbiBIVFRQIHJlc3Bv bnNlIGNvZGUgYW5kIGEgc3RyaW5nLiIKICAgOzsgTXV0ZXggYW5kIGNvbmRpdGlvbiB2YXJpYWJs ZSB0byBzeW5jaHJvbml6ZSB3aXRoIHRoZSBIVFRQIHNlcnZlci4KICAgKGRlZmluZSAlaHR0cC1z ZXJ2ZXItbG9jayAobWFrZS1tdXRleCkpCiAgIChkZWZpbmUgJWh0dHAtc2VydmVyLXJlYWR5ICht YWtlLWNvbmRpdGlvbi12YXJpYWJsZSkpCisgIChkZWZpbmUgJWh0dHAtcmVhbC1zZXJ2ZXItcG9y dCAjZikKIAogICAoZGVmaW5lIChodHRwLW9wZW4gLiBhcmdzKQogICAgICJTdGFydCBsaXN0ZW5p bmcgZm9yIEhUVFAgcmVxdWVzdHMgYW5kIHNpZ25hbCAlSFRUUC1TRVJWRVItUkVBRFkuIgpAQCAt MTIyLDcgKzEyNCw4IEBAIHJlc3BvbnNlIGFuZCBhIHN0cmluZywgb3IgYW4gSFRUUCByZXNwb25z ZSBjb2RlIGFuZCBhIHN0cmluZy4iCiAgICAgICAgICAoc2V0ISByZXNwb25zZXMgcmVzdCkKICAg ICAgICAgICh2YWx1ZXMgcmVzcG9uc2UgZGF0YSkpKSkKIAotICAgIChsZXQgKChzb2NrZXQgKG9w ZW4taHR0cC1zZXJ2ZXItc29ja2V0KSkpCisgICAgKGxldC12YWx1ZXMgKCgoc29ja2V0IHBvcnQp IChvcGVuLWh0dHAtc2VydmVyLXNvY2tldCkpKQorICAgICAgKHNldCEgJWh0dHAtcmVhbC1zZXJ2 ZXItcG9ydCBwb3J0KQogICAgICAgKGNhdGNoICdxdWl0CiAgICAgICAgIChsYW1iZGEgKCkKICAg ICAgICAgICAocnVuLXNlcnZlciBoYW5kbGUgc3R1Yi1odHRwLXNlcnZlcgpAQCAtMTM0LDcgKzEz Nyw4IEBAIHJlc3BvbnNlIGFuZCBhIHN0cmluZywgb3IgYW4gSFRUUCByZXNwb25zZSBjb2RlIGFu ZCBhIHN0cmluZy4iCiAgICAgKGxldCAoKHNlcnZlciAobWFrZS10aHJlYWQgc2VydmVyLWJvZHkp KSkKICAgICAgICh3YWl0LWNvbmRpdGlvbi12YXJpYWJsZSAlaHR0cC1zZXJ2ZXItcmVhZHkgJWh0 dHAtc2VydmVyLWxvY2spCiAgICAgICA7OyBOb3JtYWxseSBTRVJWRVIgZXhpdHMgYXV0b21hdGlj YWxseSBvbmNlIGl0IGhhcyByZWNlaXZlZCBhIHJlcXVlc3QuCi0gICAgICAodGh1bmspKSkpCisg ICAgICAocGFyYW1ldGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgJWh0dHAtcmVhbC1zZXJ2ZXIt cG9ydCkpCisgICAgICAgICh0aHVuaykpKSkpCiAKIChkZWZpbmUtc3ludGF4IHdpdGgtaHR0cC1z ZXJ2ZXIKICAgKHN5bnRheC1ydWxlcyAoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGVyaXZhdGlvbnMu c2NtIGIvdGVzdHMvZGVyaXZhdGlvbnMuc2NtCmluZGV4IDlmMTEwNGE4ODcuLmNkMTY1ZDFiZTYg MTAwNjQ0Ci0tLSBhL3Rlc3RzL2Rlcml2YXRpb25zLnNjbQorKysgYi90ZXN0cy9kZXJpdmF0aW9u cy5zY20KQEAgLTc3LDkgKzc3LDYgQEAKICAgICAgICAgKGxhbWJkYSAoZTEgZTIpCiAgICAgICAg ICAgKHN0cmluZzw/IChjYXIgZTEpIChjYXIgZTIpKSkpKQogCi07OyBBdm9pZCBjb2xsaXNpb25z IHdpdGggb3RoZXIgdGVzdHMuCi0oJWh0dHAtc2VydmVyLXBvcnQgMTA1MDApCi0KIAwKICh0ZXN0 LWJlZ2luICJkZXJpdmF0aW9ucyIpCiAKQEAgLTIwNSw4ICsyMDIsNiBAQAogICAgICAgKGJ1aWxk LWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBkcnYpKQogICAgICAgI2YpKSkKIAotKHVubGVzcyAo aHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pCi0gICh0ZXN0LXNraXAgMSkpCiAodGVzdC1hc3NlcnQg Iidkb3dubG9hZCcgYnVpbHQtaW4gYnVpbGRlciIKICAgKGxldCAoKHRleHQgKHJhbmRvbS10ZXh0 KSkpCiAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx0ZXh0KSkKQEAgLTIyMSw4ICsyMTYs NiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGdldC1zdHJpbmctYWxsKQogICAgICAgICAg ICAgICAgICAgICAgICB0ZXh0KSkpKSkpCiAKLSh1bmxlc3MgKGh0dHAtc2VydmVyLWNhbi1saXN0 ZW4/KQotICAodGVzdC1za2lwIDEpKQogKHRlc3QtYXNzZXJ0ICInZG93bmxvYWQnIGJ1aWx0LWlu IGJ1aWxkZXIsIGludmFsaWQgaGFzaCIKICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICJoZWxs bywgd29ybGQhIikpCiAgICAgKGxldCogKChkcnYgKGRlcml2YXRpb24gJXN0b3JlICJ3b3JsZCIK QEAgLTIzNiw4ICsyMjksNiBAQAogICAgICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChs aXN0IGRydikpCiAgICAgICAgICNmKSkpKQogCi0odW5sZXNzIChodHRwLXNlcnZlci1jYW4tbGlz dGVuPykKLSAgKHRlc3Qtc2tpcCAxKSkKICh0ZXN0LWFzc2VydCAiJ2Rvd25sb2FkJyBidWlsdC1p biBidWlsZGVyLCBub3QgZm91bmQiCiAgICh3aXRoLWh0dHAtc2VydmVyICcoKDQwNCAibm90IGZv dW5kIikpCiAgICAgKGxldCogKChkcnYgKGRlcml2YXRpb24gJXN0b3JlICJ3aWxsLW5ldmVyLWJl LWZvdW5kIgpAQCAtMjYyLDI2ICsyNTMsMjQgQEAKICAgICAgIChidWlsZC1kZXJpdmF0aW9ucyAl c3RvcmUgKGxpc3QgZHJ2KSkKICAgICAgICNmKSkpCiAKLSh1bmxlc3MgKGh0dHAtc2VydmVyLWNh bi1saXN0ZW4/KQotICAodGVzdC1za2lwIDEpKQogKHRlc3QtYXNzZXJ0ICInZG93bmxvYWQnIGJ1 aWx0LWluIGJ1aWxkZXIsIGNoZWNrIG1vZGUiCiAgIDs7IE1ha2Ugc3VyZSByZWJ1aWxkaW5nIHRo ZSAnYnVpbHRpbjpkb3dubG9hZCcgZGVyaXZhdGlvbiBpbiBjaGVjayBtb2RlCiAgIDs7IHdvcmtz LiAgU2VlIDxodHRwOi8vYnVncy5nbnUub3JnLzI1MDg5Pi4KLSAgKGxldCogKCh0ZXh0IChyYW5k b20tdGV4dCkpCi0gICAgICAgICAoZHJ2IChkZXJpdmF0aW9uICVzdG9yZSAid29ybGQiCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICJidWlsdGluOmRvd25sb2FkIiAnKCkKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIzplbnYtdmFycyBgKCgidXJsIgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC4gLChvYmplY3QtPnN0cmluZyAoJWxvY2FsLXVybCkpKSkKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIzpoYXNoLWFsZ28gJ3NoYTI1NgotICAgICAgICAgICAg ICAgICAgICAgICAgICAjOmhhc2ggKGdjcnlwdDpzaGEyNTYgKHN0cmluZy0+dXRmOCB0ZXh0KSkp KSkKLSAgICAoYW5kICh3aXRoLWh0dHAtc2VydmVyIGAoKDIwMCAsdGV4dCkpCi0gICAgICAgICAg IChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KSkpCi0gICAgICAgICAod2l0aC1o dHRwLXNlcnZlciBgKCgyMDAgLHRleHQpKQotICAgICAgICAgICAoYnVpbGQtZGVyaXZhdGlvbnMg JXN0b3JlIChsaXN0IGRydikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWlsZC1t b2RlIGNoZWNrKSkpCi0gICAgICAgICAoc3RyaW5nPT8gKGNhbGwtd2l0aC1pbnB1dC1maWxlIChk ZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYpCi0gICAgICAgICAgICAgICAgICAgICBnZXQtc3Ry aW5nLWFsbCkKLSAgICAgICAgICAgICAgICAgICB0ZXh0KSkpKQorICAobGV0KiAoKHRleHQgKHJh bmRvbS10ZXh0KSkpCisgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx0ZXh0KSkKKyAgICAg IChsZXQgKChkcnYgKGRlcml2YXRpb24gJXN0b3JlICJ3b3JsZCIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImJ1aWx0aW46ZG93bmxvYWQiICcoKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjOmVudi12YXJzIGAoKCJ1cmwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLiAsKG9iamVjdC0+c3RyaW5nICglbG9jYWwtdXJsKSkpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjOmhhc2gtYWxnbyAnc2hhMjU2CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICM6aGFzaCAoZ2NyeXB0OnNoYTI1NiAoc3RyaW5nLT51dGY4IHRleHQp KSkpKQorICAgICAgICAoYW5kIGRydiAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGRy dikpCisgICAgICAgICAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx0ZXh0KSkKKyAgICAg ICAgICAgICAgIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChidWlsZC1tb2RlIGNoZWNrKSkpCisgICAgICAgICAg ICAgKHN0cmluZz0/IChjYWxsLXdpdGgtaW5wdXQtZmlsZSAoZGVyaXZhdGlvbi0+b3V0cHV0LXBh dGggZHJ2KQorICAgICAgICAgICAgICAgICAgICAgICAgIGdldC1zdHJpbmctYWxsKQorICAgICAg ICAgICAgICAgICAgICAgICB0ZXh0KSkpKSkpCiAKICh0ZXN0LWVxdWFsICJkZXJpdmF0aW9uLW5h bWUiCiAgICJmb28tMC4wIgpkaWZmIC0tZ2l0IGEvdGVzdHMvZWxwYS5zY20gYi90ZXN0cy9lbHBh LnNjbQppbmRleCBhMDA4Y2Y5OTNjLi4wMWVmOTQ4YjJlIDEwMDY0NAotLS0gYS90ZXN0cy9lbHBh LnNjbQorKysgYi90ZXN0cy9lbHBhLnNjbQpAQCAtNDAsOSArNDAsNiBAQAogICAgICAgICAgICAg IG5pbCAiSW50ZWdyYXRlZCBlbnZpcm9ubWVudCBmb3IgKlRlWCoiIHRhcgogICAgICAgICAgICAg ICgoOnVybCAuICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXVjdGV4LyIpKV0pKSkKIAot OzsgQXZvaWQgY29sbGlzaW9ucyB3aXRoIG90aGVyIHRlc3RzLgotKCVodHRwLXNlcnZlci1wb3J0 IDEwMzAwKQotCiAodGVzdC1iZWdpbiAiZWxwYSIpCiAKIChkZWZpbmUgKGV2YWwtdGVzdC13aXRo LWVscGEgcGtnKQpkaWZmIC0tZ2l0IGEvdGVzdHMvbGludC5zY20gYi90ZXN0cy9saW50LnNjbQpp bmRleCA3YzI0NjExOTM0Li5iOTIwNTNmZDVmIDEwMDY0NAotLS0gYS90ZXN0cy9saW50LnNjbQor KysgYi90ZXN0cy9saW50LnNjbQpAQCAtNjIsNyArNjIsNiBAQAogOzsgVGVzdCB0aGUgbGludGVy LgogCiA7OyBBdm9pZCBjb2xsaXNpb25zIHdpdGggb3RoZXIgdGVzdHMuCi0oJWh0dHAtc2VydmVy LXBvcnQgOTk5OSkKIAogKGRlZmluZSAlbnVsbC1zaGEyNTYKICAgOzsgU0hBMjU2IG9mIHRoZSBl bXB0eSBzdHJpbmcuCkBAIC01MDAsMTYgKzQ5OSwxNiBAQAogICAgICAgICAgICAgICAgKGhvbWUt cGFnZSAiaHR0cDovL2RvZXMtbm90LWV4aXN0IikpKSkKICAgICAod2FybmluZy1jb250YWlucz8g ImRvbWFpbiBub3QgZm91bmQiIChjaGVjay1ob21lLXBhZ2UgcGtnKSkpKQogCi0odGVzdC1za2lw IChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1w YWdlOiBDb25uZWN0aW9uIHJlZnVzZWQiCi0gICJVUkkgaHR0cDovL2xvY2FsaG9zdDo5OTk5L2Zv by9iYXIgdW5yZWFjaGFibGU6IENvbm5lY3Rpb24gcmVmdXNlZCIKLSAgKGxldCAoKHBrZyAocGFj a2FnZQotICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBhY2thZ2UgIngiKSkKLSAgICAg ICAgICAgICAgIChob21lLXBhZ2UgKCVsb2NhbC11cmwpKSkpKQotICAgIChzaW5nbGUtbGludC13 YXJuaW5nLW1lc3NhZ2UKLSAgICAgKGNoZWNrLWhvbWUtcGFnZSBwa2cpKSkpCisocGFyYW1ldGVy aXplICgoJWh0dHAtc2VydmVyLXBvcnQgOTk5OSkpCisgIDs7IFRPRE8gc2tpcCB0aGlzIHRlc3Qg aWYgc29tZSBwcm9jZXNzIGlzIGN1cnJlbnRseSBsaXN0ZW5pbmcgYXQgOTk5OQorICAodGVzdC1l cXVhbCAiaG9tZS1wYWdlOiBDb25uZWN0aW9uIHJlZnVzZWQiCisgICAgIlVSSSBodHRwOi8vbG9j YWxob3N0Ojk5OTkvZm9vL2JhciB1bnJlYWNoYWJsZTogQ29ubmVjdGlvbiByZWZ1c2VkIgorICAg IChsZXQgKChwa2cgKHBhY2thZ2UKKyAgICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBh Y2thZ2UgIngiKSkKKyAgICAgICAgICAgICAgICAgKGhvbWUtcGFnZSAoJWxvY2FsLXVybCkpKSkp CisgICAgICAoc2luZ2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCisgICAgICAgKGNoZWNrLWhvbWUt cGFnZSBwa2cpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8p IDAgMSkpCiAodGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAyMDAiCiAgICcoKQogICAod2l0aC1odHRw LXNlcnZlciBgKCgyMDAgLCVsb25nLXN0cmluZykpCkBAIC01MTgsMTAgKzUxNywxMCBAQAogICAg ICAgICAgICAgICAgICAoaG9tZS1wYWdlICglbG9jYWwtdXJsKSkpKSkKICAgICAgIChjaGVjay1o b21lLXBhZ2UgcGtnKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rl bj8pIDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAyMDAgYnV0IHNob3J0IGxlbmd0aCIK LSAgIlVSSSBodHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciByZXR1cm5lZCBzdXNwaWNpb3Vz bHkgc21hbGwgZmlsZSAoMTggYnl0ZXMpIgotICAod2l0aC1odHRwLXNlcnZlciBgKCgyMDAgIlRo aXMgaXMgdG9vIHNtYWxsLiIpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICJUaGlzIGlzIHRv byBzbWFsbC4iKSkKKyAgKHRlc3QtZXF1YWwgImhvbWUtcGFnZTogMjAwIGJ1dCBzaG9ydCBsZW5n dGgiCisgICAgKGZvcm1hdCAjZiAiVVJJIH5hIHJldHVybmVkIHN1c3BpY2lvdXNseSBzbWFsbCBm aWxlICgxOCBieXRlcykiCisgICAgICAgICAgICAoJWxvY2FsLXVybCkpCiAgICAgKGxldCAoKHBr ZyAocGFja2FnZQogICAgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIp KQogICAgICAgICAgICAgICAgICAoaG9tZS1wYWdlICglbG9jYWwtdXJsKSkpKSkKQEAgLTUyOSw1 NCArNTI4LDUxIEBACiAgICAgICAoc2luZ2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCiAgICAgICAg KGNoZWNrLWhvbWUtcGFnZSBwa2cpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXIt Y2FuLWxpc3Rlbj8pIDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiA0MDQiCi0gICJVUkkg aHR0cDovL2xvY2FsaG9zdDo5OTk5L2Zvby9iYXIgbm90IHJlYWNoYWJsZTogNDA0IChcIlN1Y2gg aXMgbGlmZVwiKSIKLSAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoNDA0ICwlbG9uZy1zdHJpbmcpKQor KHdpdGgtaHR0cC1zZXJ2ZXIgYCgoNDA0ICwlbG9uZy1zdHJpbmcpKQorICAodGVzdC1lcXVhbCAi aG9tZS1wYWdlOiA0MDQiCisgICAgKGZvcm1hdCAjZiAiVVJJIH5hIG5vdCByZWFjaGFibGU6IDQw NCAoXCJTdWNoIGlzIGxpZmVcIikiICglbG9jYWwtdXJsKSkKICAgICAobGV0ICgocGtnIChwYWNr YWdlCiAgICAgICAgICAgICAgICAgIChpbmhlcml0IChkdW1teS1wYWNrYWdlICJ4IikpCiAgICAg ICAgICAgICAgICAgIChob21lLXBhZ2UgKCVsb2NhbC11cmwpKSkpKQogICAgICAgKHNpbmdsZS1s aW50LXdhcm5pbmctbWVzc2FnZQogICAgICAgIChjaGVjay1ob21lLXBhZ2UgcGtnKSkpKSkKIAot KHRlc3Qtc2tpcCAoaWYgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQotKHRlc3QtZXF1 YWwgImhvbWUtcGFnZTogMzAxLCBpbnZhbGlkIgotICAiaW52YWxpZCBwZXJtYW5lbnQgcmVkaXJl Y3QgZnJvbSBodHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciIKLSAgKHdpdGgtaHR0cC1zZXJ2 ZXIgYCgoMzAxICwlbG9uZy1zdHJpbmcpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMzAxICwlbG9u Zy1zdHJpbmcpKQorICAodGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEsIGludmFsaWQiCisgICAg KGZvcm1hdCAjZiAiaW52YWxpZCBwZXJtYW5lbnQgcmVkaXJlY3QgZnJvbSB+YSIgKCVsb2NhbC11 cmwpKQogICAgIChsZXQgKChwa2cgKHBhY2thZ2UKICAgICAgICAgICAgICAgICAgKGluaGVyaXQg KGR1bW15LXBhY2thZ2UgIngiKSkKICAgICAgICAgICAgICAgICAgKGhvbWUtcGFnZSAoJWxvY2Fs LXVybCkpKSkpCiAgICAgICAoc2luZ2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCiAgICAgICAgKGNo ZWNrLWhvbWUtcGFnZSBwa2cpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2Fu LWxpc3Rlbj8pIDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4gMjAwIgotICAi cGVybWFuZW50IHJlZGlyZWN0IGZyb20gaHR0cDovL2xvY2FsaG9zdDoxMDAwMC9mb28vYmFyIHRv IGh0dHA6Ly9sb2NhbGhvc3Q6OTk5OS9mb28vYmFyIgotICAod2l0aC1odHRwLXNlcnZlciBgKCgy MDAgLCVsb25nLXN0cmluZykpCi0gICAgKGxldCogKChpbml0aWFsLXVybCAoJWxvY2FsLXVybCkp Ci0gICAgICAgICAgIChyZWRpcmVjdCAgICAoYnVpbGQtcmVzcG9uc2UgIzpjb2RlIDMwMQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6aGVhZGVycwotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKGxvY2F0aW9uCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAsKHN0cmluZy0+dXJpIGluaXRpYWwtdXJs KSkpKSkpCi0gICAgICAocGFyYW1ldGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgKCsgMSAoJWh0 dHAtc2VydmVyLXBvcnQpKSkpCi0gICAgICAgICh3aXRoLWh0dHAtc2VydmVyIGAoKCxyZWRpcmVj dCAiIikpCisod2l0aC1odHRwLXNlcnZlciBgKCgyMDAgLCVsb25nLXN0cmluZykpCisgIChsZXQq ICgoaW5pdGlhbC11cmwgKCVsb2NhbC11cmwpKQorICAgICAgICAgKHJlZGlyZWN0IChidWlsZC1y ZXNwb25zZSAjOmNvZGUgMzAxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6 aGVhZGVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChsb2NhdGlvbgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICwoc3RyaW5nLT51cmkgaW5p dGlhbC11cmwpKSkpKSkKKyAgICAocGFyYW1ldGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgMCkp CisgICAgICAod2l0aC1odHRwLXNlcnZlciBgKCgscmVkaXJlY3QgIiIpKQorICAgICAgICAodGVz dC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4gMjAwIgorICAgICAgICAgIChmb3JtYXQgI2YgInBl cm1hbmVudCByZWRpcmVjdCBmcm9tIH5hIHRvIH5hIgorICAgICAgICAgICAgICAgICAgKCVsb2Nh bC11cmwpIGluaXRpYWwtdXJsKQogICAgICAgICAgIChsZXQgKChwa2cgKHBhY2thZ2UKICAgICAg ICAgICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBhY2thZ2UgIngiKSkKICAgICAgICAg ICAgICAgICAgICAgICAgKGhvbWUtcGFnZSAoJWxvY2FsLXVybCkpKSkpCiAgICAgICAgICAgICAo c2luZ2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCiAgICAgICAgICAgICAgKGNoZWNrLWhvbWUtcGFn ZSBwa2cpKSkpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8p IDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4gNDA0IgotICAiVVJJIGh0dHA6 Ly9sb2NhbGhvc3Q6MTAwMDAvZm9vL2JhciBub3QgcmVhY2hhYmxlOiA0MDQgKFwiU3VjaCBpcyBs aWZlXCIpIgotICAod2l0aC1odHRwLXNlcnZlciAnKCg0MDQgImJvb2ghIikpCi0gICAgKGxldCog KChpbml0aWFsLXVybCAoJWxvY2FsLXVybCkpCi0gICAgICAgICAgIChyZWRpcmVjdCAgICAoYnVp bGQtcmVzcG9uc2UgIzpjb2RlIDMwMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICM6aGVhZGVycwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGAoKGxvY2F0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg LiAsKHN0cmluZy0+dXJpIGluaXRpYWwtdXJsKSkpKSkpCi0gICAgICAocGFyYW1ldGVyaXplICgo JWh0dHAtc2VydmVyLXBvcnQgKCsgMSAoJWh0dHAtc2VydmVyLXBvcnQpKSkpCi0gICAgICAgICh3 aXRoLWh0dHAtc2VydmVyIGAoKCxyZWRpcmVjdCAiIikpCisod2l0aC1odHRwLXNlcnZlciBgKCg0 MDQgImJvb2ghIikpCisgIChsZXQqICgoaW5pdGlhbC11cmwgKCVsb2NhbC11cmwpKQorICAgICAg ICAgKHJlZGlyZWN0ICAgIChidWlsZC1yZXNwb25zZSAjOmNvZGUgMzAxCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICM6aGVhZGVycworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBgKChsb2NhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAuICwoc3RyaW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKKyAgICAocGFy YW1ldGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgMCkpCisgICAgICAod2l0aC1odHRwLXNlcnZl ciBgKCgscmVkaXJlY3QgIiIpKQorICAgICAgICAodGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEg LT4gNDA0IgorICAgICAgICAgIChmb3JtYXQgI2YgIlVSSSB+YSBub3QgcmVhY2hhYmxlOiA0MDQg KFwiU3VjaCBpcyBsaWZlXCIpIiAoJWxvY2FsLXVybCkpCiAgICAgICAgICAgKGxldCAoKHBrZyAo cGFja2FnZQogICAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAi eCIpKQogICAgICAgICAgICAgICAgICAgICAgICAoaG9tZS1wYWdlICglbG9jYWwtdXJsKSkpKSkK QEAgLTcwNiw3ICs3MDIsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaGEy NTYgJW51bGwtc2hhMjU2KSkpKSkpCiAgICAgKGNoZWNrLXNvdXJjZS11bnN0YWJsZS10YXJiYWxs IHBrZykpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkp CiAodGVzdC1lcXVhbCAic291cmNlOiAyMDAiCiAgICcoKQogICAod2l0aC1odHRwLXNlcnZlciBg KCgyMDAgLCVsb25nLXN0cmluZykpCkBAIC03MTgsMTAgKzcxMywxMCBAQAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHNoYTI1NiAlbnVsbC1zaGEyNTYpKSkpKSkKICAgICAgIChjaGVjay1z b3VyY2UgcGtnKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8p IDAgMSkpCi0odGVzdC1lcXVhbCAic291cmNlOiAyMDAgYnV0IHNob3J0IGxlbmd0aCIKLSAgIlVS SSBodHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciByZXR1cm5lZCBzdXNwaWNpb3VzbHkgc21h bGwgZmlsZSAoMTggYnl0ZXMpIgotICAod2l0aC1odHRwLXNlcnZlciAnKCgyMDAgIlRoaXMgaXMg dG9vIHNtYWxsLiIpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgJygoMjAwICJUaGlzIGlzIHRvbyBzbWFs bC4iKSkKKyAgKHRlc3QtZXF1YWwgInNvdXJjZTogMjAwIGJ1dCBzaG9ydCBsZW5ndGgiCisgICAg KGZvcm1hdCAjZiAiVVJJIH5hIHJldHVybmVkIHN1c3BpY2lvdXNseSBzbWFsbCBmaWxlICgxOCBi eXRlcykiCisgICAgICAgICAgICAoJWxvY2FsLXVybCkpCiAgICAgKGxldCAoKHBrZyAocGFja2Fn ZQogICAgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIpKQogICAgICAg ICAgICAgICAgICAoc291cmNlIChvcmlnaW4KQEAgLTczMywxMCArNzI4LDEwIEBACiAgICAgICAg ICAgKGFuZCAoPyBsaW50LXdhcm5pbmc/KSBzZWNvbmQtd2FybmluZykpCiAgICAgICAgICAobGlu dC13YXJuaW5nLW1lc3NhZ2Ugc2Vjb25kLXdhcm5pbmcpKSkpKSkKIAotKHRlc3Qtc2tpcCAoaWYg KGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQotKHRlc3QtZXF1YWwgInNvdXJjZTogNDA0 IgotICAiVVJJIGh0dHA6Ly9sb2NhbGhvc3Q6OTk5OS9mb28vYmFyIG5vdCByZWFjaGFibGU6IDQw NCAoXCJTdWNoIGlzIGxpZmVcIikiCi0gICh3aXRoLWh0dHAtc2VydmVyIGAoKDQwNCAsJWxvbmct c3RyaW5nKSkKKyh3aXRoLWh0dHAtc2VydmVyIGAoKDQwNCAsJWxvbmctc3RyaW5nKSkKKyAgKHRl c3QtZXF1YWwgInNvdXJjZTogNDA0IgorICAgIChmb3JtYXQgI2YgIlVSSSB+YSBub3QgcmVhY2hh YmxlOiA0MDQgKFwiU3VjaCBpcyBsaWZlXCIpIgorICAgICAgICAgICAgKCVsb2NhbC11cmwpKQog ICAgIChsZXQgKChwa2cgKHBhY2thZ2UKICAgICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15 LXBhY2thZ2UgIngiKSkKICAgICAgICAgICAgICAgICAgKHNvdXJjZSAob3JpZ2luCkBAIC03NDgs NyArNzQzLDYgQEAKICAgICAgICAgICAoYW5kICg/IGxpbnQtd2FybmluZz8pIHNlY29uZC13YXJu aW5nKSkKICAgICAgICAgIChsaW50LXdhcm5pbmctbWVzc2FnZSBzZWNvbmQtd2FybmluZykpKSkp KQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAodGVz dC1lcXVhbCAic291cmNlOiA0MDQgYW5kIDIwMCIKICAgJygpCiAgICh3aXRoLWh0dHAtc2VydmVy IGAoKDQwNCAsJWxvbmctc3RyaW5nKSkKQEAgLTc2NSwxNyArNzU5LDE3IEBACiAgICAgICAgICAg ICA7OyBsaXN0LgogICAgICAgICAgICAgKGNoZWNrLXNvdXJjZSBwa2cpKSkpKSkpCiAKLSh0ZXN0 LXNraXAgKGlmIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPykgMCAxKSkKLSh0ZXN0LWVxdWFsICJz b3VyY2U6IDMwMSAtPiAyMDAiCi0gICJwZXJtYW5lbnQgcmVkaXJlY3QgZnJvbSBodHRwOi8vbG9j YWxob3N0OjEwMDAwL2Zvby9iYXIgdG8gaHR0cDovL2xvY2FsaG9zdDo5OTk5L2Zvby9iYXIiCi0g ICh3aXRoLWh0dHAtc2VydmVyIGAoKDIwMCAsJWxvbmctc3RyaW5nKSkKLSAgICAobGV0KiAoKGlu aXRpYWwtdXJsICglbG9jYWwtdXJsKSkKLSAgICAgICAgICAgKHJlZGlyZWN0ICAgIChidWlsZC1y ZXNwb25zZSAjOmNvZGUgMzAxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIzpoZWFkZXJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgo bG9jYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICwo c3RyaW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKLSAgICAgIChwYXJhbWV0ZXJpemUgKCglaHR0 cC1zZXJ2ZXItcG9ydCAoKyAxICglaHR0cC1zZXJ2ZXItcG9ydCkpKSkKLSAgICAgICAgKHdpdGgt aHR0cC1zZXJ2ZXIgYCgoLHJlZGlyZWN0ICIiKSkKKyh3aXRoLWh0dHAtc2VydmVyIGAoKDIwMCAs JWxvbmctc3RyaW5nKSkKKyAgKGxldCogKChpbml0aWFsLXVybCAoJWxvY2FsLXVybCkpCisgICAg ICAgICAocmVkaXJlY3QgICAgKGJ1aWxkLXJlc3BvbnNlICM6Y29kZSAzMDEKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpoZWFkZXJzCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGAoKGxvY2F0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC4gLChzdHJpbmctPnVyaSBpbml0aWFsLXVybCkpKSkpKQorICAgIChw YXJhbWV0ZXJpemUgKCglaHR0cC1zZXJ2ZXItcG9ydCAwKSkKKyAgICAgICh3aXRoLWh0dHAtc2Vy dmVyIGAoKCxyZWRpcmVjdCAiIikpCisgICAgICAgICh0ZXN0LWVxdWFsICJzb3VyY2U6IDMwMSAt PiAyMDAiCisgICAgICAgICAgKGZvcm1hdCAjZiAicGVybWFuZW50IHJlZGlyZWN0IGZyb20gfmEg dG8gfmEiCisgICAgICAgICAgICAgICAgICAoJWxvY2FsLXVybCkgaW5pdGlhbC11cmwpCiAgICAg ICAgICAgKGxldCAoKHBrZyAocGFja2FnZQogICAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJp dCAoZHVtbXktcGFja2FnZSAieCIpKQogICAgICAgICAgICAgICAgICAgICAgICAoc291cmNlIChv cmlnaW4KQEAgLTc4NywxNyArNzgxLDE3IEBACiAgICAgICAgICAgICAgICAgKGFuZCAoPyBsaW50 LXdhcm5pbmc/KSBzZWNvbmQtd2FybmluZykpCiAgICAgICAgICAgICAgICAobGludC13YXJuaW5n LW1lc3NhZ2Ugc2Vjb25kLXdhcm5pbmcpKSkpKSkpKSkKIAotKHRlc3Qtc2tpcCAoaWYgKGh0dHAt c2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQotKHRlc3QtZXF1YWwgInNvdXJjZSwgZ2l0LXJlZmVy ZW5jZTogMzAxIC0+IDIwMCIKLSAgInBlcm1hbmVudCByZWRpcmVjdCBmcm9tIGh0dHA6Ly9sb2Nh bGhvc3Q6MTAwMDAvZm9vL2JhciB0byBodHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciIKLSAg KHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICwlbG9uZy1zdHJpbmcpKQotICAgIChsZXQqICgoaW5p dGlhbC11cmwgKCVsb2NhbC11cmwpKQotICAgICAgICAgICAocmVkaXJlY3QgICAgKGJ1aWxkLXJl c3BvbnNlICM6Y29kZSAzMDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjOmhlYWRlcnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChs b2NhdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gLChz dHJpbmctPnVyaSBpbml0aWFsLXVybCkpKSkpKQotICAgICAgKHBhcmFtZXRlcml6ZSAoKCVodHRw LXNlcnZlci1wb3J0ICgrIDEgKCVodHRwLXNlcnZlci1wb3J0KSkpKQotICAgICAgICAod2l0aC1o dHRwLXNlcnZlciBgKCgscmVkaXJlY3QgIiIpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICwl bG9uZy1zdHJpbmcpKQorICAobGV0KiAoKGluaXRpYWwtdXJsICglbG9jYWwtdXJsKSkKKyAgICAg ICAgIChyZWRpcmVjdCAgICAoYnVpbGQtcmVzcG9uc2UgIzpjb2RlIDMwMQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjOmhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYCgobG9jYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLiAsKHN0cmluZy0+dXJpIGluaXRpYWwtdXJsKSkpKSkpCisgICAgKHBh cmFtZXRlcml6ZSAoKCVodHRwLXNlcnZlci1wb3J0IDApKQorICAgICAgKHdpdGgtaHR0cC1zZXJ2 ZXIgYCgoLHJlZGlyZWN0ICIiKSkKKyAgICAgICAgKHRlc3QtZXF1YWwgInNvdXJjZSwgZ2l0LXJl ZmVyZW5jZTogMzAxIC0+IDIwMCIKKyAgICAgICAgICAoZm9ybWF0ICNmICJwZXJtYW5lbnQgcmVk aXJlY3QgZnJvbSB+YSB0byB+YSIKKyAgICAgICAgICAgICAgICAgICglbG9jYWwtdXJsKSBpbml0 aWFsLXVybCkKICAgICAgICAgICAobGV0ICgocGtnIChkdW1teS1wYWNrYWdlCiAgICAgICAgICAg ICAgICAgICAgICAgIngiCiAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZSAob3JpZ2luCkBA IC04MDcsMTcgKzgwMSwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hh MjU2ICVudWxsLXNoYTI1NikpKSkpKQogICAgICAgICAgICAgKHNpbmdsZS1saW50LXdhcm5pbmct bWVzc2FnZSAoY2hlY2stc291cmNlIHBrZykpKSkpKSkpCiAKLSh0ZXN0LXNraXAgKGlmIChodHRw LXNlcnZlci1jYW4tbGlzdGVuPykgMCAxKSkKLSh0ZXN0LWVxdWFsICJzb3VyY2U6IDMwMSAtPiA0 MDQiCi0gICJVUkkgaHR0cDovL2xvY2FsaG9zdDoxMDAwMC9mb28vYmFyIG5vdCByZWFjaGFibGU6 IDQwNCAoXCJTdWNoIGlzIGxpZmVcIikiCi0gICh3aXRoLWh0dHAtc2VydmVyICcoKDQwNCAiYm9v aCEiKSkKLSAgICAobGV0KiAoKGluaXRpYWwtdXJsICglbG9jYWwtdXJsKSkKLSAgICAgICAgICAg KHJlZGlyZWN0ICAgIChidWlsZC1yZXNwb25zZSAjOmNvZGUgMzAxCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIzpoZWFkZXJzCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYCgobG9jYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAuICwoc3RyaW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKLSAgICAg IChwYXJhbWV0ZXJpemUgKCglaHR0cC1zZXJ2ZXItcG9ydCAoKyAxICglaHR0cC1zZXJ2ZXItcG9y dCkpKSkKLSAgICAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoLHJlZGlyZWN0ICIiKSkKKyh3aXRo LWh0dHAtc2VydmVyICcoKDQwNCAiYm9vaCEiKSkKKyAgKGxldCogKChpbml0aWFsLXVybCAoJWxv Y2FsLXVybCkpCisgICAgICAgICAocmVkaXJlY3QgICAgKGJ1aWxkLXJlc3BvbnNlICM6Y29kZSAz MDEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpoZWFkZXJzCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKGxvY2F0aW9uCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gLChzdHJpbmctPnVyaSBpbml0aWFsLXVy bCkpKSkpKQorICAgIChwYXJhbWV0ZXJpemUgKCglaHR0cC1zZXJ2ZXItcG9ydCAwKSkKKyAgICAg ICh3aXRoLWh0dHAtc2VydmVyIGAoKCxyZWRpcmVjdCAiIikpCisgICAgICAgICh0ZXN0LWVxdWFs ICJzb3VyY2U6IDMwMSAtPiA0MDQiCisgICAgICAgICAgKGZvcm1hdCAjZiAiVVJJIH5hIG5vdCBy ZWFjaGFibGU6IDQwNCAoXCJTdWNoIGlzIGxpZmVcIikiCisgICAgICAgICAgICAgICAgICAoJWxv Y2FsLXVybCkpCiAgICAgICAgICAgKGxldCAoKHBrZyAocGFja2FnZQogICAgICAgICAgICAgICAg ICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIpKQogICAgICAgICAgICAgICAgICAg ICAgICAoc291cmNlIChvcmlnaW4KQEAgLTg0Nyw3ICs4NDEsNiBAQAogICAgIChzaW5nbGUtbGlu dC13YXJuaW5nLW1lc3NhZ2UKICAgICAgKGNoZWNrLW1pcnJvci11cmwgKGR1bW15LXBhY2thZ2Ug IngiIChzb3VyY2Ugc291cmNlKSkpKSkpCiAKLSh0ZXN0LXNraXAgKGlmIChodHRwLXNlcnZlci1j YW4tbGlzdGVuPykgMCAxKSkKICh0ZXN0LWVxdWFsICJnaXRodWItdXJsIgogICAnKCkKICAgKHdp dGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICwlbG9uZy1zdHJpbmcpKQpAQCAtODU5LDcgKzg1Miw2IEBA CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hhMjU2ICVudWxsLXNoYTI1NikpKSkpKSkK IAogKGxldCAoKGdpdGh1Yi11cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9mb28vYmFyL2Jhci0xLjAu dGFyLmd6IikpCi0gICh0ZXN0LXNraXAgKGlmIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPykgMCAx KSkKICAgKHRlc3QtZXF1YWwgImdpdGh1Yi11cmw6IG9uZSBzdWdnZXN0aW9uIgogICAgIChzdHJp bmctYXBwZW5kCiAgICAgICJVUkwgc2hvdWxkIGJlICciIGdpdGh1Yi11cmwgIiciKQpAQCAtODcz LDcgKzg2NSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICM6aGVhZGVycwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBg KChsb2NhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAuICwoc3RyaW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKLSAgICAgICAgICAocGFyYW1ldGVy aXplICgoJWh0dHAtc2VydmVyLXBvcnQgKCsgMSAoJWh0dHAtc2VydmVyLXBvcnQpKSkpCisgICAg ICAgICAgKHBhcmFtZXRlcml6ZSAoKCVodHRwLXNlcnZlci1wb3J0IDApKQogICAgICAgICAgICAg KHdpdGgtaHR0cC1zZXJ2ZXIgYCgoLHJlZGlyZWN0ICIiKSkKICAgICAgICAgICAgICAgKHNpbmds ZS1saW50LXdhcm5pbmctbWVzc2FnZQogICAgICAgICAgICAgICAgKGNoZWNrLWdpdGh1Yi11cmwK QEAgLTg4Myw3ICs4NzUsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAodXJpICglbG9jYWwtdXJsKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHNoYTI1NiAlbnVsbC1zaGEyNTYpKSkpKSkpKSkpKSkKIAotICAodGVzdC1za2lwIChpZiAo aHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAgICh0ZXN0LWVxdWFsICJnaXRodWItdXJs OiBhbHJlYWR5IHRoZSBjb3JyZWN0IGdpdGh1YiB1cmwiCiAgICAgJygpCiAgICAgKGNoZWNrLWdp dGh1Yi11cmwKQEAgLTEwMDcsNyArOTk4LDYgQEAKICAgJygpCiAgIChjaGVjay1mb3JtYXR0aW5n IChkdW1teS1wYWNrYWdlICJ4IikpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2Fu LWxpc3Rlbj8pIDAgMSkpCiAodGVzdC1hc3NlcnQgImFyY2hpdmFsOiBtaXNzaW5nIGNvbnRlbnQi CiAgIChsZXQqICgob3JpZ2luICAgKG9yaWdpbgogICAgICAgICAgICAgICAgICAgICAgKG1ldGhv ZCB1cmwtZmV0Y2gpCkBAIC0xMDE5LDcgKzEwMDksNiBAQAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZSBvcmlnaW4pKSkpKSkpCiAg ICAgKHdhcm5pbmctY29udGFpbnM/ICJub3QgYXJjaGl2ZWQiIHdhcm5pbmdzKSkpCiAKLSh0ZXN0 LXNraXAgKGlmIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPykgMCAxKSkKICh0ZXN0LWVxdWFsICJh cmNoaXZhbDogY29udGVudCBhdmFpbGFibGUiCiAgICcoKQogICAobGV0KiAoKG9yaWdpbiAgIChv cmlnaW4KQEAgLTEwMzMsNyArMTAyMiw2IEBACiAgICAgICAocGFyYW1ldGVyaXplICgoJXN3aC1i YXNlLXVybCAoJWxvY2FsLXVybCkpKQogICAgICAgICAoY2hlY2stYXJjaGl2YWwgKGR1bW15LXBh Y2thZ2UgIngiIChzb3VyY2Ugb3JpZ2luKSkpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1z ZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAodGVzdC1hc3NlcnQgImFyY2hpdmFsOiBtaXNzaW5n IHJldmlzaW9uIgogICAobGV0KiAoKG9yaWdpbiAgIChvcmlnaW4KICAgICAgICAgICAgICAgICAg ICAgIChtZXRob2QgZ2l0LWZldGNoKQpAQCAtMTA1Myw3ICsxMDQxLDYgQEAKICAgICAgICAgICAg ICAgICAgICAgICAgKGNoZWNrLWFyY2hpdmFsIChkdW1teS1wYWNrYWdlICJ4IiAoc291cmNlIG9y aWdpbikpKSkpKSkKICAgICAod2FybmluZy1jb250YWlucz8gInNjaGVkdWxlZCIgd2FybmluZ3Mp KSkKIAotKHRlc3Qtc2tpcCAoaWYgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQogKHRl c3QtZXF1YWwgImFyY2hpdmFsOiByZXZpc2lvbiBhdmFpbGFibGUiCiAgICcoKQogICAobGV0KiAo KG9yaWdpbiAgIChvcmlnaW4KQEAgLTEwNjksNyArMTA1Niw2IEBACiAgICAgICAocGFyYW1ldGVy aXplICgoJXN3aC1iYXNlLXVybCAoJWxvY2FsLXVybCkpKQogICAgICAgICAoY2hlY2stYXJjaGl2 YWwgKGR1bW15LXBhY2thZ2UgIngiIChzb3VyY2Ugb3JpZ2luKSkpKSkpKQogCi0odGVzdC1za2lw IChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAodGVzdC1hc3NlcnQgImFyY2hp dmFsOiByYXRlIGxpbWl0IHJlYWNoZWQiCiAgIDs7IFdlIHNob3VsZCBnZXQgYSBzaW5nbGUgd2Fy bmluZyBzdGF0aW5nIHRoYXQgdGhlIHJhdGUgbGltaXQgd2FzIHJlYWNoZWQsCiAgIDs7IGFuZCBu b3RoaW5nIG1vcmUsIGluIHBhcnRpY3VsYXIgbm8gb3RoZXIgSFRUUCByZXF1ZXN0cy4KQEAgLTEw OTEsNyArMTA3Nyw2IEBACiAgICAgKHN0cmluZy1jb250YWlucyAoc2luZ2xlLWxpbnQtd2Fybmlu Zy1tZXNzYWdlIHdhcm5pbmdzKQogICAgICAgICAgICAgICAgICAgICAgInJhdGUgbGltaXQgcmVh Y2hlZCIpKSkKIAotKHRlc3Qtc2tpcCAoaWYgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEp KQogKHRlc3QtYXNzZXJ0ICJoYXNrZWxsLXN0YWNrYWdlIgogICAobGV0KiAoKHN0YWNrYWdlIChz dHJpbmctYXBwZW5kICJ7IFwicGFja2FnZXNcIjogW3siCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIiAgICBcIm5hbWVcIjpcInhcIiwiCmRpZmYgLS1naXQgYS90ZXN0cy90ZXhs aXZlLnNjbSBiL3Rlc3RzL3RleGxpdmUuc2NtCmluZGV4IGY3ZTU1MTVjNGMuLmE2ZjA4MDQ2YTgg MTAwNjQ0Ci0tLSBhL3Rlc3RzL3RleGxpdmUuc2NtCisrKyBiL3Rlc3RzL3RleGxpdmUuc2NtCkBA IC02OSw5ICs2OSw2IEBACiAgICAgICAgICAgICAgICAgIChrZXl2YWwgKEAgKHZhbHVlICJ0ZXN0 cyIpIChrZXkgInRvcGljIikpKQogICAgICAgICAgICAgICAgICAiXG4gIG51bGxcbiIpKSkKIAot OzsgQXZvaWQgY29sbGlzaW9ucyB3aXRoIG90aGVyIHRlc3RzLgotKCVodHRwLXNlcnZlci1wb3J0 IDEwMjAwKQotCiAodGVzdC1lcXVhbCAiZmV0Y2gtc3htbDogcmV0dXJucyBTWE1MIGZvciB2YWxp ZCBYTUwiCiAgIHN4bWwKICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx4bWwpKQotLSAKMi4z MC4wCgo= --=-7+UWTvRGUG09BSD70CsE-- --=-ocdin7zixPRczI/iQ0j1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYD30PhccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7ordAQDk2pD+ZIO6Q26l/kQyXsA4NB/y Vdmz5902hsVs3ZIvOAD8Dm2sCApyvDuXdA5/YyAdtHuNkcoAkYYV+fAa1Y1X0gA= =V6SC -----END PGP SIGNATURE----- --=-ocdin7zixPRczI/iQ0j1-- From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 16:29:35 2021 Received: (at 46668) by debbugs.gnu.org; 2 Mar 2021 21:29:35 +0000 Received: from localhost ([127.0.0.1]:54381 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHCaF-0007yE-0r for submit@debbugs.gnu.org; Tue, 02 Mar 2021 16:29:35 -0500 Received: from eggs.gnu.org ([209.51.188.92]:37748) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHCaA-0007xx-1C for 46668@debbugs.gnu.org; Tue, 02 Mar 2021 16:29:33 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48918) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lHCa4-0005Md-0O; Tue, 02 Mar 2021 16:29:24 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=60174 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lHCa0-0003As-5B; Tue, 02 Mar 2021 16:29:20 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#46668: [PATCH]: tests: do not hard code HTTP ports References: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@telenet.be> <87r1kyri5l.fsf@gnu.org> <3ae8be5f05d73106c867fe2cfc7f619673fd738b.camel@telenet.be> <87h7lupn7h.fsf@gnu.org> Date: Tue, 02 Mar 2021 22:29:18 +0100 In-Reply-To: (Maxime Devos's message of "Tue, 02 Mar 2021 09:15:57 +0100") Message-ID: <87eegxtfbl.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 46668 Cc: 46668@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi, Maxime Devos skribis: > From 933cb85de0f50c54190e7c60420bef5245a3f2ed Mon Sep 17 00:00:00 2001 > From: Maxime Devos > Date: Sat, 20 Feb 2021 22:04:59 +0100 > Subject: [PATCH] tests: do not hard code HTTP ports > > Previously, test cases could fail if some process was listening > at a hard-coded port. This patch eliminates most of these potential > failures, by automatically assigning an unbound port. This should > allow for building multiple guix trees in parallel outside a build > container, though this is currently untested. > > The test "home-page: Connection refused" in tests/lint.scm still > hardcodes port 9999, however. > > * guix/tests/http.scm > (http-server-can-listen?): remove now unused procedure. > (%http-server-port): default to port 0, meaning the OS > will automatically choose a port. > (open-http-server-socket): remove the false statement claiming > this procedure is exported and also return the allocated port > number. > (%local-url): raise an error if the port is obviously unbound. > (call-with-http-server): set %http-server-port to the allocated > port while the thunk is called. > * tests/derivations.scm: adjust test cases to use automatically > assign a port. As there is no risk of a port conflict now, > do not make any tests conditional upon 'http-server-can-listen?' > anymore. > * tests/elpa.scm: likewise. > * tests/lint.scm: likewise, and add a TODO comment about a port > that is still hard-coded. > * tests/texlive.scm: likewise. Minor comment but nothing blocking: > + (let* ((text (random-text))) > + (with-http-server `((200 ,text)) > + (let ((drv (derivation %store "world" > + "builtin:download" '() > + #:env-vars `(("url" > + . ,(object->string (%local-ur= l)))) > + #:hash-algo 'sha256 > + #:hash (gcrypt:sha256 (string->utf8 text)))= )) > + (and drv (build-derivations %store (list drv)) > + (with-http-server `((200 ,text)) > + (build-derivations %store (list drv) > + (build-mode check))) > + (string=3D? (call-with-input-file (derivation->output-path = drv) > + get-string-all) > + text)))))) It=E2=80=99s a tad confusing that the second =E2=80=98with-http-server=E2= =80=99 is now nested; it shouldn=E2=80=99t change the semantics though, so it=E2=80=99s okay. Anyway, you=E2=80=99re welcome to push to =E2=80=98master=E2=80=99 if =E2= =80=9Cmake check=E2=80=9D agrees. :-) Thanks again! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Mar 02 16:50:09 2021 Received: (at 46668) by debbugs.gnu.org; 2 Mar 2021 21:50:09 +0000 Received: from localhost ([127.0.0.1]:54419 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHCu9-0008TP-9G for submit@debbugs.gnu.org; Tue, 02 Mar 2021 16:50:09 -0500 Received: from albert.telenet-ops.be ([195.130.137.90]:57264) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lHCu4-0008TB-6P for 46668@debbugs.gnu.org; Tue, 02 Mar 2021 16:50:07 -0500 Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d]) by albert.telenet-ops.be with bizsmtp id bZq12400b0mfAB406Zq2CS; Tue, 02 Mar 2021 22:50:02 +0100 Message-ID: <9da09b98e911a047e1d296aad4c2be96053bbb44.camel@telenet.be> Subject: Re: bug#46668: [PATCH]: tests: do not hard code HTTP ports From: Maxime Devos To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Date: Tue, 02 Mar 2021 22:49:55 +0100 In-Reply-To: <87eegxtfbl.fsf_-_@gnu.org> References: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@telenet.be> <87r1kyri5l.fsf@gnu.org> <3ae8be5f05d73106c867fe2cfc7f619673fd738b.camel@telenet.be> <87h7lupn7h.fsf@gnu.org> <87eegxtfbl.fsf_-_@gnu.org> Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-FTg11HiyQzRXgo0K+pXG" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1614721802; bh=fv02J/yoJl2eK1F5iDIhEA/tEEGTV0+k6+VlJHiw5hU=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=qWJV4He6FDl7LEhzqbkNFdQenY70bOiBKEWZ5JXoG7OXp4CJwNY2BBqBFchhtaqHM lQoQeuop9iOCLwzuMf7lVqZyYeBho82IaEgvM77hwm0MlYkNeUP4pI4t/K/g1rceMK c+JsjbQqplAherJKO/207JD9IDNsSv0KfTlh+r3PnuWzNeu0O/JJoUz0tYCEroywoX kuRMtYyuSWnRXiF2MvPQcY5VkkYSdcd0nI4mdPCfkClcTq0sq8GIwaQYU6knAOQ83m YsTtU5XKwka8nWwkOoghTxs+TCExnOiicHUPYVYsG6GfABL7Gw4gvcElXY7EG8Cjd+ mj4tYSqc1OuuQ== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 46668 Cc: 46668@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-FTg11HiyQzRXgo0K+pXG Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2021-03-02 at 22:29 +0100, Ludovic Court=C3=A8s wrote: >=20 > [...] > It=E2=80=99s a tad confusing that the second =E2=80=98with-http-server=E2= =80=99 is now nested; > it shouldn=E2=80=99t change the semantics though, so it=E2=80=99s okay. >=20 > Anyway, you=E2=80=99re welcome to push to =E2=80=98master=E2=80=99 if =E2= =80=9Cmake check=E2=80=9D agrees. :-) I do not have commit access, and I haven't applied for commit access either= , so you will have to push it yourself. "make check" agreed when I wrote the patch, though perhaps check it yourself just in case. Greetings, Maxime. --=-FTg11HiyQzRXgo0K+pXG Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYD6zAxccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7gl/AP47uCRmkwSYsK5dfnjHQntpspuL XUP/PG4HXSd1NiZwTAEAjBXlnC4WiP05e61hGBZ5rMlphho+fRnmqWZSCAtGUQQ= =/OM6 -----END PGP SIGNATURE----- --=-FTg11HiyQzRXgo0K+pXG-- From debbugs-submit-bounces@debbugs.gnu.org Sat Mar 06 05:24:03 2021 Received: (at 46668-done) by debbugs.gnu.org; 6 Mar 2021 10:24:03 +0000 Received: from localhost ([127.0.0.1]:36082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIU6N-0000EE-AK for submit@debbugs.gnu.org; Sat, 06 Mar 2021 05:24:03 -0500 Received: from eggs.gnu.org ([209.51.188.92]:49096) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIU6L-0000Dl-8y for 46668-done@debbugs.gnu.org; Sat, 06 Mar 2021 05:24:01 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36800) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lIU6F-0005iA-Sz; Sat, 06 Mar 2021 05:23:55 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=37738 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lIU6F-0005Ut-7h; Sat, 06 Mar 2021 05:23:55 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxime Devos Subject: Re: bug#46668: [PATCH]: tests: do not hard code HTTP ports References: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@telenet.be> <87r1kyri5l.fsf@gnu.org> <3ae8be5f05d73106c867fe2cfc7f619673fd738b.camel@telenet.be> <87h7lupn7h.fsf@gnu.org> <87eegxtfbl.fsf_-_@gnu.org> <9da09b98e911a047e1d296aad4c2be96053bbb44.camel@telenet.be> Date: Sat, 06 Mar 2021 11:23:53 +0100 In-Reply-To: <9da09b98e911a047e1d296aad4c2be96053bbb44.camel@telenet.be> (Maxime Devos's message of "Tue, 02 Mar 2021 22:49:55 +0100") Message-ID: <871rcsk2bq.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 46668-done Cc: 46668-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Hi Maxime, Maxime Devos skribis: > On Tue, 2021-03-02 at 22:29 +0100, Ludovic Court=C3=A8s wrote: >>=20 >> [...] >> It=E2=80=99s a tad confusing that the second =E2=80=98with-http-server= =E2=80=99 is now nested; >> it shouldn=E2=80=99t change the semantics though, so it=E2=80=99s okay. >>=20 >> Anyway, you=E2=80=99re welcome to push to =E2=80=98master=E2=80=99 if = =E2=80=9Cmake check=E2=80=9D agrees. :-) > > I do not have commit access, and I haven't applied for commit access eith= er, > so you will have to push it yourself. Oops, my bad; applied now, thanks! Ludo=E2=80=99. From unknown Fri Sep 12 10:41:38 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 03 Apr 2021 11:24:09 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator