Mercurial > hg
changeset 41481:5880b4e762cd
tests: perform a shallow copy instead of a deep copy
Python 3 can't perform a deep copy because it looks like symbols
in the locals() namespace are not deep-copyable. For the curious,
somehow the deepcopy() is attempting to copy objects attached to
the unittest.* functions for the running test!
We don't use deepcopy() anywhere in the code base and a shallow
object copy should be sufficient to test lock copying.
Actually, I'm not sure why we even test this, as I couldn't find
copy.copy() being used for lock copying either. Who knows.
Differential Revision: https://phab.mercurial-scm.org/D5770
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 30 Jan 2019 16:53:12 -0800 |
parents | eb6700e6c5ea |
children | b58d608ec6a0 |
files | tests/test-lock.py |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-lock.py Wed Jan 30 18:49:17 2019 -0500 +++ b/tests/test-lock.py Wed Jan 30 16:53:12 2019 -0800 @@ -141,7 +141,7 @@ state.assertacquirecalled(True) # fake a fork - forklock = copy.deepcopy(lock) + forklock = copy.copy(lock) forklock._pidoffset = 1 forklock.release() state.assertreleasecalled(False) @@ -238,7 +238,7 @@ childstate.assertacquirecalled(True) # fork the child lock - forkchildlock = copy.deepcopy(childlock) + forkchildlock = copy.copy(childlock) forkchildlock._pidoffset += 1 forkchildlock.release() childstate.assertreleasecalled(False)