From nobody Sun Jan 21 17:13:57 2024 X-Original-To: freebsd-hackers@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 4TJ0Lv5CS2z57KcX for ; Sun, 21 Jan 2024 17:13:59 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Received: from phk.freebsd.dk (phk.freebsd.dk [130.225.244.222]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4TJ0Lv2kYzz49WP; Sun, 21 Jan 2024 17:13:59 +0000 (UTC) (envelope-from phk@critter.freebsd.dk) Authentication-Results: mx1.freebsd.org; none Received: from critter.freebsd.dk (unknown [192.168.55.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by phk.freebsd.dk (Postfix) with ESMTPS id 97A2D89281; Sun, 21 Jan 2024 17:13:57 +0000 (UTC) Received: from critter.freebsd.dk (localhost [127.0.0.1]) by critter.freebsd.dk (8.17.1/8.16.1) with ESMTPS id 40LHDv5S025463 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Sun, 21 Jan 2024 17:13:57 GMT (envelope-from phk@critter.freebsd.dk) Received: (from phk@localhost) by critter.freebsd.dk (8.17.1/8.16.1/Submit) id 40LHDv6b025462; Sun, 21 Jan 2024 17:13:57 GMT (envelope-from phk) Message-Id: <202401211713.40LHDv6b025462@critter.freebsd.dk> To: Alan Somers cc: George Mitchell , freebsd-hackers@freebsd.org Subject: Re: The Case for Rust (in the base system) In-reply-to: From: "Poul-Henning Kamp" References: <1673801705774097@mail.yandex.ru> <202401210751.40L7pWEF011188@critter.freebsd.dk> <40bc1694-ee00-431b-866e-396e9d5c07a2@m5p.com> <202401211626.40LGQDim013134@critter.freebsd.dk> List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <25460.1705857237.1@critter.freebsd.dk> Content-Transfer-Encoding: quoted-printable Date: Sun, 21 Jan 2024 17:13:57 +0000 X-Rspamd-Queue-Id: 4TJ0Lv2kYzz49WP X-Spamd-Bar: ---- 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)[]; TAGGED_RCPT(0.00)[freebsd]; ASN(0.00)[asn:1835, ipnet:130.225.0.0/16, country:EU] -------- Alan Somers writes: > > Why would such a test-tool live in src rather than ports ? > > I initially considered putting it in ports just for that reason. But > it's too tightly coupled to src. The tests need to change with every > feature addition or bug fix to src. I know exactly where you come from there: I had that exact problem in Varnish too. My solution was to separate the "test-running tool" from the "test-case description", by writing the latter in a DSL interpreted by the former. One very big advantage was the almost total elimination of "boiler-plate" in the test-case descriptions. You can see a typical "complex" test-case here: https://github.com/varnishcache/varnish-cache/blob/master/bin/varnishtest= /tests/c00016.vtc But there are so many other advantages that I could talk about this for hours, but we can do that in private email if you are interested :-) I'm not saying that the exact same idea can be used to test FUSE, but IMO you should /really/ try to find a solution along those lines. So yes, I feel your plight, but it does not convince me that we need to pay the huge cost of Rust in src. -- = Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe = Never attribute to malice what can adequately be explained by incompetence= .