From owner-freebsd-arch Tue Apr 10 23:16:10 2001 Delivered-To: freebsd-arch@freebsd.org Received: from netau1.alcanet.com.au (ntp.alcanet.com.au [203.62.196.27]) by hub.freebsd.org (Postfix) with ESMTP id F0AC537B424; Tue, 10 Apr 2001 23:16:00 -0700 (PDT) (envelope-from jeremyp@gsmx07.alcatel.com.au) Received: from mfg1.cim.alcatel.com.au (mfg1.cim.alcatel.com.au [139.188.23.1]) by netau1.alcanet.com.au (8.9.3 (PHNE_22672)/8.9.3) with ESMTP id QAA29424; Wed, 11 Apr 2001 16:15:57 +1000 (EST) Received: from gsmx07.alcatel.com.au by cim.alcatel.com.au (PMDF V5.2-32 #37645) with ESMTP id <01K2A2RRBHS0S4NC9O@cim.alcatel.com.au>; Wed, 11 Apr 2001 16:15:46 +1100 Received: (from jeremyp@localhost) by gsmx07.alcatel.com.au (8.11.1/8.11.1) id f3B6Fra93348; Wed, 11 Apr 2001 16:15:53 +1000 (EST envelope-from jeremyp) Content-return: prohibited Date: Wed, 11 Apr 2001 16:15:53 +1000 From: Peter Jeremy Subject: Re: Features to facilitate correctness and regression testing In-reply-to: ; from rwatson@FreeBSD.ORG on Tue, Apr 10, 2001 at 11:15:14PM -0400 To: Robert Watson Cc: freebsd-arch@FreeBSD.ORG Mail-Followup-To: Robert Watson , freebsd-arch@FreeBSD.ORG Message-id: <20010411161553.U66243@gsmx07.alcatel.com.au> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-disposition: inline User-Agent: Mutt/1.2.5i References: Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On 2001-Apr-10 23:15:14 -0400, Robert Watson wrote: >1) To what extent are we interested in including correctness and > regression testing suites in the base development tree? I'd say it's an excellent idea. Currently our standard test is "make world", but that doesn't do a particularly good job of exercising the overall system. > It has been > suggested to me that these would make a great addition to a new > regression/ CVS sub-tree, that they should be included under > appropriate existing parts of the tree reflecting what they test, > and that they would be best in the form of a port. I'd prefer to see any test code in the tree near the code being tested - this (marginally) improves the chances of tests being updated to cover new functionality. A number of parts of the system already include stand-alone self-checks which could probably be invoked as part of an overall regression test. Pushing the tests into a separate port makes it more difficult for developers to use the tests and would appear to make it harder to update the tests. Any generic test skeleton files probably belong in a "regression" tree under /usr/src. > In any case, I'm > very interested in the idea of a "make regression" being easily > accessible to developers, to allow them to run fairly intensive > correctness tests after making changes. I think there would need to be lots of knobs. Things like the libgmp test suite take a long time to run and are probably overkill for checking that a change in a totally unrelated part of the system works. >2) Some helper functions may allow processes to modify system state in > such a way as to potentially violate normal limits on system behavior: ... > should these > features be included in the base system, then be optionally > compiled? Since you are talking about changing the security-related behaviour of the system, I'd prefer it to require an "options REGRESSION" (and maybe then set a sysctl), rather than be a KLD. I'm not at all keen on the idea of having it stashed away as a separately maintained port. > Is the idea of helper functions for regression testing simply > philosophically wrong, or does it serve a useful function I think it's a valid part of white-box testing. In any piece of software, there are going to be code paths that are very difficult or impossible to exercise using the `normal' interfaces. Providing interfaces that are intended solely for testing the correctness of the code seems perfectly reasonable. This is no different to the JTAG ports on virtually every modern LSI chip. Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message