Florian Festi wrote:
Hi!
This is a revisited patch to finally add a set of unresolved transaction
members to tsInfo that is maintained by the tsInfo object itself. That
way it cannot get outdated when plugins or other code pieces add or
remove pkgs form the transaction behind the back of the depsolver.
This allows to avoid restarting the depsolving from scratch after
running the plugins or the skip-broken code.
For my F8 Everything install this reduces depsolving time from 2m20.689s
to 1m18.402s. This is more or less the time for the first depsolving run.
To be able to handle the txmbrs sanely I had to change the
implementation of __hash__ and __cmp__. __cmp__ still sorts
alfabetically but returns 0 only on identity. For __hash__ the
object.__hash__ is used.
May be this should be tested a bit more with the reinstall command.
With this patch testAddTheSameTwice from transactiontests fails. This is
intended as long as addInstall and friends do not return the right txmbr
object.
Thoughts?
Florian
Look good, but i get a failing test
FAIL: test add the same twice
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/udv/git/yum/test/transactiontests.py", line 38, in
testAddTheSameTwice
self.assertEquals(txmbr3, txmbr1) # 1 & 3 should be equal
AssertionError: <TransactionMember : foo.noarch 0-1-0 - u (0x9a5850c)>
!= <TransactionMember : foo.noarch 0-1-0 - u (0x9a5824c)>
-------------------- >> begin captured stdout << ---------------------
creating empty repo for foo
creating empty repo for foo
creating empty repo for bar
creating empty repo for bar
creating empty repo for foogui
creating empty repo for foogui
foo.noarch 0-1-0 - u
foo.i386 0-2-0 - u
--------------------- >> end captured stdout << ----------------------
----------------------------------------------------------------------
Ran 205 tests in 1.210s
FAILED (failures=1)
make: *** [test] Error 1
Tim
_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel