Ë
‚Ö¦i_ ã ó¨ — d Z ddlmZmZ ddlmZ dZdZdZdZ dZ
dZee ez ez ez e
z z
Zd„ Z
d „ Zdd
„Zd„ Zd„ Zd
„ Zd„ Z edd« Zd„ Zd„ Zy)zVarious utility functions.é )Ú
namedtupleÚCounter)ÚcommonprefixTéP é é c ón — t | « |z
|z
}|t kD rd| d | || t | « |z
d fz } | S )Nz%s[%d chars]%s)ÚlenÚ_PLACEHOLDER_LEN)ÚsÚ prefixlenÚ suffixlenÚskips ú&/usr/lib64/python3.12/unittest/util.pyÚ_shortenr sK € ܈q‹6�IÑ Ñ)€DØÔÒØ * 9
¨t°Q´s¸1³vÀ Ñ7IÐ7JÐ5KÐLÑLˆØ€Hó c ó’ ‡‡— t t t | « « } t t t | « « }|t
k r| S t
| « Št ‰« Št
|‰z
t z t z z
}|t kD r&t ‰t |« Št ˆˆfd„| D « « S t ‰t t « Št ˆˆfd„| D « « S )Nc 3 ó. •K — | ] }‰|‰d z –— Œ y w©N© ©Ú.0r Úprefixr
s €€r Ú z'_common_shorten_repr..' s øè ø€ Ð:±T°�V˜a
˜mÕ+±Tùs ƒc 3 óT •K — | ] }‰t |‰d t t « z –— Œ! y wr )r Ú
_MIN_DIFF_LENÚ_MIN_END_LENr s €€r r z'_common_shorten_repr..* s- øè ø€ ð Ù�Qð œ( 1 Y Z =´-ÄÓNÕNÙùs ƒ%()ÚtupleÚmapÚ safe_reprÚmaxr
Ú_MAX_LENGTHr Ú_MIN_BEGIN_LENr Ú_MIN_COMMON_LENr )ÚargsÚmaxlenÚ
common_lenr r
s @@r Ú_common_shorten_reprr( s³ ù€ Ü””Y Ó%Ó&€DÜ
””S˜$“Ó
€FØ
”ÒØˆä
˜$Ó
€FÜ�F“€IäØ˜9Ñ$¤~Ñ5Ô8HÑHñJ€Jà”OÒ#ô ˜&¤.°*Ó=ˆÜÔ:±TÓ:Ó:Ð:ä
�fœn¬oÓ
>€FÜô Ùó ó ð r c ó¦ — t | « }|rt |« t
k r|S |d t
dz S # t $ r t j | « }Y ŒBw xY w)Nz [truncated]...)ÚreprÚ ExceptionÚobjectÚ__repr__r
r" )ÚobjÚshortÚresults r r r - sW € ð&Ü�c“ˆñ ”C˜“K¤+Ò-؈
Ø�,”;ÐÐ"3Ñ3Ð3øô ò &Ü—‘ Ó%Šð&ús ‚/ ¯AÁAc ó8 — | j ›d| j ›�S )NÚ.)Ú
__module__Ú__qualname__)Úclss r Ústrclassr6 6 s € Ø—n“n c×&6Ò&6Ð7Ð7r c ó — dx}}g }g } | | }|| }||k r-|j |« |dz
}| | |k( ry|dz
}| | |k( rŒnj||kD r-|j |« |dz
}|| |k( rG|dz
}|| |k( rŒn8|dz
} | | |k( r|dz
}| | |k( rŒ|dz
}|| |k( r|dz
}|| |k( rŒ Œ¨# |dz
}|| |k( r|dz
}|| |k( rŒw w xY w# t $ r. |j | |d « |j ||d « Y ||fS w xY w)ar Finds elements in only one or the other of two, sorted input lists.
Returns a two-element tuple of lists. The first list contains those
elements in the "expected" list but not in the "actual" list, and the
second contains those elements in the "actual" list but not in the
"expected" list. Duplicate elements in either input list are ignored.
r é N)ÚappendÚ
IndexErrorÚextend)ÚexpectedÚactualÚiÚjÚmissingÚ
unexpectedÚeÚas r Úsorted_list_differencerD 9 sƒ € ð
€I€AˆØ€GØ€JØ
ð Ø˜‘ˆAØ�q‘ ˆAØ�1ŠuØ—‘˜qÔ!Ø�Q‘�ؘq‘k QÒ&ؘ‘F�Að ˜q‘k QÔ&à�Q’Ø×!Ñ! !Ô$Ø�Q‘�ؘQ‘i 1’nؘ‘F�Að ˜Q‘i 1”nð �Q‘�ðØ" 1™+¨Ò*ؘQ™˜ð # 1™+¨Ó*𠘑F�AØ ™) qš.ؘQ™˜ð ! ™) qœ.ð+ øð( ˜‘F�AØ ™) qš.ؘQ™˜ð ! ™) q�.ûäò Ø�N‰N˜8 A B˜<Ô(Ø×јf Q R˜jÔ)ØØ�JÐÐð úsA ‹:C Á1C Á8C Á?B2 ÂC Â0C Â2CÃCÃC Ã1D
Ä D
c óœ — g }| r%| j « } |j |« | rŒ%||fS # t $ r |j |« Y Œ#w xY w)zSame behavior as sorted_list_difference but
for lists of unorderable items (like dicts).
As it does a linear search per item (remove) it
has O(n*n) performance.)ÚpopÚremoveÚ
ValueErrorr9 )r<