From owner-freebsd-hackers@FreeBSD.ORG Tue Jul 5 10:55:42 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04D4B1065670 for ; Tue, 5 Jul 2011 10:55:42 +0000 (UTC) (envelope-from sebastian.huber@embedded-brains.de) Received: from mail.embedded-brains.de (host-82-135-62-35.customer.m-online.net [82.135.62.35]) by mx1.freebsd.org (Postfix) with ESMTP id 93B308FC1C for ; Tue, 5 Jul 2011 10:55:41 +0000 (UTC) Received: by mail.embedded-brains.de (Postfix, from userid 65534) id 748656523D1; Tue, 5 Jul 2011 12:55:39 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on fidibus.eb.z X-Spam-Level: X-Spam-Status: No, score=-4.0 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.2.5 Received: from [192.168.96.31] (eb0011.eb.z [192.168.96.31]) by mail.embedded-brains.de (Postfix) with ESMTP id CA55F6523CF; Tue, 5 Jul 2011 12:55:38 +0200 (CEST) Message-ID: <4E12EDAA.7070301@embedded-brains.de> Date: Tue, 05 Jul 2011 12:55:38 +0200 From: Sebastian Huber User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20101125 SUSE/3.0.11 Lightning/1.0b1 Thunderbird/3.0.11 MIME-Version: 1.0 To: John Baldwin References: <4E043B5F.3080908@embedded-brains.de> <201106240914.49279.jhb@freebsd.org> In-Reply-To: <201106240914.49279.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Cc: freebsd-hackers@freebsd.org Subject: Re: Unit Tests for FreeBSD Kernel APIs? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jul 2011 10:55:42 -0000 On 06/24/2011 03:14 PM, John Baldwin wrote: > On Friday, June 24, 2011 3:23:11 am Sebastian Huber wrote: >> Hello, >> >> exists there some unit tests for FreeBSD kernel APIs, e.g. mutex(9), >> condvar(9), etc.? >> >> Have a nice day! > > Hmm, I have a kernel module that does some tests, but it is not in the tree. > One of the issues is that many of the tests you want to do for some of these > APIs involve timing. For rwlocks, for example, I used KTR traces and used > a kernel module that forked 4 threads to all compete over a single lock. I > then verified via KTR traces that every branch was taken (and made liberal > use of KASSERT()s which caught a few edge cases I had missed initially). > The background for my question is that we want to use the FreeBSD 8.2 network and USB stack for another operating system (RTEMS). Thus we have to implement several core APIs in terms of our operating system services. -- Sebastian Huber, embedded brains GmbH Address : Obere Lagerstr. 30, D-82178 Puchheim, Germany Phone : +49 89 18 90 80 79-6 Fax : +49 89 18 90 80 79-9 E-Mail : sebastian.huber@embedded-brains.de PGP : Public key available on request. Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.