From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.devel Subject: Re: Tests and linting not coupled to one file Date: Sun, 21 Feb 2021 04:37:33 -0600 Message-ID: References: <20200925124646.29315.84502@vcs0.savannah.gnu.org> <20200925124647.83150209D4@vcs0.savannah.gnu.org> <87y2kynf4n.fsf@gnus.org> <87sgb4lkty.fsf@gnus.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000ef336805bbd645fa" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18848"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Feb 21 11:38:18 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lDm82-0004o9-25 for ged-emacs-devel@m.gmane-mx.org; Sun, 21 Feb 2021 11:38:18 +0100 Original-Received: from localhost ([::1]:48728 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lDm81-0007jR-3K for ged-emacs-devel@m.gmane-mx.org; Sun, 21 Feb 2021 05:38:17 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:51394) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lDm7O-00073R-IG for emacs-devel@gnu.org; Sun, 21 Feb 2021 05:37:38 -0500 Original-Received: from mail-pj1-x1031.google.com ([2607:f8b0:4864:20::1031]:55274) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lDm7M-0002o1-2w for emacs-devel@gnu.org; Sun, 21 Feb 2021 05:37:38 -0500 Original-Received: by mail-pj1-x1031.google.com with SMTP id cx11so4219939pjb.4 for ; Sun, 21 Feb 2021 02:37:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc; bh=sJ4q6+NMuu4835R8B6M7PJ+7x/RdWC0VG0GB1HLOcHU=; b=p28yy897vz1f092FNFchEhTveyAbf7fjzkkYJCkIfJqb4xlpKmAai0i5Lta6TNBWuE FvPK/iOsg+8eb5mkfQbRiQac3JZ0yLzPBlXbje2rTOD/ok6ZczRO98klZVfTgwNd7uQB FUAPZdr++PcyGpygduQGdSL//Z+7MBrinSPALEWwMI1RdxkbrgEMDb9flzZjNDs4lE2X 5ZZED1cQEpw0129H15MyRPXYW3oD8bH1SgaLyW4Br9UgJUiUqL6L4mDPio5UqL1k3CsW VYHnbHCh+GBkESfGouJFWIWpdu35AwjQfptsMRSlModf/wSs0DmhWf73TuazT6JY+gu+ dVVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc; bh=sJ4q6+NMuu4835R8B6M7PJ+7x/RdWC0VG0GB1HLOcHU=; b=rD4ILuMSezWv7h07nkrpiKkqinPOGyep0b5ltErwjFrD27eiMfy81FXpWxxQ3rYTJN 72TMvLpOz1s1IxMCYa6zvgYDFwTQVqlDqRRnf36v8ViXc1AyR5Q0dEs1Mt+IUJcja1qq rmpxLiU5Jw9GeA3pSxJ0+UT40q7W1TeLYTq14m3OXZ6zlCd/M6d8N+Lb/57+QfF6f236 nTOqIdi2uxWmwl3Grwp0ocZOPBwm/hcwze6HpdZGjRUg/YklZ2DHxGljQN7ARG0Ckr/v 8w3ijNn9NfZsL4vPPbZWHegKnsVrp1GcU9BzF2yEh/hFkZ1dphYG6Es+CYcb8nxGBztu l4rQ== X-Gm-Message-State: AOAM531SfEY/JuEQaxVcFZ6R52YHgyybh2PQUFmGHsjszIn9lB69jLUU Z3NjfvsinMKHZGI1OpM/6H8sSG8vYbIQYXcqBQY= X-Google-Smtp-Source: ABdhPJzpIySGHlV8FmR4lIfgtcma1QVW77Pj2131cgpDg9UkGllrfSuZoFD3C4zpLlN1ZP6TDvpGIaECdz/IXyuYxYA= X-Received: by 2002:a17:902:ec8a:b029:e3:efa6:4f4 with SMTP id x10-20020a170902ec8ab02900e3efa604f4mr1567134plg.39.1613903854245; Sun, 21 Feb 2021 02:37:34 -0800 (PST) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 21 Feb 2021 04:37:33 -0600 In-Reply-To: <87sgb4lkty.fsf@gnus.org> Received-SPF: pass client-ip=2607:f8b0:4864:20::1031; envelope-from=stefankangas@gmail.com; helo=mail-pj1-x1031.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:265373 Archived-At: --000000000000ef336805bbd645fa Content-Type: text/plain; charset="UTF-8" Lars Ingebrigtsen writes: > Stefan Kangas writes: > >> That's a fair point. Likely they would not be aware of "test/misc" at >> first. OTOH we could document it in "test/file-organization.org". >> >> Here's three scenarios where adding a test to the existing files might >> not make sense: > > [...] > >> That said, if we can find a way to shoe-horn the stuff we need into the >> existing test suite without it being overly ugly, it's perfectly fine by >> me. Perhaps that would be less ugly than adding a new "test/misc" >> directory. > > There's certainly something to be said for consistency here: If we're > looking for a test of something in foo.el, we look in > lisp/foo-tests.el. And as you point out, cross-cutting linter stuff > doesn't really fit into that scheme at all. > > So upon further consideration, I agree with you that adding a test/misc > directory would be better in the long term. (That was in September.) How does the attached patch look? It runs all custom tests automatically - all of them marked as expensive, and two of them marked as expected to fail. We will probably want to fix up the failing tests at some point, too. --000000000000ef336805bbd645fa Content-Type: text/x-diff; charset="US-ASCII"; name="0001-Run-admin-cus-tests.el-tests-from-test-suite.patch" Content-Disposition: attachment; filename="0001-Run-admin-cus-tests.el-tests-from-test-suite.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 1f854250d6beb112_0.1 RnJvbSA0MTRlOTM5ZTMyNzU2MzBmMzNiZGViYjkwYzk1YmY5ZjU3OGQ5M2FlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gS2FuZ2FzIDxzdGVmYW5AbWFyeGlzdC5zZT4KRGF0 ZTogRnJpLCAxOSBGZWIgMjAyMSAxMjozMTo1NiArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIFJ1biBh ZG1pbi9jdXMtdGVzdHMuZWwgdGVzdHMgZnJvbSB0ZXN0IHN1aXRlCgoqIHRlc3QvTWFrZWZpbGUu aW4gKFNVQkRJUlMpOiBSdW4gdGVzdHMgaW4gbmV3IGRpcmVjdG9yeSAibWlzYyIsCmludGVuZGVk IGZvciB0ZXN0cyBub3QgYmVsb25naW5nIHRvIGFueSBvbmUgZmlsZS4KKiB0ZXN0L21pc2MvdGVz dC1jdXN0b20tZGVwcy5lbDoKKiB0ZXN0L21pc2MvdGVzdC1jdXN0b20tbGlicy5lbDoKKiB0ZXN0 L21pc2MvdGVzdC1jdXN0b20tbm9sb2Fkcy5lbDoKKiB0ZXN0L21pc2MvdGVzdC1jdXN0b20tb3B0 cy5lbDogTmV3IGZpbGVzLgoqIHRlc3QvbGlzcC9jdXN0b20tdGVzdHMuZWwgKGN1c3RvbS0tdGVz dC1sb2NhbC1vcHRpb24pOiBNb3ZlIHRlc3QgdG8KYWJvdmUgbmV3IGZpbGUgdGVzdC1jdXN0b20t b3B0cy5lbC4KCiogYWRtaW4vY3VzLXRlc3QuZWw6IERvY3VtZW50IHJ1bm5pbmcgdGVzdHMgZnJv bSByZWd1bGFyIHRlc3Qgc3VpdGUuCiogdGVzdC9maWxlLW9yZ2FuaXphdGlvbi5vcmcgKFRlc3Qg RmlsZXMpOiBEb2N1bWVudCBuZXcgdGVzdCBkaXJlY3RvcnkKIm1pc2MiIGZvciB0ZXN0cyBub3Qg YmVsb25naW5nIHRvIGFueSBvbmUgZmlsZS4KLS0tCiBhZG1pbi9jdXMtdGVzdC5lbCAgICAgICAg ICAgICAgICB8ICA3ICsrKysrCiB0ZXN0L01ha2VmaWxlLmluICAgICAgICAgICAgICAgICB8ICAy ICstCiB0ZXN0L2ZpbGUtb3JnYW5pemF0aW9uLm9yZyAgICAgICB8ICA0ICsrKwogdGVzdC9saXNw L2N1c3RvbS10ZXN0cy5lbCAgICAgICAgfCAxMSAtLS0tLS0tLQogdGVzdC9taXNjL3Rlc3QtY3Vz dG9tLWRlcHMuZWwgICAgfCA0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdGVzdC9t aXNjL3Rlc3QtY3VzdG9tLWxpYnMuZWwgICAgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogdGVzdC9taXNjL3Rlc3QtY3VzdG9tLW5vbG9hZHMuZWwgfCA0NSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiB0ZXN0L21pc2MvdGVzdC1jdXN0b20tb3B0cy5lbCAgICB8 IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogOCBmaWxlcyBjaGFuZ2VkLCAxODQgaW5z ZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9taXNj L3Rlc3QtY3VzdG9tLWRlcHMuZWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L21pc2MvdGVzdC1j dXN0b20tbGlicy5lbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3QvbWlzYy90ZXN0LWN1c3RvbS1u b2xvYWRzLmVsCiBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9taXNjL3Rlc3QtY3VzdG9tLW9wdHMu ZWwKCmRpZmYgLS1naXQgYS9hZG1pbi9jdXMtdGVzdC5lbCBiL2FkbWluL2N1cy10ZXN0LmVsCmlu ZGV4IGFmZDVmNGNlYWUuLjMwYjVmNjU1NjEgMTAwNjQ0Ci0tLSBhL2FkbWluL2N1cy10ZXN0LmVs CisrKyBiL2FkbWluL2N1cy10ZXN0LmVsCkBAIC0zNyw2ICszNywxMyBAQAogOzsKIDs7ICAgc3Jj L2VtYWNzIC1iYXRjaCAtbCBhZG1pbi9jdXMtdGVzdC5lbCAtZiBjdXMtdGVzdC1ub2xvYWRzCiA7 OworOzsgb3IgYXMgYSBwYXJ0IG9mIHRoZSB0ZXN0IHN1aXRlIHdpdGgKKzs7Cis7OyAgIG1ha2Ug LUMgdGVzdCB0ZXN0LWN1c3RvbS1vcHRzCis7OyAgIG1ha2UgLUMgdGVzdCB0ZXN0LWN1c3RvbS1k ZXBzCis7OyAgIG1ha2UgLUMgdGVzdCB0ZXN0LWN1c3RvbS1saWJzCis7OyAgIG1ha2UgLUMgdGVz dCB0ZXN0LWN1c3RvbS1ub2xvYWRzCis7OwogOzsgaW4gdGhlIGVtYWNzIHNvdXJjZSBkaXJlY3Rv cnkuCiA7OwogOzsgRm9yIGludGVyYWN0aXZlIHVzZTogTG9hZCB0aGlzIGZpbGUuICBUaGVuCmRp ZmYgLS1naXQgYS90ZXN0L01ha2VmaWxlLmluIGIvdGVzdC9NYWtlZmlsZS5pbgppbmRleCBmZjIy OGQxMjYxLi40OGJiZTg3MTJiIDEwMDY0NAotLS0gYS90ZXN0L01ha2VmaWxlLmluCisrKyBiL3Rl c3QvTWFrZWZpbGUuaW4KQEAgLTI1Nyw3ICsyNTcsNyBAQCBkZWZpbmUgdGVzdF90ZW1wbGF0ZQog JChmb3JlYWNoIHRlc3QsJHtURVNUU30sJChldmFsICQoY2FsbCB0ZXN0X3RlbXBsYXRlLCR7dGVz dH0pKSkKIAogIyMgR2V0IHRoZSB0ZXN0cyBmb3Igb25seSBhIHNwZWNpZmljIGRpcmVjdG9yeS4K LVNVQkRJUlMgPSAkKHNvcnQgJChzaGVsbCBmaW5kIGxpYi1zcmMgbGlzcCBzcmMgLXR5cGUgZCAh IC1wYXRoICIqcmVzb3VyY2VzKiIgLXByaW50KSkKK1NVQkRJUlMgPSAkKHNvcnQgJChzaGVsbCBm aW5kIGxpYi1zcmMgbGlzcCBtaXNjIHNyYyAtdHlwZSBkICEgLXBhdGggIipyZXNvdXJjZXMqIiAt cHJpbnQpKQogCiBkZWZpbmUgc3ViZGlyX3RlbXBsYXRlCiAgIC5QSE9OWTogY2hlY2stJChzdWJz dCAvLC0sJCgxKSkKZGlmZiAtLWdpdCBhL3Rlc3QvZmlsZS1vcmdhbml6YXRpb24ub3JnIGIvdGVz dC9maWxlLW9yZ2FuaXphdGlvbi5vcmcKaW5kZXggN2NmNWI4OGQ2ZC4uZDFmOTJkYTQzMiAxMDA2 NDQKLS0tIGEvdGVzdC9maWxlLW9yZ2FuaXphdGlvbi5vcmcKKysrIGIvdGVzdC9maWxlLW9yZ2Fu aXphdGlvbi5vcmcKQEAgLTQzLDYgKzQzLDEwIEBAIFNpbWlsYXJseSwgdGVzdHMgb2YgZmVhdHVy ZXMgaW1wbGVtZW50ZWQgaW4gQyBzaG91bGQgcmVzaWRlIGluCiB+LXRlc3RzLmVsfiBhZGRlZCB0 byB0aGUgYmFzZS1uYW1lIG9mIHRoZSB0ZXN0ZWQgc291cmNlIGZpbGUuICBUaHVzLAogdGVzdHMg Zm9yIH5zcmMvZmlsZWlvLmN+IHNob3VsZCBiZSBpbiB+dGVzdC9zcmMvZmlsZWlvLXRlc3RzLmVs fi4KIAorU29tZSB0ZXN0cyBkbyBub3QgYmVsb25nIHRvIGFueSBvbmUgcGFydGljdWxhciBmaWxl LiAgU3VjaCB0ZXN0cworc2hvdWxkIGJlIHB1dCBpbiB0aGUgfm1pc2N+IGRpcmVjdG9yeSBhbmQg YmUgZ2l2ZW4gYSBkZXNjcmlwdGl2ZSBuYW1lCit0aGF0IGRvZXMgL25vdC8gZW5kIHdpdGggfi10 ZXN0cy5lbH4uCisKIFRoZXJlIGFyZSBhbHNvIHNvbWUgdGVzdCBtYXRlcmlhbHMgdGhhdCBjYW5u b3QgYmUgcnVuIGF1dG9tYXRpY2FsbHkKIChpLmUuIHZpYSBlcnQpLiAgVGhlc2Ugc2hvdWxkIGJl IHBsYWNlZCBpbiB+L3Rlc3QvbWFudWFsfjsgdGhleSBhcmUKIG5vdCBydW4gYnkgdGhlICJtYWtl IGNoZWNrIiBjb21tYW5kIGFuZCBpdHMgZGVyaXZhdGl2ZXMuCmRpZmYgLS1naXQgYS90ZXN0L2xp c3AvY3VzdG9tLXRlc3RzLmVsIGIvdGVzdC9saXNwL2N1c3RvbS10ZXN0cy5lbAppbmRleCAxMDg1 NGM3MWQ1Li4wOWY3OWMxYTA4IDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvY3VzdG9tLXRlc3RzLmVs CisrKyBiL3Rlc3QvbGlzcC9jdXN0b20tdGVzdHMuZWwKQEAgLTE0NSwxNyArMTQ1LDYgQEAgY3Vz dG9tLXRlc3Qtc2hvdy1jb21tZW50LXByZXNlcnZlcy1jaGFuZ2VzCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHdpZGdldC1hcHBseSBmaWVsZCA6dmFsdWUtdG8taW50ZXJuYWwgb3Jp Z3ZhbHVlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiYXIiKSkpKSkpCiAKLShk ZWZjb25zdCBjdXN0b20tdGVzdC1hZG1pbi1jdXMtdGVzdAotICAoZXhwYW5kLWZpbGUtbmFtZSAi YWRtaW4vY3VzLXRlc3QuZWwiIHNvdXJjZS1kaXJlY3RvcnkpKQotCi0oZGVjbGFyZS1mdW5jdGlv biBjdXMtdGVzdC1vcHRzIGN1c3RvbS10ZXN0LWFkbWluLWN1cy10ZXN0KQotCi0oZXJ0LWRlZnRl c3QgY2hlY2stZm9yLXdyb25nLWN1c3RvbS10eXBlcyAoKQotICA6dGFncyAnKDpleHBlbnNpdmUt dGVzdCkKLSAgKHNraXAtdW5sZXNzIChmaWxlLXJlYWRhYmxlLXAgY3VzdG9tLXRlc3QtYWRtaW4t Y3VzLXRlc3QpKQotICAobG9hZCBjdXN0b20tdGVzdC1hZG1pbi1jdXMtdGVzdCkKLSAgKHNob3Vs ZCAobnVsbCAoY3VzLXRlc3Qtb3B0cyB0KSkpKQotCiAoZXJ0LWRlZnRlc3QgY3VzdG9tLXRlc3Qt ZW5hYmxlLXRoZW1lLWtlZXBzLXNldHRpbmdzICgpCiAgICJUZXN0IHRoYXQgZW5hYmxpbmcgYSB0 aGVtZSBkb2Vzbid0IGNoYW5nZSBpdHMgc2V0dGluZ3MuIgogICAobGV0KiAoKGN1c3RvbS10aGVt ZS1sb2FkLXBhdGggYCgsKGVydC1yZXNvdXJjZS1kaXJlY3RvcnkpKSkKZGlmZiAtLWdpdCBhL3Rl c3QvbWlzYy90ZXN0LWN1c3RvbS1kZXBzLmVsIGIvdGVzdC9taXNjL3Rlc3QtY3VzdG9tLWRlcHMu ZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZjA3MmFkZGRjYgotLS0g L2Rldi9udWxsCisrKyBiL3Rlc3QvbWlzYy90ZXN0LWN1c3RvbS1kZXBzLmVsCkBAIC0wLDAgKzEs NDIgQEAKKzs7OyB0ZXN0LWN1c3RvbS1kZXBzLmVsIC0tLSBUZXN0IGN1c3RvbSBkZXBzICAtKi0g bGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAyMSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKworOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEVtYWNz LgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCis7OyAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBHTlUgRW1hY3MgaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKzs7IGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCis7OyBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCis7OyBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVudGFyeToKKworOzsgVGhlIGNvbW1h bmQgYGN1cy10ZXN0LWRlcHMnIGxvYWRzIGFsbCAoISkgY3VzdG9tIGRlcGVuZGVuY2llcyBhbmQK Kzs7IHJlcG9ydHMgYWJvdXQgbG9hZCBlcnJvcnMuCisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAn ZXJ0KQorCisoZGVmY29uc3QgY3VzdG9tLXRlc3QtYWRtaW4tY3VzLXRlc3QKKyAgKGV4cGFuZC1m aWxlLW5hbWUgImFkbWluL2N1cy10ZXN0LmVsIiBzb3VyY2UtZGlyZWN0b3J5KSkKKworKGRlY2xh cmUtZnVuY3Rpb24gY3VzLXRlc3QtZGVwcyBjdXN0b20tdGVzdC1hZG1pbi1jdXMtdGVzdCkKKyhk ZWZ2YXIgY3VzLXRlc3QtZGVwcy1lcnJvcnMpICA7IGZyb20gYWRtaW4vY3VzLXRlc3RzLmVsCisK KyhlcnQtZGVmdGVzdCB0ZXN0LWN1c3RvbS1kZXBzICgpCisgIDp0YWdzICcoOmV4cGVuc2l2ZS10 ZXN0KQorICAoc2tpcC11bmxlc3MgKGZpbGUtcmVhZGFibGUtcCBjdXN0b20tdGVzdC1hZG1pbi1j dXMtdGVzdCkpCisgIChsb2FkIGN1c3RvbS10ZXN0LWFkbWluLWN1cy10ZXN0KQorICAoY3VzLXRl c3QtZGVwcykKKyAgKHNob3VsZC1ub3QgY3VzLXRlc3QtZGVwcy1lcnJvcnMpKQorCis7OzsgdGVz dC1jdXN0b20tZGVwcy5lbCBlbmRzIGhlcmUKZGlmZiAtLWdpdCBhL3Rlc3QvbWlzYy90ZXN0LWN1 c3RvbS1saWJzLmVsIGIvdGVzdC9taXNjL3Rlc3QtY3VzdG9tLWxpYnMuZWwKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNzBmMDQzZDEyOQotLS0gL2Rldi9udWxsCisrKyBi L3Rlc3QvbWlzYy90ZXN0LWN1c3RvbS1saWJzLmVsCkBAIC0wLDAgKzEsNDYgQEAKKzs7OyB0ZXN0 LWN1c3RvbS1saWJzLmVsIC0tLSBUZXN0IGN1c3RvbSBsb2FkcyAgLSotIGxleGljYWwtYmluZGlu Zzp0IC0qLQorCis7OyBDb3B5cmlnaHQgKEMpIDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisKKzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KKworOzsgR05VIEVt YWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo ZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKworOzsgR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzsgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorOzsgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworOzsgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7IGFs b25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KKworOzs7IENvbW1lbnRhcnk6CisKKzs7IFRoaXMgZmlsZSBydW5zIGZvciBhbGwg bGlicmFyaWVzIHdpdGggYXV0b2xvYWRzIHNlcGFyYXRlIGVtYWNzCis7OyBwcm9jZXNzZXMgb2Yg dGhlIGZvcm0gImVtYWNzIC1iYXRjaCAtbCBMSUIiLgorCis7OzsgQ29kZToKKworKHJlcXVpcmUg J2VydCkKKworKGRlZmNvbnN0IGN1c3RvbS10ZXN0LWFkbWluLWN1cy10ZXN0CisgIChleHBhbmQt ZmlsZS1uYW1lICJhZG1pbi9jdXMtdGVzdC5lbCIgc291cmNlLWRpcmVjdG9yeSkpCisKKyhkZWNs YXJlLWZ1bmN0aW9uIGN1cy10ZXN0LWxpYnMgY3VzdG9tLXRlc3QtYWRtaW4tY3VzLXRlc3QpCiso ZGVmdmFyIGN1cy10ZXN0LWxpYnMtZXJyb3JzKSAgOyBmcm9tIGFkbWluL2N1cy10ZXN0cy5lbAor Cis7OyBGSVhNRTogQ3VycmVudGx5IGZhaWxzIGZvcjoKKzs7ICAgICAgICAtIGxpc3AvdGVybS9u cy13aW4uZWwKKzs7ICAgICAgICAtIGxpc3Avb3JnL29yZy1udW0uZWwKKyhlcnQtZGVmdGVzdCB0 ZXN0LWN1c3RvbS1saWJzICgpCisgIDp0YWdzICcoOmV4cGVuc2l2ZS10ZXN0KQorICA6ZXhwZWN0 ZWQtcmVzdWx0IDpmYWlsZWQgOyBGSVhNRTogU2VlIGFib3ZlLgorICAoc2tpcC11bmxlc3MgKGZp bGUtcmVhZGFibGUtcCBjdXN0b20tdGVzdC1hZG1pbi1jdXMtdGVzdCkpCisgIChsb2FkIGN1c3Rv bS10ZXN0LWFkbWluLWN1cy10ZXN0KQorICAoY3VzLXRlc3QtbGlicyB0KQorICAoc2hvdWxkLW5v dCBjdXMtdGVzdC1saWJzLWVycm9ycykpCisKKzs7OyB0ZXN0LWN1c3RvbS1kZXBzLmVsIGVuZHMg aGVyZQpkaWZmIC0tZ2l0IGEvdGVzdC9taXNjL3Rlc3QtY3VzdG9tLW5vbG9hZHMuZWwgYi90ZXN0 L21pc2MvdGVzdC1jdXN0b20tbm9sb2Fkcy5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwLi5lOTk5ZmUyYWJiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdC9taXNjL3Rlc3Qt Y3VzdG9tLW5vbG9hZHMuZWwKQEAgLTAsMCArMSw0NSBAQAorOzs7IHRlc3QtY3VzdG9tLWRlcHMu ZWwgLS0tIFRlc3QgY3VzdG9tIG5vbG9hZHMgIC0qLSBsZXhpY2FsLWJpbmRpbmc6dCAtKi0KKwor OzsgQ29weXJpZ2h0IChDKSAyMDIxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCis7 OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCisKKzs7IEdOVSBFbWFjcyBpcyBmcmVl IHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cis7OyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQorOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24g MyBvZiB0aGUgTGljZW5zZSwgb3IKKzs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCisKKzs7IEdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorOzsgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCis7OyBhbG9uZyB3aXRoIEdO VSBFbWFjcy4gIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisK Kzs7OyBDb21tZW50YXJ5OgorCis7OyBUaGUgY29tbWFuZCBgY3VzLXRlc3Qtbm9sb2FkcycgcmV0 dXJucyBhIGxpc3Qgb2YgdmFyaWFibGVzIHdoaWNoCis7OyBhcmUgc29tZXdoZXJlIGRlY2xhcmVk IGFzIGN1c3RvbSBvcHRpb25zLCBidXQgbm90IGxvYWRlZCBieQorOzsgYGN1c3RvbS1sb2FkLXN5 bWJvbCcuCisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAnZXJ0KQorCisoZGVmY29uc3QgY3VzdG9t LXRlc3QtYWRtaW4tY3VzLXRlc3QKKyAgKGV4cGFuZC1maWxlLW5hbWUgImFkbWluL2N1cy10ZXN0 LmVsIiBzb3VyY2UtZGlyZWN0b3J5KSkKKworKGRlY2xhcmUtZnVuY3Rpb24gY3VzLXRlc3Qtbm9s b2FkcyBjdXN0b20tdGVzdC1hZG1pbi1jdXMtdGVzdCkKKyhkZWZ2YXIgY3VzLXRlc3QtdmFycy1u b3QtY3VzLWxvYWRlZCkgIDsgZnJvbSBhZG1pbi9jdXMtdGVzdHMuZWwKKworOzsgRklYTUU6IE11 bHRpcGxlIGZhaWx1cmVzIGhlcmUuCisoZXJ0LWRlZnRlc3QgY3VzdG9tLXRlc3QtbG9hZCAoKQor ICA6dGFncyAnKDpleHBlbnNpdmUtdGVzdCkKKyAgOmV4cGVjdGVkLXJlc3VsdCA6ZmFpbGVkIDsg RklYTUU6IFNlZSBhYm92ZS4KKyAgKHNraXAtdW5sZXNzIChmaWxlLXJlYWRhYmxlLXAgY3VzdG9t LXRlc3QtYWRtaW4tY3VzLXRlc3QpKQorICAobG9hZCBjdXN0b20tdGVzdC1hZG1pbi1jdXMtdGVz dCkKKyAgKGN1cy10ZXN0LW5vbG9hZHMpCisgIChzaG91bGQtbm90IGN1cy10ZXN0LXZhcnMtbm90 LWN1cy1sb2FkZWQpKQorCis7OzsgdGVzdC1jdXN0b20tZGVwcy5lbCBlbmRzIGhlcmUKZGlmZiAt LWdpdCBhL3Rlc3QvbWlzYy90ZXN0LWN1c3RvbS1vcHRzLmVsIGIvdGVzdC9taXNjL3Rlc3QtY3Vz dG9tLW9wdHMuZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZmE2Yjll NjZhZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvbWlzYy90ZXN0LWN1c3RvbS1vcHRzLmVsCkBA IC0wLDAgKzEsMzkgQEAKKzs7OyB0ZXN0LWN1c3RvbS1vcHRzLmVsIC0tLSBUZXN0IGN1c3RvbSBv cHRzICAtKi0gbGV4aWNhbC1iaW5kaW5nOnQgLSotCisKKzs7IENvcHlyaWdodCAoQykgMjAyMSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg R05VIEVtYWNzLgorCis7OyBHTlUgRW1hY3MgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKzs7IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCis7 OyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCis7OyBHTlUgRW1hY3MgaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKzs7IGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Cis7OyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCis7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorCis7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8 aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCis7OzsgQ29tbWVudGFyeToKKworOzsg VGhlIGNvbW1hbmQgYGN1cy10ZXN0LW9wdHMnIHRlc3RzIG1hbnkgKGFsbD8pIGN1c3RvbSBvcHRp b25zLgorCis7OzsgQ29kZToKKworKHJlcXVpcmUgJ2VydCkKKworKGRlZmNvbnN0IGN1c3RvbS10 ZXN0LWFkbWluLWN1cy10ZXN0CisgIChleHBhbmQtZmlsZS1uYW1lICJhZG1pbi9jdXMtdGVzdC5l bCIgc291cmNlLWRpcmVjdG9yeSkpCisKKyhkZWNsYXJlLWZ1bmN0aW9uIGN1cy10ZXN0LW9wdHMg Y3VzdG9tLXRlc3QtYWRtaW4tY3VzLXRlc3QpCisKKyhlcnQtZGVmdGVzdCBjaGVjay1mb3Itd3Jv bmctY3VzdG9tLW9wdHMgKCkKKyAgOnRhZ3MgJyg6ZXhwZW5zaXZlLXRlc3QpCisgIChza2lwLXVu bGVzcyAoZmlsZS1yZWFkYWJsZS1wIGN1c3RvbS10ZXN0LWFkbWluLWN1cy10ZXN0KSkKKyAgKGxv YWQgY3VzdG9tLXRlc3QtYWRtaW4tY3VzLXRlc3QpCisgIChzaG91bGQgKG51bGwgKGN1cy10ZXN0 LW9wdHMgdCkpKSkKKworOzs7IHRlc3QtY3VzdG9tLW9wdHMuZWwgZW5kcyBoZXJlCi0tIAoyLjMw LjAKCg== --000000000000ef336805bbd645fa--