1 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"
2 "http://www.oasis-open.org/docbook/xml/4.1/docbookx.dtd"
4 <!ENTITY % local SYSTEM "local.ent">
6 <!ENTITY % entities SYSTEM "entities.ent">
8 <!ENTITY % idcommon SYSTEM "common/common.ent">
10 <!ENTITY gfs-synopsis-app "yaz-ztest">
11 <!ENTITY reference-tools-cql-map 'section "Specifiction of CQL to RPN mappings"'>
12 <!ENTITY reference-tools-cql-map 'section "CCL Qualifiers"'>
14 <refentry id="yaz-ztest">
16 <productname>YAZ</productname>
17 <productnumber>&version;</productnumber>
21 <refentrytitle>yaz-ztest</refentrytitle>
22 <manvolnum>8</manvolnum>
26 <refname>yaz-ztest</refname>
27 <refpurpose>Z39.50 Test Server</refpurpose>
33 <refsect1><title>DESCRIPTION</title>
35 <command>yaz-ztest</command> is a Z39.50 test server that uses
36 the YAZ generic frontend server API.
37 The server acts as a real Z39.50 server but does not use a database.
38 It returns a random hit count and returns a subset of a few built-in
42 The <replaceable>listener-spec</replaceable> consists of a transport
43 mode followed by a colon, followed by a listener address. The
44 transport mode is either <literal>tcp</literal>, <literal>unix</literal>,
45 or <literal>ssl</literal>.
48 For TCP and SSL, an address has the form:
50 hostname | IP-number [ : portnumber ]
54 For UNIX local socket the address is the filename of the local socket.
58 <title>OPTIONS</title>
62 <title>TESTING</title>
64 <command>yaz-ztest</command> normally returns a random hit count between
65 0 and 24. However, if a query term includes leading digits, then the
66 integer value of that term is used as hit count. This allows testers
67 to return any number of hits. <command>yaz-ztest</command> includes
68 24 MARC records for testing. Hit counts exceeding 24 will make
69 <command>yaz-ztest</command> return the same record batch over and over..
70 So record at position 1, 25, 49, etc .. are equivalent.
73 The following databases are honored by <command>yaz-ztest</command>:
74 <literal>Default</literal>, <literal>slow</literal>
75 and <literal>db.*</literal> (all databases with prefix "db"). Any
76 other database will make <command>yaz-ztest</command> return diagnostic
77 109: "Database unavailable".
80 Options for search may be included in the form or URL get arguments
81 included as part of the Z39.50 database name. The following
82 database options are present: <literal>search-delay</literal>,
83 <literal>present-delay</literal>, <literal>fetch-delay</literal>
84 and <literal>seed</literal>.
87 The former, delay type options, specify
88 a fake delay (sleep) that <command>yaz-ztest</command> will perform
89 when searching, presenting, fetching records respectively.
90 The value of the delay may either be a fixed floating point
91 value which specifies the delay in seconds.
92 Alternatively the value may be given as two floating point numbers
93 separated by colon, which wil make <command>yaz-ztest</command> perform
94 a random sleep between the first and second number.
97 The database parameter <literal>seed</literal> takes an integer
98 as value. This will call <literal>srand</literal> with this integer to
99 ensure that the random behavior can be re-played.
102 Suppose we want searches to take between 0.1 and 0.5 seconds and
103 a fetch to take 0.2 second. To access test database Default we'd use:
104 <literal>Default?search-delay=0.1:0.5&fetch-delay=0.2</literal>.
107 <refsect1><title>GFS CONFIGURATION AND VIRTUAL HOSTS</title>
110 <refsect1><title>FILES</title>
112 <filename>yaz-<version>/ztest/yaz-ztest.c</filename>
115 <filename>yaz-<version>/include/yaz/backend.h</filename>
118 <refsect1><title>SEE ALSO</title>
121 <refentrytitle>yaz</refentrytitle>
122 <manvolnum>7</manvolnum>
125 <refentrytitle>yaz-log</refentrytitle>
126 <manvolnum>7</manvolnum>
132 <!-- Keep this comment at the end of the file
137 sgml-minimize-attributes:nil
138 sgml-always-quote-attributes:t
141 sgml-parent-document:nil
142 sgml-local-catalogs: nil
143 sgml-namecase-general:t