diff options
Diffstat (limited to 'rep/ept/core/apt')
-rw-r--r-- | rep/ept/core/apt/action.h.gcov.html | 202 | ||||
-rw-r--r-- | rep/ept/core/apt/action.test.h.gcov.html | 108 | ||||
-rw-r--r-- | rep/ept/core/apt/index.html | 155 | ||||
-rw-r--r-- | rep/ept/core/apt/package.h.gcov.html | 194 | ||||
-rw-r--r-- | rep/ept/core/apt/record.cpp.gcov.html | 83 | ||||
-rw-r--r-- | rep/ept/core/apt/record.h.gcov.html | 355 | ||||
-rw-r--r-- | rep/ept/core/apt/record.test.h.gcov.html | 123 | ||||
-rw-r--r-- | rep/ept/core/apt/recordparser.cpp.gcov.html | 239 | ||||
-rw-r--r-- | rep/ept/core/apt/recordparser.h.gcov.html | 165 | ||||
-rw-r--r-- | rep/ept/core/apt/version.h.gcov.html | 160 |
10 files changed, 0 insertions, 1784 deletions
diff --git a/rep/ept/core/apt/action.h.gcov.html b/rep/ept/core/apt/action.h.gcov.html deleted file mode 100644 index 08b2810..0000000 --- a/rep/ept/core/apt/action.h.gcov.html +++ /dev/null @@ -1,202 +0,0 @@ -<!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/action.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/apt</a> - action.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%">48</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">85.4 %</td> - <td width="20%"></td> - <td class="headerItem" width="20%">Executed lines:</td> - <td class="headerValue" width="20%">41</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> : -<span class="lineNum"> 3 </span> : #include <string> -<span class="lineNum"> 4 </span> : #include <ept/token.h> -<span class="lineNum"> 5 </span> : #include <ept/core/apt.h> -<span class="lineNum"> 6 </span> : #include <apt-pkg/algorithms.h> -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : #ifndef EPT_APT_ACTION_H -<span class="lineNum"> 9 </span> : #define EPT_APT_ACTION_H -<span class="lineNum"> 10 </span> : -<span class="lineNum"> 11 </span> : namespace ept { -<span class="lineNum"> 12 </span> : namespace core { -<span class="lineNum"> 13 </span> : namespace package { -<span class="lineNum"> 14 </span> : -<span class="lineNum"> 15 </span><span class="lineCov"> 13 : struct Action {</span> -<span class="lineNum"> 16 </span> : enum Type { Install, ReInstall, Remove, Keep, Purge, SystemUpgrade }; -<span class="lineNum"> 17 </span> : Token m_token; -<span class="lineNum"> 18 </span> : Type m_type; -<span class="lineNum"> 19 </span> : -<span class="lineNum"> 20 </span><span class="lineCov"> 4 : Token token() { return m_token; }</span> -<span class="lineNum"> 21 </span> : Type type() { return m_type; } -<span class="lineNum"> 22 </span> : -<span class="lineNum"> 23 </span><span class="lineCov"> 4 : void apply( package::Source &pkgs )</span> -<span class="lineNum"> 24 </span> : { -<span class="lineNum"> 25 </span><span class="lineCov"> 4 : Type a = m_type;</span> -<span class="lineNum"> 26 </span><span class="lineCov"> 4 : pkgDepCache &dc = pkgs.db().state();</span> -<span class="lineNum"> 27 </span> : -<span class="lineNum"> 28 </span><span class="lineCov"> 4 : if ( a == SystemUpgrade ) {</span> -<span class="lineNum"> 29 </span><span class="lineNoCov"> 0 : pkgDistUpgrade( dc );</span> -<span class="lineNum"> 30 </span> : } else { -<span class="lineNum"> 31 </span><span class="lineCov"> 4 : if ( !pkgs.exists( m_token ) )</span> -<span class="lineNum"> 32 </span><span class="lineNoCov"> 0 : return;</span> -<span class="lineNum"> 33 </span><span class="lineCov"> 4 : pkgCache::PkgIterator p = pkgs.lookupToken( m_token );</span> -<span class="lineNum"> 34 </span> : -<span class="lineNum"> 35 </span><span class="lineCov"> 4 : pkgProblemResolver fix( &dc );</span> -<span class="lineNum"> 36 </span><span class="lineCov"> 8 : if ( a == Install || a == ReInstall ) {</span> -<span class="lineNum"> 37 </span><span class="lineCov"> 2 : fix.Clear( p );</span> -<span class="lineNum"> 38 </span><span class="lineCov"> 2 : fix.Protect( p );</span> -<span class="lineNum"> 39 </span><span class="lineCov"> 2 : dc.MarkInstall( p, true );</span> -<span class="lineNum"> 40 </span><span class="lineCov"> 2 : fix.InstallProtect();</span> -<span class="lineNum"> 41 </span><span class="lineCov"> 2 : if ( a == ReInstall )</span> -<span class="lineNum"> 42 </span><span class="lineNoCov"> 0 : dc.SetReInstall( p, true );</span> -<span class="lineNum"> 43 </span><span class="lineCov"> 2 : } else if ( a == Remove || a == Purge ) {</span> -<span class="lineNum"> 44 </span><span class="lineNoCov"> 0 : fix.Clear( p );</span> -<span class="lineNum"> 45 </span><span class="lineNoCov"> 0 : fix.Protect( p );</span> -<span class="lineNum"> 46 </span><span class="lineNoCov"> 0 : fix.Remove( p );</span> -<span class="lineNum"> 47 </span><span class="lineNoCov"> 0 : dc.MarkDelete( p, a == Purge ? true : false );</span> -<span class="lineNum"> 48 </span><span class="lineCov"> 2 : } else if ( a == Keep ) {</span> -<span class="lineNum"> 49 </span><span class="lineCov"> 2 : fix.Clear( p );</span> -<span class="lineNum"> 50 </span><span class="lineCov"> 2 : fix.Protect( p );</span> -<span class="lineNum"> 51 </span><span class="lineCov"> 2 : dc.MarkKeep( p, true );</span> -<span class="lineNum"> 52 </span> : } -<span class="lineNum"> 53 </span><span class="lineCov"> 4 : fix.Resolve( true );</span> -<span class="lineNum"> 54 </span> : } -<span class="lineNum"> 55 </span> : } -<span class="lineNum"> 56 </span> : -<span class="lineNum"> 57 </span> : bool redundant( package::Source &pkgs ) { -<span class="lineNum"> 58 </span> : if ( m_type == SystemUpgrade ) { -<span class="lineNum"> 59 </span> : // check whether we have any upgradable packages -<span class="lineNum"> 60 </span> : return false; -<span class="lineNum"> 61 </span> : } -<span class="lineNum"> 62 </span> : if ( !pkgs.exists( m_token ) ) -<span class="lineNum"> 63 </span> : return true; -<span class="lineNum"> 64 </span> : PackageState s = pkgs.db().packageState( m_token ); -<span class="lineNum"> 65 </span> : Type a = m_type; -<span class="lineNum"> 66 </span> : // if ( a == Keep && !s.upgradable() ) -<span class="lineNum"> 67 </span> : // return true; -<span class="lineNum"> 68 </span> : if ( ( a == Install || a == ReInstall ) -<span class="lineNum"> 69 </span> : && ( !s.upgradable() && s.installed() ) ) -<span class="lineNum"> 70 </span> : return true; -<span class="lineNum"> 71 </span> : if ( ( a == Remove || a == Purge ) && !s.installed() ) -<span class="lineNum"> 72 </span> : return true; -<span class="lineNum"> 73 </span> : return false; -<span class="lineNum"> 74 </span> : } -<span class="lineNum"> 75 </span> : -<span class="lineNum"> 76 </span><span class="lineCov"> 6 : Action( Token t, Type a )</span> -<span class="lineNum"> 77 </span><span class="lineCov"> 6 : : m_token( t ), m_type( a )</span> -<span class="lineNum"> 78 </span><span class="lineCov"> 6 : {}</span> -<span class="lineNum"> 79 </span> : }; -<span class="lineNum"> 80 </span> : -<span class="lineNum"> 81 </span><span class="lineCov"> 2 : struct ActionList {</span> -<span class="lineNum"> 82 </span> : typedef std::vector< Action > List; -<span class="lineNum"> 83 </span> : List m_list; -<span class="lineNum"> 84 </span> : -<span class="lineNum"> 85 </span> : void clear() { -<span class="lineNum"> 86 </span> : m_list.clear(); -<span class="lineNum"> 87 </span> : } -<span class="lineNum"> 88 </span> : -<span class="lineNum"> 89 </span><span class="lineCov"> 1 : bool empty() {</span> -<span class="lineNum"> 90 </span><span class="lineCov"> 1 : return m_list.empty();</span> -<span class="lineNum"> 91 </span> : } -<span class="lineNum"> 92 </span> : -<span class="lineNum"> 93 </span><span class="lineCov"> 3 : void add( Action a ) {</span> -<span class="lineNum"> 94 </span><span class="lineCov"> 3 : List::iterator rm = m_list.end(), i;</span> -<span class="lineNum"> 95 </span><span class="lineCov"> 3 : for ( i = m_list.begin(); i != m_list.end(); ++i ) {</span> -<span class="lineNum"> 96 </span><span class="lineCov"> 2 : if ( i->token() == a.token() ) {</span> -<span class="lineNum"> 97 </span><span class="lineCov"> 2 : rm = i;</span> -<span class="lineNum"> 98 </span><span class="lineCov"> 2 : break;</span> -<span class="lineNum"> 99 </span> : } -<span class="lineNum"> 100 </span> : } -<span class="lineNum"> 101 </span><span class="lineCov"> 3 : if ( rm != m_list.end() )</span> -<span class="lineNum"> 102 </span><span class="lineCov"> 2 : m_list.erase( rm );</span> -<span class="lineNum"> 103 </span> : // if ( a.type() != Action::Keep ) -<span class="lineNum"> 104 </span><span class="lineCov"> 3 : m_list.push_back( a );</span> -<span class="lineNum"> 105 </span><span class="lineCov"> 3 : }</span> -<span class="lineNum"> 106 </span> : -<span class="lineNum"> 107 </span> : Action latest() { -<span class="lineNum"> 108 </span> : return m_list.back(); -<span class="lineNum"> 109 </span> : } -<span class="lineNum"> 110 </span> : -<span class="lineNum"> 111 </span><span class="lineCov"> 1 : void replay( package::Source &pkgs ) {</span> -<span class="lineNum"> 112 </span><span class="lineCov"> 2 : for ( List::iterator i = m_list.begin(); i != m_list.end(); ++i ) {</span> -<span class="lineNum"> 113 </span><span class="lineCov"> 1 : i->apply( pkgs );</span> -<span class="lineNum"> 114 </span> : } -<span class="lineNum"> 115 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 116 </span> : -<span class="lineNum"> 117 </span> : void prune( package::Source &pkgs ) { -<span class="lineNum"> 118 </span> : List l; -<span class="lineNum"> 119 </span> : std::swap( l, m_list ); -<span class="lineNum"> 120 </span> : for ( List::iterator i = m_list.begin(); i != m_list.end(); ++i ) { -<span class="lineNum"> 121 </span> : if ( !i->redundant( pkgs ) ) -<span class="lineNum"> 122 </span> : m_list.push_back( *i ); -<span class="lineNum"> 123 </span> : } -<span class="lineNum"> 124 </span> : /* We want to do but can't bind reference parameters.... (or -<span class="lineNum"> 125 </span> : maybe use remove_copy_if or whatever ... ugly -<span class="lineNum"> 126 </span> : std::remove_if( m_list.begin(), m_list.end(), std::bind2nd( -<span class="lineNum"> 127 </span> : std::mem_fun_ref( &Action::redundant ), pkgs ) ); */ -<span class="lineNum"> 128 </span> : } -<span class="lineNum"> 129 </span> : }; -<span class="lineNum"> 130 </span> : -<span class="lineNum"> 131 </span> : } -<span class="lineNum"> 132 </span> : } -<span class="lineNum"> 133 </span> : } -<span class="lineNum"> 134 </span> : -<span class="lineNum"> 135 </span> : #endif -</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> diff --git a/rep/ept/core/apt/action.test.h.gcov.html b/rep/ept/core/apt/action.test.h.gcov.html deleted file mode 100644 index 86e5fcc..0000000 --- a/rep/ept/core/apt/action.test.h.gcov.html +++ /dev/null @@ -1,108 +0,0 @@ -<!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/action.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/apt</a> - action.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%">29</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%">29</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/core/apt/action.h> -<span class="lineNum"> 3 </span> : #include <ept/test.h> -<span class="lineNum"> 4 </span> : -<span class="lineNum"> 5 </span> : using namespace ept::core; -<span class="lineNum"> 6 </span> : -<span class="lineNum"> 7 </span> : struct TestAptAction : AptTestEnvironment -<span class="lineNum"> 8 </span><span class="lineCov"> 3 : {</span> -<span class="lineNum"> 9 </span> : package::Source pkgs; -<span class="lineNum"> 10 </span><span class="lineCov"> 3 : TestAptAction() : pkgs( db ) {}</span> -<span class="lineNum"> 11 </span> : -<span class="lineNum"> 12 </span><span class="lineCov"> 1 : Test basic() {</span> -<span class="lineNum"> 13 </span><span class="lineCov"> 1 : ept::Token t( "sp" );</span> -<span class="lineNum"> 14 </span><span class="lineCov"> 2 : package::Action a( t, package::Action::Install );</span> -<span class="lineNum"> 15 </span><span class="lineCov"> 1 : a.apply( pkgs );</span> -<span class="lineNum"> 16 </span><span class="lineCov"> 1 : assert( pkgs.get< package::State >( t ).install() );</span> -<span class="lineNum"> 17 </span><span class="lineCov"> 1 : a = package::Action( t, package::Action::Keep );</span> -<span class="lineNum"> 18 </span><span class="lineCov"> 1 : a.apply( pkgs );</span> -<span class="lineNum"> 19 </span><span class="lineCov"> 1 : assert( pkgs.get< package::State >( t ).keep() );</span> -<span class="lineNum"> 20 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 21 </span> : -<span class="lineNum"> 22 </span><span class="lineCov"> 1 : Test revert() {</span> -<span class="lineNum"> 23 </span><span class="lineCov"> 1 : ept::Token t( "sp" );</span> -<span class="lineNum"> 24 </span><span class="lineCov"> 2 : package::Action a( t, package::Action::Install );</span> -<span class="lineNum"> 25 </span><span class="lineCov"> 1 : a.apply( pkgs );</span> -<span class="lineNum"> 26 </span><span class="lineCov"> 1 : assert( pkgs.get< package::State >( t ).install() );</span> -<span class="lineNum"> 27 </span><span class="lineCov"> 1 : pkgs.revertStates();</span> -<span class="lineNum"> 28 </span><span class="lineCov"> 1 : assert( pkgs.get< package::State >( t ).keep() );</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 keep() {</span> -<span class="lineNum"> 32 </span><span class="lineCov"> 1 : package::ActionList al;</span> -<span class="lineNum"> 33 </span><span class="lineCov"> 1 : ept::Token t( "sp" );</span> -<span class="lineNum"> 34 </span><span class="lineCov"> 2 : al.add( package::Action( t, package::Action::Install ) );</span> -<span class="lineNum"> 35 </span><span class="lineCov"> 1 : assert( !al.empty() );</span> -<span class="lineNum"> 36 </span><span class="lineCov"> 2 : al.add( package::Action( t, package::Action::Remove ) );</span> -<span class="lineNum"> 37 </span><span class="lineCov"> 1 : al.add( package::Action( t, package::Action::Keep ) );</span> -<span class="lineNum"> 38 </span><span class="lineCov"> 1 : al.replay( pkgs );</span> -<span class="lineNum"> 39 </span><span class="lineCov"> 1 : assert( pkgs.get< package::State >( t ).keep() );</span> -<span class="lineNum"> 40 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 41 </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> diff --git a/rep/ept/core/apt/index.html b/rep/ept/core/apt/index.html deleted file mode 100644 index ebae680..0000000 --- a/rep/ept/core/apt/index.html +++ /dev/null @@ -1,155 +0,0 @@ -<!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</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> - ept/core/apt</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%">334</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">91.9 %</td> - <td width="20%"></td> - <td class="headerItem" width="20%">Executed lines:</td> - <td class="headerValue" width="20%">307</td> - </tr> - </table> - </td> - </tr> - <tr><td class="ruler"><img src="../../../glass.png" width=3 height=3 alt=""></td></tr> - </table> - - <center> - <table width="80%" cellpadding=2 cellspacing=1 border=0> - - <tr> - <td width="50%"><br></td> - <td width="15%"></td> - <td width="15%"></td> - <td width="20%"></td> - </tr> - - <tr> - <td class="tableHead">Filename</td> - <td class="tableHead" colspan=3>Coverage</td> - </tr> - - <tr> - <td class="coverFile"><a href="action.h.gcov.html">action.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=85 height=10 alt="85.4%"><img src="../../../snow.png" width=15 height=10 alt="85.4%"></td></tr></table> - </td> - <td class="coverPerHi">85.4 %</td> - <td class="coverNumHi">41 / 48 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="action.test.h.gcov.html">action.test.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">29 / 29 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="package.h.gcov.html">package.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=94 height=10 alt="93.9%"><img src="../../../snow.png" width=6 height=10 alt="93.9%"></td></tr></table> - </td> - <td class="coverPerHi">93.9 %</td> - <td class="coverNumHi">31 / 33 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="record.cpp.gcov.html">record.cpp</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">1 / 1 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="record.h.gcov.html">record.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=86 height=10 alt="86.5%"><img src="../../../snow.png" width=14 height=10 alt="86.5%"></td></tr></table> - </td> - <td class="coverPerHi">86.5 %</td> - <td class="coverNumHi">83 / 96 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="record.test.h.gcov.html">record.test.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">29 / 29 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="recordparser.cpp.gcov.html">recordparser.cpp</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=95 height=10 alt="95.2%"><img src="../../../snow.png" width=5 height=10 alt="95.2%"></td></tr></table> - </td> - <td class="coverPerHi">95.2 %</td> - <td class="coverNumHi">59 / 62 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="recordparser.h.gcov.html">recordparser.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=100 height=10 alt="100.0%"></td></tr></table> - </td> - <td class="coverPerHi">100.0 %</td> - <td class="coverNumHi">4 / 4 lines</td> - </tr> - - <tr> - <td class="coverFile"><a href="version.h.gcov.html">version.h</a></td> - <td class="coverBar" align="center"> - <table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../../../emerald.png" width=94 height=10 alt="93.8%"><img src="../../../snow.png" width=6 height=10 alt="93.8%"></td></tr></table> - </td> - <td class="coverPerHi">93.8 %</td> - <td class="coverNumHi">30 / 32 lines</td> - </tr> - - </table> - </center> - <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">LTP GCOV extension version 1.6</a></td></tr> - </table> - <br> - -</body> -</html> diff --git a/rep/ept/core/apt/package.h.gcov.html b/rep/ept/core/apt/package.h.gcov.html deleted file mode 100644 index deea250..0000000 --- a/rep/ept/core/apt/package.h.gcov.html +++ /dev/null @@ -1,194 +0,0 @@ -<!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/package.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/apt</a> - package.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%">33</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">93.9 %</td> - <td width="20%"></td> - <td class="headerItem" width="20%">Executed lines:</td> - <td class="headerValue" width="20%">31</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> : -<span class="lineNum"> 3 </span> : #ifndef EPT_APT_PACKAGE_H -<span class="lineNum"> 4 </span> : #define EPT_APT_PACKAGE_H -<span class="lineNum"> 5 </span> : -<span class="lineNum"> 6 </span> : namespace ept { -<span class="lineNum"> 7 </span> : namespace core { -<span class="lineNum"> 8 </span> : namespace package { -<span class="lineNum"> 9 </span> : -<span class="lineNum"> 10 </span> : struct Setup { -<span class="lineNum"> 11 </span> : typedef ept::Token Token; -<span class="lineNum"> 12 </span> : typedef package::Internal Internal; -<span class="lineNum"> 13 </span> : typedef package::PropertyId PropertyId; -<span class="lineNum"> 14 </span> : typedef package::InternalList InternalList; -<span class="lineNum"> 15 </span> : }; -<span class="lineNum"> 16 </span> : -<span class="lineNum"> 17 </span> : template<> struct PropertyType< Name > { typedef std::string T; }; -<span class="lineNum"> 18 </span> : template<> struct PropertyType< Versions > { typedef VersionList T; }; -<span class="lineNum"> 19 </span> : template<> struct PropertyType< AnyVersion > { typedef Token T; }; -<span class="lineNum"> 20 </span> : template<> struct PropertyType< State > { typedef PackageState T; }; -<span class="lineNum"> 21 </span> : template<> struct PropertyType< CandidateVersion > { typedef Token T; }; -<span class="lineNum"> 22 </span> : template<> struct PropertyType< InstalledVersion > { typedef Token T; }; -<span class="lineNum"> 23 </span> : -<span class="lineNum"> 24 </span> : struct Source : core::Source< Source, Setup, PropertyType > -<span class="lineNum"> 25 </span><span class="lineCov"> 15 : {</span> -<span class="lineNum"> 26 </span> : AptDatabase &m_db; -<span class="lineNum"> 27 </span> : -<span class="lineNum"> 28 </span><span class="lineCov"> 15 : Source( AptDatabase &db ) : m_db( db ) {}</span> -<span class="lineNum"> 29 </span> : -<span class="lineNum"> 30 </span><span class="lineCov"> 3 : InternalList listInternal() {</span> -<span class="lineNum"> 31 </span><span class="lineCov"> 3 : return InternalList( m_db.cache().PkgBegin() );</span> -<span class="lineNum"> 32 </span> : } -<span class="lineNum"> 33 </span> : -<span class="lineNum"> 34 </span><span class="lineCov"> 17 : Internal lookupToken( Token t ) {</span> -<span class="lineNum"> 35 </span><span class="lineCov"> 17 : return m_db.lookupPackage( t );</span> -<span class="lineNum"> 36 </span> : } -<span class="lineNum"> 37 </span> : -<span class="lineNum"> 38 </span><span class="lineCov"> 3777 : Token getToken( Internal i ) {</span> -<span class="lineNum"> 39 </span><span class="lineCov"> 3777 : Token t;</span> -<span class="lineNum"> 40 </span><span class="lineCov"> 3777 : t._id = i.Name();</span> -<span class="lineNum"> 41 </span><span class="lineNoCov"> 0 : return t;</span> -<span class="lineNum"> 42 </span> : } -<span class="lineNum"> 43 </span> : -<span class="lineNum"> 44 </span><span class="lineCov"> 8 : bool exists( Token t ) {</span> -<span class="lineNum"> 45 </span><span class="lineCov"> 8 : if ( t.hasVersion() )</span> -<span class="lineNum"> 46 </span><span class="lineNoCov"> 0 : return !m_db.lookupVersion( t ).end();</span> -<span class="lineNum"> 47 </span> : else -<span class="lineNum"> 48 </span><span class="lineCov"> 8 : return !lookupToken( t ).end();</span> -<span class="lineNum"> 49 </span> : } -<span class="lineNum"> 50 </span> : -<span class="lineNum"> 51 </span> : Token versionToken( pkgCache::VerIterator vi ) { -<span class="lineNum"> 52 </span> : if ( vi.end() ) -<span class="lineNum"> 53 </span> : return Token(); -<span class="lineNum"> 54 </span> : return Token( std::string( vi.ParentPkg().Name() ) + "_" + vi.VerStr() ); -<span class="lineNum"> 55 </span> : } -<span class="lineNum"> 56 </span> : -<span class="lineNum"> 57 </span> : template< PropertyId p > -<span class="lineNum"> 58 </span> : typename PropertyType< p >::T getInternal( Internal ); -<span class="lineNum"> 59 </span> : -<span class="lineNum"> 60 </span> : template< typename List > -<span class="lineNum"> 61 </span><span class="lineCov"> 1 : void revertState( List l ) {</span> -<span class="lineNum"> 62 </span><span class="lineCov"> 3779 : while ( !l.empty() ) {</span> -<span class="lineNum"> 63 </span><span class="lineCov"> 3777 : PackageState s = getInternal< State >( l.head() );</span> -<span class="lineNum"> 64 </span><span class="lineCov"> 3777 : if ( !s.keep() || s.purge() ) {</span> -<span class="lineNum"> 65 </span><span class="lineCov"> 2 : pkgDepCache::StateCache &S = db().state()[ l.head() ];</span> -<span class="lineNum"> 66 </span><span class="lineCov"> 2 : db().state().MarkKeep( l.head(), false, false );</span> -<span class="lineNum"> 67 </span><span class="lineCov"> 2 : S.iFlags &= ~pkgDepCache::Purge;</span> -<span class="lineNum"> 68 </span><span class="lineCov"> 2 : S.iFlags &= ~pkgDepCache::ReInstall;</span> -<span class="lineNum"> 69 </span> : } -<span class="lineNum"> 70 </span><span class="lineCov"> 3777 : l = l.tail();</span> -<span class="lineNum"> 71 </span> : } -<span class="lineNum"> 72 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 73 </span> : -<span class="lineNum"> 74 </span><span class="lineCov"> 1 : void revertStates() {</span> -<span class="lineNum"> 75 </span><span class="lineCov"> 1 : pkgDepCache::ActionGroup group( db().state() );</span> -<span class="lineNum"> 76 </span><span class="lineCov"> 1 : revertState( listInternal() );</span> -<span class="lineNum"> 77 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 78 </span> : -<span class="lineNum"> 79 </span> : typedef ComposedList< State > ChangeList; -<span class="lineNum"> 80 </span> : -<span class="lineNum"> 81 </span> : static bool isChanged( Token t, PackageState s ); -<span class="lineNum"> 82 </span> : static bool isUpgradable( Token t, PackageState s ); -<span class="lineNum"> 83 </span> : -<span class="lineNum"> 84 </span> : PropertyFilter< State, __typeof( &isChanged ) >::T changedList() { -<span class="lineNum"> 85 </span> : return propertyFilter< State >( isChanged ); -<span class="lineNum"> 86 </span> : } -<span class="lineNum"> 87 </span> : -<span class="lineNum"> 88 </span> : PropertyFilter< State, __typeof( &isUpgradable ) >::T upgradableList() { -<span class="lineNum"> 89 </span> : return propertyFilter< State >( isUpgradable ); -<span class="lineNum"> 90 </span> : } -<span class="lineNum"> 91 </span> : -<span class="lineNum"> 92 </span><span class="lineCov"> 9 : AptDatabase &db() { return m_db; }</span> -<span class="lineNum"> 93 </span> : }; -<span class="lineNum"> 94 </span> : -<span class="lineNum"> 95 </span><span class="lineCov"> 3778 : template<> inline std::string Source::getInternal< Name >( Internal i ) {</span> -<span class="lineNum"> 96 </span><span class="lineCov"> 3778 : return i.Name();</span> -<span class="lineNum"> 97 </span> : } -<span class="lineNum"> 98 </span> : -<span class="lineNum"> 99 </span><span class="lineCov"> 3783 : template<> inline PackageState Source::getInternal< State >( Internal i ) {</span> -<span class="lineNum"> 100 </span><span class="lineCov"> 3783 : return m_db.packageState( i );</span> -<span class="lineNum"> 101 </span> : } -<span class="lineNum"> 102 </span> : -<span class="lineNum"> 103 </span> : template<> inline Token Source::getInternal< CandidateVersion >( Internal i ) { -<span class="lineNum"> 104 </span> : return versionToken( m_db.candidateVersion( i ) ); -<span class="lineNum"> 105 </span> : } -<span class="lineNum"> 106 </span> : -<span class="lineNum"> 107 </span> : template<> inline Token Source::getInternal< AnyVersion >( Internal i ) { -<span class="lineNum"> 108 </span> : return versionToken( m_db.candidateVersion( i ) ); -<span class="lineNum"> 109 </span> : } -<span class="lineNum"> 110 </span> : -<span class="lineNum"> 111 </span> : template<> inline Token Source::getInternal< InstalledVersion >( Internal i ) { -<span class="lineNum"> 112 </span> : return versionToken( m_db.installedVersion( i ) ); -<span class="lineNum"> 113 </span> : } -<span class="lineNum"> 114 </span> : -<span class="lineNum"> 115 </span> : inline bool Source::isChanged( Token, PackageState s ) { -<span class="lineNum"> 116 </span> : return s.modify(); -<span class="lineNum"> 117 </span> : } -<span class="lineNum"> 118 </span> : -<span class="lineNum"> 119 </span> : inline bool Source::isUpgradable( Token, PackageState s ) { -<span class="lineNum"> 120 </span> : return s.upgradable(); -<span class="lineNum"> 121 </span> : } -<span class="lineNum"> 122 </span> : -<span class="lineNum"> 123 </span> : } -<span class="lineNum"> 124 </span> : } -<span class="lineNum"> 125 </span> : } -<span class="lineNum"> 126 </span> : -<span class="lineNum"> 127 </span> : #endif -</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> diff --git a/rep/ept/core/apt/record.cpp.gcov.html b/rep/ept/core/apt/record.cpp.gcov.html deleted file mode 100644 index 453b7a7..0000000 --- a/rep/ept/core/apt/record.cpp.gcov.html +++ /dev/null @@ -1,83 +0,0 @@ -<!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/record.cpp</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/apt</a> - record.cpp</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%">1</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%">1</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> : #include <ept/core/apt.h> -<span class="lineNum"> 2 </span> : -<span class="lineNum"> 3 </span> : namespace ept { -<span class="lineNum"> 4 </span> : namespace core { -<span class="lineNum"> 5 </span> : namespace record { -<span class="lineNum"> 6 </span> : -<span class="lineNum"> 7 </span> : // needs to be kept in sync with record::PropertyId, see apt.h -<span class="lineNum"> 8 </span> : const char *fields[] = { -<span class="lineNum"> 9 </span> : "", "Package", "Priority", "Section", "Installed-Size", -<span class="lineNum"> 10 </span> : "Maintainer", "Architecture", "Source", "Version", -<span class="lineNum"> 11 </span> : "Description", "", "", "Size" -<span class="lineNum"> 12 </span> : }; -<span class="lineNum"> 13 </span> : -<span class="lineNum"> 14 </span> : } -<span class="lineNum"> 15 </span> : } -<span class="lineNum"> 16 </span><span class="lineCov"> 3 : }</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> diff --git a/rep/ept/core/apt/record.h.gcov.html b/rep/ept/core/apt/record.h.gcov.html deleted file mode 100644 index 4e0e3a4..0000000 --- a/rep/ept/core/apt/record.h.gcov.html +++ /dev/null @@ -1,355 +0,0 @@ -<!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/record.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/apt</a> - record.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%">96</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">86.5 %</td> - <td width="20%"></td> - <td class="headerItem" width="20%">Executed lines:</td> - <td class="headerValue" width="20%">83</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> : -<span class="lineNum"> 3 </span> : #include <ept/core/apt/recordparser.h> -<span class="lineNum"> 4 </span> : -<span class="lineNum"> 5 </span> : #ifndef EPT_APT_RECORD_H -<span class="lineNum"> 6 </span> : #define EPT_APT_RECORD_H -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : namespace ept { -<span class="lineNum"> 9 </span> : namespace core { -<span class="lineNum"> 10 </span> : namespace record { -<span class="lineNum"> 11 </span> : -<span class="lineNum"> 12 </span> : struct Source; -<span class="lineNum"> 13 </span> : -<span class="lineNum"> 14 </span> : struct InternalList { -<span class="lineNum"> 15 </span> : Source *m_source; -<span class="lineNum"> 16 </span> : size_t m_idx; -<span class="lineNum"> 17 </span> : -<span class="lineNum"> 18 </span> : Internal head(); -<span class="lineNum"> 19 </span> : const Internal head() const; -<span class="lineNum"> 20 </span> : bool empty() const; -<span class="lineNum"> 21 </span> : -<span class="lineNum"> 22 </span><span class="lineCov"> 870 : InternalList tail() const {</span> -<span class="lineNum"> 23 </span><span class="lineCov"> 870 : InternalList t = *this;</span> -<span class="lineNum"> 24 </span><span class="lineCov"> 870 : ++ t.m_idx;</span> -<span class="lineNum"> 25 </span> : return t; -<span class="lineNum"> 26 </span> : } -<span class="lineNum"> 27 </span> : -<span class="lineNum"> 28 </span><span class="lineCov"> 2 : InternalList( Source &s )</span> -<span class="lineNum"> 29 </span><span class="lineCov"> 2 : : m_source( &s ), m_idx( 0 )</span> -<span class="lineNum"> 30 </span><span class="lineCov"> 2 : {}</span> -<span class="lineNum"> 31 </span> : }; -<span class="lineNum"> 32 </span> : -<span class="lineNum"> 33 </span> : struct Setup { -<span class="lineNum"> 34 </span> : typedef ept::Token Token; -<span class="lineNum"> 35 </span> : typedef record::Internal Internal; -<span class="lineNum"> 36 </span> : typedef record::PropertyId PropertyId; -<span class="lineNum"> 37 </span> : typedef record::InternalList InternalList; -<span class="lineNum"> 38 </span> : }; -<span class="lineNum"> 39 </span> : -<span class="lineNum"> 40 </span> : template<> struct PropertyType< InstalledSize > { typedef int T; }; -<span class="lineNum"> 41 </span> : template<> struct PropertyType< PackageSize > { typedef int T; }; -<span class="lineNum"> 42 </span> : -<span class="lineNum"> 43 </span> : struct Parser: RecordParser -<span class="lineNum"> 44 </span><span class="lineCov"> 1310 : {</span> -<span class="lineNum"> 45 </span> : bool parseBool(bool& def, const std::string& str) const -<span class="lineNum"> 46 </span> : { -<span class="lineNum"> 47 </span> : // Believe it or not, this is what apt does to interpret bool fields -<span class="lineNum"> 48 </span> : if (str == "no" || str == "false" || str == "without" || -<span class="lineNum"> 49 </span> : str == "off" || str == "disable") -<span class="lineNum"> 50 </span> : return false; -<span class="lineNum"> 51 </span> : -<span class="lineNum"> 52 </span> : if (str == "yes" || str == "true" || str == "with" || -<span class="lineNum"> 53 </span> : str == "on" || str == "enable") -<span class="lineNum"> 54 </span> : return true; -<span class="lineNum"> 55 </span> : -<span class="lineNum"> 56 </span> : return def; -<span class="lineNum"> 57 </span> : } -<span class="lineNum"> 58 </span> : -<span class="lineNum"> 59 </span> : public: -<span class="lineNum"> 60 </span> : Parser() : RecordParser() {} -<span class="lineNum"> 61 </span><span class="lineCov"> 1310 : Parser(const std::string& str) : RecordParser(str) {}</span> -<span class="lineNum"> 62 </span> : -<span class="lineNum"> 63 </span> : template< PropertyId p > -<span class="lineNum"> 64 </span> : typename PropertyType< p >::T parse( typename PropertyType< p >::T def, -<span class="lineNum"> 65 </span> : std::string data ); -<span class="lineNum"> 66 </span> : -<span class="lineNum"> 67 </span> : template< typename T > -<span class="lineNum"> 68 </span> : struct Default { -<span class="lineNum"> 69 </span> : static T def; -<span class="lineNum"> 70 </span> : }; -<span class="lineNum"> 71 </span> : -<span class="lineNum"> 72 </span> : template< typename T > T parse( const T &def, -<span class="lineNum"> 73 </span> : const std::string &field ) const; -<span class="lineNum"> 74 </span> : -<span class="lineNum"> 75 </span> : template< PropertyId p > -<span class="lineNum"> 76 </span> : typename PropertyType< p >::T get( -<span class="lineNum"> 77 </span> : const typename PropertyType< p >::T &def -<span class="lineNum"> 78 </span><span class="lineCov"> 1308 : = Default< typename PropertyType< p >::T >::def ) const</span> -<span class="lineNum"> 79 </span> : { -<span class="lineNum"> 80 </span> : return parse< typename PropertyType< p >::T >( def, -<span class="lineNum"> 81 </span><span class="lineCov"> 1308 : lookup( fields[ p ] ) );</span> -<span class="lineNum"> 82 </span> : } -<span class="lineNum"> 83 </span> : -<span class="lineNum"> 84 </span> : }; -<span class="lineNum"> 85 </span> : -<span class="lineNum"> 86 </span><span class="lineCov"> 25 : template< typename T > T Parser::Default< T >::def = T();</span> -<span class="lineNum"> 87 </span> : -<span class="lineNum"> 88 </span> : template<> inline std::string Parser::get< ShortDescription >( -<span class="lineNum"> 89 </span><span class="lineCov"> 2 : const std::string& def ) const</span> -<span class="lineNum"> 90 </span> : { -<span class="lineNum"> 91 </span><span class="lineCov"> 2 : std::string str = lookup( fields[ Description ] );</span> -<span class="lineNum"> 92 </span><span class="lineCov"> 4 : if (str == std::string())</span> -<span class="lineNum"> 93 </span><span class="lineCov"> 1 : return def;</span> -<span class="lineNum"> 94 </span><span class="lineCov"> 1 : size_t pos = str.find("\n");</span> -<span class="lineNum"> 95 </span><span class="lineCov"> 1 : if (pos == std::string::npos)</span> -<span class="lineNum"> 96 </span><span class="lineNoCov"> 0 : return str;</span> -<span class="lineNum"> 97 </span> : else -<span class="lineNum"> 98 </span><span class="lineCov"> 1 : return str.substr(0, pos);</span> -<span class="lineNum"> 99 </span> : } -<span class="lineNum"> 100 </span> : -<span class="lineNum"> 101 </span> : template<> inline std::string Parser::get< LongDescription >( -<span class="lineNum"> 102 </span> : const std::string& def ) const -<span class="lineNum"> 103 </span> : { -<span class="lineNum"> 104 </span> : std::string str = lookup( fields[ Description ] ); -<span class="lineNum"> 105 </span> : if (str == std::string()) -<span class="lineNum"> 106 </span> : return def; -<span class="lineNum"> 107 </span> : size_t pos = str.find("\n"); -<span class="lineNum"> 108 </span> : if (pos == std::string::npos) -<span class="lineNum"> 109 </span> : return str; -<span class="lineNum"> 110 </span> : else -<span class="lineNum"> 111 </span> : { -<span class="lineNum"> 112 </span> : // Trim trailing spaces -<span class="lineNum"> 113 </span> : for (++pos; pos < str.size() && isspace(str[pos]); ++pos) -<span class="lineNum"> 114 </span> : ; -<span class="lineNum"> 115 </span> : return str.substr(pos); -<span class="lineNum"> 116 </span> : } -<span class="lineNum"> 117 </span> : } -<span class="lineNum"> 118 </span> : -<span class="lineNum"> 119 </span> : template<> inline std::string Parser::parse< std::string >( -<span class="lineNum"> 120 </span><span class="lineCov"> 1307 : const std::string& def, const std::string& str) const</span> -<span class="lineNum"> 121 </span> : { -<span class="lineNum"> 122 </span><span class="lineCov"> 1307 : if (str == std::string())</span> -<span class="lineNum"> 123 </span><span class="lineNoCov"> 0 : return def;</span> -<span class="lineNum"> 124 </span><span class="lineCov"> 1307 : return str;</span> -<span class="lineNum"> 125 </span> : } -<span class="lineNum"> 126 </span> : -<span class="lineNum"> 127 </span> : template<> inline int Parser::parse< int >( -<span class="lineNum"> 128 </span><span class="lineCov"> 1 : const int& def, const std::string& str) const</span> -<span class="lineNum"> 129 </span> : { -<span class="lineNum"> 130 </span><span class="lineCov"> 1 : if (str == string())</span> -<span class="lineNum"> 131 </span><span class="lineNoCov"> 0 : return def;</span> -<span class="lineNum"> 132 </span><span class="lineCov"> 1 : return (size_t)strtoul(str.c_str(), NULL, 10);</span> -<span class="lineNum"> 133 </span> : } -<span class="lineNum"> 134 </span> : -<span class="lineNum"> 135 </span> : struct Source : core::Source< Source, Setup, PropertyType > -<span class="lineNum"> 136 </span><span class="lineCov"> 6 : {</span> -<span class="lineNum"> 137 </span> : AptDatabase &m_db; -<span class="lineNum"> 138 </span> : -<span class="lineNum"> 139 </span> : /* caching */ -<span class="lineNum"> 140 </span> : pkgCache::PkgFileIterator lastFile; -<span class="lineNum"> 141 </span> : FileFd file; -<span class="lineNum"> 142 </span> : size_t lastOffset; -<span class="lineNum"> 143 </span> : -<span class="lineNum"> 144 </span> : /* in-order retrieval of records, for InternalList */ -<span class="lineNum"> 145 </span> : typedef vector< pkgCache::VerFile * > VfList; -<span class="lineNum"> 146 </span> : VfList m_vflist; -<span class="lineNum"> 147 </span> : -<span class="lineNum"> 148 </span><span class="lineCov"> 1742 : VfList &vfList() {</span> -<span class="lineNum"> 149 </span><span class="lineCov"> 1742 : if ( m_vflist.size() > 0 )</span> -<span class="lineNum"> 150 </span><span class="lineCov"> 1741 : return m_vflist;</span> -<span class="lineNum"> 151 </span> : -<span class="lineNum"> 152 </span><span class="lineCov"> 1 : m_vflist.reserve(m_db.cache().HeaderP->PackageCount + 1);</span> -<span class="lineNum"> 153 </span> : -<span class="lineNum"> 154 </span> : // Populate the vector of versions to print -<span class="lineNum"> 155 </span><span class="lineCov"> 3778 : for (pkgCache::PkgIterator pi = m_db.cache().PkgBegin(); !pi.end(); ++pi)</span> -<span class="lineNum"> 156 </span> : { -<span class="lineNum"> 157 </span><span class="lineCov"> 3777 : if (pi->VersionList == 0)</span> -<span class="lineNum"> 158 </span><span class="lineCov"> 1989 : continue;</span> -<span class="lineNum"> 159 </span> : -<span class="lineNum"> 160 </span><span class="lineCov"> 3596 : for( pkgCache::VerIterator vi = pi.VersionList(); !vi.end(); ++vi ) {</span> -<span class="lineNum"> 161 </span> : -<span class="lineNum"> 162 </span> : // Choose a valid file that contains the record for this version -<span class="lineNum"> 163 </span><span class="lineCov"> 1808 : pkgCache::VerFileIterator vfi = vi.FileList();</span> -<span class="lineNum"> 164 </span><span class="lineCov"> 3181 : for ( ; !vfi.end(); ++vfi )</span> -<span class="lineNum"> 165 </span><span class="lineCov"> 1808 : if ((vfi.File()->Flags & pkgCache::Flag::NotSource) == 0)</span> -<span class="lineNum"> 166 </span><span class="lineCov"> 435 : break;</span> -<span class="lineNum"> 167 </span> : -<span class="lineNum"> 168 </span><span class="lineCov"> 1808 : if ( !vfi.end() )</span> -<span class="lineNum"> 169 </span><span class="lineCov"> 435 : m_vflist.push_back( vfi );</span> -<span class="lineNum"> 170 </span> : } -<span class="lineNum"> 171 </span> : } -<span class="lineNum"> 172 </span> : -<span class="lineNum"> 173 </span><span class="lineCov"> 1 : sort(m_vflist.begin(), m_vflist.end(), localityCompare);</span> -<span class="lineNum"> 174 </span><span class="lineCov"> 1 : return m_vflist;</span> -<span class="lineNum"> 175 </span> : } -<span class="lineNum"> 176 </span> : -<span class="lineNum"> 177 </span><span class="lineCov"> 6 : Source( AptDatabase &db ) : m_db( db ) {}</span> -<span class="lineNum"> 178 </span> : -<span class="lineNum"> 179 </span><span class="lineCov"> 2 : InternalList listInternal() {</span> -<span class="lineNum"> 180 </span><span class="lineCov"> 2 : return InternalList( *this );</span> -<span class="lineNum"> 181 </span> : } -<span class="lineNum"> 182 </span> : -<span class="lineNum"> 183 </span><span class="lineCov"> 5 : Internal lookupToken( Token t ) {</span> -<span class="lineNum"> 184 </span><span class="lineCov"> 5 : return m_db.lookupVersionFile( m_db.lookupVersion( t ) );</span> -<span class="lineNum"> 185 </span> : } -<span class="lineNum"> 186 </span> : -<span class="lineNum"> 187 </span> : // Sort a version list by package file locality -<span class="lineNum"> 188 </span> : static bool localityCompare(const pkgCache::VerFile* a, -<span class="lineNum"> 189 </span><span class="lineCov"> 4371 : const pkgCache::VerFile* b)</span> -<span class="lineNum"> 190 </span> : { -<span class="lineNum"> 191 </span><span class="lineCov"> 4371 : if (a == 0 && b == 0)</span> -<span class="lineNum"> 192 </span><span class="lineNoCov"> 0 : return false;</span> -<span class="lineNum"> 193 </span><span class="lineCov"> 4371 : if (a == 0)</span> -<span class="lineNum"> 194 </span><span class="lineNoCov"> 0 : return true;</span> -<span class="lineNum"> 195 </span><span class="lineCov"> 4371 : if (b == 0)</span> -<span class="lineNum"> 196 </span><span class="lineNoCov"> 0 : return false;</span> -<span class="lineNum"> 197 </span> : -<span class="lineNum"> 198 </span><span class="lineCov"> 4371 : if (a->File == b->File)</span> -<span class="lineNum"> 199 </span><span class="lineCov"> 4371 : return a->Offset < b->Offset;</span> -<span class="lineNum"> 200 </span><span class="lineNoCov"> 0 : return a->File < b->File;</span> -<span class="lineNum"> 201 </span> : } -<span class="lineNum"> 202 </span> : -<span class="lineNum"> 203 </span> : void invalidate() { -<span class="lineNum"> 204 </span> : core::Source< Source, Setup, PropertyType >::invalidate(); -<span class="lineNum"> 205 </span> : lastFile = pkgCache::PkgFileIterator(); -<span class="lineNum"> 206 </span> : } -<span class="lineNum"> 207 </span> : -<span class="lineNum"> 208 </span><span class="lineCov"> 1311 : std::string getRecord( Internal vfi ) {</span> -<span class="lineNum"> 209 </span><span class="lineCov"> 1311 : if ( vfi.Cache() == 0 || vfi.end() )</span> -<span class="lineNum"> 210 </span><span class="lineCov"> 1 : return "";</span> -<span class="lineNum"> 211 </span> : -<span class="lineNum"> 212 </span><span class="lineCov"> 1310 : if ((lastFile.Cache() == 0)</span> -<span class="lineNum"> 213 </span> : || vfi->File + m_db.cache().PkgFileP != lastFile) -<span class="lineNum"> 214 </span> : { -<span class="lineNum"> 215 </span> : lastFile = pkgCache::PkgFileIterator( -<span class="lineNum"> 216 </span><span class="lineCov"> 5 : m_db.cache(), vfi->File + m_db.cache().PkgFileP);</span> -<span class="lineNum"> 217 </span><span class="lineCov"> 5 : if (!lastFile.IsOk())</span> -<span class="lineNum"> 218 </span> : throw wibble::exception::System( -<span class="lineNum"> 219 </span> : std::string("Reading the" -<span class="lineNum"> 220 </span> : " data record for a package from file ") -<span class="lineNum"> 221 </span><span class="lineNoCov"> 0 : + lastFile.FileName() );</span> -<span class="lineNum"> 222 </span><span class="lineCov"> 5 : if (file.IsOpen())</span> -<span class="lineNum"> 223 </span><span class="lineNoCov"> 0 : file.Close();</span> -<span class="lineNum"> 224 </span><span class="lineCov"> 5 : if (!file.Open(lastFile.FileName(), FileFd::ReadOnly))</span> -<span class="lineNum"> 225 </span> : throw wibble::exception::System( std::string("Opening file ") -<span class="lineNum"> 226 </span><span class="lineNoCov"> 0 : + lastFile.FileName() );</span> -<span class="lineNum"> 227 </span><span class="lineCov"> 5 : lastOffset = 0;</span> -<span class="lineNum"> 228 </span> : } -<span class="lineNum"> 229 </span> : -<span class="lineNum"> 230 </span> : // If we start near were we ended, avoid a seek -<span class="lineNum"> 231 </span> : // and enlarge the read a bit -<span class="lineNum"> 232 </span><span class="lineCov"> 1310 : size_t slack = vfi->Offset - lastOffset;</span> -<span class="lineNum"> 233 </span><span class="lineCov"> 1310 : if ( slack > 128 ) // mornfall: was 8, making it 128</span> -<span class="lineNum"> 234 </span> : { -<span class="lineNum"> 235 </span><span class="lineCov"> 871 : slack = 0;</span> -<span class="lineNum"> 236 </span><span class="lineCov"> 871 : if ( !file.Seek( vfi->Offset ) )</span> -<span class="lineNum"> 237 </span> : throw wibble::exception::System( -<span class="lineNum"> 238 </span> : std::string("Cannot seek to package record in file ") -<span class="lineNum"> 239 </span><span class="lineNoCov"> 0 : + lastFile.FileName() );</span> -<span class="lineNum"> 240 </span> : } -<span class="lineNum"> 241 </span> : -<span class="lineNum"> 242 </span><span class="lineCov"> 1310 : char buffer[vfi->Size + slack + 1];</span> -<span class="lineNum"> 243 </span><span class="lineCov"> 1310 : if (!file.Read(buffer, vfi->Size + slack))</span> -<span class="lineNum"> 244 </span> : throw wibble::exception::System( -<span class="lineNum"> 245 </span> : std::string("Cannot read package " -<span class="lineNum"> 246 </span><span class="lineNoCov"> 0 : "record in file ") + lastFile.FileName() );</span> -<span class="lineNum"> 247 </span> : -<span class="lineNum"> 248 </span><span class="lineCov"> 1310 : buffer[vfi->Size + slack] = '\0';</span> -<span class="lineNum"> 249 </span> : //cerr << "Data read (slack: " << slack << ")" << endl; -<span class="lineNum"> 250 </span> : -<span class="lineNum"> 251 </span><span class="lineCov"> 1310 : lastOffset = vfi->Offset + vfi->Size;</span> -<span class="lineNum"> 252 </span> : -<span class="lineNum"> 253 </span><span class="lineCov"> 1310 : return string(buffer+slack);</span> -<span class="lineNum"> 254 </span> : } -<span class="lineNum"> 255 </span> : -<span class="lineNum"> 256 </span><span class="lineCov"> 435 : Token getToken( Internal i ) {</span> -<span class="lineNum"> 257 </span><span class="lineCov"> 435 : Token t;</span> -<span class="lineNum"> 258 </span><span class="lineCov"> 435 : t._id = getInternal< Name >( i ) + "_" + getInternal< Version >( i );</span> -<span class="lineNum"> 259 </span><span class="lineNoCov"> 0 : return t;</span> -<span class="lineNum"> 260 </span> : } -<span class="lineNum"> 261 </span> : -<span class="lineNum"> 262 </span> : template< PropertyId p > -<span class="lineNum"> 263 </span><span class="lineCov"> 1310 : typename PropertyType< p >::T getInternal( Internal i ) {</span> -<span class="lineNum"> 264 </span><span class="lineCov"> 1310 : Parser rec( getRecord( i ) );</span> -<span class="lineNum"> 265 </span><span class="lineCov"> 1310 : return rec.get< p >();</span> -<span class="lineNum"> 266 </span> : } -<span class="lineNum"> 267 </span> : }; -<span class="lineNum"> 268 </span> : -<span class="lineNum"> 269 </span><span class="lineCov"> 1 : template<> inline std::string Source::getInternal< Record >( Internal i ) {</span> -<span class="lineNum"> 270 </span><span class="lineCov"> 1 : assert( !i.end() );</span> -<span class="lineNum"> 271 </span><span class="lineCov"> 1 : return getRecord( i );</span> -<span class="lineNum"> 272 </span> : } -<span class="lineNum"> 273 </span> : -<span class="lineNum"> 274 </span><span class="lineCov"> 870 : inline const Internal InternalList::head() const {</span> -<span class="lineNum"> 275 </span> : return pkgCache::VerFileIterator( m_source->m_db.cache(), -<span class="lineNum"> 276 </span><span class="lineCov"> 870 : m_source->vfList()[ m_idx ] );</span> -<span class="lineNum"> 277 </span> : } -<span class="lineNum"> 278 </span> : -<span class="lineNum"> 279 </span><span class="lineCov"> 872 : inline bool InternalList::empty() const {</span> -<span class="lineNum"> 280 </span><span class="lineCov"> 872 : return m_idx == m_source->vfList().size();</span> -<span class="lineNum"> 281 </span> : } -<span class="lineNum"> 282 </span> : -<span class="lineNum"> 283 </span> : -<span class="lineNum"> 284 </span> : } -<span class="lineNum"> 285 </span> : } -<span class="lineNum"> 286 </span> : } -<span class="lineNum"> 287 </span> : -<span class="lineNum"> 288 </span> : #endif -</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> diff --git a/rep/ept/core/apt/record.test.h.gcov.html b/rep/ept/core/apt/record.test.h.gcov.html deleted file mode 100644 index afee746..0000000 --- a/rep/ept/core/apt/record.test.h.gcov.html +++ /dev/null @@ -1,123 +0,0 @@ -<!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/record.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/apt</a> - record.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%">29</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%">29</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/core/apt.h> -<span class="lineNum"> 3 </span> : -<span class="lineNum"> 4 </span> : #include <ept/test.h> -<span class="lineNum"> 5 </span> : -<span class="lineNum"> 6 </span> : using namespace ept::core; -<span class="lineNum"> 7 </span> : -<span class="lineNum"> 8 </span> : struct TestAptRecord : AptTestEnvironment -<span class="lineNum"> 9 </span><span class="lineCov"> 6 : {</span> -<span class="lineNum"> 10 </span> : record::Source recs; -<span class="lineNum"> 11 </span> : ept::Token t; -<span class="lineNum"> 12 </span> : -<span class="lineNum"> 13 </span><span class="lineCov"> 6 : TestAptRecord() : recs( db ) {</span> -<span class="lineNum"> 14 </span><span class="lineCov"> 6 : t._id = "sp";</span> -<span class="lineNum"> 15 </span><span class="lineCov"> 6 : }</span> -<span class="lineNum"> 16 </span> : -<span class="lineNum"> 17 </span><span class="lineCov"> 1 : Test checkLookup() {</span> -<span class="lineNum"> 18 </span><span class="lineCov"> 1 : recs.get< record::Record >( t );</span> -<span class="lineNum"> 19 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 20 </span> : -<span class="lineNum"> 21 </span><span class="lineCov"> 1 : Test checkLookupValue() {</span> -<span class="lineNum"> 22 </span><span class="lineCov"> 1 : assert_eq( recs.get< record::Name >( t ), t.package() );</span> -<span class="lineNum"> 23 </span> : assert_eq( recs.get< record::Maintainer >( t ), -<span class="lineNum"> 24 </span><span class="lineCov"> 2 : "Neil Roeth <neil@debian.org>" );</span> -<span class="lineNum"> 25 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 26 </span> : -<span class="lineNum"> 27 </span><span class="lineCov"> 1 : Test checkLookupNumeric() {</span> -<span class="lineNum"> 28 </span> : assert_eq( recs.get< record::InstalledSize >( t ), -<span class="lineNum"> 29 </span><span class="lineCov"> 1 : 600 );</span> -<span class="lineNum"> 30 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 31 </span> : -<span class="lineNum"> 32 </span><span class="lineCov"> 1 : Test checkShortDescription() {</span> -<span class="lineNum"> 33 </span> : assert_eq( recs.get< record::ShortDescription >( t ), -<span class="lineNum"> 34 </span><span class="lineCov"> 1 : "James Clark's SGML parsing tools" );</span> -<span class="lineNum"> 35 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 36 </span> : -<span class="lineNum"> 37 </span> : template< typename List > -<span class="lineNum"> 38 </span><span class="lineCov"> 1 : void checkRecordNameList( List l ) {</span> -<span class="lineNum"> 39 </span><span class="lineCov"> 437 : while ( !l.empty() ) {</span> -<span class="lineNum"> 40 </span><span class="lineCov"> 435 : assert_eq( l.property(), l.token().package() );</span> -<span class="lineNum"> 41 </span><span class="lineCov"> 435 : l = l.tail();</span> -<span class="lineNum"> 42 </span> : } -<span class="lineNum"> 43 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 44 </span> : -<span class="lineNum"> 45 </span><span class="lineCov"> 1 : Test checkList() {</span> -<span class="lineNum"> 46 </span> : // there are 435 valid records in the list file -<span class="lineNum"> 47 </span> : assert_eq( list::count( recs.list< -<span class="lineNum"> 48 </span><span class="lineCov"> 1 : record::Name >() ), 435 );</span> -<span class="lineNum"> 49 </span><span class="lineCov"> 1 : checkRecordNameList( recs.list< record::Name >() );</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 nonexistent() {</span> -<span class="lineNum"> 53 </span> : assert_eq( recs.get< record::ShortDescription >( -<span class="lineNum"> 54 </span><span class="lineCov"> 1 : ept::Token( "nonexistent-package" ) ), "" );</span> -<span class="lineNum"> 55 </span><span class="lineCov"> 1 : }</span> -<span class="lineNum"> 56 </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> diff --git a/rep/ept/core/apt/recordparser.cpp.gcov.html b/rep/ept/core/apt/recordparser.cpp.gcov.html deleted file mode 100644 index de47e25..0000000 --- a/rep/ept/core/apt/recordparser.cpp.gcov.html +++ /dev/null @@ -1,239 +0,0 @@ -<!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/recordparser.cpp</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/apt</a> - recordparser.cpp</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%">62</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">95.2 %</td> - <td width="20%"></td> - <td class="headerItem" width="20%">Executed lines:</td> - <td class="headerValue" width="20%">59</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> : /** \file -<span class="lineNum"> 2 </span> : * Parser for APT records -<span class="lineNum"> 3 </span> : */ -<span class="lineNum"> 4 </span> : -<span class="lineNum"> 5 </span> : /* -<span class="lineNum"> 6 </span> : * Copyright (C) 2007 Enrico Zini <enrico@enricozini.org> -<span class="lineNum"> 7 </span> : * -<span class="lineNum"> 8 </span> : * This library is free software; you can redistribute it and/or -<span class="lineNum"> 9 </span> : * modify it under the terms of the GNU Lesser General Public -<span class="lineNum"> 10 </span> : * License as published by the Free Software Foundation; either -<span class="lineNum"> 11 </span> : * version 2.1 of the License, or (at your option) any later version. -<span class="lineNum"> 12 </span> : * -<span class="lineNum"> 13 </span> : * This library is distributed in the hope that it will be useful, -<span class="lineNum"> 14 </span> : * but WITHOUT ANY WARRANTY; without even the implied warranty of -<span class="lineNum"> 15 </span> : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -<span class="lineNum"> 16 </span> : * Lesser General Public License for more details. -<span class="lineNum"> 17 </span> : * -<span class="lineNum"> 18 </span> : * You should have received a copy of the GNU Lesser General Public -<span class="lineNum"> 19 </span> : * License along with this library; if not, write to the Free Software -<span class="lineNum"> 20 </span> : * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -<span class="lineNum"> 21 </span> : */ -<span class="lineNum"> 22 </span> : -<span class="lineNum"> 23 </span> : #include <ept/core/apt/recordparser.h> -<span class="lineNum"> 24 </span> : -<span class="lineNum"> 25 </span> : #include <algorithm> -<span class="lineNum"> 26 </span> : #include <cctype> -<span class="lineNum"> 27 </span> : -<span class="lineNum"> 28 </span> : //#include <iostream> -<span class="lineNum"> 29 </span> : -<span class="lineNum"> 30 </span> : using namespace std; -<span class="lineNum"> 31 </span> : -<span class="lineNum"> 32 </span> : namespace ept { -<span class="lineNum"> 33 </span> : namespace core { -<span class="lineNum"> 34 </span> : namespace record { -<span class="lineNum"> 35 </span> : -<span class="lineNum"> 36 </span> : struct rpcompare -<span class="lineNum"> 37 </span> : { -<span class="lineNum"> 38 </span> : const RecordParser& rp; -<span class="lineNum"> 39 </span><span class="lineCov"> 1310 : rpcompare(const RecordParser& rp) : rp(rp) {}</span> -<span class="lineNum"> 40 </span><span class="lineCov"> 89600 : bool operator()(size_t a, size_t b)</span> -<span class="lineNum"> 41 </span> : { -<span class="lineNum"> 42 </span><span class="lineCov"> 89600 : return rp.name(a) < rp.name(b);</span> -<span class="lineNum"> 43 </span> : } -<span class="lineNum"> 44 </span> : }; -<span class="lineNum"> 45 </span> : -<span class="lineNum"> 46 </span><span class="lineCov"> 1310 : void RecordParser::scan(const std::string& str)</span> -<span class="lineNum"> 47 </span> : { -<span class="lineNum"> 48 </span><span class="lineCov"> 1310 : buffer = str;</span> -<span class="lineNum"> 49 </span><span class="lineCov"> 1310 : ends.clear();</span> -<span class="lineNum"> 50 </span><span class="lineCov"> 1310 : sorted.clear();</span> -<span class="lineNum"> 51 </span> : -<span class="lineNum"> 52 </span> : //cerr << "PARSE " << endl << buffer << "*****" << endl; -<span class="lineNum"> 53 </span> : -<span class="lineNum"> 54 </span> : // Scan the buffer, taking note of all ending offsets of the various fields -<span class="lineNum"> 55 </span><span class="lineCov"> 1310 : size_t pos = 0;</span> -<span class="lineNum"> 56 </span><span class="lineCov"> 1310 : size_t idx = 0;</span> -<span class="lineNum"> 57 </span><span class="lineCov"> 29815 : while (pos < buffer.size() - 1)</span> -<span class="lineNum"> 58 </span> : { -<span class="lineNum"> 59 </span> : //cerr << "PREPOS " << pos << " left: " << buffer.substr(pos, 10) << endl; -<span class="lineNum"> 60 </span><span class="lineCov"> 28505 : pos = buffer.find("\n", pos);</span> -<span class="lineNum"> 61 </span> : //cerr << "POSTPOS " << pos << " left: " << (pos == string::npos ? "NONE" : buffer.substr(pos, 10)) << endl; -<span class="lineNum"> 62 </span> : -<span class="lineNum"> 63 </span> : // The buffer does not end with a newline -<span class="lineNum"> 64 </span><span class="lineCov"> 28505 : if (pos == string::npos)</span> -<span class="lineNum"> 65 </span> : { -<span class="lineNum"> 66 </span> : //cerr << "ENDNOTEOL" << endl; -<span class="lineNum"> 67 </span><span class="lineCov"> 1 : pos = buffer.size();</span> -<span class="lineNum"> 68 </span><span class="lineCov"> 1 : ends.push_back(pos);</span> -<span class="lineNum"> 69 </span><span class="lineCov"> 1 : sorted.push_back(idx++);</span> -<span class="lineNum"> 70 </span><span class="lineCov"> 1 : break;</span> -<span class="lineNum"> 71 </span> : } -<span class="lineNum"> 72 </span> : -<span class="lineNum"> 73 </span><span class="lineCov"> 28504 : ++pos;</span> -<span class="lineNum"> 74 </span> : //cerr << "POSTPOSINC " << pos << " left: " << buffer.substr(pos, 10) << endl; -<span class="lineNum"> 75 </span> : -<span class="lineNum"> 76 </span> : // The buffer ends with a newline -<span class="lineNum"> 77 </span><span class="lineCov"> 28504 : if (pos == buffer.size())</span> -<span class="lineNum"> 78 </span> : { -<span class="lineNum"> 79 </span> : //cerr << "ENDEOL" << endl; -<span class="lineNum"> 80 </span><span class="lineCov"> 1309 : ends.push_back(pos);</span> -<span class="lineNum"> 81 </span><span class="lineCov"> 1309 : sorted.push_back(idx++);</span> -<span class="lineNum"> 82 </span><span class="lineCov"> 1309 : break;</span> -<span class="lineNum"> 83 </span> : } -<span class="lineNum"> 84 </span> : -<span class="lineNum"> 85 </span> : // Terminate parsing on double newlines -<span class="lineNum"> 86 </span><span class="lineCov"> 27195 : if (buffer[pos] == '\n')</span> -<span class="lineNum"> 87 </span> : { -<span class="lineNum"> 88 </span> : //cerr << "ENDDOUBLENL" << endl; -<span class="lineNum"> 89 </span><span class="lineNoCov"> 0 : ends.push_back(pos);</span> -<span class="lineNum"> 90 </span><span class="lineNoCov"> 0 : sorted.push_back(idx++);</span> -<span class="lineNum"> 91 </span><span class="lineNoCov"> 0 : break;</span> -<span class="lineNum"> 92 </span> : } -<span class="lineNum"> 93 </span> : -<span class="lineNum"> 94 </span> : // Mark the end of the field if it's not a continuation line -<span class="lineNum"> 95 </span><span class="lineCov"> 27195 : if (!isspace(buffer[pos]))</span> -<span class="lineNum"> 96 </span> : { -<span class="lineNum"> 97 </span> : //cerr << "INNERFIELD" << endl; -<span class="lineNum"> 98 </span><span class="lineCov"> 17224 : ends.push_back(pos);</span> -<span class="lineNum"> 99 </span><span class="lineCov"> 17224 : sorted.push_back(idx++);</span> -<span class="lineNum"> 100 </span> : } //else -<span class="lineNum"> 101 </span> : //cerr << "CONTLINE" << endl; -<span class="lineNum"> 102 </span> : } -<span class="lineNum"> 103 </span> : -<span class="lineNum"> 104 </span> : // Sort the sorted array -<span class="lineNum"> 105 </span><span class="lineCov"> 1310 : sort(sorted.begin(), sorted.end(), rpcompare(*this));</span> -<span class="lineNum"> 106 </span> : -<span class="lineNum"> 107 </span> : //for (size_t i = 0; i < ends.size(); ++i) -<span class="lineNum"> 108 </span> : // cerr << ends[i] << "\t" << name(i) << "\t" << sorted[i] << "\t" << name(sorted[i]) << endl; -<span class="lineNum"> 109 </span><span class="lineCov"> 1310 : }</span> -<span class="lineNum"> 110 </span> : -<span class="lineNum"> 111 </span><span class="lineCov"> 187124 : std::string RecordParser::field(size_t idx) const</span> -<span class="lineNum"> 112 </span> : { -<span class="lineNum"> 113 </span><span class="lineCov"> 187124 : if (idx >= ends.size())</span> -<span class="lineNum"> 114 </span><span class="lineCov"> 1 : return string();</span> -<span class="lineNum"> 115 </span><span class="lineCov"> 187123 : if (idx == 0)</span> -<span class="lineNum"> 116 </span><span class="lineCov"> 16577 : return buffer.substr(0, ends[0]);</span> -<span class="lineNum"> 117 </span> : else -<span class="lineNum"> 118 </span><span class="lineCov"> 170546 : return buffer.substr(ends[idx-1], ends[idx]-ends[idx-1]);</span> -<span class="lineNum"> 119 </span> : } -<span class="lineNum"> 120 </span> : -<span class="lineNum"> 121 </span><span class="lineCov"> 185814 : std::string RecordParser::name(size_t idx) const</span> -<span class="lineNum"> 122 </span> : { -<span class="lineNum"> 123 </span><span class="lineCov"> 185814 : string res = field(idx);</span> -<span class="lineNum"> 124 </span><span class="lineCov"> 185814 : size_t pos = res.find(":");</span> -<span class="lineNum"> 125 </span><span class="lineCov"> 185814 : if (pos == string::npos)</span> -<span class="lineNum"> 126 </span><span class="lineCov"> 2 : return res;</span> -<span class="lineNum"> 127 </span><span class="lineCov"> 185812 : return res.substr(0, pos);</span> -<span class="lineNum"> 128 </span> : } -<span class="lineNum"> 129 </span> : -<span class="lineNum"> 130 </span><span class="lineCov"> 1310 : std::string RecordParser::lookup(size_t idx) const</span> -<span class="lineNum"> 131 </span> : { -<span class="lineNum"> 132 </span><span class="lineCov"> 1310 : string res = field(idx);</span> -<span class="lineNum"> 133 </span><span class="lineCov"> 1310 : size_t pos = res.find(":");</span> -<span class="lineNum"> 134 </span><span class="lineCov"> 1310 : if (pos == string::npos)</span> -<span class="lineNum"> 135 </span><span class="lineCov"> 1 : return res;</span> -<span class="lineNum"> 136 </span> : // Skip initial whitespace after the : -<span class="lineNum"> 137 </span><span class="lineCov"> 1309 : for (++pos; pos < res.size() && isspace(res[pos]); ++pos)</span> -<span class="lineNum"> 138 </span> : ; -<span class="lineNum"> 139 </span><span class="lineCov"> 1309 : res = res.substr(pos);</span> -<span class="lineNum"> 140 </span> : // Trim spaces at the end -<span class="lineNum"> 141 </span><span class="lineCov"> 3927 : while (!res.empty() && isspace(res[res.size() - 1]))</span> -<span class="lineNum"> 142 </span><span class="lineCov"> 1309 : res.resize(res.size() - 1);</span> -<span class="lineNum"> 143 </span><span class="lineCov"> 1309 : return res;</span> -<span class="lineNum"> 144 </span> : } -<span class="lineNum"> 145 </span> : -<span class="lineNum"> 146 </span><span class="lineCov"> 1310 : size_t RecordParser::index(const std::string& str) const</span> -<span class="lineNum"> 147 </span> : { -<span class="lineNum"> 148 </span> : int begin, end; -<span class="lineNum"> 149 </span> : -<span class="lineNum"> 150 </span> : /* Binary search */ -<span class="lineNum"> 151 </span><span class="lineCov"> 1310 : begin = -1, end = size();</span> -<span class="lineNum"> 152 </span><span class="lineCov"> 7924 : while (end - begin > 1)</span> -<span class="lineNum"> 153 </span> : { -<span class="lineNum"> 154 </span><span class="lineCov"> 5304 : int cur = (end + begin) / 2;</span> -<span class="lineNum"> 155 </span> : //cerr << "Test " << cur << " " << str << " < " << name(cur) << endl; -<span class="lineNum"> 156 </span><span class="lineCov"> 5304 : if (name(sorted[cur]) > str)</span> -<span class="lineNum"> 157 </span><span class="lineCov"> 1724 : end = cur;</span> -<span class="lineNum"> 158 </span> : else -<span class="lineNum"> 159 </span><span class="lineCov"> 3580 : begin = cur;</span> -<span class="lineNum"> 160 </span> : } -<span class="lineNum"> 161 </span> : -<span class="lineNum"> 162 </span><span class="lineCov"> 1310 : if (begin == -1 || name(sorted[begin]) != str)</span> -<span class="lineNum"> 163 </span><span class="lineCov"> 1 : return size();</span> -<span class="lineNum"> 164 </span> : else -<span class="lineNum"> 165 </span><span class="lineCov"> 1309 : return sorted[begin];</span> -<span class="lineNum"> 166 </span> : } -<span class="lineNum"> 167 </span> : -<span class="lineNum"> 168 </span> : } -<span class="lineNum"> 169 </span> : } -<span class="lineNum"> 170 </span> : } -<span class="lineNum"> 171 </span> : -<span class="lineNum"> 172 </span> : // vim:set ts=4 sw=4: -</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> diff --git a/rep/ept/core/apt/recordparser.h.gcov.html b/rep/ept/core/apt/recordparser.h.gcov.html deleted file mode 100644 index 13eb803..0000000 --- a/rep/ept/core/apt/recordparser.h.gcov.html +++ /dev/null @@ -1,165 +0,0 @@ -<!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/recordparser.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/apt</a> - recordparser.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%">4</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%">4</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> : #ifndef EPT_CORE_APT_RECORDPARSER_H -<span class="lineNum"> 3 </span> : #define EPT_CORE_APT_RECORDPARSER_H -<span class="lineNum"> 4 </span> : -<span class="lineNum"> 5 </span> : /** \file -<span class="lineNum"> 6 </span> : * Parser for APT records -<span class="lineNum"> 7 </span> : */ -<span class="lineNum"> 8 </span> : -<span class="lineNum"> 9 </span> : /* -<span class="lineNum"> 10 </span> : * Copyright (C) 2007 Enrico Zini <enrico@enricozini.org> -<span class="lineNum"> 11 </span> : * -<span class="lineNum"> 12 </span> : * This library is free software; you can redistribute it and/or -<span class="lineNum"> 13 </span> : * modify it under the terms of the GNU Lesser General Public -<span class="lineNum"> 14 </span> : * License as published by the Free Software Foundation; either -<span class="lineNum"> 15 </span> : * version 2.1 of the License, or (at your option) any later version. -<span class="lineNum"> 16 </span> : * -<span class="lineNum"> 17 </span> : * This library is distributed in the hope that it will be useful, -<span class="lineNum"> 18 </span> : * but WITHOUT ANY WARRANTY; without even the implied warranty of -<span class="lineNum"> 19 </span> : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -<span class="lineNum"> 20 </span> : * Lesser General Public License for more details. -<span class="lineNum"> 21 </span> : * -<span class="lineNum"> 22 </span> : * You should have received a copy of the GNU Lesser General Public -<span class="lineNum"> 23 </span> : * License along with this library; if not, write to the Free Software -<span class="lineNum"> 24 </span> : * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -<span class="lineNum"> 25 </span> : */ -<span class="lineNum"> 26 </span> : -<span class="lineNum"> 27 </span> : #include <vector> -<span class="lineNum"> 28 </span> : #include <string> -<span class="lineNum"> 29 </span> : -<span class="lineNum"> 30 </span> : namespace ept { -<span class="lineNum"> 31 </span> : namespace core { -<span class="lineNum"> 32 </span> : namespace record { -<span class="lineNum"> 33 </span> : -<span class="lineNum"> 34 </span> : /** -<span class="lineNum"> 35 </span> : * Access the fields of a package record contained inside a std::string. -<span class="lineNum"> 36 </span> : * -<span class="lineNum"> 37 </span> : * Implementation note: this implementation should take advantage of -<span class="lineNum"> 38 </span> : * std::string sharing buffer space among them. -<span class="lineNum"> 39 </span> : */ -<span class="lineNum"> 40 </span> : class RecordParser -<span class="lineNum"> 41 </span><span class="lineCov"> 1310 : {</span> -<span class="lineNum"> 42 </span> : /// Buffer containing the whole record -<span class="lineNum"> 43 </span> : std::string buffer; -<span class="lineNum"> 44 </span> : -<span class="lineNum"> 45 </span> : /// End offsets of the various fields in the record -<span class="lineNum"> 46 </span> : std::vector<size_t> ends; -<span class="lineNum"> 47 </span> : -<span class="lineNum"> 48 </span> : /// Indexes on the ends vector, sorted by field name -<span class="lineNum"> 49 </span> : std::vector<size_t> sorted; -<span class="lineNum"> 50 </span> : -<span class="lineNum"> 51 </span> : public: -<span class="lineNum"> 52 </span> : RecordParser() {} -<span class="lineNum"> 53 </span><span class="lineCov"> 1310 : RecordParser(const std::string& str) { scan(str); }</span> -<span class="lineNum"> 54 </span> : -<span class="lineNum"> 55 </span> : /// Index a new record -<span class="lineNum"> 56 </span> : void scan(const std::string& str); -<span class="lineNum"> 57 </span> : -<span class="lineNum"> 58 </span> : /** -<span class="lineNum"> 59 </span> : * Get the index of the field with the given name. -<span class="lineNum"> 60 </span> : * -<span class="lineNum"> 61 </span> : * size() is returned if not found -<span class="lineNum"> 62 </span> : */ -<span class="lineNum"> 63 </span> : size_t index(const std::string& str) const; -<span class="lineNum"> 64 </span> : -<span class="lineNum"> 65 </span> : /// Return the field by its index -<span class="lineNum"> 66 </span> : std::string field(size_t idx) const; -<span class="lineNum"> 67 </span> : -<span class="lineNum"> 68 </span> : /// Return the name of a field by its index -<span class="lineNum"> 69 </span> : std::string name(size_t idx) const; -<span class="lineNum"> 70 </span> : -<span class="lineNum"> 71 </span> : /// Return the content of a field by its index -<span class="lineNum"> 72 </span> : std::string lookup(size_t idx) const; -<span class="lineNum"> 73 </span> : -<span class="lineNum"> 74 </span> : /// Return the content of a field by its name -<span class="lineNum"> 75 </span><span class="lineCov"> 1310 : std::string lookup(const std::string& name) const { return lookup(index(name)); }</span> -<span class="lineNum"> 76 </span> : -<span class="lineNum"> 77 </span> : /// Return the content of a field by its index -<span class="lineNum"> 78 </span> : std::string operator[](size_t idx) const { return lookup(idx); } -<span class="lineNum"> 79 </span> : -<span class="lineNum"> 80 </span> : /// Return the content of a field by its name -<span class="lineNum"> 81 </span> : std::string operator[](const std::string& name) const { return lookup(name); } -<span class="lineNum"> 82 </span> : -<span class="lineNum"> 83 </span> : /// Return the entire record -<span class="lineNum"> 84 </span> : const std::string& record() const { return buffer; } -<span class="lineNum"> 85 </span> : -<span class="lineNum"> 86 </span> : /// Return the entire record -<span class="lineNum"> 87 </span> : std::string record() { return buffer; } -<span class="lineNum"> 88 </span> : -<span class="lineNum"> 89 </span> : /// Return the number of fields in the record -<span class="lineNum"> 90 </span><span class="lineCov"> 1311 : size_t size() const { return ends.size(); }</span> -<span class="lineNum"> 91 </span> : }; -<span class="lineNum"> 92 </span> : -<span class="lineNum"> 93 </span> : } -<span class="lineNum"> 94 </span> : } -<span class="lineNum"> 95 </span> : } -<span class="lineNum"> 96 </span> : -<span class="lineNum"> 97 </span> : // vim:set ts=4 sw=4: -<span class="lineNum"> 98 </span> : #endif -</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> diff --git a/rep/ept/core/apt/version.h.gcov.html b/rep/ept/core/apt/version.h.gcov.html deleted file mode 100644 index b17fdfb..0000000 --- a/rep/ept/core/apt/version.h.gcov.html +++ /dev/null @@ -1,160 +0,0 @@ -<!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/version.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/apt</a> - version.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%">32</td> - </tr> - <tr> - <td class="headerItem" width="20%">Code covered:</td> - <td class="headerValue" width="20%">93.8 %</td> - <td width="20%"></td> - <td class="headerItem" width="20%">Executed lines:</td> - <td class="headerValue" width="20%">30</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> : #ifndef EPT_CORE_APT_VERSION_H -<span class="lineNum"> 3 </span> : #define EPT_CORE_APT_VERSION_H -<span class="lineNum"> 4 </span> : -<span class="lineNum"> 5 </span> : namespace ept { -<span class="lineNum"> 6 </span> : namespace core { -<span class="lineNum"> 7 </span> : namespace version { -<span class="lineNum"> 8 </span> : -<span class="lineNum"> 9 </span><span class="lineCov"> 3616 : struct InternalList {</span> -<span class="lineNum"> 10 </span> : package::Internal m_pkg; -<span class="lineNum"> 11 </span> : Internal m_ver; -<span class="lineNum"> 12 </span> : -<span class="lineNum"> 13 </span> : typedef Internal Type; -<span class="lineNum"> 14 </span> : -<span class="lineNum"> 15 </span><span class="lineCov"> 3616 : InternalList tail() const {</span> -<span class="lineNum"> 16 </span><span class="lineCov"> 3616 : InternalList t = *this;</span> -<span class="lineNum"> 17 </span><span class="lineCov"> 3616 : t.m_ver ++;</span> -<span class="lineNum"> 18 </span><span class="lineCov"> 3616 : t.seek();</span> -<span class="lineNum"> 19 </span> : return t; -<span class="lineNum"> 20 </span> : } -<span class="lineNum"> 21 </span> : -<span class="lineNum"> 22 </span><span class="lineCov"> 5424 : const Internal head() const {</span> -<span class="lineNum"> 23 </span><span class="lineCov"> 5424 : return m_ver;</span> -<span class="lineNum"> 24 </span> : } -<span class="lineNum"> 25 </span> : -<span class="lineNum"> 26 </span> : Internal head() { -<span class="lineNum"> 27 </span> : return m_ver; -<span class="lineNum"> 28 </span> : } -<span class="lineNum"> 29 </span> : -<span class="lineNum"> 30 </span><span class="lineCov"> 3618 : bool empty() const {</span> -<span class="lineNum"> 31 </span><span class="lineCov"> 3618 : return m_pkg.end();</span> -<span class="lineNum"> 32 </span> : } -<span class="lineNum"> 33 </span> : -<span class="lineNum"> 34 </span><span class="lineCov"> 3618 : void seek()</span> -<span class="lineNum"> 35 </span> : { -<span class="lineNum"> 36 </span><span class="lineCov"> 14790 : while ( m_ver.end() && !m_pkg.end() ) {</span> -<span class="lineNum"> 37 </span><span class="lineCov"> 7554 : m_pkg ++;</span> -<span class="lineNum"> 38 </span><span class="lineCov"> 7554 : m_ver = m_pkg.VersionList();</span> -<span class="lineNum"> 39 </span> : } -<span class="lineNum"> 40 </span><span class="lineCov"> 3618 : }</span> -<span class="lineNum"> 41 </span> : -<span class="lineNum"> 42 </span><span class="lineCov"> 2 : InternalList( package::Internal i )</span> -<span class="lineNum"> 43 </span><span class="lineCov"> 2 : : m_pkg( i )</span> -<span class="lineNum"> 44 </span> : { -<span class="lineNum"> 45 </span><span class="lineCov"> 2 : m_ver = m_pkg.VersionList();</span> -<span class="lineNum"> 46 </span><span class="lineCov"> 2 : seek();</span> -<span class="lineNum"> 47 </span><span class="lineCov"> 2 : }</span> -<span class="lineNum"> 48 </span> : }; -<span class="lineNum"> 49 </span> : -<span class="lineNum"> 50 </span> : struct Setup { -<span class="lineNum"> 51 </span> : typedef ept::Token Token; -<span class="lineNum"> 52 </span> : typedef version::Internal Internal; -<span class="lineNum"> 53 </span> : typedef version::PropertyId PropertyId; -<span class="lineNum"> 54 </span> : typedef version::InternalList InternalList; -<span class="lineNum"> 55 </span> : }; -<span class="lineNum"> 56 </span> : -<span class="lineNum"> 57 </span> : struct Source : core::Source< Source, Setup, PropertyType > -<span class="lineNum"> 58 </span><span class="lineCov"> 12 : {</span> -<span class="lineNum"> 59 </span> : AptDatabase &m_db; -<span class="lineNum"> 60 </span><span class="lineCov"> 12 : Source( AptDatabase &db ) : m_db( db ) {}</span> -<span class="lineNum"> 61 </span> : -<span class="lineNum"> 62 </span><span class="lineCov"> 2 : InternalList listInternal() {</span> -<span class="lineNum"> 63 </span><span class="lineCov"> 2 : return InternalList( m_db.cache().PkgBegin() );</span> -<span class="lineNum"> 64 </span> : } -<span class="lineNum"> 65 </span> : -<span class="lineNum"> 66 </span><span class="lineCov"> 1808 : Token getToken( Internal i ) {</span> -<span class="lineNum"> 67 </span><span class="lineCov"> 1808 : Token t;</span> -<span class="lineNum"> 68 </span><span class="lineCov"> 1808 : t._id = std::string( i.ParentPkg().Name() ) + "_" + i.VerStr();</span> -<span class="lineNum"> 69 </span><span class="lineNoCov"> 0 : return t;</span> -<span class="lineNum"> 70 </span> : } -<span class="lineNum"> 71 </span> : -<span class="lineNum"> 72 </span> : Internal lookupToken( Token t ) { -<span class="lineNum"> 73 </span> : return m_db.lookupVersion( t ); -<span class="lineNum"> 74 </span> : } -<span class="lineNum"> 75 </span> : -<span class="lineNum"> 76 </span> : template< PropertyId p > -<span class="lineNum"> 77 </span> : typename PropertyType< p >::T getInternal( Internal ); -<span class="lineNum"> 78 </span> : }; -<span class="lineNum"> 79 </span> : -<span class="lineNum"> 80 </span> : template<> struct PropertyType< Package > { typedef Token T; }; -<span class="lineNum"> 81 </span> : -<span class="lineNum"> 82 </span><span class="lineCov"> 3616 : template<> inline Token Source::getInternal< Package >( Internal i ) {</span> -<span class="lineNum"> 83 </span><span class="lineCov"> 3616 : assert( !i.end() );</span> -<span class="lineNum"> 84 </span><span class="lineCov"> 3616 : Token t;</span> -<span class="lineNum"> 85 </span><span class="lineCov"> 7232 : t._id = i.ParentPkg().Name();</span> -<span class="lineNum"> 86 </span><span class="lineNoCov"> 0 : return t;</span> -<span class="lineNum"> 87 </span> : } -<span class="lineNum"> 88 </span> : -<span class="lineNum"> 89 </span> : } -<span class="lineNum"> 90 </span> : } -<span class="lineNum"> 91 </span> : } -<span class="lineNum"> 92 </span> : -<span class="lineNum"> 93 </span> : #endif -</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> |