From nobody Tue Apr 21 17:32:33 2026 X-Original-To: freebsd-testing@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g0Tvj6ttNz6Ycpd for ; Tue, 21 Apr 2026 17:32:49 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g0Tvj2LWWz3pWx for ; Tue, 21 Apr 2026 17:32:49 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-ba51e69988aso559517266b.0 for ; Tue, 21 Apr 2026 10:32:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776792768; cv=none; d=google.com; s=arc-20240605; b=jI3yrvMjWpPX15gILOFVC2FPDvQodVvfVSeZioz8LbpfG2eH2ubxp7ERle2jqqtiA0 l5t6figZgXe9HcbEIZVcbNnx/sg+fhQGIT+hPiR09e1AqwlOfhA4hARaO6cRBPHfzEin 0IvnkTx8eqhX4k6oU1D3/bmIcRy+GTRMPnjXkHHfUua8X9SiCvT2jgstnSpxYL6Add7U tFR+iLbNrPsJcWXtEDUrpYL1SpTtLN//U++hPX6q+25feRqIJpr0kXl0ZBi9lGG3GiHS QaGHjYE2nk7TQ8XtHP04UhICsaN+iZoC38JdLIoWfplNgWQX1JA6REIN8Y8c3YAI+mwy nqsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=PLgSgX1GnRB4nrvGgg7+CIr5v7AGP27Wrm+RteMT3zQ=; fh=o8xecOcZ2aKJE9WV3tpaCg6VeG3yqcIMhTGGVALjxHE=; b=Lcp1CL0VuEFK113ctc72PEd1A3Pv6RKzVROCH6oA1tWhP7W+4AshZgRclH/juNgO11 VJ3RSGTdIuisetgvxYQMWmRqHSwjrcar6bwpCrLvdSPmXn1e/wAgma0buuy/6NGDJtKR FHweyZrQiYwJchO9/UR64aQD03Oi7C6/3zyFi/UM4Uw/QW4ybDhsbv//8TSIcvAhWcTd rHJKC1RSNwSqFP3/+5VNrOJrCRDa7LhCCMSyhjAuUHU3O2hv11F9iovRzFqPTef+Nmei Bx2iaZO877HoYU0KBUMsUrQvRryrf6fnzh1GW2pG0bagwMeamMYnNFWVNXNmvaoEfbds AZQg==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776792768; x=1777397568; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=PLgSgX1GnRB4nrvGgg7+CIr5v7AGP27Wrm+RteMT3zQ=; b=UGSVDjJ3u7aKHfyRclGnxA/hq85nJrYks+GIUXdhO2pqfSdpABOSR4k5aNdroHc7GU BNPTPnt0uBKqM/8ZwXsVoIUAXVSUsDVKUVkbw4G+WDrcXw2NG/7tOtP6f5SdDX9/r0i3 dLfvCJTUmCUuBma1134NWDNAdE1Pwb6FtIMKbCbZLsVZUszx7aXJHb+UpOJm251XQdTz B1DrF6kZm+fnPBgJM6eLWJPMfRV2q1+iG31PmyIgVkE/S2xs6efTifiglzQbHapGXSFz OH1RgftGuPQUG/tEzC8p6GvCSth3EuPecmNQj0ttnbjSPr+AgozapEAQWjR6+7q2uaad mZWQ== X-Forwarded-Encrypted: i=1; AFNElJ/NM+Sam8nydFmJugEmDLUnxvOhGlln3GTvJrn4bv3cY4m5L0wIx6OVt8/UcqWXqJWfXCQ04KjCvCzP5xenRXY=@freebsd.org X-Gm-Message-State: AOJu0YxXdc/7n9e+73U7R+oXF2CPvKTqQu9xqqlLfkukVrQoqjyj5Dwi ZbVe7NigYcoPQ+B+pI8TtX8XG1tXcL9aJ3uEi62sXkqiLpbr2ax0os2JzC99EZg7cB8J6xLNFFm cn22reLIFVATjsRKxAAa6bPsEMVIu7GIqtw== X-Gm-Gg: AeBDieuuDZ1XryANHmfh6ggr2U/3yA7VMHoHG9R8nxQvm9hgoe3m/hxkd1UUmvptkyo I6CENN+LEz6ceH+rg/spRM6FyF8r1ua3glNjvshN54wsxjNS5YmBWO2M3O2k7I03keh2RJER/cG uF5BEw4x34ypoAkY3kd0XvnD4HJhKmRfGhYCHbJBzuurku1xQqTf7fDJC1FOKuTnG6cUTZ/Lmhf 09HJnRtGjN3kAd6xoMJ2nRdJnw0oKxxQcPZ7/uRgYusmOX/6DgF2kzAgp4MwpF7qtCiRMinj7KV G5JisXW9ta9Wr7KsQyQPNFlvT+xwWnw7A58wAqa9qCr7kEfIrTacjvgGKPhdnmxi48ETsf3k7H4 hci4Wa4y3j7nDVA== X-Received: by 2002:a17:907:3f08:b0:ba7:5c47:7b32 with SMTP id a640c23a62f3a-ba75c4787e3mr501204466b.10.1776792767166; Tue, 21 Apr 2026 10:32:47 -0700 (PDT) List-Id: Testing List-Archive: https://lists.freebsd.org/archives/freebsd-testing List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-testing@freebsd.org Sender: owner-freebsd-testing@FreeBSD.org MIME-Version: 1.0 References: <1585B8BA-5847-40B3-A655-700BD800318C@gmail.com> In-Reply-To: <1585B8BA-5847-40B3-A655-700BD800318C@gmail.com> From: Alan Somers Date: Tue, 21 Apr 2026 11:32:33 -0600 X-Gm-Features: AQROBzDcpXRpLuEuL8kKtBMddbaNOl8wEWsYfS0XaHTZY38E49dGAAl36bMDfQY Message-ID: Subject: Re: pjdfstest integration To: "Enji Cooper (yaneurabeya)" Cc: Mark Johnston , freebsd-testing@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4g0Tvj2LWWz3pWx X-Spamd-Bar: ---- On Tue, Apr 21, 2026 at 11:16=E2=80=AFAM Enji Cooper (yaneurabeya) wrote: > > > > On Apr 21, 2026, at 9:44=E2=80=AFAM, Alan Somers = wrote: > > > > On Tue, Apr 21, 2026 at 10:41=E2=80=AFAM Mark Johnston wrote: > >> > >> On Tue, Apr 21, 2026 at 09:41:31AM -0600, Alan Somers wrote: > >>> On Tue, Apr 21, 2026 at 9:11=E2=80=AFAM Mark Johnston wrote: > >>>> > >>>> Hi, I noticed that we install pjdfstest to /usr/tests/sys/pjdfstest, > >>>> but: > >>>> - it's not hooked up to the test suite, i.e., > >>>> "kyua test -k /usr/tests/Kyuafile" doesn't run it, > >>>> - contrib/pjdfstest doesn't seem to be updated regularly, > >>>> - the configuration is hard-coded, i.e., I can't easily run it again= st a > >>>> filesystem of my choice. > >>>> > >>>> How hard would it be to parameterize the tests so that we can run th= e > >>>> tests again a list of filesystems? For each filesystem we'd have so= me > >>>> little script that sets up some scratch space, creates an empty > >>>> filesystem and points pjdfstest at it. In some cases we'd need the = test > >>>> runner to specify some additional variables, e.g., for p9fs you want= the > >>>> test runner to provide a share, as we currently only support the vir= tio > >>>> transport. I'm not sure if kyua can pass variables to a TAP test, s= o > >>>> the solution might be to wrap each pjdfstest run with an ATF test ca= se > >>>> which handles the setup. > >>>> > >>>> Is anyone interested in working on these things? > >>> > >>> Yes, yes and yes. > >>> > >>> I was indeed working on a change to pjdfstest which, among other > >>> things, would read a config file for each file system under test. Th= e > >>> config file specifies things like whether posix_fallocate is supporte= d > >>> on that file system and which file flags are supported. The change > >>> also drastically speeds up pjdfstest's runtime. > >>> > >>> We did that as part of GSoC 2022. The status of the project is that > >>> it's 99% complete, but requires somebody to comb through 4000 SLOC > >>> line by line to make sure nothing got left out. That's very tedious, > >>> which is why nobody has done it yet. I would LOVE to get it finished= , > >>> but I've never made the time. > >>> The rewrite also relies on some ugly macro syntax. We did that > >>> deliberately to save time, but it does make the code ugly, and a > >>> little bit harder to review. It might be worth investing the time to > >>> rewrite those macros more cleanly. > >>> > >>> Using the new pjdfstest, it would be quite easy to add an ATF test fo= r > >>> each file system. atf-sh would format the file system under test, > >>> then call pjdfstest with the appropriate per-filesystem config file. > >> > >> Do you have a pointer to this work anywhere? I can't promise to > >> complete it, but I'm pretty motivated to stand something up for p9fs. > > > > It's at git@github.com:musikid/pjdfstest.git . What do you think is > > the best path forward? I could publish a 0.1 release now, and get > > this into ports, while you work on the ATF part. Then we could slowly > > open a series of reviews that delete the old sh-based stuff. > > What musikid did was a good effort, but it would make pjdfstest into a pu= rely FreeBSD test suite since many other platforms don=E2=80=99t come with = ATF installed on them; the project currently supports Solaris (to a lesser = degree) and Linux (we still get pinged from time to time about Linux-relate= d support requests). > -Enji Not necessarily. You don't need ATF to run pjdfstest. The binary by itself will run every test and report success/fail . ATF is only needed for stuff like setting up the test file system.