From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mike Gran Newsgroups: gmane.lisp.guile.devel Subject: Re: On white-box tests Date: Wed, 19 Aug 2009 07:28:43 -0700 Message-ID: <1250692123.18373.1014.camel@localhost.localdomain> References: <87d46sci6o.fsf@gnu.org> <1250684052.18373.858.camel@localhost.localdomain> <87my5v3o66.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1250692173 13785 80.91.229.12 (19 Aug 2009 14:29:33 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 19 Aug 2009 14:29:33 +0000 (UTC) Cc: guile-devel@gnu.org To: Ludovic =?ISO-8859-1?Q?Court=E8s?= Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Wed Aug 19 16:29:23 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MdmAE-0001dQ-Na for guile-devel@m.gmane.org; Wed, 19 Aug 2009 16:29:23 +0200 Original-Received: from localhost ([127.0.0.1]:55549 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MdmAD-0002vz-Sf for guile-devel@m.gmane.org; Wed, 19 Aug 2009 10:29:21 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MdmA5-0002sr-EB for guile-devel@gnu.org; Wed, 19 Aug 2009 10:29:13 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MdmA5-0002sU-4A for guile-devel@gnu.org; Wed, 19 Aug 2009 10:29:13 -0400 Original-Received: from [199.232.76.173] (port=34140 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MdmA4-0002sK-RI for guile-devel@gnu.org; Wed, 19 Aug 2009 10:29:12 -0400 Original-Received: from smtp109.prem.mail.sp1.yahoo.com ([98.136.44.54]:48671) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1MdmA4-0001ip-As for guile-devel@gnu.org; Wed, 19 Aug 2009 10:29:12 -0400 Original-Received: (qmail 59856 invoked from network); 19 Aug 2009 14:29:11 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Received:X-Yahoo-SMTP:X-YMail-OSG:X-Yahoo-Newman-Property:Subject:From:To:Cc:In-Reply-To:References:Content-Type:Date:Message-Id:Mime-Version:X-Mailer:Content-Transfer-Encoding; b=MxgWGcujDtGhIQCTjb3aRuyc8aNOeEGqJ8+6z5VVX3WdLTXkotR9EsHcSAxgJXd+LLfUsHKXY9+E0Z5R6C0/+QGUP8lEQFMJGlcpySb0nNVg5ks1A4AIBaLrvfmn3VrNa4de2vgotpBpanpmd9TvRBJh53QtosTKf4FrUpQYsq4= ; Original-Received: from adsl-71-130-213-44.dsl.irvnca.pacbell.net (spk121@71.130.213.44 with plain) by smtp109.prem.mail.sp1.yahoo.com with SMTP; 19 Aug 2009 07:29:11 -0700 PDT X-Yahoo-SMTP: FzNaA9iswBDuBl1BmgaIRDaP9Q-- X-YMail-OSG: XIMNlf8VM1mXxqw6nioCoCu_uBx9dd20Bd7Cnmimot5.lJN8TjHmXcSHuGCfdSK29Jo.XI.kvVHHIc8QQNrn.Xt44petAZh5p6Mykzq0SwAkUTvOn9dBFbN647dagBcHVxFKPaa9wPn7S0y.QMeLOQEgIsMbkkpwm3fuUZoSlp.fa2kRpj2K67tf1Myv925HXtG6UIbb4x8yBDfSz8HuPY84MHPZvq9R7rcxh1DAWxtxAY1aapTAD7csYI0sIXINhNztRnOQ_Rnlqja2P3.O7imyDZAkOF.bZ9mJGyddZ5tnZ7Ug2dX3oTq0mNc5c.Um8B9eiBlm1kL4Zb08ZfsA4Sg5Xm.I19EoyWSjAfpuB.mq_wIX1l5gZtNT X-Yahoo-Newman-Property: ymail-3 In-Reply-To: <87my5v3o66.fsf@gnu.org> X-Mailer: Evolution 2.24.5 (2.24.5-2.fc10) X-detected-operating-system: by monty-python.gnu.org: FreeBSD 4.7-5.2 (or MacOS X 10.2-10.4) (2) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:9158 Archived-At: On Wed, 2009-08-19 at 15:53 +0200, Ludovic Courtès wrote: > Mike Gran writes: > > > On Wed, 2009-08-19 at 10:38 +0200, Ludovic Courtès wrote: > I just wanted to hear what you and others thought about the issue, > because I think unit tests are a crucial part of software development. OK. To say something slightly more cogent. I think when a current phase of development centers around modifying low-level code, it is useful to have a set of low-level tests. If those tests fail, it reminds the developer that s/he has modified something upon which other routines rely. I wrote the string-internals tests to indicate to me when I'd done something that had unexpected side-effects. They are intentionally white-box; they are intentionally reflexive. There is a danger that those tests, should they remain, could be seen as indicating software requirements, which they do not. The software requirement specification for Scheme (RnRS) is high level and leaves much of the implementation detail unspecified. I think it is a good idea to leave them in, probably with comments that express that they test the implementation, not the specification. I also think that it is a good idea to segregate them from tests that exercise the actual software requirements. But, I can see an equally valid argument for stripping them out once strings are no longer in flux, for example at release 2.0, assuming it is bug free ;-) or perhaps 2.1. Thanks, Mike > > Thanks, > Ludo'. > > >