From owner-cvs-all@FreeBSD.ORG Tue Sep 13 17:15:06 2005 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3053816A41F; Tue, 13 Sep 2005 17:15:06 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0184943D45; Tue, 13 Sep 2005 17:15:06 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j8DHF58G070180; Tue, 13 Sep 2005 17:15:05 GMT (envelope-from rwatson@repoman.freebsd.org) Received: (from rwatson@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j8DHF5Bg070179; Tue, 13 Sep 2005 17:15:05 GMT (envelope-from rwatson) Message-Id: <200509131715.j8DHF5Bg070179@repoman.freebsd.org> From: Robert Watson Date: Tue, 13 Sep 2005 17:15:05 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/tools/regression/fifo/fifo_io fifo_io.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Sep 2005 17:15:06 -0000 rwatson 2005-09-13 17:15:05 UTC FreeBSD src repository Modified files: tools/regression/fifo/fifo_io fifo_io.c Log: Restructure fifo_io event-related tests in order to support test cases relating to O_RDWR file descriptors, which while not defined in POSIX, are in fact used: (1) Revise assumption that we have two file descriptors when testing I/O operations on a fifo. Provide cleanup routines that handle either two or three file descriptors (including a kqueue descriptor). (2) Add an openfifo_rw() routine to supplement openfifo(). (3) kqueue_setup() now configures an existing kqueue to monitor a new file descriptor, rather than allocating a new kqueue to monitor two existing file descriptors. (4) Wrap all direct poll/select/kqueue/FIONREAD interactions in a single function, assert_status(), which takes a file descriptor, kqueue descriptor, assertion of read/writable/exception states, and test description, then tests the assertion. This reduces the bulk of calls in many of the tests, making them shorter, more readable, and easier to determine correct. (5) Add a new test_events_rdwr() function, which performs a basic create/ write/read event test on a O_RDWR fifo file descriptor. This is currently failed by our fifo code in HEAD due to a bug in FIONREAD handling. Fix to be merged shortly. Revision Changes Path 1.5 +322 -480 src/tools/regression/fifo/fifo_io/fifo_io.c