// TRANSACT = bit::RangeValue<TransactField,2>::value // transact according to state
// };
-template <class _Iter>
-inline bool _all( _Iter begin_r, _Iter end_r, ResStatus::TransactValue val_r )
+template <class TIter>
+inline bool _all( TIter begin_r, TIter end_r, ResStatus::TransactValue val_r )
{
for_( it, begin_r, end_r )
{
return true;
}
-template <class _Iter>
-inline bool _none( _Iter begin_r, _Iter end_r, ResStatus::TransactValue val_r )
+template <class TIter>
+inline bool _none( TIter begin_r, TIter end_r, ResStatus::TransactValue val_r )
{
for_( it, begin_r, end_r )
{
return true;
}
-template <class _Iter>
-inline bool _atLeastOne( _Iter begin_r, _Iter end_r, ResStatus::TransactValue val_r )
+template <class TIter>
+inline bool _atLeastOne( TIter begin_r, TIter end_r, ResStatus::TransactValue val_r )
{ return ! _none( begin_r, end_r, val_r ); }
inline bool _allBySolver( ui::Selectable::Ptr sel )
} while ( comb.next() );
}
-BOOST_AUTO_TEST_CASE(status_change)
+BOOST_AUTO_TEST_CASE(status_verify)
{
// this verifies the Selectables computes ui::Status
ResPoolProxy poolProxy( test.poolProxy() );
- poolProxy.saveState();
+ ResPoolProxy::ScopedSaveState saveState( poolProxy );
{
ui::Selectable::Ptr sel( poolProxy.lookup( ResKind::package, "installed_only" ) );
BOOST_REQUIRE( !sel->installedEmpty() );
/////////////////////////////////////////////////////////////////////////////
+BOOST_AUTO_TEST_CASE(pickstatus_cycle)
+{
+ return;
+ // TODO: automate it
+ ResPoolProxy poolProxy( test.poolProxy() );
+ ResPoolProxy::ScopedSaveState saveState( poolProxy );
+ ui::Selectable::Ptr sel( poolProxy.lookup( ResKind::package, "installed_and_available" ) );
+
+ USR << dump(sel) << endl;
+ for ( const PoolItem & pi : sel->picklist() )
+ {
+ (sel->pickInstall( pi, ResStatus::USER ) ? WAR : ERR) << (pi.multiversionInstall() ? "M " : " " ) << pi << endl;
+ USR << dump(sel) << endl;
+ }
+}
+
+/////////////////////////////////////////////////////////////////////////////