1   ____  _   _
2  |  _ \| |_| |__
3  | |_) | __| '_ \           ``It doesn't need to be
4  |  __/| |_| | | |            tested, because it works.''
5  |_|    \__|_| |_|                 -- Richard Holloway
6
7  GNU Pth - The GNU Portable Threads
8
9  TESTS
10  =====
11
12  GNU Pth was successfully tested with the following real-world
13  applications (which are not just trivial sample applications unlike
14  the shipped test_xxx programs):
15
16    o Apache    (webserver)
17    o MySQL     (relational database system)
18    o OpenLDAP  (LDAP toolkit)
19    o pidentd   (IDENT daemon)
20    o Perl      (scripting language)
21    o Python    (scripting language)
22    o gFTP      (FTP client)
23    o NakenChat (chat server)
24
25  Details of the tests follow:
26
27  Package:  Apache
28  Version:  2.0-dev
29  URL:      http://www.apache.org/
30  Pth:      1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
31  Platform: i686-pc-freebsd3.1
32  Tester:   Ralf S. Engelschall <rse@engelschall.com>
33  Date:     30-Aug-1999
34  Config:   CFLAGS="`pthread-config --cflags` \
35                     -DPTHREAD_EVERYWHERE \
36                     -DNO_SERIALIZED_ACCEPT"
37            LDFLAGS="`pthread-config --ldflags`"
38            LIBS="`pthread-config --libs`"
39            --set-rule=MPM_METHOD:dexter
40  Comment:  Apache 2.0-dev is a developer version, `dexter'
41            is a MPM (multi process model) module based on Pthreads.
42            The server served around 1000 requests per second.
43
44  Package:  MySQL
45  Version:  3.22.25
46  URL:      http://www.mysql.com/
47  Pth:      1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
48  Platform: i686-pc-freebsd3.1
49  Tester:   Ralf S. Engelschall <rse@engelschall.com>
50  Date:     30-Aug-1999
51  Config:   CC=egcc CXX=eg++ \
52            CFLAGS="`pthread-config --cflags`" \
53            CXXFLAGS="`pthread-config --cflags`" \
54            LDFLAGS="`pthread-config --ldflags`" \
55            ./configure \
56            --prefix=/tmp/mysql \
57            --without-mit-pthreads \
58            --with-pthread \
59            --with-named-thread-libs="`pthread-config --libs`"
60  Comment:  MySQL seems to work fine with Pth. I was able to run
61            the tests from the INSTALL/README documents, i.e. a create
62            table, a few inserts and a select and the server served them
63            fine.
64
65  Package:  OpenLDAP
66  Version:  2.0-dev
67  URL:      http://www.openldap.org/
68  Pth:      1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
69  Platform: i686-pc-freebsd3.1
70  Tester:   Ralf S. Engelschall <rse@engelschall.com>
71  Date:     01-Sep-1999
72  Config:   CPPFLAGS="`pth-config --cflags`" \
73            LDFLAGS="`pth-config --ldflags`" \
74            ./configure --prefix=/tmp/openldap \
75            --with-threads=pth
76  Comments: Still not tested under runtime, just compiled the beast.
77            Interesting is that OpenLDAP has native Pth support.
78
79  Package:  pidentd
80  Version:  3.1a14
81  URL:      ftp://ftp.lysator.liu.se/pub/unix/ident/servers/
82  Pth:      1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
83  Platform: i686-pc-freebsd3.1
84  Tester:   Ralf S. Engelschall <rse@engelschall.com>
85  Date:     30-Aug-1999
86  Config:   CFLAGS="`pthread-config --cflags`" \
87            LDFLAGS="`pthread-config --ldflags`" \
88            LIBS="`pthread-config --libs`" \
89            ./configure \
90            --prefix=/tmp/pindent \
91            --with-threads
92  Comment:  I had to change ``CC="$CC -pthread"'' in `configure' with
93            ``: CC="$CC -pthread"'' in order to avoid the use uthreads under
94            FreeBSD.
95
96  Package:  Perl
97  Version:  5.005_03
98  URL:      http://www.perl.com/
99  Pth:      1.2b1 [--enable-pthread --disable-shared
100                   --enable-syscall-soft --enable-syscall-hard]
101  Platform: i686-pc-freebsd3.1
102  Tester:   Ralf S. Engelschall <rse@engelschall.com>
103  Date:     02-Sep-1999
104  Config:   ./Configure \
105            -Dusethreads -des \
106            -Dccflags="`pthread-config --cflags`" \
107            -Dlibs="`pthread-config --ldflags --libs` -lm" \
108            -Dprefix=/tmp/perl
109  Comment:  I've tried all tests ext/Thread/*.t. All worked fine,
110            except for the io.t. Even with Pth's --enable-syscall-hard
111            Perl seems to use direct I/O for the <STDIN> facility. So
112            the Pth support for Perl is still not 100%. But perhaps
113            one can make it complete by using PerlIO abstraction layer
114            (either directly to use pth_read/write or via Sfio and
115            pth_sfdisc)? Additionally I had to deactivate the -pthread
116            in hints/freebsd to get rid of uthread under FreeBSD.
117
118  Package:  Python
119  Version:  1.5.2
120  URL:      http://www.python.org/
121  Pth:      1.2b1 [--enable-pthread --disable-shared --enable-syscall-soft]
122  Platform: i686-pc-freebsd3.1
123  Tester:   Ralf S. Engelschall <rse@engelschall.com>
124  Date:     01-Sep-1999
125  Config:   CC="cc `pthread-config --cflags`" \
126            LDFLAGS="`pthread-config --ldflags`" \
127            LIBS="`pthread-config --ldflags --libs`" \
128            ./configure \
129            --prefix=/tmp/python \
130            --with-thread
131  Comment:  The configure stuff of Python was a little bit strange
132            (using CFLAGS or CPPFLAGS didn't work), but except for this
133            Python worked fine. It even passed its "make test" and there
134            also the test_thread. Seems to work fine with Pth.
135
136  Package:  gFTP
137  Version:  2.0.5a
138  URL:      http://gftp.seul.org/
139  Pth:      1.2b6 [--enable-pthread --disable-shared --enable-syscall-soft]
140  Platform: i686-pc-freebsd3.1
141  Tester:   Ralf S. Engelschall <rse@engelschall.com>
142  Date:     04-Oct-1999
143  Config:   CC="cc `pthread-config --cflags`" \
144            LDFLAGS="`pthread-config --ldflags` `pthread-config --ldflags --libs`" \
145            ./configure \
146            --prefix=/tmp/gftp
147  Comment:  none
148
149  Package:  NakenChat
150  Version:  1.10
151  URL:      http://home.i1.net/~naken/nakenchat/
152  Pth:      1.2b7 [--enable-pthread]
153  Platform: i686-pc-freebsd3.1
154  Tester:   Ralf S. Engelschall <rse@engelschall.com>
155  Date:     19-Oct-1999
156  Config:   cc `pthread-config --cflags` \
157               -onakenchat nakenchat.c \
158               `pthread-config --ldflags --libs`
159  Comment:  none
160
161