From: Michael Andres Date: Fri, 7 Nov 2008 00:55:53 +0000 (+0000) Subject: backup X-Git-Tag: BASE-SuSE-Code-11-Branch~128 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fupstream%2Flibzypp.git;a=commitdiff_plain;h=7fcfcb57bb527770a01f717a326282b2680e4e1f backup --- diff --git a/devel/devel.ma/Test.cc b/devel/devel.ma/Test.cc index 97ce17e..12e2951 100644 --- a/devel/devel.ma/Test.cc +++ b/devel/devel.ma/Test.cc @@ -1,4 +1,5 @@ #include "Tools.h" +#include /****************************************************************** ** @@ -10,11 +11,19 @@ int main( int argc, char * argv[] ) INT << "===[START]==========================================" << endl; // https://bugzilla.novell.com/show_bug.cgi?id=442200 - Pathname mroot( "/tmp/ToolScanRepos" ); TestSetup test( mroot, Arch_x86_64 ); test.loadRepos(); + ResPool pool( test.pool() ); + for_( it, pool.byKindBegin(), pool.byKindEnd() ) + { + Patch::constPtr p( (*it)->asKind() ); + MIL << p << endl; + Patch::Contents contents( p->contents() ); + DBG << contents << endl; + } + INT << "===[END]============================================" << endl << endl; return 0; diff --git a/devel/devel.ma/ToolScanRepos.cc b/devel/devel.ma/ToolScanRepos.cc index 11fb82b..d1e785b 100644 --- a/devel/devel.ma/ToolScanRepos.cc +++ b/devel/devel.ma/ToolScanRepos.cc @@ -6,7 +6,7 @@ ** FUNCTION TYPE : int */ int main( int argc, char * argv[] ) -{ +try { INT << "===[START]==========================================" << endl; std::string appname( Pathname::basename( argv[0] ) ); --argc; @@ -43,4 +43,11 @@ int main( int argc, char * argv[] ) INT << "===[END]============================================" << endl << endl; return 0; } - +catch ( const Exception & exp ) +{ + INT; + cerr << exp << endl << exp.historyAsString(); + throw; +} +catch (...) +{} diff --git a/tests/sat/LookupAttr_test.cc b/tests/sat/LookupAttr_test.cc index 3206004..bc5e90d 100644 --- a/tests/sat/LookupAttr_test.cc +++ b/tests/sat/LookupAttr_test.cc @@ -3,7 +3,7 @@ #define LABELED(V) #V << ":\t" << V -static TestSetup test( Arch_x86_64 ); +static TestSetup test( "/tmp/x", Arch_x86_64 ); // Must be the first test! BOOST_AUTO_TEST_CASE(bnc_435838) @@ -57,7 +57,20 @@ BOOST_AUTO_TEST_CASE(LookupAttr_existingattr) BOOST_AUTO_TEST_CASE(LookupAttr_) { -// base::LogControl::TmpLineWriter shutUp( new log::FileLineWriter( "/tmp/YLOG" ) ); -// sat::LookupAttr q( sat::SolvAttr::name ); -// MIL << "HI" << endl; -} \ No newline at end of file + base::LogControl::TmpLineWriter shutUp( new log::FileLineWriter( "/tmp/YLOG" ) ); + MIL << "GO" << endl; + + sat::Pool satpool( test.satpool() ); + for_( it, satpool.reposBegin(), satpool.reposEnd() ) + { + SEC << endl; + sat::LookupAttr q( sat::SolvAttr::name, *it ); + BOOST_CHECK_EQUAL( q.size(), it->solvablesSize() ); + MIL << q << ' ' << q.size() << " in " << *it << endl; + DBG << q << endl; + } + return; + sat::LookupAttr q( sat::SolvAttr::name ); + BOOST_CHECK_EQUAL( q.size(), satpool.solvablesSize() ); + MIL << q << ' ' << q.size() << " in ALL" << endl; +} diff --git a/zypp/sat/LookupAttr.cc b/zypp/sat/LookupAttr.cc index 0b6cd5d..e12ddd9 100644 --- a/zypp/sat/LookupAttr.cc +++ b/zypp/sat/LookupAttr.cc @@ -23,6 +23,12 @@ using std::endl; +#if 0 +#undef XXX +#define XXX MIL +#warning Remove dummy debug output defines +#endif + /////////////////////////////////////////////////////////////////// namespace zypp { ///////////////////////////////////////////////////////////////// @@ -42,13 +48,20 @@ namespace zypp bool chain = false; if ( _solv ) - ::dataiterator_init( dip.get(), sat::Pool::instance().get(), _solv.repository().id(), _solv.id(), _attr.id(), 0, 0 ); + { + ::dataiterator_init( dip.get(), sat::Pool::instance().get(), _solv.repository().id(), _solv.id(), _attr.id(), 0, 0 ); + XXX << "Solv " << _solv << endl; + } else if ( _repo ) - ::dataiterator_init( dip.get(), sat::Pool::instance().get(), _repo.id(), 0, _attr.id(), 0, 0 ); + { + ::dataiterator_init( dip.get(), sat::Pool::instance().get(), _repo.id(), 0, _attr.id(), 0, 0 ); + XXX << "Repo " << _repo << endl; + } else if ( ! sat::Pool::instance().reposEmpty() ) { ::dataiterator_init( dip.get(), sat::Pool::instance().get(), sat::Pool::instance().reposBegin()->id(), 0, _attr.id(), 0, 0 ); chain = true; + XXX << "ALL " << endl; } else return iterator(); @@ -99,6 +112,32 @@ namespace zypp // CLASS NAME : LookupAttr::iterator // /////////////////////////////////////////////////////////////////// + std::ostream & operator<<( std::ostream & str, const ::_Dataiterator * obj ) + { + + str << "::_Dataiterator("; + if ( ! obj ) + { + str << "NULL"; + } + else + { + str << '|' << obj->pool; + str << '|' << Repository(obj->repo); + str << '|' << obj->key; + str << '|' << obj->keyname; + str << '|' << obj->repodataid; + str << '|' << obj->solvid; + str << '|' << obj->repoid; + } + return str << ")"; + } + + std::ostream & operator<<( std::ostream & str, const scoped_ptr< ::_Dataiterator> & obj ) + { + return str << obj.get(); + } + /////////////////////////////////////////////////////////////////// // position and moving @@ -345,7 +384,9 @@ namespace zypp , _chainRepos( chain_r ) { _dip.swap( dip_r ); // take ownership! + XXX << _dip << endl; increment(); + XXX << *this << endl; } /////////////////////////////////////////////////////////////////// diff --git a/zypp/sat/LookupAttr.h b/zypp/sat/LookupAttr.h index 6bf5f41..c554c53 100644 --- a/zypp/sat/LookupAttr.h +++ b/zypp/sat/LookupAttr.h @@ -302,11 +302,11 @@ namespace zypp */ iterator( scoped_ptr< ::_Dataiterator> & dip_r, bool chain_r ); - ::_Dataiterator * cloneFrom( const ::_Dataiterator * rhs ); - private: friend class boost::iterator_core_access; + ::_Dataiterator * cloneFrom( const ::_Dataiterator * rhs ); + template bool equal( const boost::iterator_adaptor & rhs ) const {