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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
<!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/apt.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> - apt.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%">60</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%">60</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/config.h>
<span class="lineNum"> 3 </span> : #include <ept/core/apt.h>
<span class="lineNum"> 4 </span> : #include <ept/core/list.h>
<span class="lineNum"> 5 </span> : #include <ept/test.h>
<span class="lineNum"> 6 </span> :
<span class="lineNum"> 7 </span> : using namespace ept::core;
<span class="lineNum"> 8 </span> :
<span class="lineNum"> 9 </span> : struct TestCoreApt : AptTestEnvironment
<span class="lineNum"> 10 </span><span class="lineCov"> 12 : {</span>
<span class="lineNum"> 11 </span> : package::Source pkgs;
<span class="lineNum"> 12 </span> : version::Source vers;
<span class="lineNum"> 13 </span> : ept::Token t;
<span class="lineNum"> 14 </span> :
<span class="lineNum"> 15 </span><span class="lineCov"> 12 : TestCoreApt() : pkgs( db ), vers( db ) {</span>
<span class="lineNum"> 16 </span><span class="lineCov"> 12 : t._id = "sp";</span>
<span class="lineNum"> 17 </span><span class="lineCov"> 12 : }</span>
<span class="lineNum"> 18 </span> :
<span class="lineNum"> 19 </span><span class="lineCov"> 1 : Test token() {</span>
<span class="lineNum"> 20 </span><span class="lineCov"> 1 : assert_eq( t.package(), "sp" );</span>
<span class="lineNum"> 21 </span><span class="lineCov"> 2 : assert_eq( t.version(), "" );</span>
<span class="lineNum"> 22 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 23 </span> :
<span class="lineNum"> 24 </span><span class="lineCov"> 1 : Test tokenVersion() {</span>
<span class="lineNum"> 25 </span><span class="lineCov"> 1 : ept::Token t2;</span>
<span class="lineNum"> 26 </span><span class="lineCov"> 1 : t2._id = "libwibble-dev_0.1.10";</span>
<span class="lineNum"> 27 </span><span class="lineCov"> 1 : assert_eq( t2.package(), "libwibble-dev" );</span>
<span class="lineNum"> 28 </span><span class="lineCov"> 1 : assert_eq( t2.version(), "0.1.10" );</span>
<span class="lineNum"> 29 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 30 </span> :
<span class="lineNum"> 31 </span><span class="lineCov"> 1 : Test packageName() {</span>
<span class="lineNum"> 32 </span><span class="lineCov"> 1 : assert_eq( t.package(), pkgs.get< package::Name >( t ) );</span>
<span class="lineNum"> 33 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 34 </span> :
<span class="lineNum"> 35 </span> : template< typename List >
<span class="lineNum"> 36 </span><span class="lineCov"> 1 : void checkPackageNameList( List l ) {</span>
<span class="lineNum"> 37 </span><span class="lineCov"> 3779 : while ( !l.empty() ) {</span>
<span class="lineNum"> 38 </span><span class="lineCov"> 3777 : assert_eq( l.token().package(), l.property() );</span>
<span class="lineNum"> 39 </span><span class="lineCov"> 3777 : l = l.tail();</span>
<span class="lineNum"> 40 </span> : }
<span class="lineNum"> 41 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 42 </span> :
<span class="lineNum"> 43 </span> : template< typename List >
<span class="lineNum"> 44 </span><span class="lineCov"> 1 : void checkVersionPackageList( List l ) {</span>
<span class="lineNum"> 45 </span><span class="lineCov"> 1810 : while ( !l.empty() ) {</span>
<span class="lineNum"> 46 </span><span class="lineCov"> 1808 : assert_eq( l.property().package(), l.token().package() );</span>
<span class="lineNum"> 47 </span><span class="lineCov"> 3616 : assert_eq( l.property().version(), "" );</span>
<span class="lineNum"> 48 </span><span class="lineCov"> 1808 : l = l.tail();</span>
<span class="lineNum"> 49 </span> : }
<span class="lineNum"> 50 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 51 </span> :
<span class="lineNum"> 52 </span><span class="lineCov"> 1 : Test packageCount() {</span>
<span class="lineNum"> 53 </span> : assert_eq( list::count( pkgs.list< package::Name >() ),
<span class="lineNum"> 54 </span><span class="lineCov"> 1 : 3777 );</span>
<span class="lineNum"> 55 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 56 </span> :
<span class="lineNum"> 57 </span><span class="lineCov"> 1 : Test packageNameList() {</span>
<span class="lineNum"> 58 </span><span class="lineCov"> 1 : checkPackageNameList( pkgs.list< package::Name >() );</span>
<span class="lineNum"> 59 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 60 </span> :
<span class="lineNum"> 61 </span><span class="lineCov"> 1 : Test versionCount() {</span>
<span class="lineNum"> 62 </span> : assert_eq( list::count( vers.list< version::Package >() ),
<span class="lineNum"> 63 </span><span class="lineCov"> 1 : 1808 );</span>
<span class="lineNum"> 64 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 65 </span> :
<span class="lineNum"> 66 </span><span class="lineCov"> 1 : Test versionPackage() {</span>
<span class="lineNum"> 67 </span><span class="lineCov"> 1 : checkVersionPackageList( vers.list< version::Package >() );</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 validate() {</span>
<span class="lineNum"> 71 </span><span class="lineCov"> 1 : assert_eq( t, db.validate( t ) );</span>
<span class="lineNum"> 72 </span> : assert_neq( ept::Token( "libfoobar" ),
<span class="lineNum"> 73 </span><span class="lineCov"> 2 : db.validate( ept::Token( "libfooar" ) ) );</span>
<span class="lineNum"> 74 </span><span class="lineCov"> 2 : assert_eq( ept::Token(), db.validate( ept::Token( "libfoobar" ) ) );</span>
<span class="lineNum"> 75 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 76 </span> :
<span class="lineNum"> 77 </span><span class="lineCov"> 1 : Test packageState() {</span>
<span class="lineNum"> 78 </span><span class="lineCov"> 1 : assert( db.packageState( t ) & PackageState::Keep );</span>
<span class="lineNum"> 79 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 80 </span> :
<span class="lineNum"> 81 </span><span class="lineCov"> 1 : Test packageState2() {</span>
<span class="lineNum"> 82 </span><span class="lineCov"> 1 : assert( pkgs.get< package::State >( t ) & PackageState::Keep );</span>
<span class="lineNum"> 83 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 84 </span> :
<span class="lineNum"> 85 </span><span class="lineCov"> 1 : Test exists() {</span>
<span class="lineNum"> 86 </span><span class="lineCov"> 1 : assert( pkgs.exists( t ) );</span>
<span class="lineNum"> 87 </span><span class="lineCov"> 2 : assert( !pkgs.exists( ept::Token( "nonexistent-package" ) ) );</span>
<span class="lineNum"> 88 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 89 </span> :
<span class="lineNum"> 90 </span><span class="lineCov"> 1 : Test invalidate() {</span>
<span class="lineNum"> 91 </span><span class="lineCov"> 1 : assert( pkgs.exists( t ) );</span>
<span class="lineNum"> 92 </span><span class="lineCov"> 1 : db.invalidate();</span>
<span class="lineNum"> 93 </span><span class="lineCov"> 2 : assert( pkgs.exists( t ) );</span>
<span class="lineNum"> 94 </span><span class="lineCov"> 1 : }</span>
<span class="lineNum"> 95 </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>
|