annotate Lib/test/test_select.py @ 87690:66c1c9f32567 default tip

Add use_weakref option to functools.lru_cache The use_weakref option makes lru_cache create weak references to the function arguments when creating the cache key, which prevents them from staying in the memory forever even after all other references to them are gone. This is a proof of concept for http://bugs.python.org/issue19859
author Radomir Dopieralski <devel@sheep.art.pl>
date Tue, 03 Dec 2013 16:02:48 +0100
parents eb8032781eba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
72896
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
1 import errno
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
2 import os
4691
8015c5549309 A test of the select module that is actually reproduceable!
Barry Warsaw <barry@python.org>
parents: 1416
diff changeset
3 import select
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
4 import sys
72896
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
5 import unittest
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
6 from test import support
4691
8015c5549309 A test of the select module that is actually reproduceable!
Barry Warsaw <barry@python.org>
parents: 1416
diff changeset
7
80524
6b74a93a2b8a Remove sys.platform == 'riscos' checks from some Python and test files. #16501
Christian Heimes <christian@cheimes.de>
parents: 80163
diff changeset
8 @unittest.skipIf((sys.platform[:3]=='win'),
60423
ba5ec7560933 Merged revisions 79866-79867 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 47201
diff changeset
9 "can't easily test on this system")
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
10 class SelectTestCase(unittest.TestCase):
4691
8015c5549309 A test of the select module that is actually reproduceable!
Barry Warsaw <barry@python.org>
parents: 1416
diff changeset
11
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
12 class Nope:
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
13 pass
4691
8015c5549309 A test of the select module that is actually reproduceable!
Barry Warsaw <barry@python.org>
parents: 1416
diff changeset
14
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
15 class Almost:
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
16 def fileno(self):
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
17 return 'fileno'
15305
07f24261c6e6 Make reindent.py happy (convert everything to 4-space indents!).
Fred Drake <fdrake@acm.org>
parents: 13707
diff changeset
18
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
19 def test_error_conditions(self):
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
20 self.assertRaises(TypeError, select.select, 1, 2, 3)
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
21 self.assertRaises(TypeError, select.select, [self.Nope()], [], [])
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
22 self.assertRaises(TypeError, select.select, [self.Almost()], [], [])
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
23 self.assertRaises(TypeError, select.select, [], [], [], "not a number")
69224
3982be773b54 Issue #11757: select.select() now raises ValueError when a negative timeout
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
24 self.assertRaises(ValueError, select.select, [], [], [], -1)
4691
8015c5549309 A test of the select module that is actually reproduceable!
Barry Warsaw <barry@python.org>
parents: 1416
diff changeset
25
72964
f6b8e4226260 Issue #12367: Test test_select.test_errno() on FreeBSD
Victor Stinner <victor.stinner@haypocalc.com>
parents: 72947
diff changeset
26 # Issue #12367: http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/155606
f6b8e4226260 Issue #12367: Test test_select.test_errno() on FreeBSD
Victor Stinner <victor.stinner@haypocalc.com>
parents: 72947
diff changeset
27 @unittest.skipIf(sys.platform.startswith('freebsd'),
f6b8e4226260 Issue #12367: Test test_select.test_errno() on FreeBSD
Victor Stinner <victor.stinner@haypocalc.com>
parents: 72947
diff changeset
28 'skip because of a FreeBSD bug: kern/155606')
72896
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
29 def test_errno(self):
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
30 with open(__file__, 'rb') as fp:
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
31 fd = fp.fileno()
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
32 fp.close()
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
33 try:
72947
60fecfbea397 test_select: use a timeout=0 in test_errno()
Victor Stinner <victor.stinner@haypocalc.com>
parents: 72896
diff changeset
34 select.select([fd], [], [], 0)
80920
eb8032781eba Issue #16704: Get rid of select.error in stdlib. Use OSError instead.
Andrew Svetlov <andrew.svetlov@gmail.com>
parents: 80524
diff changeset
35 except OSError as err:
72896
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
36 self.assertEqual(err.errno, errno.EBADF)
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
37 else:
8bbfb24d4824 Issue #12367: Add a test on error attribute of select.error
Victor Stinner <victor.stinner@haypocalc.com>
parents: 69224
diff changeset
38 self.fail("exception not raised")
4691
8015c5549309 A test of the select module that is actually reproduceable!
Barry Warsaw <barry@python.org>
parents: 1416
diff changeset
39
60423
ba5ec7560933 Merged revisions 79866-79867 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 47201
diff changeset
40 def test_returned_list_identity(self):
ba5ec7560933 Merged revisions 79866-79867 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 47201
diff changeset
41 # See issue #8329
ba5ec7560933 Merged revisions 79866-79867 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 47201
diff changeset
42 r, w, x = select.select([], [], [], 1)
ba5ec7560933 Merged revisions 79866-79867 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 47201
diff changeset
43 self.assertIsNot(r, w)
ba5ec7560933 Merged revisions 79866-79867 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 47201
diff changeset
44 self.assertIsNot(r, x)
ba5ec7560933 Merged revisions 79866-79867 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 47201
diff changeset
45 self.assertIsNot(w, x)
ba5ec7560933 Merged revisions 79866-79867 via svnmerge from
Benjamin Peterson <benjamin@python.org>
parents: 47201
diff changeset
46
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
47 def test_select(self):
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
48 cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
49 p = os.popen(cmd, 'r')
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
50 for tout in (0, 1, 2, 4, 8, 16) + (None,)*10:
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 45773
diff changeset
51 if support.verbose:
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
52 print('timeout =', tout)
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
53 rfd, wfd, xfd = select.select([p], [], [], tout)
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
54 if (rfd, wfd, xfd) == ([], [], []):
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
55 continue
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
56 if (rfd, wfd, xfd) == ([p], [], []):
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
57 line = p.readline()
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 45773
diff changeset
58 if support.verbose:
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
59 print(repr(line))
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
60 if not line:
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 45773
diff changeset
61 if support.verbose:
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
62 print('EOF')
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
63 break
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
64 continue
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
65 self.fail('Unexpected return values from select():', rfd, wfd, xfd)
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
66 p.close()
1407
b9fcfb99a3e5 * test_select.py: (some) tests for built-in select module
Guido van Rossum <guido@python.org>
parents:
diff changeset
67
80161
87ccf2635ad7 Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
68 # Issue 16230: Crash on select resized list
87ccf2635ad7 Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
69 def test_select_mutated(self):
87ccf2635ad7 Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
70 a = []
87ccf2635ad7 Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
71 class F:
87ccf2635ad7 Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
72 def fileno(self):
87ccf2635ad7 Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
73 del a[-1]
87ccf2635ad7 Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
74 return sys.__stdout__.fileno()
87ccf2635ad7 Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
75 a[:] = [F()] * 10
87ccf2635ad7 Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
76 self.assertEqual(select.select([], a, []), ([], a[:5], []))
87ccf2635ad7 Issue #16230: Fix a crash in select.select() when one the lists changes size while iterated on.
Antoine Pitrou <solipsis@pitrou.net>
parents: 61259
diff changeset
77
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
78 def test_main():
47201
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 45773
diff changeset
79 support.run_unittest(SelectTestCase)
9c930a32cebb #2621 rename test.test_support to test.support
Benjamin Peterson <benjamin@python.org>
parents: 45773
diff changeset
80 support.reap_children()
1407
b9fcfb99a3e5 * test_select.py: (some) tests for built-in select module
Guido van Rossum <guido@python.org>
parents:
diff changeset
81
45773
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
82 if __name__ == "__main__":
832c820e9d14 Merged revisions 61239-61249,61252-61257,61260-61264,61269-61275,61278-61279,61285-61286,61288-61290,61298,61303-61305,61312-61314,61317,61329,61332,61344,61350-61351,61363-61376,61378-61379,61382-61383,61387-61388,61392,61395-61396,61402-61403 via svnmerge from
Christian Heimes <christian@cheimes.de>
parents: 42632
diff changeset
83 test_main()