Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Dec 2009 10:43:20 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r200573 - head/tools/regression/kqueue
Message-ID:  <200912151043.nBFAhKHR061110@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rwatson
Date: Tue Dec 15 10:43:20 2009
New Revision: 200573
URL: http://svn.freebsd.org/changeset/base/200573

Log:
  Merge libkqueue test suite through r119
  
  Submitted by:	Mark Heily <mark@heily.com>

Modified:
  head/tools/regression/kqueue/config.h
  head/tools/regression/kqueue/main.c
  head/tools/regression/kqueue/user.c

Modified: head/tools/regression/kqueue/config.h
==============================================================================
--- head/tools/regression/kqueue/config.h	Tue Dec 15 10:40:40 2009	(r200572)
+++ head/tools/regression/kqueue/config.h	Tue Dec 15 10:43:20 2009	(r200573)
@@ -1,5 +1,6 @@
 /* AUTOMATICALLY GENERATED -- DO NOT EDIT */
 /* $FreeBSD$ */
+#define HAVE_ERR_H
 #define HAVE_SYS_EVENT_H
 #define HAVE_EV_DISPATCH 1
 #define HAVE_EV_RECEIPT 1

Modified: head/tools/regression/kqueue/main.c
==============================================================================
--- head/tools/regression/kqueue/main.c	Tue Dec 15 10:40:40 2009	(r200572)
+++ head/tools/regression/kqueue/main.c	Tue Dec 15 10:43:20 2009	(r200573)
@@ -235,7 +235,12 @@ main(int argc, char **argv)
     int test_signal = 1;
     int test_vnode = 1;
     int test_timer = 1;
+#ifdef __FreeBSD__
     int test_user = 1;
+#else
+    /* XXX-FIXME temporary */
+    int test_user = 0;
+#endif
 
     while (argc) {
         if (strcmp(argv[0], "--no-proc") == 0)

Modified: head/tools/regression/kqueue/user.c
==============================================================================
--- head/tools/regression/kqueue/user.c	Tue Dec 15 10:40:40 2009	(r200572)
+++ head/tools/regression/kqueue/user.c	Tue Dec 15 10:43:20 2009	(r200573)
@@ -45,12 +45,15 @@ event_wait(void)
 
     test_begin(test_id);
 
+    test_no_kevents();
+
     /* Add the event, and then trigger it */
-    kevent_add(kqfd, &kev, 1, EVFILT_USER, EV_ADD, 0, 0, NULL);    
+    kevent_add(kqfd, &kev, 1, EVFILT_USER, EV_ADD | EV_CLEAR, 0, 0, NULL);    
     kevent_add(kqfd, &kev, 1, EVFILT_USER, 0, NOTE_TRIGGER, 0, NULL);    
 
     kev.fflags &= ~NOTE_FFCTRLMASK;
     kev.fflags &= ~NOTE_TRIGGER;
+    kev.flags = EV_CLEAR;
     kevent_cmp(&kev, kevent_get(kqfd));
 
     test_no_kevents();
@@ -66,6 +69,8 @@ disable_and_enable(void)
 
     test_begin(test_id);
 
+    test_no_kevents();
+
     kevent_add(kqfd, &kev, 1, EVFILT_USER, EV_ADD, 0, 0, NULL); 
     kevent_add(kqfd, &kev, 1, EVFILT_USER, EV_DISABLE, 0, 0, NULL); 
 
@@ -76,7 +81,7 @@ disable_and_enable(void)
     kevent_add(kqfd, &kev, 1, EVFILT_USER, EV_ENABLE, 0, 0, NULL); 
     kevent_add(kqfd, &kev, 1, EVFILT_USER, 0, NOTE_TRIGGER, 0, NULL); 
 
-    kev.flags = 0;
+    kev.flags = EV_CLEAR;
     kev.fflags &= ~NOTE_FFCTRLMASK;
     kev.fflags &= ~NOTE_TRIGGER;
     kevent_cmp(&kev, kevent_get(kqfd));
@@ -92,26 +97,18 @@ oneshot(void)
 
     test_begin(test_id);
 
-    kevent_add(kqfd, &kev, 1, EVFILT_USER, EV_ADD | EV_ONESHOT, 0, 0, NULL);    
+    test_no_kevents();
+
+    kevent_add(kqfd, &kev, 2, EVFILT_USER, EV_ADD | EV_ONESHOT, 0, 0, NULL);
 
     puts("  -- event 1");
-    kevent_add(kqfd, &kev, 1, EVFILT_USER, 0, NOTE_TRIGGER, 0, NULL);    
+    kevent_add(kqfd, &kev, 2, EVFILT_USER, 0, NOTE_TRIGGER, 0, NULL);    
 
-    kev.flags = 0;
+    kev.flags = EV_ONESHOT;
     kev.fflags &= ~NOTE_FFCTRLMASK;
     kev.fflags &= ~NOTE_TRIGGER;
     kevent_cmp(&kev, kevent_get(kqfd));
 
-    /* Try to trigger the event again. It is deleted, so that
-       should be an error. However, on FreeBSD 8 it is not an error,
-       so the event is ignored.
-     */
-    puts("  -- triggering an event that will be ignored");
-    kev.flags = 0; 
-    kev.fflags |= NOTE_TRIGGER;
-    if (kevent(kqfd, &kev, 1, NULL, 0, NULL) < 0)
-        err(1, "%s", test_id);
-
     test_no_kevents();
 
     success();



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912151043.nBFAhKHR061110>