From nobody Fri Feb 23 15:34:00 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 4ThDZx6LWPz59xvB for ; Fri, 23 Feb 2024 15:34:33 +0000 (UTC) (envelope-from igor.ostapenko@pm.me) Received: from mail-40134.protonmail.ch (mail-40134.protonmail.ch [185.70.40.134]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits)) (Client CN "protonmail.com", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ThDZx5Vysz4LYK for ; Fri, 23 Feb 2024 15:34:33 +0000 (UTC) (envelope-from igor.ostapenko@pm.me) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pm.me; s=protonmail3; t=1708702471; x=1708961671; bh=nIYzSnzpTFXria0x4edfVuw5fhEqjdesxxXzWJVpUog=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=Mwua4UHdx+jw5ALEqw0nbAjXczq74SYHTABKRtxymooSyGc7oXYiY6DtpqZ11v4jZ Xhczi3hnbxBZ0nZtEbUA1SNTsaweWNB5D4MzconlZvFBuNS43TqqN5C7/NyuWCUaIf 8ouwAG8xrq5nuENOLx9tEIOtYDT+qedZUBk0M9Us+w8vBTIaQ9eJVhf1v1GdbwqWad HIrgy1VerGPDu98aIvuFKLgeXZPnmUAzWcIWRDmSR9D+HYcjH9O5rxSXmT9jAlbvmn Kze53uOWs2i4cJarTpG43H77KWa/xqMfOefVoD2xzkUgjjp4LAZqCh2nOq/DfuaSPq GKmnCwk2vDhZA== Date: Fri, 23 Feb 2024 15:34:00 +0000 To: =?utf-8?Q?Olivier_Cochard-Labb=C3=A9?= From: Igor Ostapenko Cc: "freebsd-hackers@freebsd.org" Subject: Re: Add jail execution environment support to the FreeBSD test suite Message-ID: In-Reply-To: References: <2bjQNp1msrv-_AqyamMun6kY-SCqbgPm3Q7DqVQHAYlqvFkiE1i85svfIT-QQdUG1cg3cKippyTyv8Z-5nbLu4WaMutgZQ7KT-YYo_5Pbro=@pm.me> Feedback-ID: 8300135:user:proton 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=utf-8 Content-Transfer-Encoding: quoted-printable 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)[]; ASN(0.00)[asn:62371, ipnet:185.70.40.0/24, country:CH] X-Rspamd-Queue-Id: 4ThDZx5Vysz4LYK On Friday, February 23rd, 2024 at 11:41 AM, Olivier Cochard-Labb=C3=A9 wrote: >=20 > Thanks a lot for working on improving the parallel tests! >=20 > At work, we are using: > 1. a Nanobsd based, so a lot of WITHOUT_ : WITHOUT_JAIL, WITHOUT_PF, no V= NET (a nightmare to debug network stack with it), etc.; > 2. The standard full test suite (about 8200 tests) is reduced to about 74= 00 tests with this lighter nanobsd; > 3. We have been using kyua parallelism=3D8 for years, and I had to skip o= nly about 10-20 tests that were not compliant with parallel mode. >=20 > It toke about 23 minutes to run them (in a bhyve VM): >=20 > Test cases: 7429 total, 905 skipped, 29 expected failures, 1 broken, 4 fa= iled > Start time: 2024-02-21T00:15:42.527291Z > End time: 2024-02-21T00:38:57.036211Z >=20 > Because we were using WITHOUT_JAIL, to improve the time spent, one of my = ideas was to divide the tests into groups of 4 or 8 and run as many bhyve V= Ms in parallel. > I assumed that by running regression tests in a jail, I was testing the j= ail system as much as the test object (and for our use case, I don=E2=80= =99t care about the jail because we are not using it). > So using the bhyve VM I had the feeling the tests were more confined. >=20 > Now if WITH_JAIL becomes mandatory to be able to run the test, I will jus= t have to modify my build system (like by adding a WITHOUT_JAIL just at ins= tallworld time and not during buildworld). >=20 Thanks for your consideration. Actually, from the very beginning I've had doubts regarding a case when jai= l feature is not present, but some of existing tests which freely use jail w/= o additional things like "require.progs jail" and absence of comments regardi= ng that during the initial review of the patch formed a feeling that it does n= ot require effort to consider, at least for now. Thanks for mentioning a real production case, it helps not to guess its priority. From a glance it looks like the following tasks could be added to TODO: - kyua can be built WITHOUT_JAIL - kyua should detect in runtime which execenv it supports, host only or bot= h - kyua should skip tests which are not supported by a kyua runtime instance It looks to cover your case. It would need no changes on your side, execenv=3D"jail" based tests would simply be skipped, the similar way when = we run amd64 tests on aarch64, and so on. Could you please share your src config (WITHOUT_*, etc)? Best regards, Igor.