blob: 17fc9dd1dfdee84c508aebebc77d6200f212a26e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>LCOV - lcov.info - ept/core/xapian.test.h</title>
<link rel="stylesheet" type="text/css" href="../../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LTP GCOV extension - code coverage report</td></tr>
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td class="headerItem" width="20%">Current view:</td>
<td class="headerValue" width="80%" colspan=4><a href="../../index.html">directory</a> - <a href="index.html">ept/core</a> - xapian.test.h</td>
</tr>
<tr>
<td class="headerItem" width="20%">Test:</td>
<td class="headerValue" width="80%" colspan=4>lcov.info</td>
</tr>
<tr>
<td class="headerItem" width="20%">Date:</td>
<td class="headerValue" width="20%">2008-08-14</td>
<td width="20%"></td>
<td class="headerItem" width="20%">Instrumented lines:</td>
<td class="headerValue" width="20%">36</td>
</tr>
<tr>
<td class="headerItem" width="20%">Code covered:</td>
<td class="headerValue" width="20%">100.0 %</td>
<td width="20%"></td>
<td class="headerItem" width="20%">Executed lines:</td>
<td class="headerValue" width="20%">36</td>
</tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td><pre class="source">
<span class="lineNum"> 1 </span> : // -*- C++ -*-
<span class="lineNum"> 2 </span> : #include <ept/test.h>
<span class="lineNum"> 3 </span> : #include <ept/core/list.h>
<span class="lineNum"> 4 </span> : #include <ept/core/xapian.h>
<span class="lineNum"> 5 </span> :
<span class="lineNum"> 6 </span> : // TODO temporary, for building test database
<span class="lineNum"> 7 </span> : #include <ept/apt/apt.h>
<span class="lineNum"> 8 </span> : #include <ept/textsearch/textsearch.h>
<span class="lineNum"> 9 </span> : #include <ept/textsearch/maint/path.h>
<span class="lineNum"> 10 </span> :
<span class="lineNum"> 11 </span> : using namespace ept;
<span class="lineNum"> 12 </span> : using namespace core;
<span class="lineNum"> 13 </span> :
<span class="lineNum"> 14 </span> : namespace ept {
<span class="lineNum"> 15 </span> : namespace textsearch {
<span class="lineNum"> 16 </span> : extern size_t max_index;
<span class="lineNum"> 17 </span> : }
<span class="lineNum"> 18 </span> : }
<span class="lineNum"> 19 </span> :
<span class="lineNum"> 20 </span><span class="lineCov"> 4 : struct XapianTestEnvironment : AptTestEnvironment {</span>
<span class="lineNum"> 21 </span> : textsearch::Path::OverrideIndexDir oid;
<span class="lineNum"> 22 </span> : textsearch::TextSearch textsearch;
<span class="lineNum"> 23 </span> : apt::Apt apt;
<span class="lineNum"> 24 </span><span class="lineCov"> 4 : XapianTestEnvironment()</span>
<span class="lineNum"> 25 </span><span class="lineCov"> 4 : : oid( TEST_ENV_DIR "xapian" )</span>
<span class="lineNum"> 26 </span> : {
<span class="lineNum"> 27 </span><span class="lineCov"> 4 : ept::textsearch::max_index = 1000;</span>
<span class="lineNum"> 28 </span><span class="lineCov"> 4 : textsearch.rebuildIfNeeded(apt);</span>
<span class="lineNum"> 29 </span><span class="lineCov"> 4 : }</span>
<span class="lineNum"> 30 </span> : };
<span class="lineNum"> 31 </span> :
<span class="lineNum"> 32 </span><span class="lineCov"> 4 : struct TestXapian : XapianTestEnvironment {</span>
<span class="lineNum"> 33 </span> : xapian::Source xap;
<span class="lineNum"> 34 </span> : xapian::Query query;
<span class="lineNum"> 35 </span> :
<span class="lineNum"> 36 </span><span class="lineCov"> 4 : TestXapian() : query( xap.db() )</span>
<span class="lineNum"> 37 </span> : {
<span class="lineNum"> 38 </span><span class="lineCov"> 4 : query = xap.query( "sgml tool" );</span>
<span class="lineNum"> 39 </span><span class="lineCov"> 4 : }</span>
<span class="lineNum"> 40 </span> :
<span class="lineNum"> 41 </span><span class="lineCov"> 1 : Test enquire() {</span>
<span class="lineNum"> 42 </span><span class="lineCov"> 1 : query.updateEnquire();</span>
<span class="lineNum"> 43 </span><span class="lineCov"> 1 : Xapian::MSet matches = query.m_enq.get_mset(0, 100);</span>
<span class="lineNum"> 44 </span><span class="lineCov"> 1 : assert( matches.size() > 0 );</span>
<span class="lineNum"> 45 </span><span class="lineCov"> 2 : assert_eq( matches.begin().get_document().get_data(), "psgml" );</span>
<span class="lineNum"> 46 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 47 </span> :
<span class="lineNum"> 48 </span><span class="lineCov"> 1 : Test listCount() {</span>
<span class="lineNum"> 49 </span><span class="lineCov"> 1 : xapian::List l( query.results() );</span>
<span class="lineNum"> 50 </span><span class="lineCov"> 1 : Xapian::MSet matches = query.m_enq.get_mset(0, 6000);</span>
<span class="lineNum"> 51 </span><span class="lineCov"> 1 : assert_eq( list::count( l ), matches.size() );</span>
<span class="lineNum"> 52 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 53 </span> :
<span class="lineNum"> 54 </span> : template< typename List >
<span class="lineNum"> 55 </span><span class="lineCov"> 1 : void checkXapianList( List l, Xapian::MSet m ) {</span>
<span class="lineNum"> 56 </span><span class="lineCov"> 1 : Xapian::MSet::const_iterator i = m.begin();</span>
<span class="lineNum"> 57 </span><span class="lineCov"> 16 : while (! l.empty() ) {</span>
<span class="lineNum"> 58 </span><span class="lineCov"> 14 : assert_eq( l.token().package(), i.get_document().get_data() );</span>
<span class="lineNum"> 59 </span><span class="lineCov"> 14 : l = l.tail();</span>
<span class="lineNum"> 60 </span><span class="lineCov"> 15 : ++ i;</span>
<span class="lineNum"> 61 </span> : }
<span class="lineNum"> 62 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 63 </span> :
<span class="lineNum"> 64 </span><span class="lineCov"> 1 : Test list() {</span>
<span class="lineNum"> 65 </span><span class="lineCov"> 1 : xapian::List l( query.results() );</span>
<span class="lineNum"> 66 </span><span class="lineCov"> 1 : Xapian::MSet matches = query.m_enq.get_mset(0, 6000);</span>
<span class="lineNum"> 67 </span><span class="lineCov"> 1 : checkXapianList( l, matches );</span>
<span class="lineNum"> 68 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 69 </span> :
<span class="lineNum"> 70 </span><span class="lineCov"> 1 : Test checkQuery() {</span>
<span class="lineNum"> 71 </span><span class="lineCov"> 1 : assert_eq( xap.query( "sgml tool" ).results().token().package(), "psgml" );</span>
<span class="lineNum"> 72 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 73 </span> :
<span class="lineNum"> 74 </span> : };
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LTP GCOV extension version 1.6</a></td></tr>
</table>
<br>
</body>
</html>
|