Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_kqueue.py @ 71285:8bc9dbc61ba6 3.2
Issue #12326: document the recommended idiom for checking sys.platform on Unix systems.
Also, point to the various alternatives.
| author | Antoine Pitrou <solipsis@pitrou.net> |
|---|---|
| date | Sat, 09 Jul 2011 15:54:23 +0200 |
| parents | fdb98a7ef9be |
| children | 96776fc3cbcc 50d19c2fac82 |
| rev | line source |
|---|---|
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
1 """ |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
2 Tests for kqueue wrapper. |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
3 """ |
|
71074
fdb98a7ef9be
Issue #12400: Add missing import (os) to test_kqueue
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71066
diff
changeset
|
4 import errno |
|
fdb98a7ef9be
Issue #12400: Add missing import (os) to test_kqueue
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71066
diff
changeset
|
5 import os |
|
fdb98a7ef9be
Issue #12400: Add missing import (os) to test_kqueue
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71066
diff
changeset
|
6 import select |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
7 import socket |
|
71074
fdb98a7ef9be
Issue #12400: Add missing import (os) to test_kqueue
Victor Stinner <victor.stinner@haypocalc.com>
parents:
71066
diff
changeset
|
8 import sys |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
9 import time |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
10 import unittest |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
11 |
|
47201
9c930a32cebb
#2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents:
45996
diff
changeset
|
12 from test import support |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
13 if not hasattr(select, "kqueue"): |
|
52389
d4e7470bd660
Merged revisions 70554,70588-70589,70598,70605,70611-70621,70623-70624,70626-70627 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents:
51122
diff
changeset
|
14 raise unittest.SkipTest("test works only on BSD") |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
15 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
16 class TestKQueue(unittest.TestCase): |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
17 def test_create_queue(self): |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
18 kq = select.kqueue() |
|
55593
0bb232078b8c
Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents:
52389
diff
changeset
|
19 self.assertTrue(kq.fileno() > 0, kq.fileno()) |
|
0bb232078b8c
Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents:
52389
diff
changeset
|
20 self.assertTrue(not kq.closed) |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
21 kq.close() |
|
55593
0bb232078b8c
Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents:
52389
diff
changeset
|
22 self.assertTrue(kq.closed) |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
23 self.assertRaises(ValueError, kq.fileno) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
24 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
25 def test_create_event(self): |
|
51122
adbd77a90bde
Merged revisions 69025 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
51016
diff
changeset
|
26 from operator import lt, le, gt, ge |
|
71066
74c6afbb524a
Issue #12400: don't use sys.stderr in test_kqueue because it may be replaced by
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68257
diff
changeset
|
27 |
|
74c6afbb524a
Issue #12400: don't use sys.stderr in test_kqueue because it may be replaced by
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68257
diff
changeset
|
28 fd = os.open(os.devnull, os.O_WRONLY) |
|
74c6afbb524a
Issue #12400: don't use sys.stderr in test_kqueue because it may be replaced by
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68257
diff
changeset
|
29 self.addCleanup(os.close, fd) |
|
74c6afbb524a
Issue #12400: don't use sys.stderr in test_kqueue because it may be replaced by
Victor Stinner <victor.stinner@haypocalc.com>
parents:
68257
diff
changeset
|
30 |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
31 ev = select.kevent(fd) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
32 other = select.kevent(1000) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
33 self.assertEqual(ev.ident, fd) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
34 self.assertEqual(ev.filter, select.KQ_FILTER_READ) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
35 self.assertEqual(ev.flags, select.KQ_EV_ADD) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
36 self.assertEqual(ev.fflags, 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
37 self.assertEqual(ev.data, 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
38 self.assertEqual(ev.udata, 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
39 self.assertEqual(ev, ev) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
40 self.assertNotEqual(ev, other) |
|
55593
0bb232078b8c
Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents:
52389
diff
changeset
|
41 self.assertTrue(ev < other) |
|
0bb232078b8c
Merged revisions 73715 via svnmerge from
Georg Brandl <georg@python.org>
parents:
52389
diff
changeset
|
42 self.assertTrue(other >= ev) |
|
51122
adbd77a90bde
Merged revisions 69025 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
51016
diff
changeset
|
43 for op in lt, le, gt, ge: |
|
adbd77a90bde
Merged revisions 69025 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
51016
diff
changeset
|
44 self.assertRaises(TypeError, op, ev, None) |
|
adbd77a90bde
Merged revisions 69025 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
51016
diff
changeset
|
45 self.assertRaises(TypeError, op, ev, 1) |
|
adbd77a90bde
Merged revisions 69025 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
51016
diff
changeset
|
46 self.assertRaises(TypeError, op, ev, "ev") |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
47 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
48 ev = select.kevent(fd, select.KQ_FILTER_WRITE) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
49 self.assertEqual(ev.ident, fd) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
50 self.assertEqual(ev.filter, select.KQ_FILTER_WRITE) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
51 self.assertEqual(ev.flags, select.KQ_EV_ADD) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
52 self.assertEqual(ev.fflags, 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
53 self.assertEqual(ev.data, 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
54 self.assertEqual(ev.udata, 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
55 self.assertEqual(ev, ev) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
56 self.assertNotEqual(ev, other) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
57 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
58 ev = select.kevent(fd, select.KQ_FILTER_WRITE, select.KQ_EV_ONESHOT) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
59 self.assertEqual(ev.ident, fd) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
60 self.assertEqual(ev.filter, select.KQ_FILTER_WRITE) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
61 self.assertEqual(ev.flags, select.KQ_EV_ONESHOT) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
62 self.assertEqual(ev.fflags, 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
63 self.assertEqual(ev.data, 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
64 self.assertEqual(ev.udata, 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
65 self.assertEqual(ev, ev) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
66 self.assertNotEqual(ev, other) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
67 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
68 ev = select.kevent(1, 2, 3, 4, 5, 6) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
69 self.assertEqual(ev.ident, 1) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
70 self.assertEqual(ev.filter, 2) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
71 self.assertEqual(ev.flags, 3) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
72 self.assertEqual(ev.fflags, 4) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
73 self.assertEqual(ev.data, 5) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
74 self.assertEqual(ev.udata, 6) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
75 self.assertEqual(ev, ev) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
76 self.assertNotEqual(ev, other) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
77 |
|
57113
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
78 bignum = sys.maxsize * 2 + 1 |
|
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
79 ev = select.kevent(bignum, 1, 2, 3, sys.maxsize, bignum) |
|
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
80 self.assertEqual(ev.ident, bignum) |
|
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
81 self.assertEqual(ev.filter, 1) |
|
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
82 self.assertEqual(ev.flags, 2) |
|
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
83 self.assertEqual(ev.fflags, 3) |
|
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
84 self.assertEqual(ev.data, sys.maxsize) |
|
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
85 self.assertEqual(ev.udata, bignum) |
|
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
86 self.assertEqual(ev, ev) |
|
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
87 self.assertNotEqual(ev, other) |
|
f89a93a778a8
Merged revisions 76108 via svnmerge from
Antoine Pitrou <solipsis@pitrou.net>
parents:
55618
diff
changeset
|
88 |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
89 def test_queue_event(self): |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
90 serverSocket = socket.socket() |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
91 serverSocket.bind(('127.0.0.1', 0)) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
92 serverSocket.listen(1) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
93 client = socket.socket() |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
94 client.setblocking(False) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
95 try: |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
96 client.connect(('127.0.0.1', serverSocket.getsockname()[1])) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
97 except socket.error as e: |
|
66340
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
55618
diff
changeset
|
98 self.assertEqual(e.args[0], errno.EINPROGRESS) |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
99 else: |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
100 #raise AssertionError("Connect should have raised EINPROGRESS") |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
101 pass # FreeBSD doesn't raise an exception here |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
102 server, addr = serverSocket.accept() |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
103 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
104 if sys.platform.startswith("darwin"): |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
105 flags = select.KQ_EV_ADD | select.KQ_EV_ENABLE |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
106 else: |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
107 flags = 0 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
108 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
109 kq = select.kqueue() |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
110 kq2 = select.kqueue.fromfd(kq.fileno()) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
111 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
112 ev = select.kevent(server.fileno(), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
113 select.KQ_FILTER_WRITE, |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
114 select.KQ_EV_ADD | select.KQ_EV_ENABLE) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
115 kq.control([ev], 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
116 ev = select.kevent(server.fileno(), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
117 select.KQ_FILTER_READ, |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
118 select.KQ_EV_ADD | select.KQ_EV_ENABLE) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
119 kq.control([ev], 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
120 ev = select.kevent(client.fileno(), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
121 select.KQ_FILTER_WRITE, |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
122 select.KQ_EV_ADD | select.KQ_EV_ENABLE) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
123 kq2.control([ev], 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
124 ev = select.kevent(client.fileno(), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
125 select.KQ_FILTER_READ, |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
126 select.KQ_EV_ADD | select.KQ_EV_ENABLE) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
127 kq2.control([ev], 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
128 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
129 events = kq.control(None, 4, 1) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
130 events = [(e.ident, e.filter, e.flags) for e in events] |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
131 events.sort() |
|
66340
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
55618
diff
changeset
|
132 self.assertEqual(events, [ |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
133 (client.fileno(), select.KQ_FILTER_WRITE, flags), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
134 (server.fileno(), select.KQ_FILTER_WRITE, flags)]) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
135 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
136 client.send(b"Hello!") |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
137 server.send(b"world!!!") |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
138 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
139 # We may need to call it several times |
|
51016
578dd78fb557
Merged revisions 68900 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
47201
diff
changeset
|
140 for i in range(10): |
|
578dd78fb557
Merged revisions 68900 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
47201
diff
changeset
|
141 events = kq.control(None, 4, 1) |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
142 if len(events) == 4: |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
143 break |
|
51016
578dd78fb557
Merged revisions 68900 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
47201
diff
changeset
|
144 time.sleep(1.0) |
|
578dd78fb557
Merged revisions 68900 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
47201
diff
changeset
|
145 else: |
|
578dd78fb557
Merged revisions 68900 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
47201
diff
changeset
|
146 self.fail('timeout waiting for event notifications') |
|
578dd78fb557
Merged revisions 68900 via svnmerge from
Mark Dickinson <dickinsm@gmail.com>
parents:
47201
diff
changeset
|
147 |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
148 events = [(e.ident, e.filter, e.flags) for e in events] |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
149 events.sort() |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
150 |
|
66340
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
55618
diff
changeset
|
151 self.assertEqual(events, [ |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
152 (client.fileno(), select.KQ_FILTER_WRITE, flags), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
153 (client.fileno(), select.KQ_FILTER_READ, flags), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
154 (server.fileno(), select.KQ_FILTER_WRITE, flags), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
155 (server.fileno(), select.KQ_FILTER_READ, flags)]) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
156 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
157 # Remove completely client, and server read part |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
158 ev = select.kevent(client.fileno(), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
159 select.KQ_FILTER_WRITE, |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
160 select.KQ_EV_DELETE) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
161 kq.control([ev], 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
162 ev = select.kevent(client.fileno(), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
163 select.KQ_FILTER_READ, |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
164 select.KQ_EV_DELETE) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
165 kq.control([ev], 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
166 ev = select.kevent(server.fileno(), |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
167 select.KQ_FILTER_READ, |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
168 select.KQ_EV_DELETE) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
169 kq.control([ev], 0, 0) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
170 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
171 events = kq.control([], 4, 0.99) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
172 events = [(e.ident, e.filter, e.flags) for e in events] |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
173 events.sort() |
|
66340
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
55618
diff
changeset
|
174 self.assertEqual(events, [ |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
175 (server.fileno(), select.KQ_FILTER_WRITE, flags)]) |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
176 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
177 client.close() |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
178 server.close() |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
179 serverSocket.close() |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
180 |
|
55618
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
181 def testPair(self): |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
182 kq = select.kqueue() |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
183 a, b = socket.socketpair() |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
184 |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
185 a.send(b'foo') |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
186 event1 = select.kevent(a, select.KQ_FILTER_READ, select.KQ_EV_ADD | select.KQ_EV_ENABLE) |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
187 event2 = select.kevent(b, select.KQ_FILTER_READ, select.KQ_EV_ADD | select.KQ_EV_ENABLE) |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
188 r = kq.control([event1, event2], 1, 1) |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
189 self.assertTrue(r) |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
190 self.assertFalse(r[0].flags & select.KQ_EV_ERROR) |
|
66340
2beb25369289
Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents:
55618
diff
changeset
|
191 self.assertEqual(b.recv(r[0].data), b'foo') |
|
55618
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
192 |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
193 a.close() |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
194 b.close() |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
195 kq.close() |
|
0148417e1301
Merged revisions 74055 via svnmerge from
Georg Brandl <georg@python.org>
parents:
55593
diff
changeset
|
196 |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
197 def test_main(): |
|
47201
9c930a32cebb
#2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents:
45996
diff
changeset
|
198 support.run_unittest(TestKQueue) |
|
45996
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
199 |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
200 if __name__ == "__main__": |
|
376b5cb8a014
Merged revisions 61687-61688,61696,61700,61704-61705,61707-61709,61711-61712,61714-61716,61718-61722 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents:
diff
changeset
|
201 test_main() |
