Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rPudV-00F8B6-4p for pgsql-hackers@arkaria.postgresql.org; Wed, 17 Jan 2024 01:22:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rPudS-009giM-Al for pgsql-hackers@arkaria.postgresql.org; Wed, 17 Jan 2024 01:22:30 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rPudR-009giE-Sc for pgsql-hackers@lists.postgresql.org; Wed, 17 Jan 2024 01:22:30 +0000 Received: from mail-oa1-x33.google.com ([2001:4860:4864:20::33]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rPudO-001uEo-Sm for pgsql-hackers@postgresql.org; Wed, 17 Jan 2024 01:22:28 +0000 Received: by mail-oa1-x33.google.com with SMTP id 586e51a60fabf-21082dcce8aso693464fac.3 for ; Tue, 16 Jan 2024 17:22:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=neon.tech; s=google; t=1705454545; x=1706059345; darn=postgresql.org; h=from:to:subject:cc:message-id:date:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=6fQcjQE8/2HsAxcAaAZeNC26h0IfYdGzzf2C/3keHtA=; b=kzcrg9qtx4QpM4vfYbRT8ut5mLgN4ecFpyWOz4xjaK0Z36zq++oVbDnSvymVJwr9Nh VCxd7G97ZLOgZJ+ezVzf5ouJ3GBZ559MCJxvkwBdwNaytdHSVSuMSh+26uBpFdOMKcn7 wiestADg358RsPMcqAyo8BwPwcQsiwEmOxDN4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705454545; x=1706059345; h=from:to:subject:cc:message-id:date:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=6fQcjQE8/2HsAxcAaAZeNC26h0IfYdGzzf2C/3keHtA=; b=hQLYNwj/XMO97w5OEBuZgJ3NRgWJZxpuhDT5kFERZ7LATvk/VlGzlTbRig5Jvj1RPe 1QwfaIgcG35ZJLt1HNI4Eu+kMymD3qclT3D6aWF4sHtQ94cUgDBrh9oEDm11JULmd6lG 28KNZ3/+PqLaX+YeKhbl+mtoJfkl4eiigUQ3bZrFGJOXqWCGhjnR+Kj7t3FTsEOzYOjg Ct0atx89MUthhJ+cxSWIWO1sztOx8xl9oge7UURn2O+vtLfHvJ0z3kbhKmWRTzG5N1Pw 5m/IxuusEnmeIBBsEYcf623cGCdcD4l7qlc826IfWyk8fM8w/RdMdOmV91rKm3/59/XP v/zQ== X-Gm-Message-State: AOJu0Yyw9B1w+KsJVDVFd9Ky2Xy1r513H3ySmXR3VBra5cAHpM/RK92M JTU5GNCyghZsOTAC08xWiPWEvGU1efInsSc8X2xWIpMOYg0= X-Google-Smtp-Source: AGHT+IHv5fRLl+AtJRxM3X46ca/1Dl5Ucw1dh98UJgmoC7pL49EG2Bq+AdPjzvZgbnSRFKcRjBR4cw== X-Received: by 2002:a05:6870:148a:b0:206:9e36:cfed with SMTP id k10-20020a056870148a00b002069e36cfedmr11649865oab.62.1705454545075; Tue, 16 Jan 2024 17:22:25 -0800 (PST) Received: from localhost ([2607:fb90:e683:8cf6:3996:e070:71ee:42fb]) by smtp.gmail.com with ESMTPSA id g20-20020a9d6494000000b006dddb592d2bsm2045267otl.33.2024.01.16.17.22.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Jan 2024 17:22:24 -0800 (PST) Content-Type: multipart/mixed; boundary=edc79228ace051408b5a0f8107c4e7b5d14f023f42e9acc4469cc3658934 Mime-Version: 1.0 Date: Tue, 16 Jan 2024 19:22:23 -0600 Message-Id: Cc: "Jelte Fennema-Nio" Subject: Add pgindent test to check if codebase is correctly formatted To: "pgsql-hackers" From: "Tristan Partin" X-Mailer: aerc 0.16.0-127-gec0f4a50cf77 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --edc79228ace051408b5a0f8107c4e7b5d14f023f42e9acc4469cc3658934 Content-Type: multipart/alternative; boundary=39a97ab58b5c02d0e7fb0909acfad0e1f52ea5467ba843ae9ac511baebcb --39a97ab58b5c02d0e7fb0909acfad0e1f52ea5467ba843ae9ac511baebcb Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed Had some time to watch code run through an extensive test suite, so=20 thought I would propose this patch that is probably about 75% of the way=20 to the stated $subject. I had to add in a hack for Meson, and I couldn't=20 figure out a good hack for autotools. I think a good solution would be to distribute pgindent and=20 pg_bsd_indent. At Neon, we are trying to format our extension code using=20 pgindent. I am sure there are other extension authors out there too that=20 format using pgindent. Distributing pg_bsd_indent and pgindent in the=20 postgresql-devel package would be a great help to those of us that=20 pgindent out of tree code. It would also have the added benefit of=20 adding the tools to $PREFIX/bin, which would make the test that I added=20 not need a hack to get the pg_bsd_indent executable. --=20 Tristan Partin Neon (https://neon.tech) --39a97ab58b5c02d0e7fb0909acfad0e1f52ea5467ba843ae9ac511baebcb-- --edc79228ace051408b5a0f8107c4e7b5d14f023f42e9acc4469cc3658934 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v1-0001-Allow-tests-to-register-command-line-arguments-in.patch Content-Type: text/x-patch; charset=utf-8; name=v1-0001-Allow-tests-to-register-command-line-arguments-in.patch RnJvbSA2ZTljYTM2NmI2ZTQ5NzZhZTU5MTAxMjE1MGZlNzc3MjllMzdjNTAzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUcmlzdGFuIFBhcnRpbiA8dHJpc3RhbkBuZW9uLnRlY2g+CkRh dGU6IFR1ZSwgMTYgSmFuIDIwMjQgMTk6MDA6NDQgLTA2MDAKU3ViamVjdDogW1BBVENIIHYxIDEv Ml0gQWxsb3cgdGVzdHMgdG8gcmVnaXN0ZXIgY29tbWFuZCBsaW5lIGFyZ3VtZW50cyBpbgogTWVz b24KCi0tLQogbWVzb24uYnVpbGQgfCA0ICsrKy0KIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1 aWxkCmluZGV4IGMzMTcxNDRiNmIuLjEyYmE5MTEwOWIgMTAwNjQ0Ci0tLSBhL21lc29uLmJ1aWxk CisrKyBiL21lc29uLmJ1aWxkCkBAIC0zMjg0LDYgKzMyODQsOCBAQCBmb3JlYWNoIHRlc3RfZGly IDogdGVzdHMKICAgICAgICAgJ2Vudic6IGVudiwKICAgICAgIH0gKyB0LmdldCgndGVzdF9rd2Fy Z3MnLCB7fSkKIAorICAgICAgdGVzdF9hcmdzID0gdC5nZXQoJ2FyZ3MnLCBbXSkKKwogICAgICAg Zm9yZWFjaCBvbmV0YXAgOiB0Wyd0ZXN0cyddCiAgICAgICAgICMgTWFrZSB0YXAgdGVzdCBuYW1l cyBwcmV0dGllciwgcmVtb3ZlIHQvIGFuZCAucGwKICAgICAgICAgb25ldGFwX3AgPSBvbmV0YXAK QEAgLTMzMDIsNyArMzMwNCw3IEBAIGZvcmVhY2ggdGVzdF9kaXIgOiB0ZXN0cwogICAgICAgICAg ICAgJy0tdGVzdG5hbWUnLCBvbmV0YXBfcCwKICAgICAgICAgICAgICctLScsIHRlc3RfY29tbWFu ZCwKICAgICAgICAgICAgIHRlc3RfZGlyWydzZCddIC8gb25ldGFwLAotICAgICAgICAgIF0sCisg ICAgICAgICAgXSArIHRlc3RfYXJncywKICAgICAgICAgKQogICAgICAgZW5kZm9yZWFjaAogICAg ICAgaW5zdGFsbF9zdWl0ZXMgKz0gdGVzdF9ncm91cAotLSAKVHJpc3RhbiBQYXJ0aW4KTmVvbiAo aHR0cHM6Ly9uZW9uLnRlY2gpCgo= --edc79228ace051408b5a0f8107c4e7b5d14f023f42e9acc4469cc3658934 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v1-0002-Add-pgindent-test-to-check-if-codebase-is-correct.patch Content-Type: text/x-patch; charset=utf-8; name=v1-0002-Add-pgindent-test-to-check-if-codebase-is-correct.patch RnJvbSAxMzkwMjMyOGIyNDk4NGFiMmQxODkxNGI2M2M2ODc0MTQzNzE1ZjQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUcmlzdGFuIFBhcnRpbiA8dHJpc3RhbkBuZW9uLnRlY2g+CkRh dGU6IFR1ZSwgMTYgSmFuIDIwMjQgMTk6MDM6NDIgLTA2MDAKU3ViamVjdDogW1BBVENIIHYxIDIv Ml0gQWRkIHBnaW5kZW50IHRlc3QgdG8gY2hlY2sgaWYgY29kZWJhc2UgaXMgY29ycmVjdGx5CiBm b3JtYXR0ZWQKClNob3VsZCBiZSB1c2VmdWwgZm9yIGRldmVsb3BlcnMgYW5kIGNvbW1pdHRlcnMg dG8gdGVzdCBjb2RlIGFzIHRoZXkKZGV2ZWxvcCwgY29tbWl0LCBvciBwcmVwYXJlIHBhdGNoZXMu Ci0tLQogc3JjL21lc29uLmJ1aWxkICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy90 b29scy9wZ2luZGVudC9NYWtlZmlsZSAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysr KysrKwogc3JjL3Rvb2xzL3BnaW5kZW50L21lc29uLmJ1aWxkICAgICAgIHwgMTMgKysrKysrKysr KysrKwogc3JjL3Rvb2xzL3BnaW5kZW50L3QvMDAxX3BnaW5kZW50LnBsIHwgMTkgKysrKysrKysr KysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rvb2xzL3BnaW5kZW50L01ha2VmaWxlCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjL3Rvb2xzL3BnaW5kZW50L21lc29uLmJ1aWxkCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjL3Rvb2xzL3BnaW5kZW50L3QvMDAxX3BnaW5kZW50LnBsCgpkaWZmIC0tZ2l0 IGEvc3JjL21lc29uLmJ1aWxkIGIvc3JjL21lc29uLmJ1aWxkCmluZGV4IDY1YzdkMTdkMDguLjAz NDVkMmZhNzkgMTAwNjQ0Ci0tLSBhL3NyYy9tZXNvbi5idWlsZAorKysgYi9zcmMvbWVzb24uYnVp bGQKQEAgLTE0LDcgKzE0LDcgQEAgc3ViZGlyKCdwbCcpCiBzdWJkaXIoJ2ludGVyZmFjZXMnKQog CiBzdWJkaXIoJ3Rvb2xzL3BnX2JzZF9pbmRlbnQnKQotCitzdWJkaXIoJ3Rvb2xzL3BnaW5kZW50 JykKIAogIyMjIEdlbmVyYXRlIGEgTWFrZWZpbGUuZ2xvYmFsIHRoYXQncyBjb21wbGV0ZSBlbm91 Z2ggZm9yIFBHWFMgdG8gd29yay4KICMKZGlmZiAtLWdpdCBhL3NyYy90b29scy9wZ2luZGVudC9N YWtlZmlsZSBiL3NyYy90b29scy9wZ2luZGVudC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwLi40NWQ2YjcxYTEyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rv b2xzL3BnaW5kZW50L01ha2VmaWxlCkBAIC0wLDAgKzEsMjQgQEAKKyMtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisjCisjIHNyYy90b29scy9wZ2luZGVudC9NYWtlZmlsZQorIworIyBDb3B5cmlnaHQgKGMpIDIw MjQsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisjCisjLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorCitzdWJkaXIgPSBzcmMvdG9vbHMvcGdpbmRlbnQKK3RvcF9idWlsZGRpciA9IC4uLy4u Ly4uCitpbmNsdWRlICQodG9wX2J1aWxkZGlyKS9zcmMvTWFrZWZpbGUuZ2xvYmFsCisKK2NsZWFu IGRpc3RjbGVhbjoKKwlybSAtcmYgbG9nLyB0bXBfY2hlY2svCisKKyMgUHJvdmlkZSB0aGlzIGFs dGVybmF0ZSB0ZXN0IG5hbWUgdG8gYWxsb3cgdGVzdGluZyBwZ2luZGVudCB3aXRob3V0IGJ1aWxk aW5nCisjIGFsbCBvZiB0aGUgc3Vycm91bmRpbmcgUG9zdGdyZXMgaW5zdGFsbGF0aW9uLgorLlBI T05ZOiB0ZXN0CisKK3BnX2JzZF9pbmRlbnQ6CisJJChNQUtFKSAtQyAuLi9wZ19ic2RfaW5kZW50 IHBnX2JzZF9pbmRlbnQKKwordGVzdDogcGdfYnNkX2luZGVudAorCSQocHJvdmVfaW5zdGFsbGNo ZWNrKQpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L21lc29uLmJ1aWxkIGIvc3JjL3Rv b2xzL3BnaW5kZW50L21lc29uLmJ1aWxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLmQzMWFkZTExY2UKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdG9vbHMvcGdpbmRlbnQv bWVzb24uYnVpbGQKQEAgLTAsMCArMSwxMyBAQAordGVzdHMgKz0geworICAnbmFtZSc6ICdwZ2lu ZGVudCcsCisgICdzZCc6IG1lc29uLmN1cnJlbnRfc291cmNlX2RpcigpLAorICAnYmQnOiBtZXNv bi5jdXJyZW50X2J1aWxkX2RpcigpLAorICAndGFwJzogeworICAgICdhcmdzJzogWworICAgICAg cGdfYnNkX2luZGVudC5wYXRoKCksCisgICAgXSwKKyAgICAndGVzdHMnOiBbCisgICAgICAndC8w MDFfcGdpbmRlbnQucGwnLAorICAgIF0sCisgIH0sCit9CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMv cGdpbmRlbnQvdC8wMDFfcGdpbmRlbnQucGwgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdC8wMDFfcGdp bmRlbnQucGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uOGVlOTNmNDc4 OQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90b29scy9wZ2luZGVudC90LzAwMV9wZ2luZGVudC5w bApAQCAtMCwwICsxLDE5IEBACisjIENvcHlyaWdodCAoYykgMjAyNCwgUG9zdGdyZVNRTCBHbG9i YWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyMKKyMgQ2hlY2sgdGhhdCBhbGwgQyBjb2RlIGlzIGZvcm1h dHRlZCB3aXRoIHBnaW5kZW50CisjCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3MgRkFUQUwg PT4gJ2FsbCc7Cit1c2UgVGVzdDo6TW9yZTsKK3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlscyBx dyhjb21tYW5kX29rKTsKKworaWYgKCEkRU5We1BHX1RFU1RfRVhUUkF9IHx8ICRFTlZ7UEdfVEVT VF9FWFRSQX0gIX4gL1xicGdpbmRlbnRcYi8pCit7CisJcGxhbiBza2lwX2FsbCA9PiAidGVzdCBw Z2luZGVudCBub3QgZW5hYmxlZCBpbiBQR19URVNUX0VYVFJBIjsKK30KKworbXkgJHBnX2JzZF9p bmRlbnQgPSAkQVJHVlswXTsKK2NvbW1hbmRfb2soWyIuL3BnaW5kZW50IiwgIi0taW5kZW50PSRw Z19ic2RfaW5kZW50IiwgIi0tY2hlY2siLCAiLS1kaWZmIl0pOworCitkb25lX3Rlc3RpbmcoKTsK LS0gClRyaXN0YW4gUGFydGluCk5lb24gKGh0dHBzOi8vbmVvbi50ZWNoKQoK --edc79228ace051408b5a0f8107c4e7b5d14f023f42e9acc4469cc3658934--