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 1sHTgg-0080mc-0i for pgsql-hackers@arkaria.postgresql.org; Wed, 12 Jun 2024 19:31:14 +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 1sHTgd-005Zyq-CR for pgsql-hackers@arkaria.postgresql.org; Wed, 12 Jun 2024 19:31:12 +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 1sHTgd-005Zyh-2X for pgsql-hackers@lists.postgresql.org; Wed, 12 Jun 2024 19:31:11 +0000 Received: from mail-qv1-xf34.google.com ([2607:f8b0:4864:20::f34]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sHTgX-0010L8-Tm for pgsql-hackers@postgresql.org; Wed, 12 Jun 2024 19:31:09 +0000 Received: by mail-qv1-xf34.google.com with SMTP id 6a1803df08f44-6b09072c9d9so1971606d6.1 for ; Wed, 12 Jun 2024 12:31:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1718220665; x=1718825465; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=s04YdXBFJGoU2tzg9uFw4SUYQ3c3CDWfKEAJb08uCvk=; b=PNJeKpPAsP03PHI9jLiyox6sc4DWh5mSNPOIOOc4AWwP74zHrcRLFxJ8Ag1wsfBa4v K7zibfnDwzp4oxhZCRwzFKvXdgG+EYlbcQRSNGJxTT91MZ727xPmvuLDqNjr4GOlxWiC WfWbcL1pb7+poFiest9k5L7F0txCnPecJAi9UAXSSNSTIiBnDd+r+xJp4oeXGQft2mvv 4Bya4JsxDKeLIBmhNyETQpYwQx1PfMmh42hrC5BVTfycIxp+GW/LMJ0BsTlY4OT4ctdb 63aZlNZXQqegRj55Uw+l/+r4ke10D+5pAs/xrd1kP3UZxjg+vOYhjregQfuEO3bvA2Oq 3dNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718220665; x=1718825465; h=content-transfer-encoding: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=s04YdXBFJGoU2tzg9uFw4SUYQ3c3CDWfKEAJb08uCvk=; b=H3N4wdsYTg0iNV08gsKB8j4ZKVB1rB3o7VSQFRqJ1gOYBNPGZ0w52Yy+Ga3RCduxB0 txOq4Jq9tKkJCz0G4VxydU3CF9N7NErfW/SCRJM0L+yU6tzTuQTbSAoYg4j+Xutv8N7A jIXzwQt6yK2fFa2PBjfHEvulU9IZFaJ6lItCqh2Ex2b84rpGcEeEjlFveemPlSXmxwau U52HqvRn+ep4DjjCHF9WKhhB/j7kjup9CtrlSLLZ16yUVm7eqpYYODlN71nNRCHuqT6r wJx6ll3PwSqrbO/5pzZ4+w9JS4xJZx78SC2RrDdWjBmH/mD580xVh6c7uclUPPFxlIJg 8AAg== X-Forwarded-Encrypted: i=1; AJvYcCUUWdZm5g2PgItl8w1vsK9CTWEbdGZ71xjKeKnF8/EIWzxbfIbuCj7FYD5gRG1laKcS042ij1X4JFqrteRqUDrPdbmuMDbL01R0zrFz X-Gm-Message-State: AOJu0YwuGO3hYFqae0doMJ/tlfhW50i1CBZAYy1HdcQywkypIaRIVY3S BkYLFSkLRyrW5mFfuWCcyrI7Xsn6f4U20GP1y21BY9pXACfoKGNPQ/Q1QPgfgYYu+lM+5oVOwel aHj/MlroidIUF9CUmWN4M+0xkWLYtTR+PTuCc X-Google-Smtp-Source: AGHT+IFH42InrVbv052+K89boHLaA1PbgA/eos5hvB/Vza9PpY+sEkdxFH2n1v1f00i0YTWS7b9V9f097OIT12Sk2Ho= X-Received: by 2002:a05:6214:5013:b0:6ad:752d:1530 with SMTP id 6a1803df08f44-6b2a344951amr8760576d6.27.1718220664695; Wed, 12 Jun 2024 12:31:04 -0700 (PDT) MIME-Version: 1.0 References: <20240610200411.byj6sv2vpgol6wcf@awork3.anarazel.de> <00c5efe6-1abb-42f8-a9a7-ed3a055c4b92@dunslane.net> <20240611014911.khxuai5fy2ssbmiw@awork3.anarazel.de> <20240611234829.9d@rfd.leadboat.com> In-Reply-To: <20240611234829.9d@rfd.leadboat.com> From: Jacob Champion Date: Wed, 12 Jun 2024 12:30:53 -0700 Message-ID: Subject: Re: RFC: adding pytest as a supported test framework To: Noah Misch Cc: Andres Freund , Andrew Dunstan , PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, Jun 11, 2024 at 4:48=E2=80=AFPM Noah Misch wrot= e: > If we're going to test in a non-Perl language, I'd pick C over Python. We already test in C, though? If the complaint is that those tests are driven by Perl, I agree that something like libcheck or GTest or whatever people are using nowadays would be nicer. But that can be added at any point; the activation energy for a new C-based test runner seems pretty small. IMO, there's no reason to pick it _over_ another language, when we already support C tests and agree that developers need to be fluent in C. > We'd need a library like today's Perl > PostgreSQL::Test to make C-language tests nice, but the same would apply = to > any new language. I think the effort required in rebuilding end-to-end tests in C is going to be a lot different than in pretty much any other modern high-level language, so I don't agree that "the same would apply". For the five problem statements I put forward, I think C moves the needle for zero of them. It neither solves the problems we have nor gives us stronger tools to solve them ourselves. And for my personally motivating use case of OAuth, where I need to manipulate HTTP and JSON and TLS and so on and so forth, implementing all of that in C would be an absolute nightmare. Given that choice, I would rather use Perl -- and that's saying something, because I like C a lot more than I like Perl -- because it's the difference between being given a rusty but still functional table saw, and being given a box of Legos to build a "better" table saw, when all I want to do is cut a 2x4 in half and move on with my work. I will use the rusty saw if I have to. But I want to get a better saw -- that somebody else with experience in making saws has constructed, and other people are pretty happy with -- as opposed to building my own. > I also want the initial scope to be the new language coexisting with the > existing Perl tests. Strongly agreed. Thanks, --Jacob