From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ankit Gadiya via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#70939: [PATCH] Add commands to run unit tests in go-ts-mode Date: Sun, 7 Jul 2024 01:14:01 +0530 Message-ID: References: <86bk55iw54.fsf@gnu.org> <3YG1jNZQXdsT7DtRW9TTuDWpXHZ6qNpBW-7sfn36Mo7fzUp9dEKcHxCBEjpFVeJUbqP8YB9WXd8KyR9LuUERxjVUlLfw8MiE6DGcngF9lG4=@rjt.dev> Reply-To: Ankit Gadiya Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000007e45af061c9967a1" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25895"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , 70939@debbugs.gnu.org To: Randy Taylor Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Jul 06 21:46:23 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1sQBMS-0006Tf-El for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 06 Jul 2024 21:46:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sQBM8-0006kD-DH; Sat, 06 Jul 2024 15:46:00 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sQBM7-0006k3-6g for bug-gnu-emacs@gnu.org; Sat, 06 Jul 2024 15:45:59 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sQBM6-00055V-Un for bug-gnu-emacs@gnu.org; Sat, 06 Jul 2024 15:45:58 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sQBM9-0002Jh-Mp for bug-gnu-emacs@gnu.org; Sat, 06 Jul 2024 15:46:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ankit Gadiya Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 06 Jul 2024 19:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 70939 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 70939-submit@debbugs.gnu.org id=B70939.17202951248851 (code B ref 70939); Sat, 06 Jul 2024 19:46:01 +0000 Original-Received: (at 70939) by debbugs.gnu.org; 6 Jul 2024 19:45:24 +0000 Original-Received: from localhost ([127.0.0.1]:46771 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sQBLX-0002Ih-M9 for submit@debbugs.gnu.org; Sat, 06 Jul 2024 15:45:23 -0400 Original-Received: from mail-yw1-f179.google.com ([209.85.128.179]:59826) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sQBLV-0002IP-Jn for 70939@debbugs.gnu.org; Sat, 06 Jul 2024 15:45:22 -0400 Original-Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-64f2fe21015so24754787b3.3 for <70939@debbugs.gnu.org>; Sat, 06 Jul 2024 12:45:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=argp.in; s=google; t=1720295052; x=1720899852; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=cT+y4aHXifScHh+vrW+fN5y9wVgL1n1yHSrsU0ZkpQQ=; b=BYzDxjYHiem0XSo2l6r89PjKkdkaA4Rk9wr3MlErc8oQ5VQcE+63PqlOAr+any3ZMF KdVRZQWztK6+utSBcYRPN0wS7VWH7K2IbiUTAe4XoDLN57hXro8kmqt9dsMjJsJ5GGs3 SkPSE0s1usXUvpqJ/Wg2aVdnxpgL3gXkEIxRE5/EBXL3vxV8BQRNoIKBVyyVyZzsTiZu IMh4P7QoSHfvab4GYctMl9iEZl6g+ctR4Yr/pMvImq+I4Y1eF5x5KuVJQNH3+vgyFEgE vTRe2RZgiCAwgDSgp1aQAdEvqb2SjhyB/OquyVb1mBleEeoRRUrOk6A0NjbTzWy7gNHw SY7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720295052; x=1720899852; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cT+y4aHXifScHh+vrW+fN5y9wVgL1n1yHSrsU0ZkpQQ=; b=XnbrLCRWO140MSUs7IX8G1j77Mch2ErnICDPn6cbfyoVixmlK4snFa/19my9k/7hed bDs7vSAlDY4p/i9jwntasdUKq+PUPaoS/iuTp/LVxEDlvz14zfihiF5lydl808SiYvaa vA0aTegHmXf2QBHyklH8OBiHKFirgrS3IpzLMDfgBciduuw2Z8ycBAnpSq6cnJN8GIct JtLX1HHRqSHLzu7j0tp6aI7J0flGMgMBwnbvGcFJnJWEPAlUrGMRzzO+nHXvXtFrds61 SNII4xmvF8m/YPPnffCWmc//flcBUUFeWGce5vqr1Q1QGrbZ018u8QRw1XXJ9AcO2qqb +1IQ== X-Forwarded-Encrypted: i=1; AJvYcCXiEqFPFh4kMhb3GzfnRoSU964bHNaSAdmUS528jniQZoHGQsGUtjzRkBQ3tcqHH3nTddLJWc9cuAwcP/DKz1aYkWXvv8c= X-Gm-Message-State: AOJu0YzHx8wyZekrFeFzspHs+Tw0VggKeMF7aDVoEZJTEhHSOXhY2Siy 1vFmaTVVfvDfQ1R13EaF9s6VwjMKOmLxu79fanc00m4l4IX6EUWvIli3eu17saVq1r9n3AdjLBZ Kpmpge607CvfDrFblGNwvCWU5RbuBDCI8Q6z6P+y+zDxOnEOGCZg= X-Google-Smtp-Source: AGHT+IFYQJHkYmInSH71PXW6ZcIAL/iKUHtyXne2CO8/xjd/QMMeYd6zF7QRNYkGrM10J5VhSAtEi6fs6xDtyi+85io= X-Received: by 2002:a0d:fc05:0:b0:64b:7e17:b339 with SMTP id 00721157ae682-655fa53c6bamr11331907b3.15.1720295052133; Sat, 06 Jul 2024 12:44:12 -0700 (PDT) In-Reply-To: <3YG1jNZQXdsT7DtRW9TTuDWpXHZ6qNpBW-7sfn36Mo7fzUp9dEKcHxCBEjpFVeJUbqP8YB9WXd8KyR9LuUERxjVUlLfw8MiE6DGcngF9lG4=@rjt.dev> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:288519 Archived-At: --0000000000007e45af061c9967a1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Apologies for the delay again. > > > For the commit message, I'm not sure we need that paragraph especiall= y when it's already described in the news. Eli what do you think? Thanks Randy and Eli, I've updated the commit message to be shorter now. > > > +*** New unit test commands. > > > +Two new commands are now available to run unit tests. > > > Three? > > This still needs to be updated. Thanks, I fixed it. > > A few more comments: > +(defun go-ts-mode--get-test-regexp-at-point () > + "Return a regular expression for tests at point. > ^ the > > Could go-ts-mode--get-test-regexp-at-point and go-ts-mode-test-file use i= f-let? I wasn't familiar with if-let, thanks for this. Incorporated it in both the functions. > > Also, the indentation looks off in go-ts-mode-test-function-at-point (2 e= xtra spaces methinks). Fixed this, thanks. > > > > > > > I'm also wondering if we should include "current" in the go-ts-mode-t= est-file and go-ts-mode-test-package function names. Maybe someone would ex= pect that they would get prompted to select a file or package to test? Mayb= e I'm overthinking that :). Eli what do you think? > > > > > > I'll wait for Eli to reply before incorporating the changes :). > > And he chimed in - let's go with his suggestions. Updated both the function names. go-ts-mode-test-this-file go-ts-mode-test-this-package > > Additionally, I also noticed that the emacs-30 branch is cut. I wanted > > to check if I > > need to rebase my patch onto master or emacs-30 branch? > > I would guess master, but let's see what Eli says. I rebased my patch on the master now. Requesting a re-review. Thanks -- Ankit --0000000000007e45af061c9967a1 Content-Type: application/octet-stream; name="0001-Add-commands-to-run-unit-tests-in-go-ts-mode.patch" Content-Disposition: attachment; filename="0001-Add-commands-to-run-unit-tests-in-go-ts-mode.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lyaj8xws0 RnJvbSA0YmU1NzdkZWZjOTljMDYwOTFmYzBlMjk1NDcwN2NjNTEzNzNiZmVjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmtpdCBSIEdhZGl5YSA8Z2l0QGFyZ3AuaW4+CkRhdGU6IFR1 ZSwgMTQgTWF5IDIwMjQgMDA6MTQ6MDMgKzA1MzAKU3ViamVjdDogW1BBVENIXSBBZGQgY29tbWFu ZHMgdG8gcnVuIHVuaXQgdGVzdHMgaW4gZ28tdHMtbW9kZQoKVGhyZWUgbmV3IGNvbW1hbmRzIGFy ZSBhZGRlZCBpbiB0aGUgZ28tdHMtbW9kZSB0byBydW4gdW5pdCB0ZXN0cy4KCiogbGlzcC9wcm9n bW9kZXMvZ28tdHMtbW9kZS5lbCAoZ28tdHMtbW9kZS1idWlsZC10YWdzKTogTmV3IHZhcmlhYmxl LgooZ28tdHMtbW9kZS1tYXApOiBOZXcgbWFwIHZhcmlhYmxlLgooZ28tdHMtbW9kZS0tZ2V0LWJ1 aWxkLXRhZ3MtZmxhZyk6IE5ldyBmdW5jdGlvbi4KKGdvLXRzLW1vZGUtLWNvbXBpbGUtdGVzdCk6 IE5ldyBmdW5jdGlvbi4KKGdvLXRzLW1vZGUtLWZpbmQtZGVmdW4tYXQpOiBOZXcgZnVuY3Rpb24u Cihnby10cy1tb2RlLS1nZXQtZnVuY3Rpb24tcmVnZXhwKTogTmV3IGZ1bmN0aW9uLgooZ28tdHMt bW9kZS0tZ2V0LWZ1bmN0aW9ucy1pbi1yYW5nZSk6IE5ldyBmdW5jdGlvbi4KKGdvLXRzLW1vZGUt LWdldC10ZXN0LXJlZ2V4cC1hdC1wb2ludCk6IE5ldyBmdW5jdGlvbi4KKGdvLXRzLW1vZGUtdGVz dC1mdW5jdGlvbi1hdC1wb2ludCk6IE5ldyBmdW5jdGlvbi4KKGdvLXRzLW1vZGUtdGVzdC1maWxl KTogTmV3IGZ1bmN0aW9uLgooZ28tdHMtbW9kZS10ZXN0LXBhY2thZ2UpOiBOZXcgZnVuY3Rpb24u CiogZXRjL05FV1M6IE1lbnRpb24gdGhlIGNoYW5nZS4KCihCdWcjNzA5MzkpCi0tLQogZXRjL05F V1MgICAgICAgICAgICAgICAgICAgICB8IDE5ICsrKysrKysrCiBsaXNwL3Byb2dtb2Rlcy9nby10 cy1tb2RlLmVsIHwgODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAyIGZp bGVzIGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvZXRjL05FV1MgYi9ldGMvTkVXUwppbmRleCBiYTU4ZmE3YjMxOS4uMzVhNzYxZmJlZWIgMTAw NjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC03MCw2ICs3MCwyNSBAQCBBZHZh bmNlZCIgbm9kZSBpbiB0aGUgRVdXIG1hbnVhbC4KIEJ5IGN1c3RvbWl6aW5nICdzaHItaW1hZ2Ut em9vbS1sZXZlbHMnLCB5b3UgY2FuIGNoYW5nZSB0aGUgbGlzdCBvZiB6b29tCiBsZXZlbHMgdGhh dCBTSFIgY3ljbGVzIHRocm91Z2ggd2hlbiBjYWxsaW5nICdzaHItem9vbS1pbWFnZScuCiAKKyoq IEdvLXRzIG1vZGUKKworKysrCisqKiogTmV3IHVuaXQgdGVzdCBjb21tYW5kcy4KK1RocmVlIG5l dyBjb21tYW5kcyBhcmUgbm93IGF2YWlsYWJsZSB0byBydW4gdW5pdCB0ZXN0cy4KKworVGhlICdn by10cy1tb2RlLXRlc3QtZnVuY3Rpb24tYXQtcG9pbnQnIGNvbW1hbmQgcnVucyB0aGUgdW5pdCB0 ZXN0IGF0Citwb2ludC4gIElmIGEgcmVnaW9uIGlzIGFjdGl2ZSwgaXQgcnVucyBhbGwgdGhlIHVu aXQgdGVzdHMgdW5kZXIgdGhlCityZWdpb24uICBJdCBpcyBib3VuZCB0byAnQy1jIEMtdCB0JyBp biAnZ28tdHMtbW9kZScuCisKK1RoZSAnZ28tdHMtbW9kZS10ZXN0LXRoaXMtZmlsZScgY29tbWFu ZCBydW5zIGFsbCB1bml0IHRlc3RzIGluIHRoZSBjdXJyZW50CitmaWxlLiBJdCBpcyBib3VuZCB0 byAnQy1jIEMtdCBmJyBpbiAnZ28tdHMtbW9kZScuCisKK1RoZSAnZ28tdHMtbW9kZS10ZXN0LXRo aXMtcGFja2FnZScgY29tbWFuZCBydW5zIGFsbCB1bml0IHRlc3RzIHVuZGVyIHRoZQorcGFja2Fn ZSBvZiB0aGUgY3VycmVudCBidWZmZXIuICBJdCBpcyBib3VuZCB0byAnQy1jIEMtdCBwJyBpbiAn Z28tdHMtbW9kZScuCisKK1RoZSAnZ28tdHMtbW9kZS1idWlsZC10YWdzJyB2YXJpYWJsZSBpcyBh dmFpbGFibGUgdG8gc2V0IGEgbGlzdCBvZiBidWlsZAordGFncyBmb3IgdGhlIHRlc3QgY29tbWFu ZHMuCisKICoqIEVtYWNzIExpc3AgbW9kZQogCiAtLS0KZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21v ZGVzL2dvLXRzLW1vZGUuZWwgYi9saXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsCmluZGV4IDJk M2U2YWFjMDkwLi4zZmU0MjdmYTkxMSAxMDA2NDQKLS0tIGEvbGlzcC9wcm9nbW9kZXMvZ28tdHMt bW9kZS5lbAorKysgYi9saXNwL3Byb2dtb2Rlcy9nby10cy1tb2RlLmVsCkBAIC00Niw2ICs0Niwx MiBAQAogICA6c2FmZSAnaW50ZWdlcnAKICAgOmdyb3VwICdnbykKIAorKGRlZmN1c3RvbSBnby10 cy1tb2RlLWJ1aWxkLXRhZ3MgbmlsCisgICJMaXN0IG9mIEdvIGJ1aWxkIHRhZ3MgZm9yIHRoZSB0 ZXN0IGNvbW1hbmRzLiIKKyAgOnZlcnNpb24gIjMwLjEiCisgIDp0eXBlICcocmVwZWF0IHN0cmlu ZykKKyAgOmdyb3VwICdnbykKKwogKGRlZnZhciBnby10cy1tb2RlLS1zeW50YXgtdGFibGUKICAg KGxldCAoKHRhYmxlIChtYWtlLXN5bnRheC10YWJsZSkpKQogICAgIChtb2RpZnktc3ludGF4LWVu dHJ5ID8rICAgIi4iICAgICAgdGFibGUpCkBAIC0yNDIsNyArMjQ4LDEwIEBACiAoZGVmdmFyLWtl eW1hcCBnby10cy1tb2RlLW1hcAogICA6ZG9jICJLZXltYXAgdXNlZCBpbiBHbyBtb2RlLCBwb3dl cmVkIGJ5IHRyZWUtc2l0dGVyIgogICA6cGFyZW50IHByb2ctbW9kZS1tYXAKLSAgIkMtYyBDLWQi ICMnZ28tdHMtbW9kZS1kb2NzdHJpbmcpCisgICJDLWMgQy1kIiAjJ2dvLXRzLW1vZGUtZG9jc3Ry aW5nCisgICJDLWMgQy10IHQiICMnZ28tdHMtbW9kZS10ZXN0LWZ1bmN0aW9uLWF0LXBvaW50Cisg ICJDLWMgQy10IGYiICMnZ28tdHMtbW9kZS10ZXN0LXRoaXMtZmlsZQorICAiQy1jIEMtdCBwIiAj J2dvLXRzLW1vZGUtdGVzdC10aGlzLXBhY2thZ2UpCiAKIDs7OyMjI2F1dG9sb2FkCiAoZGVmaW5l LWRlcml2ZWQtbW9kZSBnby10cy1tb2RlIHByb2ctbW9kZSAiR28iCkBAIC0zNzUsNiArMzg0LDgz IEBAIGNvbW1lbnQgYWxyZWFkeSBleGlzdHMsIGp1bXAgdG8gaXQuIgogICAgICAoPD0gKHRyZWVz aXQtbm9kZS1zdGFydCBub2RlKSBwb2ludCAodHJlZXNpdC1ub2RlLWVuZCBub2RlKSkKICAgICAg KHN0cmluZy1lcXVhbCAiY29tbWVudCIgKHRyZWVzaXQtbm9kZS10eXBlIG5vZGUpKSkpKQogCiso ZGVmdW4gZ28tdHMtbW9kZS0tZ2V0LWJ1aWxkLXRhZ3MtZmxhZyAoKQorICAiUmV0dXJuIHRoZSBj b21waWxlIGZsYWcgZm9yIGJ1aWxkIHRhZ3MuCitUaGlzIGZ1bmN0aW9uIHJlc3BlY3RzIHRoZSBg Z28tdHMtbW9kZS1idWlsZC10YWdzJyB2YXJpYWJsZSBmb3IKK3NwZWNpZnlpbmcgYnVpbGQgdGFn cy4iCisgIChpZiBnby10cy1tb2RlLWJ1aWxkLXRhZ3MKKyAgICAgIChmb3JtYXQgIi10YWdzICVz IiAoc3RyaW5nLWpvaW4gZ28tdHMtbW9kZS1idWlsZC10YWdzICIsIikpCisgICAgIiIpKQorCiso ZGVmdW4gZ28tdHMtbW9kZS0tY29tcGlsZS10ZXN0IChyZWdleHApCisgICJDb21waWxlIHRoZSB0 ZXN0cyBtYXRjaGluZyBSRUdFWFAuCitUaGlzIGZ1bmN0aW9uIHJlc3BlY3RzIHRoZSBgZ28tdHMt bW9kZS1idWlsZC10YWdzJyB2YXJpYWJsZSBmb3IKK3NwZWNpZnlpbmcgYnVpbGQgdGFncy4iCisg IChjb21waWxlIChmb3JtYXQgImdvIHRlc3QgLXYgJXMgLXJ1biAnJXMnIgorICAgICAgICAgICAg ICAgICAgIChnby10cy1tb2RlLS1nZXQtYnVpbGQtdGFncy1mbGFnKQorICAgICAgICAgICAgICAg ICAgIHJlZ2V4cCkpKQorCisoZGVmdW4gZ28tdHMtbW9kZS0tZmluZC1kZWZ1bi1hdCAoc3RhcnQp CisgICJSZXR1cm4gdGhlIGZpcnN0IGRlZnVuIG5vZGUgZnJvbSBTVEFSVC4iCisgIChsZXQgKCh0 aGluZyAob3IgdHJlZXNpdC1kZWZ1bi10eXBlLXJlZ2V4cCAnZGVmdW4pKSkKKyAgICAob3IgKHRy ZWVzaXQtdGhpbmctYXQgc3RhcnQgdGhpbmcpCisgICAgICAgICh0cmVlc2l0LXRoaW5nLW5leHQg c3RhcnQgdGhpbmcpKSkpCisKKyhkZWZ1biBnby10cy1tb2RlLS1nZXQtZnVuY3Rpb24tcmVnZXhw IChuYW1lKQorICAoaWYgbmFtZQorICAgICAgKGZvcm1hdCAiXiVzJCIgbmFtZSkKKyAgICAoZXJy b3IgIk5vIHRlc3QgZnVuY3Rpb24gZm91bmQiKSkpCisKKyhkZWZ1biBnby10cy1tb2RlLS1nZXQt ZnVuY3Rpb25zLWluLXJhbmdlIChzdGFydCBlbmQpCisgICJSZXR1cm4gYSBsaXN0IHdpdGggdGhl IG5hbWVzIG9mIGFsbCBkZWZ1bnMgaW4gdGhlIHJhbmdlIFNUQVJUIHRvIEVORC4iCisgIChsZXQq ICgobm9kZSAoZ28tdHMtbW9kZS0tZmluZC1kZWZ1bi1hdCBzdGFydCkpCisgICAgICAgICAobmFt ZSAodHJlZXNpdC1kZWZ1bi1uYW1lIG5vZGUpKQorICAgICAgICAgKG5vZGUtc3RhcnQgKHRyZWVz aXQtbm9kZS1zdGFydCBub2RlKSkKKyAgICAgICAgIChub2RlLWVuZCAodHJlZXNpdC1ub2RlLWVu ZCBub2RlKSkpCisgICAgKGNvbmQgKChvciAobm90IG5vZGUpCisgICAgICAgICAgICAgICAoPiBz dGFydCBub2RlLWVuZCkKKyAgICAgICAgICAgICAgICg8IGVuZCBub2RlLXN0YXJ0KSkKKyAgICAg ICAgICAgbmlsKQorICAgICAgICAgICgob3IgKG5vdCAoZXF1YWwgKHRyZWVzaXQtbm9kZS10eXBl IG5vZGUpICJmdW5jdGlvbl9kZWNsYXJhdGlvbiIpKQorICAgICAgICAgICAgICAgKG5vdCAoc3Ry aW5nLXByZWZpeC1wICJUZXN0IiBuYW1lKSkpCisgICAgICAgICAgIChnby10cy1tb2RlLS1nZXQt ZnVuY3Rpb25zLWluLXJhbmdlICh0cmVlc2l0LW5vZGUtZW5kIG5vZGUpIGVuZCkpCisgICAgICAg ICAgKHQKKyAgICAgICAgICAgKGNvbnMgKGdvLXRzLW1vZGUtLWdldC1mdW5jdGlvbi1yZWdleHAg bmFtZSkKKyAgICAgICAgICAgICAgICAgKGdvLXRzLW1vZGUtLWdldC1mdW5jdGlvbnMtaW4tcmFu Z2UgKHRyZWVzaXQtbm9kZS1lbmQgbm9kZSkgZW5kKSkpKSkpCisKKyhkZWZ1biBnby10cy1tb2Rl LS1nZXQtdGVzdC1yZWdleHAtYXQtcG9pbnQgKCkKKyAgIlJldHVybiBhIHJlZ3VsYXIgZXhwcmVz c2lvbiBmb3IgdGhlIHRlc3RzIGF0IHBvaW50LgorSWYgcmVnaW9uIGlzIGFjdGl2ZSwgdGhlIHJl Z2V4cCB3aWxsIGluY2x1ZGUgYWxsIHRoZSBmdW5jdGlvbnMgdW5kZXIgdGhlCityZWdpb24uIgor ICAoaWYtbGV0ICgocmFuZ2UgKGlmIChyZWdpb24tYWN0aXZlLXApCisgICAgICAgICAgICAgICAg ICAgICAgKGxpc3QgKHJlZ2lvbi1iZWdpbm5pbmcpIChyZWdpb24tZW5kKSkKKyAgICAgICAgICAg ICAgICAgICAgKGxpc3QgKHBvaW50KSAocG9pbnQpKSkpCisgICAgICAgICAgIChmdW5jcyAoYXBw bHkgIydnby10cy1tb2RlLS1nZXQtZnVuY3Rpb25zLWluLXJhbmdlIHJhbmdlKSkpCisgICAgICAo c3RyaW5nLWpvaW4gZnVuY3MgInwiKQorICAgIChlcnJvciAiTm8gdGVzdCBmdW5jdGlvbiBmb3Vu ZCIpKSkKKworKGRlZnVuIGdvLXRzLW1vZGUtdGVzdC1mdW5jdGlvbi1hdC1wb2ludCAoKQorICAi UnVuIHRoZSB1bml0IHRlc3QgYXQgcG9pbnQuCitJZiB0aGUgcG9pbnQgaXMgYW55d2hlcmUgaW4g dGhlIHRlc3QgZnVuY3Rpb24sIHRoYXQgZnVuY3Rpb24gd2lsbCBiZQorcnVuLiAgSWYgdGhlIHJl Z2lvbiBpcyBzZWxlY3RlZCwgYWxsIHRoZSBmdW5jdGlvbnMgdW5kZXIgdGhlIHJlZ2lvbiB3aWxs CitiZSBydW4uIgorICAoaW50ZXJhY3RpdmUpCisgIChnby10cy1tb2RlLS1jb21waWxlLXRlc3Qg KGdvLXRzLW1vZGUtLWdldC10ZXN0LXJlZ2V4cC1hdC1wb2ludCkpKQorCisoZGVmdW4gZ28tdHMt bW9kZS10ZXN0LXRoaXMtZmlsZSAoKQorICAiUnVuIGFsbCB0aGUgdW5pdCB0ZXN0cyBpbiB0aGUg Y3VycmVudCBmaWxlLiIKKyAgKGludGVyYWN0aXZlKQorICAoaWYtbGV0ICgoZGVmdW5zIChnby10 cy1tb2RlLS1nZXQtZnVuY3Rpb25zLWluLXJhbmdlIChwb2ludC1taW4pIChwb2ludC1tYXgpKSkp CisgICAgICAoZ28tdHMtbW9kZS0tY29tcGlsZS10ZXN0IChzdHJpbmctam9pbiBkZWZ1bnMgInwi KSkKKyAgICAoZXJyb3IgIk5vIHRlc3QgZnVuY3Rpb25zIGZvdW5kIGluIHRoZSBjdXJyZW50IGZp bGUiKSkpCisKKyhkZWZ1biBnby10cy1tb2RlLXRlc3QtdGhpcy1wYWNrYWdlICgpCisgICJSdW4g YWxsIHRoZSB1bml0IHRlc3RzIHVuZGVyIHRoZSBjdXJyZW50IHBhY2thZ2UuIgorICAoaW50ZXJh Y3RpdmUpCisgIChjb21waWxlIChmb3JtYXQgImdvIHRlc3QgLXYgJXMgLXJ1biAlcyIKKyAgICAg ICAgICAgICAgICAgICAoZ28tdHMtbW9kZS0tZ2V0LWJ1aWxkLXRhZ3MtZmxhZykKKyAgICAgICAg ICAgICAgICAgICBkZWZhdWx0LWRpcmVjdG9yeSkpKQorCiA7OyBnby5tb2Qgc3VwcG9ydC4KIAog KGRlZnZhciBnby1tb2QtdHMtbW9kZS0tc3ludGF4LXRhYmxlCi0tIAoyLjQ1LjIKCg== --0000000000007e45af061c9967a1--