Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q2huJ-0007PR-JI for pgsql-hackers@arkaria.postgresql.org; Sat, 27 May 2023 00:35:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1q2huH-00073G-H3 for pgsql-hackers@arkaria.postgresql.org; Sat, 27 May 2023 00:35:41 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q2huH-000737-3u for pgsql-hackers@lists.postgresql.org; Sat, 27 May 2023 00:35:41 +0000 Received: from mail-oo1-xc2a.google.com ([2607:f8b0:4864:20::c2a]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1q2huD-002NkJ-Ey for pgsql-hackers@lists.postgresql.org; Sat, 27 May 2023 00:35:40 +0000 Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-55554ab909cso696051eaf.2 for ; Fri, 26 May 2023 17:35:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685147736; x=1687739736; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=7sezlqZjYST24Zm05YJrkce7wVyABGnaoWliNz4Jh/k=; b=rxpkoo+wNi6dqNAtTawCwuvTJp7uJklB0E4g94W32kNezoz+PZNRMLzU0V9S4lDU5Y oBZxWpHX7PYC3drDiWG5NtfPwBPHcgbwH5u7hHB8e7ccSEJl/3fe3BLzdcCxmg2MPa4V 9KC1t/ajXUdT37fEOgc0sC5e810/z6ogFpgjo5LLd1pZmetSDEIChLHtnMfZaFwAz6KL tetyGPVOMsCx9JUSrNpCC1wORGqv+y5M+F5jSuh9jGxgXNv7siii1s24x8+PqWgsmQxT 0MDiiuDfB1edKyOQMrx3gDFmfwLIyXGd0KlCjEjQfJZ1HVmlZffTASYO+Jjtw69gcAhH LdZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685147736; x=1687739736; 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=7sezlqZjYST24Zm05YJrkce7wVyABGnaoWliNz4Jh/k=; b=Czkv4fhuIC0ga6VxcZxILibGmaZaPtq3T75vkDINpDvWOPmHzkD2mEOi6f/sALgGbv kDqHO4o3Qv1Eo4E1BFjc9jjDX3SCl1lMatmpGydV2u43eQ+0iw00GHi51XpA1VjMhU4q 5zpZM7bgL6GFUZRgjbGzMmBf5VmaIbgtwq3o+Pk5AN+IOQx1HgFpybEkBJckboOdOI4R OSWkxxUJe7rn4LX4vKEb3KcK8nfxyjCfjzAnkBnNpD+R4iw0wFmm5oPEOTwZJjRgvq7T 7nw56zPPAVArOpVSY9NbiRX+0MVnamkRTFEjao4BkXgq5jMLIsEhbyWkZAi5O4vViX4+ QrVg== X-Gm-Message-State: AC+VfDz0qUjTKUkfQii667FMjewpQjQLHqEHuqu12x1qERi4SAhZ435a 9ocdqo+IHIG8i7DIhwfQYyQKnAPSbdsU92B2aIU0kLoAJXg= X-Google-Smtp-Source: ACHHUZ70uMRq7delEA67rX8WZFz+mx+nbcqKP9H7VyY/yZSddqr/oZB4pkY/7KgNXP7hS16vDX0J83nkNdtRBmokbmQ= X-Received: by 2002:a4a:57c1:0:b0:54f:5e31:31c5 with SMTP id u184-20020a4a57c1000000b0054f5e3131c5mr382518ooa.2.1685147735705; Fri, 26 May 2023 17:35:35 -0700 (PDT) MIME-Version: 1.0 References: <87cz2otiw3.fsf@wibble.ilmari.org> In-Reply-To: From: vignesh C Date: Sat, 27 May 2023 06:05:24 +0530 Message-ID: Subject: Re: Implement generalized sub routine find_in_log for tap test To: Michael Paquier Cc: =?UTF-8?Q?Dagfinn_Ilmari_Manns=C3=A5ker?= , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000002e62e605fca20830" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000002e62e605fca20830 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 26 May 2023 at 04:09, Michael Paquier wrote: > > On Thu, May 25, 2023 at 06:34:20PM +0100, Dagfinn Ilmari Manns=C3=A5ker w= rote: > > However, none of the other functions in ::Utils know anything about nod= e > > objects, which makes me think it should be a method on the node itself > > (i.e. in PostgreSQL::Test::Cluster) instead. Also, I think log_contain= s > > would be a better name, since it just returns a boolean. The name > > find_in_log makes me think it would return the log lines matching the > > pattern, or the position of the match in the file. > > > > In that case, the slurp_file() call would have to be fully qualified, > > since ::Cluster uses an empty import list to avoid polluting the method > > namespace with imported functions. > > Hmm. connect_ok() and connect_fails() in Cluster.pm have a similar > log comparison logic, feeding from the offset of a log file. Couldn't > you use the same code across the board for everything? Note that this > stuff is parameterized so as it is possible to check if patterns match > or do not match, for multiple patterns. It seems to me that we could > use the new log finding routine there as well, so how about extending > it a bit more? You would need, at least: > - One parameter for log entries matching. > - One parameter for log entries not matching. I felt adding these to log_contains was making the function slightly complex with multiple checks. I was not able to make it simple with the approach I tried. How about having a common function check_connect_log_contents which has the common log contents check for connect_ok and connect_fails function like the v2-0002 patch attached. Regards, Vignesh --0000000000002e62e605fca20830 Content-Type: text/x-patch; charset="US-ASCII"; name="v2-0001-Remove-duplicate-find_in_log-sub-routines-from-ta.patch" Content-Disposition: attachment; filename="v2-0001-Remove-duplicate-find_in_log-sub-routines-from-ta.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_li59e8zx0 RnJvbSAxZTgzNWI2ZDAzMmVhMzgwYmMyMTNmZjEzMGU4N2ZiYjI1MGJlNzdmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMjYgTWF5IDIwMjMgMjA6MDc6MzAgKzA1MzAKU3ViamVjdDogW1BBVENIIHYyIDEvMl0g UmVtb3ZlIGR1cGxpY2F0ZSBmaW5kX2luX2xvZyBzdWIgcm91dGluZXMgZnJvbSB0YXAKIHRlc3Rz LgoKUmVtb3ZlIGR1cGxpY2F0ZSBmaW5kX2luX2xvZyBzdWIgcm91dGluZXMgZnJvbSB0YXAgdGVz dHMuCi0tLQogc3JjL3Rlc3QvYXV0aGVudGljYXRpb24vdC8wMDNfcGVlci5wbCAgICAgICAgIHwg MTcgKystLS0tLS0tLQogc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbSAg ICAgIHwgMTYgKysrKysrKysrCiBzcmMvdGVzdC9yZWNvdmVyeS90LzAxOV9yZXBsc2xvdF9saW1p dC5wbCAgICAgfCAzMyArKysrKy0tLS0tLS0tLS0tLS0tCiBzcmMvdGVzdC9yZWNvdmVyeS90LzAz M19yZXBsYXlfdHNwX2Ryb3BzLnBsICAgfCAxNSArKy0tLS0tLS0KIC4uLi90LzAzNV9zdGFuZGJ5 X2xvZ2ljYWxfZGVjb2RpbmcucGwgICAgICAgICB8IDI2ICsrKy0tLS0tLS0tLS0tLQogNSBmaWxl cyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCA3NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9hdXRoZW50aWNhdGlvbi90LzAwM19wZWVyLnBsIGIvc3JjL3Rlc3QvYXV0aGVu dGljYXRpb24vdC8wMDNfcGVlci5wbAppbmRleCAzMjcyZTUyY2FlLi4yYTAzNWMyZDBkIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9hdXRoZW50aWNhdGlvbi90LzAwM19wZWVyLnBsCisrKyBiL3NyYy90 ZXN0L2F1dGhlbnRpY2F0aW9uL3QvMDAzX3BlZXIucGwKQEAgLTY5LDE3ICs2OSw2IEBAIHN1YiB0 ZXN0X3JvbGUKIAl9CiB9CiAKLSMgRmluZCAkcGF0dGVybiBpbiBsb2cgZmlsZSBvZiAkbm9kZS4K LXN1YiBmaW5kX2luX2xvZwotewotCW15ICgkbm9kZSwgJG9mZnNldCwgJHBhdHRlcm4pID0gQF87 Ci0KLQlteSAkbG9nID0gUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnNsdXJwX2ZpbGUoJG5vZGUt PmxvZ2ZpbGUsICRvZmZzZXQpOwotCXJldHVybiAwIGlmIChsZW5ndGgoJGxvZykgPD0gMCk7Ci0K LQlyZXR1cm4gJGxvZyA9fiBtLyRwYXR0ZXJuLzsKLX0KLQogbXkgJG5vZGUgPSBQb3N0Z3JlU1FM OjpUZXN0OjpDbHVzdGVyLT5uZXcoJ25vZGUnKTsKICRub2RlLT5pbml0OwogJG5vZGUtPmFwcGVu ZF9jb25mKCdwb3N0Z3Jlc3FsLmNvbmYnLCAibG9nX2Nvbm5lY3Rpb25zID0gb25cbiIpOwpAQCAt OTEsOSArODAsOSBAQCByZXNldF9wZ19oYmEoJG5vZGUsICdwZWVyJyk7CiAjIENoZWNrIGlmIHBl ZXIgYXV0aGVudGljYXRpb24gaXMgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uCiBteSAkbG9n X29mZnNldCA9IC1zICRub2RlLT5sb2dmaWxlOwogJG5vZGUtPnBzcWwoJ3Bvc3RncmVzJyk7Ci1p ZiAoZmluZF9pbl9sb2coCi0JCSRub2RlLCAkbG9nX29mZnNldCwKLQkJcXIvcGVlciBhdXRoZW50 aWNhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0vKSkKK2lmICgkbm9kZS0+ bG9nX2NvbnRhaW5zKAorCQlxci9wZWVyIGF1dGhlbnRpY2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQg b24gdGhpcyBwbGF0Zm9ybS8pLAorCQkkbG9nX29mZnNldCwpCiB7CiAJcGxhbiBza2lwX2FsbCA9 PiAncGVlciBhdXRoZW50aWNhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0n OwogfQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5w bSBiL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0KaW5kZXggYmFlYTBm Y2QxYy4uZjEwZTQ0YmE1MSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcGVybC9Qb3N0Z3JlU1FML1Rl c3QvQ2x1c3Rlci5wbQorKysgYi9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVy LnBtCkBAIC0yNTM2LDYgKzI1MzYsMjIgQEAgc3ViIGxvZ19jb250ZW50CiB9CiAKIAorPXBvZAor Cis9aXRlbSBsb2dfY29udGFpbnMocGF0dGVybiwgb2Zmc2V0KQorCitGaW5kIHBhdHRlcm4gaW4g bG9nZmlsZSBvZiBub2RlIGFmdGVyIG9mZnNldCBieXRlLgorCis9Y3V0CisKK3N1YiBsb2dfY29u dGFpbnMKK3sKKwlteSAoJHNlbGYsICRwYXR0ZXJuLCAkb2Zmc2V0KSA9IEBfOworCisJJG9mZnNl dCA9IDAgdW5sZXNzIGRlZmluZWQgJG9mZnNldDsKKwlyZXR1cm4gUG9zdGdyZVNRTDo6VGVzdDo6 VXRpbHM6OnNsdXJwX2ZpbGUoJHNlbGYtPmxvZ2ZpbGUsICRvZmZzZXQpID1+IG0vJHBhdHRlcm4v OworfQorCiA9cG9kCiAKID1pdGVtICRub2RlLT5ydW5fbG9nKC4uLikKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlY292ZXJ5L3QvMDE5X3JlcGxzbG90X2xpbWl0LnBsIGIvc3JjL3Rlc3QvcmVjb3Zl cnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwKaW5kZXggYTFhYmExNmUxNC4uOTVhY2Y5ZTM1NyAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwKKysr IGIvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMTlfcmVwbHNsb3RfbGltaXQucGwKQEAgLTE2MSw4ICsx NjEsNyBAQCAkbm9kZV9wcmltYXJ5LT53YWl0X2Zvcl9jYXRjaHVwKCRub2RlX3N0YW5kYnkpOwog CiAkbm9kZV9zdGFuZGJ5LT5zdG9wOwogCi1vayggIWZpbmRfaW5fbG9nKAotCQkkbm9kZV9zdGFu ZGJ5LAorb2soICEkbm9kZV9zdGFuZGJ5LT5sb2dfY29udGFpbnMoCiAJCSJyZXF1ZXN0ZWQgV0FM IHNlZ21lbnQgWzAtOUEtRl0rIGhhcyBhbHJlYWR5IGJlZW4gcmVtb3ZlZCIpLAogCSdjaGVjayB0 aGF0IHJlcXVpcmVkIFdBTCBzZWdtZW50cyBhcmUgc3RpbGwgYXZhaWxhYmxlJyk7CiAKQEAgLTE4 NCw4ICsxODMsOCBAQCAkbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNIRUNL UE9JTlQ7Iik7CiBteSAkaW52YWxpZGF0ZWQgPSAwOwogZm9yIChteSAkaSA9IDA7ICRpIDwgMTAg KiAkUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnRpbWVvdXRfZGVmYXVsdDsgJGkrKykKIHsKLQlp ZiAoZmluZF9pbl9sb2coCi0JCQkkbm9kZV9wcmltYXJ5LCAnaW52YWxpZGF0aW5nIG9ic29sZXRl IHJlcGxpY2F0aW9uIHNsb3QgInJlcDEiJywKKwlpZiAoJG5vZGVfcHJpbWFyeS0+bG9nX2NvbnRh aW5zKAorCQkJJ2ludmFsaWRhdGluZyBvYnNvbGV0ZSByZXBsaWNhdGlvbiBzbG90ICJyZXAxIics CiAJCQkkbG9nc3RhcnQpKQogCXsKIAkJJGludmFsaWRhdGVkID0gMTsKQEAgLTIwNyw3ICsyMDYs NyBAQCBpcygkcmVzdWx0LCAicmVwMXxmfHR8bG9zdHwiLAogbXkgJGNoZWNrcG9pbnRfZW5kZWQg PSAwOwogZm9yIChteSAkaSA9IDA7ICRpIDwgMTAgKiAkUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6 OnRpbWVvdXRfZGVmYXVsdDsgJGkrKykKIHsKLQlpZiAoZmluZF9pbl9sb2coJG5vZGVfcHJpbWFy eSwgImNoZWNrcG9pbnQgY29tcGxldGU6ICIsICRsb2dzdGFydCkpCisJaWYgKCRub2RlX3ByaW1h cnktPmxvZ19jb250YWlucygiY2hlY2twb2ludCBjb21wbGV0ZTogIiwgJGxvZ3N0YXJ0KSkKIAl7 CiAJCSRjaGVja3BvaW50X2VuZGVkID0gMTsKIAkJbGFzdDsKQEAgLTIzNyw4ICsyMzYsNyBAQCAk bm9kZV9zdGFuZGJ5LT5zdGFydDsKIG15ICRmYWlsZWQgPSAwOwogZm9yIChteSAkaSA9IDA7ICRp IDwgMTAgKiAkUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnRpbWVvdXRfZGVmYXVsdDsgJGkrKykK IHsKLQlpZiAoZmluZF9pbl9sb2coCi0JCQkkbm9kZV9zdGFuZGJ5LAorCWlmICgkbm9kZV9zdGFu ZGJ5LT5sb2dfY29udGFpbnMoCiAJCQkicmVxdWVzdGVkIFdBTCBzZWdtZW50IFswLTlBLUZdKyBo YXMgYWxyZWFkeSBiZWVuIHJlbW92ZWQiLAogCQkJJGxvZ3N0YXJ0KSkKIAl7CkBAIC0zODEsOCAr Mzc5LDcgQEAgbXkgJG1zZ19sb2dnZWQgPSAwOwogbXkgJG1heF9hdHRlbXB0cyA9ICRQb3N0Z3Jl U1FMOjpUZXN0OjpVdGlsczo6dGltZW91dF9kZWZhdWx0Owogd2hpbGUgKCRtYXhfYXR0ZW1wdHMt LSA+PSAwKQogewotCWlmIChmaW5kX2luX2xvZygKLQkJCSRub2RlX3ByaW1hcnkzLAorCWlmICgk bm9kZV9wcmltYXJ5My0+bG9nX2NvbnRhaW5zKAogCQkJInRlcm1pbmF0aW5nIHByb2Nlc3MgJHNl bmRlcnBpZCB0byByZWxlYXNlIHJlcGxpY2F0aW9uIHNsb3QgXCJyZXAzXCIiLAogCQkJJGxvZ3N0 YXJ0KSkKIAl7CkBAIC00MDYsOCArNDAzLDggQEAgJG1zZ19sb2dnZWQgPSAwOwogJG1heF9hdHRl bXB0cyA9ICRQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6dGltZW91dF9kZWZhdWx0Owogd2hpbGUg KCRtYXhfYXR0ZW1wdHMtLSA+PSAwKQogewotCWlmIChmaW5kX2luX2xvZygKLQkJCSRub2RlX3By aW1hcnkzLCAnaW52YWxpZGF0aW5nIG9ic29sZXRlIHJlcGxpY2F0aW9uIHNsb3QgInJlcDMiJywK KwlpZiAoJG5vZGVfcHJpbWFyeTMtPmxvZ19jb250YWlucygKKwkJCSdpbnZhbGlkYXRpbmcgb2Jz b2xldGUgcmVwbGljYXRpb24gc2xvdCAicmVwMyInLAogCQkJJGxvZ3N0YXJ0KSkKIAl7CiAJCSRt c2dfbG9nZ2VkID0gMTsKQEAgLTQ0NiwxOCArNDQzLDQgQEAgc3ViIGdldF9sb2dfc2l6ZQogCXJl dHVybiAoc3RhdCAkbm9kZS0+bG9nZmlsZSlbN107CiB9CiAKLSMgZmluZCAkcGF0IGluIGxvZ2Zp bGUgb2YgJG5vZGUgYWZ0ZXIgJG9mZi10aCBieXRlCi1zdWIgZmluZF9pbl9sb2cKLXsKLQlteSAo JG5vZGUsICRwYXQsICRvZmYpID0gQF87Ci0KLQkkb2ZmID0gMCB1bmxlc3MgZGVmaW5lZCAkb2Zm OwotCW15ICRsb2cgPSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6c2x1cnBfZmlsZSgkbm9kZS0+ bG9nZmlsZSk7Ci0JcmV0dXJuIDAgaWYgKGxlbmd0aCgkbG9nKSA8PSAkb2ZmKTsKLQotCSRsb2cg PSBzdWJzdHIoJGxvZywgJG9mZik7Ci0KLQlyZXR1cm4gJGxvZyA9fiBtLyRwYXQvOwotfQotCiBk b25lX3Rlc3RpbmcoKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDMzX3JlcGxh eV90c3BfZHJvcHMucGwgYi9zcmMvdGVzdC9yZWNvdmVyeS90LzAzM19yZXBsYXlfdHNwX2Ryb3Bz LnBsCmluZGV4IDBhMzVhN2JkYTYuLjMwN2MzMGJjNmIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3Jl Y292ZXJ5L3QvMDMzX3JlcGxheV90c3BfZHJvcHMucGwKKysrIGIvc3JjL3Rlc3QvcmVjb3Zlcnkv dC8wMzNfcmVwbGF5X3RzcF9kcm9wcy5wbApAQCAtMTM1LDIyICsxMzUsMTEgQEAgd2hpbGUgKCRt YXhfYXR0ZW1wdHMtLSA+PSAwKQogewogCWxhc3QKIAkgIGlmICgKLQkJZmluZF9pbl9sb2coCi0J CQkkbm9kZV9zdGFuZGJ5LAorCQkkbm9kZV9zdGFuZGJ5LT5sb2dfY29udGFpbnMoCiAJCQlxciFX QVJOSU5HOiAoIFtBLVowLTldKzopPyBjcmVhdGluZyBtaXNzaW5nIGRpcmVjdG9yeTogcGdfdGJs c3BjLyEsCiAJCQkkbG9nc3RhcnQpKTsKIAl1c2xlZXAoMTAwXzAwMCk7CiB9CiBvaygkbWF4X2F0 dGVtcHRzID4gMCwgImludmFsaWQgZGlyZWN0b3J5IGNyZWF0aW9uIGlzIGRldGVjdGVkIik7CiAK LWRvbmVfdGVzdGluZygpOwotCi0jIGZpbmQgJHBhdCBpbiBsb2dmaWxlIG9mICRub2RlIGFmdGVy ICRvZmYtdGggYnl0ZQotc3ViIGZpbmRfaW5fbG9nCi17Ci0JbXkgKCRub2RlLCAkcGF0LCAkb2Zm KSA9IEBfOwotCi0JbXkgJGxvZyA9IFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjpzbHVycF9maWxl KCRub2RlLT5sb2dmaWxlLCAkb2ZmKTsKLQotCXJldHVybiAkbG9nID1+IG0vJHBhdC87Ci19Citk b25lX3Rlc3RpbmcoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWNvdmVyeS90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2RpbmcucGwgYi9zcmMv dGVzdC9yZWNvdmVyeS90LzAzNV9zdGFuZGJ5X2xvZ2ljYWxfZGVjb2RpbmcucGwKaW5kZXggNjRi ZWVjNGJkMy4uNDgwZTZkNmNhYSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMzVf c3RhbmRieV9sb2dpY2FsX2RlY29kaW5nLnBsCisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDM1 X3N0YW5kYnlfbG9naWNhbF9kZWNvZGluZy5wbApAQCAtMjgsMjAgKzI4LDYgQEAgbXkgJHJlczsK IG15ICRwcmltYXJ5X3Nsb3RuYW1lID0gJ3ByaW1hcnlfcGh5c2ljYWwnOwogbXkgJHN0YW5kYnlf cGh5c2ljYWxfc2xvdG5hbWUgPSAnc3RhbmRieV9waHlzaWNhbCc7CiAKLSMgZmluZCAkcGF0IGlu IGxvZ2ZpbGUgb2YgJG5vZGUgYWZ0ZXIgJG9mZi10aCBieXRlCi1zdWIgZmluZF9pbl9sb2cKLXsK LQlteSAoJG5vZGUsICRwYXQsICRvZmYpID0gQF87Ci0KLQkkb2ZmID0gMCB1bmxlc3MgZGVmaW5l ZCAkb2ZmOwotCW15ICRsb2cgPSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6c2x1cnBfZmlsZSgk bm9kZS0+bG9nZmlsZSk7Ci0JcmV0dXJuIDAgaWYgKGxlbmd0aCgkbG9nKSA8PSAkb2ZmKTsKLQot CSRsb2cgPSBzdWJzdHIoJGxvZywgJG9mZik7Ci0KLQlyZXR1cm4gJGxvZyA9fiBtLyRwYXQvOwot fQotCiAjIEZldGNoIHhtaW4gY29sdW1ucyBmcm9tIHNsb3QncyBwZ19yZXBsaWNhdGlvbl9zbG90 cyByb3csIGFmdGVyIHdhaXRpbmcgZm9yCiAjIGdpdmVuIGJvb2xlYW4gY29uZGl0aW9uIHRvIGJl IHRydWUgdG8gZW5zdXJlIHdlJ3ZlIHJlYWNoZWQgYSBxdWllc2NlbnQgc3RhdGUuCiBzdWIgd2Fp dF9mb3JfeG1pbnMKQEAgLTIzNSwxNCArMjIxLDEyIEBAIHN1YiBjaGVja19mb3JfaW52YWxpZGF0 aW9uCiAJbXkgJGluYWN0aXZlX3Nsb3QgPSAkc2xvdF9wcmVmaXggLiAnaW5hY3RpdmVzbG90JzsK IAogCSMgbWVzc2FnZSBzaG91bGQgYmUgaXNzdWVkCi0Jb2soIGZpbmRfaW5fbG9nKAotCQkJJG5v ZGVfc3RhbmRieSwKKwlvayggJG5vZGVfc3RhbmRieS0+bG9nX2NvbnRhaW5zKAogCQkJImludmFs aWRhdGluZyBvYnNvbGV0ZSByZXBsaWNhdGlvbiBzbG90IFwiJGluYWN0aXZlX3Nsb3RcIiIsCiAJ CQkkbG9nX3N0YXJ0KSwKIAkJImluYWN0aXZlc2xvdCBzbG90IGludmFsaWRhdGlvbiBpcyBsb2dn ZWQgJHRlc3RfbmFtZSIpOwogCi0Jb2soIGZpbmRfaW5fbG9nKAotCQkJJG5vZGVfc3RhbmRieSwK KwlvayggJG5vZGVfc3RhbmRieS0+bG9nX2NvbnRhaW5zKAogCQkJImludmFsaWRhdGluZyBvYnNv bGV0ZSByZXBsaWNhdGlvbiBzbG90IFwiJGFjdGl2ZV9zbG90XCIiLAogCQkJJGxvZ19zdGFydCks CiAJCSJhY3RpdmVzbG90IHNsb3QgaW52YWxpZGF0aW9uIGlzIGxvZ2dlZCAkdGVzdF9uYW1lIik7 CkBAIC02NTcsMTQgKzY0MSwxMiBAQCAkbm9kZV9wcmltYXJ5LT5zYWZlX3BzcWwoCiAkbm9kZV9w cmltYXJ5LT53YWl0X2Zvcl9yZXBsYXlfY2F0Y2h1cCgkbm9kZV9zdGFuZGJ5KTsKIAogIyBtZXNz YWdlIHNob3VsZCBub3QgYmUgaXNzdWVkCi1vayggIWZpbmRfaW5fbG9nKAotCQkkbm9kZV9zdGFu ZGJ5LAorb2soICEkbm9kZV9zdGFuZGJ5LT5sb2dfY29udGFpbnMoCiAJCSJpbnZhbGlkYXRpbmcg b2Jzb2xldGUgc2xvdCBcIm5vX2NvbmZsaWN0X2luYWN0aXZlc2xvdFwiIiwgJGxvZ3N0YXJ0KSwK IAknaW5hY3RpdmVzbG90IHNsb3QgaW52YWxpZGF0aW9uIGlzIG5vdCBsb2dnZWQgd2l0aCB2YWN1 dW0gb24gY29uZmxpY3RfdGVzdCcKICk7CiAKLW9rKCAhZmluZF9pbl9sb2coCi0JCSRub2RlX3N0 YW5kYnksCitvayggISRub2RlX3N0YW5kYnktPmxvZ19jb250YWlucygKIAkJImludmFsaWRhdGlu ZyBvYnNvbGV0ZSBzbG90IFwibm9fY29uZmxpY3RfYWN0aXZlc2xvdFwiIiwgJGxvZ3N0YXJ0KSwK IAknYWN0aXZlc2xvdCBzbG90IGludmFsaWRhdGlvbiBpcyBub3QgbG9nZ2VkIHdpdGggdmFjdXVt IG9uIGNvbmZsaWN0X3Rlc3QnCiApOwotLSAKMi4zNC4xCgo= --0000000000002e62e605fca20830 Content-Type: text/x-patch; charset="US-ASCII"; name="v2-0002-Move-common-connection-log-content-verification-c.patch" Content-Disposition: attachment; filename="v2-0002-Move-common-connection-log-content-verification-c.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_li59e9021 RnJvbSBhYTU4N2U3Y2VkZDkyZDYwZTkzMDc1ZDY0M2NiOGFkOTNjYTA3YzViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IFNhdCwgMjcgTWF5IDIwMjMgMDU6MzY6MzQgKzA1MzAKU3ViamVjdDogW1BBVENIIHYyIDIvMl0g TW92ZSBjb21tb24gY29ubmVjdGlvbiBsb2cgY29udGVudCB2ZXJpZmljYXRpb24gY29kZQogdG8g YSBjb21tb24gZnVuY3Rpb24uCgpNb3ZlIGNvbW1vbiBjb25uZWN0aW9uIGxvZyBjb250ZW50IHZl cmlmaWNhdGlvbiBjb2RlIHRvIGEgY29tbW9uCmZ1bmN0aW9uLgotLS0KIHNyYy90ZXN0L3Blcmwv UG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0gfCAxMjIgKysrKysrKysrKystLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCA2MiBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVyLnBtIGIvc3JjL3Rl c3QvcGVybC9Qb3N0Z3JlU1FML1Rlc3QvQ2x1c3Rlci5wbQppbmRleCBmMTBlNDRiYTUxLi43NDU4 NDA2ZWU2IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9wZXJsL1Bvc3RncmVTUUwvVGVzdC9DbHVzdGVy LnBtCisrKyBiL3NyYy90ZXN0L3BlcmwvUG9zdGdyZVNRTC9UZXN0L0NsdXN0ZXIucG0KQEAgLTIx NjgsMjEgKzIxNjgsMTkgQEAgc3ViIHBnYmVuY2gKIAogPXBvZAogCi09aXRlbSAkbm9kZS0+Y29u bmVjdF9vaygkY29ubnN0ciwgJHRlc3RfbmFtZSwgJXBhcmFtcykKKz1pdGVtICRub2RlLT5jaGVj a19jb25uZWN0X2xvZ19jb250ZW50cygkb2Zmc2V0LCAkdGVzdF9uYW1lLCAlcGFyYW1ldGVycykK IAotQXR0ZW1wdCBhIGNvbm5lY3Rpb24gd2l0aCBhIGN1c3RvbSBjb25uZWN0aW9uIHN0cmluZy4g IFRoaXMgaXMgZXhwZWN0ZWQKLXRvIHN1Y2NlZWQuCitDaGVjayBjb25uZWN0aW9uIGxvZyBjb250 ZW50cy4KIAogPW92ZXIKIAotPWl0ZW0gc3FsID0+IEI8dmFsdWU+Cis9aXRlbSAkdGVzdF9uYW1l CiAKLUlmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCwgdGhpcyBxdWVyeSBpcyB1c2VkIGZvciB0aGUg Y29ubmVjdGlvbiBhdHRlbXB0Ci1pbnN0ZWFkIG9mIHRoZSBkZWZhdWx0LgorTmFtZSBvZiB0ZXN0 IGZvciBlcnJvciBtZXNzYWdlcy4KIAotPWl0ZW0gZXhwZWN0ZWRfc3Rkb3V0ID0+IEI8dmFsdWU+ Cis9aXRlbSAkb2Zmc2V0CiAKLUlmIHRoaXMgcmVndWxhciBleHByZXNzaW9uIGlzIHNldCwgbWF0 Y2hlcyBpdCB3aXRoIHRoZSBvdXRwdXQgZ2VuZXJhdGVkLgorT2Zmc2V0IG9mIHRoZSBsb2cgZmls ZS4KIAogPWl0ZW0gbG9nX2xpa2UgPT4gWyBxci9yZXF1aXJlZCBtZXNzYWdlLyBdCiAKQEAgLTIy MDAsNiArMjE5OCw1OCBAQCBwYXNzZWQgdG8gQzxUZXN0OjpNb3JlOjp1bmxpa2UoKT4uCiAKID1j dXQKIAorc3ViIGNoZWNrX2Nvbm5lY3RfbG9nX2NvbnRlbnRzCit7CisJbXkgKCRzZWxmLCAkdGVz dF9uYW1lLCAkb2Zmc2V0LCAlcGFyYW1zKSA9IEBfOworCisJbXkgKEBsb2dfbGlrZSwgQGxvZ191 bmxpa2UpOworCWlmIChkZWZpbmVkKCRwYXJhbXN7bG9nX2xpa2V9KSkKKwl7CisJCUBsb2dfbGlr ZSA9IEB7ICRwYXJhbXN7bG9nX2xpa2V9IH07CisJfQorCWlmIChkZWZpbmVkKCRwYXJhbXN7bG9n X3VubGlrZX0pKQorCXsKKwkJQGxvZ191bmxpa2UgPSBAeyAkcGFyYW1ze2xvZ191bmxpa2V9IH07 CisJfQorCisJaWYgKEBsb2dfbGlrZSBvciBAbG9nX3VubGlrZSkKKwl7CisJCW15ICRsb2dfY29u dGVudHMgPQorCQkgIFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjpzbHVycF9maWxlKCRzZWxmLT5s b2dmaWxlLCAkb2Zmc2V0KTsKKworCQl3aGlsZSAobXkgJHJlZ2V4ID0gc2hpZnQgQGxvZ19saWtl KQorCQl7CisJCQlsaWtlKCRsb2dfY29udGVudHMsICRyZWdleCwgIiR0ZXN0X25hbWU6IGxvZyBt YXRjaGVzIik7CisJCX0KKwkJd2hpbGUgKG15ICRyZWdleCA9IHNoaWZ0IEBsb2dfdW5saWtlKQor CQl7CisJCQl1bmxpa2UoJGxvZ19jb250ZW50cywgJHJlZ2V4LCAiJHRlc3RfbmFtZTogbG9nIGRv ZXMgbm90IG1hdGNoIik7CisJCX0KKwl9Cit9CisKKz1wb2QKKworPWl0ZW0gJG5vZGUtPmNvbm5l Y3Rfb2soJGNvbm5zdHIsICR0ZXN0X25hbWUsICVwYXJhbXMpCisKK0F0dGVtcHQgYSBjb25uZWN0 aW9uIHdpdGggYSBjdXN0b20gY29ubmVjdGlvbiBzdHJpbmcuICBUaGlzIGlzIGV4cGVjdGVkCit0 byBzdWNjZWVkLgorCis9b3ZlcgorCis9aXRlbSBzcWwgPT4gQjx2YWx1ZT4KKworSWYgdGhpcyBw YXJhbWV0ZXIgaXMgc2V0LCB0aGlzIHF1ZXJ5IGlzIHVzZWQgZm9yIHRoZSBjb25uZWN0aW9uIGF0 dGVtcHQKK2luc3RlYWQgb2YgdGhlIGRlZmF1bHQuCisKKz1pdGVtIGV4cGVjdGVkX3N0ZG91dCA9 PiBCPHZhbHVlPgorCitJZiB0aGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiBpcyBzZXQsIG1hdGNoZXMg aXQgd2l0aCB0aGUgb3V0cHV0IGdlbmVyYXRlZC4KKworPWJhY2sKKworPWN1dAorCiBzdWIgY29u bmVjdF9vawogewogCWxvY2FsICRUZXN0OjpCdWlsZGVyOjpMZXZlbCA9ICRUZXN0OjpCdWlsZGVy OjpMZXZlbCArIDE7CkBAIC0yMjE1LDE2ICsyMjY1LDYgQEAgc3ViIGNvbm5lY3Rfb2sKIAkJJHNx bCA9ICJTRUxFQ1QgXCRcJGNvbm5lY3RlZCB3aXRoICRjb25uc3RyXCRcJCI7CiAJfQogCi0JbXkg KEBsb2dfbGlrZSwgQGxvZ191bmxpa2UpOwotCWlmIChkZWZpbmVkKCRwYXJhbXN7bG9nX2xpa2V9 KSkKLQl7Ci0JCUBsb2dfbGlrZSA9IEB7ICRwYXJhbXN7bG9nX2xpa2V9IH07Ci0JfQotCWlmIChk ZWZpbmVkKCRwYXJhbXN7bG9nX3VubGlrZX0pKQotCXsKLQkJQGxvZ191bmxpa2UgPSBAeyAkcGFy YW1ze2xvZ191bmxpa2V9IH07Ci0JfQotCiAJbXkgJGxvZ19sb2NhdGlvbiA9IC1zICRzZWxmLT5s b2dmaWxlOwogCiAJIyBOZXZlciBwcm9tcHQgZm9yIGEgcGFzc3dvcmQsIGFueSBjYWxsZXJzIG9m IHRoaXMgcm91dGluZSBzaG91bGQKQEAgLTIyNDUsMjAgKzIyODUsNyBAQCBzdWIgY29ubmVjdF9v awogCiAJaXMoJHN0ZGVyciwgIiIsICIkdGVzdF9uYW1lOiBubyBzdGRlcnIiKTsKIAotCWlmIChA bG9nX2xpa2Ugb3IgQGxvZ191bmxpa2UpCi0JewotCQlteSAkbG9nX2NvbnRlbnRzID0KLQkJICBQ b3N0Z3JlU1FMOjpUZXN0OjpVdGlsczo6c2x1cnBfZmlsZSgkc2VsZi0+bG9nZmlsZSwgJGxvZ19s b2NhdGlvbik7Ci0KLQkJd2hpbGUgKG15ICRyZWdleCA9IHNoaWZ0IEBsb2dfbGlrZSkKLQkJewot CQkJbGlrZSgkbG9nX2NvbnRlbnRzLCAkcmVnZXgsICIkdGVzdF9uYW1lOiBsb2cgbWF0Y2hlcyIp OwotCQl9Ci0JCXdoaWxlIChteSAkcmVnZXggPSBzaGlmdCBAbG9nX3VubGlrZSkKLQkJewotCQkJ dW5saWtlKCRsb2dfY29udGVudHMsICRyZWdleCwgIiR0ZXN0X25hbWU6IGxvZyBkb2VzIG5vdCBt YXRjaCIpOwotCQl9Ci0JfQorCSRzZWxmLT5jaGVja19jb25uZWN0X2xvZ19jb250ZW50cygkdGVz dF9uYW1lLCAkbG9nX2xvY2F0aW9uLCAlcGFyYW1zKTsKIH0KIAogPXBvZApAQCAtMjI3NCwxMiAr MjMwMSw2IEBAIHRvIGZhaWwuCiAKIElmIHRoaXMgcmVndWxhciBleHByZXNzaW9uIGlzIHNldCwg bWF0Y2hlcyBpdCB3aXRoIHRoZSBvdXRwdXQgZ2VuZXJhdGVkLgogCi09aXRlbSBsb2dfbGlrZSA9 PiBbIHFyL3JlcXVpcmVkIG1lc3NhZ2UvIF0KLQotPWl0ZW0gbG9nX3VubGlrZSA9PiBbIHFyL3By b2hpYml0ZWQgbWVzc2FnZS8gXQotCi1TZWUgQzxjb25uZWN0X29rKC4uLik+LCBhYm92ZS4KLQog PWJhY2sKIAogPWN1dApAQCAtMjI4OSwxNiArMjMxMCw2IEBAIHN1YiBjb25uZWN0X2ZhaWxzCiAJ bG9jYWwgJFRlc3Q6OkJ1aWxkZXI6OkxldmVsID0gJFRlc3Q6OkJ1aWxkZXI6OkxldmVsICsgMTsK IAlteSAoJHNlbGYsICRjb25uc3RyLCAkdGVzdF9uYW1lLCAlcGFyYW1zKSA9IEBfOwogCi0JbXkg KEBsb2dfbGlrZSwgQGxvZ191bmxpa2UpOwotCWlmIChkZWZpbmVkKCRwYXJhbXN7bG9nX2xpa2V9 KSkKLQl7Ci0JCUBsb2dfbGlrZSA9IEB7ICRwYXJhbXN7bG9nX2xpa2V9IH07Ci0JfQotCWlmIChk ZWZpbmVkKCRwYXJhbXN7bG9nX3VubGlrZX0pKQotCXsKLQkJQGxvZ191bmxpa2UgPSBAeyAkcGFy YW1ze2xvZ191bmxpa2V9IH07Ci0JfQotCiAJbXkgJGxvZ19sb2NhdGlvbiA9IC1zICRzZWxmLT5s b2dmaWxlOwogCiAJIyBOZXZlciBwcm9tcHQgZm9yIGEgcGFzc3dvcmQsIGFueSBjYWxsZXJzIG9m IHRoaXMgcm91dGluZSBzaG91bGQKQEAgLTIzMTYsMjAgKzIzMjcsNyBAQCBzdWIgY29ubmVjdF9m YWlscwogCQlsaWtlKCRzdGRlcnIsICRwYXJhbXN7ZXhwZWN0ZWRfc3RkZXJyfSwgIiR0ZXN0X25h bWU6IG1hdGNoZXMiKTsKIAl9CiAKLQlpZiAoQGxvZ19saWtlIG9yIEBsb2dfdW5saWtlKQotCXsK LQkJbXkgJGxvZ19jb250ZW50cyA9Ci0JCSAgUG9zdGdyZVNRTDo6VGVzdDo6VXRpbHM6OnNsdXJw X2ZpbGUoJHNlbGYtPmxvZ2ZpbGUsICRsb2dfbG9jYXRpb24pOwotCi0JCXdoaWxlIChteSAkcmVn ZXggPSBzaGlmdCBAbG9nX2xpa2UpCi0JCXsKLQkJCWxpa2UoJGxvZ19jb250ZW50cywgJHJlZ2V4 LCAiJHRlc3RfbmFtZTogbG9nIG1hdGNoZXMiKTsKLQkJfQotCQl3aGlsZSAobXkgJHJlZ2V4ID0g c2hpZnQgQGxvZ191bmxpa2UpCi0JCXsKLQkJCXVubGlrZSgkbG9nX2NvbnRlbnRzLCAkcmVnZXgs ICIkdGVzdF9uYW1lOiBsb2cgZG9lcyBub3QgbWF0Y2giKTsKLQkJfQotCX0KKwkkc2VsZi0+Y2hl Y2tfY29ubmVjdF9sb2dfY29udGVudHMoJHRlc3RfbmFtZSwgJGxvZ19sb2NhdGlvbiwgJXBhcmFt cyk7CiB9CiAKID1wb2QKLS0gCjIuMzQuMQoK --0000000000002e62e605fca20830--