~JO d dl Z d dlmZmZ d dlmZ d dlmZmZ G d de j Z
G d de j Zi fd Ze
d
k rd Z e j d
dS dS ) N) unhexlifyhexlify)list_test_cases)strxorstrxor_cc \ e Zd Zd Zd Zd Zd Zd Zd Zd Z d Z
d Zd
Zd Z
d Zd
ZdS )StrxorTestsc t d }t d }t d }| t || | | t || | d S N ff339a83e5cd4cdf5649 383d4ba020573314395b c70ed123c59a7fcb6f12)r assertEqualr )selfterm1term2results /builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/SelfTest/Util/test_strxor.pytest1zStrxorTests.test1+ sr 122122233u--v666u--v66666 c R d}| t || | d S )Nr )r r )r ess r test2zStrxorTests.test22 s+
B,,,,,r c t d }dt | z }| t || | d S )Nr )r lenr r )r r all_zeross r test3zStrxorTests.test36 sF 122c%jj( u--y99999r c t d }t d }| t t || d S )Nr s ff339a83e5cd4cdf564990)r assertRaises
ValueErrorr r r r s r test_wrong_lengthzStrxorTests.test_wrong_length; s> 122344*feU;;;;;r c t d }t | }t d }t d }| t || | d S r )r bytearrayr r )r r term1_bar r s r test_bytearrayzStrxorTests.test_bytearray@ s_ 122U##122233%00&99999r c t d }t | }t d }t d }| t || | d S r )r
memoryviewr r )r r term1_mvr r s r test_memoryviewzStrxorTests.test_memoryviewH s_ 122e$$122233%00&99999r c t d }t d }|dd }|dd }t d }t t | }t ||| }| |d | || | || | || dS z3Verify result can be stored in pre-allocated memoryr r
Nr output)r r% r r r r r r original_term1original_term2expected_xorr/ r s r test_output_bytearrayz!StrxorTests.test_output_bytearrayP s 122122qqqqqq !8993u::&&uV444&&&...////////r c t d }t d }|dd }|dd }t d }t t t | }t ||| }| |d | || | || | || dS r- )r r) r% r r r r0 s r test_output_memoryviewz"StrxorTests.test_output_memoryviewa s 122122qqqqqq !899Ic%jj1122uV444&&&...////////r c 6 t t d }t d }|dd }t d }t ||| }| |d | || | || dS 1Verify result can be stored in overlapping memoryr r
Nr r. )r% r r r r r r r2 r3 r s r !test_output_overlapping_bytearrayz-StrxorTests.test_output_overlapping_bytearrayr s )$;<<==122qqq !899uU333&&&---/////r c P t t t d }t d }|dd }t d }t ||| }| |d | || | || dS r8 )r) r% r r r r: s r "test_output_overlapping_memoryviewz.StrxorTests.test_output_overlapping_memoryview s 9Y/F%G%GHHII122qqq !899uU333&&&---/////r c t d }t d }| t t ||| dS 2Verify result cannot be stored in read-only memoryr r
r. N)r r TypeErrorr r" s r test_output_ro_bytesz StrxorTests.test_output_ro_bytes sE 122122)VUE%HHHHHr c t t d }t d }| t t ||| dS r? )r) r r rA r r" s r test_output_ro_memoryviewz%StrxorTests.test_output_ro_memoryview sM 9%<==>>122)VUE%HHHHHr c t d }t d }t t | dz
}| t t
||| dS )