From f853cc309106d3b577903263fc1a2c3e91e367dd Mon Sep 17 00:00:00 2001 From: Xavier Chapron Date: Tue, 27 Feb 2024 14:34:47 +0100 Subject: [PATCH 1/2] tests: snapshots: Remove unused snapshots --- .../nanos/test_prefix_hash_hash_init/00002.png | Bin 340 -> 0 bytes .../nanos/test_prefix_hashhash_init/00000.png | Bin 411 -> 0 bytes .../nanos/test_prefix_hashhash_init/00001.png | Bin 367 -> 0 bytes .../nanos/test_prefix_hashhash_init/00002.png | Bin 359 -> 0 bytes .../nanos/test_prefix_hashhash_init/00003.png | Bin 318 -> 0 bytes .../nanos/test_validate_prehash_init/00002.png | Bin 340 -> 0 bytes .../nanos/test_validateprehash_init/00000.png | Bin 276 -> 0 bytes .../nanos/test_validateprehash_init/00001.png | Bin 326 -> 0 bytes .../nanos/test_validateprehash_init/00002.png | Bin 319 -> 0 bytes .../nanos/test_validateprehash_init/00003.png | Bin 318 -> 0 bytes .../nanosp/test_prefix_hashhash_init/00000.png | Bin 413 -> 0 bytes .../nanosp/test_prefix_hashhash_init/00001.png | Bin 347 -> 0 bytes .../nanosp/test_prefix_hashhash_init/00002.png | Bin 307 -> 0 bytes .../nanosp/test_validateprehash_init/00000.png | Bin 282 -> 0 bytes .../nanosp/test_validateprehash_init/00001.png | Bin 347 -> 0 bytes .../nanosp/test_validateprehash_init/00002.png | Bin 307 -> 0 bytes .../nanox/test_prefix_hashhash_init/00000.png | Bin 413 -> 0 bytes .../nanox/test_prefix_hashhash_init/00001.png | Bin 347 -> 0 bytes .../nanox/test_prefix_hashhash_init/00002.png | Bin 307 -> 0 bytes .../nanox/test_validateprehash_init/00000.png | Bin 282 -> 0 bytes .../nanox/test_validateprehash_init/00001.png | Bin 347 -> 0 bytes .../nanox/test_validateprehash_init/00002.png | Bin 307 -> 0 bytes 22 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tests/snapshots/nanos/test_prefix_hash_hash_init/00002.png delete mode 100644 tests/snapshots/nanos/test_prefix_hashhash_init/00000.png delete mode 100644 tests/snapshots/nanos/test_prefix_hashhash_init/00001.png delete mode 100644 tests/snapshots/nanos/test_prefix_hashhash_init/00002.png delete mode 100644 tests/snapshots/nanos/test_prefix_hashhash_init/00003.png delete mode 100644 tests/snapshots/nanos/test_validate_prehash_init/00002.png delete mode 100644 tests/snapshots/nanos/test_validateprehash_init/00000.png delete mode 100644 tests/snapshots/nanos/test_validateprehash_init/00001.png delete mode 100644 tests/snapshots/nanos/test_validateprehash_init/00002.png delete mode 100644 tests/snapshots/nanos/test_validateprehash_init/00003.png delete mode 100644 tests/snapshots/nanosp/test_prefix_hashhash_init/00000.png delete mode 100644 tests/snapshots/nanosp/test_prefix_hashhash_init/00001.png delete mode 100644 tests/snapshots/nanosp/test_prefix_hashhash_init/00002.png delete mode 100644 tests/snapshots/nanosp/test_validateprehash_init/00000.png delete mode 100644 tests/snapshots/nanosp/test_validateprehash_init/00001.png delete mode 100644 tests/snapshots/nanosp/test_validateprehash_init/00002.png delete mode 100644 tests/snapshots/nanox/test_prefix_hashhash_init/00000.png delete mode 100644 tests/snapshots/nanox/test_prefix_hashhash_init/00001.png delete mode 100644 tests/snapshots/nanox/test_prefix_hashhash_init/00002.png delete mode 100644 tests/snapshots/nanox/test_validateprehash_init/00000.png delete mode 100644 tests/snapshots/nanox/test_validateprehash_init/00001.png delete mode 100644 tests/snapshots/nanox/test_validateprehash_init/00002.png diff --git a/tests/snapshots/nanos/test_prefix_hash_hash_init/00002.png b/tests/snapshots/nanos/test_prefix_hash_hash_init/00002.png deleted file mode 100644 index 9c7e7049cb3e9bcfb1601ec510ee465d38229d4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmV-a0jvIrP)b=%MgRq*37h4eRxPbkJCLY|1VIo49_}P}TKpH4$L<8?X{t;p zy+UQc_4@p%0?~E_&igM#?#L~IOHR(-<@sYotiy&C*Y&GII0yeh-p3zW9cv$Q0k>6Y_)5~SfP=m zSMUtz)%Ex|-o}7!H9hbQ(8{%C?kQVa?C`*Uj-J(h>P7(Y#?ZWvi?6}@n{fGLp>YTp myqR(V_$?>^<%seR_VWh!;mP%U%q3x9j006*S8PaB+C)qNLYvV9p8uL{5 zi!)y4n>F$J%;Nd;9Fav{091H9=4qD`TgGfb;yI*7uI%FUN=k)K zcbTLb@T4iU4kqQ{azY~nxooh6rw%@K+I*! z&oQ84m*w=zTMPgIAcX(6WZ+J?$Km}P7Qe&$nP}dRR6|uMh78q3G>UsY96?oh9I>cU zSvr)PE)#YRP^B0$a!{3~t)r78`-tiIAmu%%L37kZD_9J$@YS^zl6)1Qy32cgV$4@0KNoWkq}`O zDEy_KJtr3e=SeJY>kjIz{qevdaj#rDu4kU zkok*u25<>#F|@lBsA`TX?^K8aIv~A&`BDwn>9RVfIQI}j2qA?0iXAN=v4&-Zg@phB N002ovPDHLkV1f?qpM?Mb diff --git a/tests/snapshots/nanos/test_prefix_hashhash_init/00002.png b/tests/snapshots/nanos/test_prefix_hashhash_init/00002.png deleted file mode 100644 index cb243a75c4306623dcb8d4166d7272ca120f0921..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 359 zcmV-t0hs=YP)UO00I+b;`fN^S($jnf6D1U(fm z0r0El))e)bgB+~x%)w}SS|0LilCGhy>u}N}I1mnCOC)u|t}XM(TRD;yvFW^OH%+`| zN*bASyRBAK-c|ta1JsA84GGoD?RcfpMcb&@?;8lx4(Md}r_Hh3L{b5~U;>m|oEg9+ zsKu`Cu3Z{Lwd&XqE|>r@lC|u%;Fc9cvF{;-5JCtU#Ru!koy?n%;_(0g002ovPDHLk FV1lM(n?V2o diff --git a/tests/snapshots/nanos/test_prefix_hashhash_init/00003.png b/tests/snapshots/nanos/test_prefix_hashhash_init/00003.png deleted file mode 100644 index 0830ee530a3e5800f570f39868689fed06cf3bdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmV-E0m1%>P)8w$TZu1OWI~Q{#B+vJXEuj$fX`wL_cy zg^pGe|90#0%}?Hp$Rw{nwmz?S!&rybB~9~g;>bDpnWfunTI9VPI^4yl;cXGZoU6SW z#>z1hD!IOp#_eTVlIv*G3%*4kF5D!IU5m**S3r1?9?ib+%VuE0t;5vioO=eKVMq9x zuE%DZ_@<@MZ;aVfB}n)a4y#9|UryDZd?tl^Wr|_7M;2j2uW7mvn}sf1`brkzLWPU! zQJ%doond8uV)pQO3Bq3MJK-Vx!tFW$00000=lK6Vdq35=hG#(l008LV15i_q_az45 QfB*mh07*qoM6N<$f+B5^DgXcg diff --git a/tests/snapshots/nanos/test_validate_prehash_init/00002.png b/tests/snapshots/nanos/test_validate_prehash_init/00002.png deleted file mode 100644 index 9c7e7049cb3e9bcfb1601ec510ee465d38229d4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmV-a0jvIrP)b=%MgRq*37h4eRxPbkJCLY|1VIo49_}P}TKpH4$L<8?X{t;p zy+UQc_4@p%0?~E_&igM#?#L~IOHR(-<@sYotiy&C*Y&GII0yeh-p3zW9cv$Q0k>6Y_)5~SfP=m zSMUtz)%Ex|-o}7!H9hbQ(8{%C?kQVa?C`*Uj-J(h>P7(Y#?ZWvi?6}@n{fGLp>YTp myqR(V_$?>^<%seR_VWh!MS!&w)Gb7c~W8wxgA(tDMUmxs~SB4k9|9x)-`Az-?T(e zz;B4$MZyBS(aS<=V-7-kL{GqP-(LB)gSs9mw^MTvRl;Y0`7{3vcoF2^g338xsS0rD zTEZg9!#Sz<3A|fK9 aIXwYpPFeUCtH*2r00000os6NDEX(qfl8A`h)pB+RjBWiqFRy6(NJ|OX z)^|+H!~gyQ#`EkB#JH2AngN40?$c|9l{ZX2*t z(}OnvIdj`IkECsz?C>6Eci_lu+^2pB0B;*w>UfGRu<=FMemT*M5HP$wc~v z6;b-P{T%hYoJHk_qWfdQeKd{Z%$}PmGS7=A(l&IU>iUItka#EIfeXdGpc;Tm@Z^P! z>KtIVp5+*9&$sSNY*cH&_?F)VKM9yiQ0iQN!Ux@=DnSMF^=E~%1lgAv?IJ89A|i56 YI{*ZWjv*ny7ytkO07*qoM6N<$f(hJ_V!3KIlUe!W5fkZgQ#jJQ=br4YX7yLPSJ_Vy&{)=tbP;6}^B@n)?6M z0Ib08=mm_iDJ#o2krvz)xP2^CiC%zl+?Y0xHd+0MJ|7?4?}h?vK_XHXC$m;3(r+(F zok!udpet#D+1KM>PJrg!o`AJFIUR|(Aj<=D2aL4!=E@~(e_23FG7+#hP8UoIdMd8~ z@VjPeE&HrN44Ze>;BF%$5B(aj0>(mB}< zy>1X&syo2l=6&#oAae^6@4q8SkaR0m3sP>1Q{`RdY(X~Iq`icRh=_=uX#>8lchttC RNLc^?002ovPDHLkV1fc&iTVHl diff --git a/tests/snapshots/nanos/test_validateprehash_init/00003.png b/tests/snapshots/nanos/test_validateprehash_init/00003.png deleted file mode 100644 index 0830ee530a3e5800f570f39868689fed06cf3bdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmV-E0m1%>P)8w$TZu1OWI~Q{#B+vJXEuj$fX`wL_cy zg^pGe|90#0%}?Hp$Rw{nwmz?S!&rybB~9~g;>bDpnWfunTI9VPI^4yl;cXGZoU6SW z#>z1hD!IOp#_eTVlIv*G3%*4kF5D!IU5m**S3r1?9?ib+%VuE0t;5vioO=eKVMq9x zuE%DZ_@<@MZ;aVfB}n)a4y#9|UryDZd?tl^Wr|_7M;2j2uW7mvn}sf1`brkzLWPU! zQJ%doond8uV)pQO3Bq3MJK-Vx!tFW$00000=lK6Vdq35=hG#(l008LV15i_q_az45 QfB*mh07*qoM6N<$f+B5^DgXcg diff --git a/tests/snapshots/nanosp/test_prefix_hashhash_init/00000.png b/tests/snapshots/nanosp/test_prefix_hashhash_init/00000.png deleted file mode 100644 index b02564fa7b5410cfb8be6fc302281ed2b744aa53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 413 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|>w~ba4!+nDh2VVBTQ`o`%Ho zTfRH~Puy`@PRUh|t$kZJ@74ddxkpU2_|&#?0CmB@j-$#?*KNI)wq!~X&$J-BpJ%2o ztFJg-|8aKF^~cuc_wCCSH$72V;Qf5@wN>Ab>`XqV^3wLo**S9`o$KDeongQVx`+P)7$u9`H7#3W>q_K?&qf16%}%S zZJJ}cb?LI(`5Trdn<#}()$)m9dRLdW`)zi*%YW@a*5h1Sj?-7y&*S=5@nYVVyC-B_ z-!#lj|G(+b9>JZh3xq@h(%(uZ+ diff --git a/tests/snapshots/nanosp/test_prefix_hashhash_init/00001.png b/tests/snapshots/nanosp/test_prefix_hashhash_init/00001.png deleted file mode 100644 index 0a22ed9c048e1c509e4db8bb538a09179382d08c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|>}8ba4!+nDh2#Am1Sc0oRKc zcL;ymuk!5?JEvmnwkuibaeJSyRt)^uD?4EpBTyF!;K^XIuI0vnmuluBIu;=7LF=pwdVFK5RvW*sptdHLn+n}@cI{$FA}Oll|ZX6|ym zv+E^4$J-}Qw*A>Az5dSkz%5cnFXPh$Okc+LNL4K2u1u2s=CbF;;vKu~m9N=9{MYha zTwZY10sZ%!KAFne?ELQTryeXiAb8GzN%q)U*^OTlbNjEn{+IM4Dt=?sgqcgH{7Q+I zR=)jKHRSoqLt7UZ8y@``d%nAfeardKTg&xoml-QN8=e+U<(-lF`shs89kuD*QImdm oYJWBdvN%ubj7hzN2rKU;o#ueP&Ci z6u)zl?W>tp=5_ar-fHP|-DAD~1x3nz=bkJ!FFiWbZ1>T1`*`j0KEJ(a_c>wNQ&HWt z15r_H-frDkxAvfq`)=#1HTp|imgVQL>EwMl?09Qd_55?aH`qVuzrMu!vTxS99j})v zFSWhUH1A`+%LVfl%ReU-{_dXcHN8Ck(Au)AuNIX|O`bh7yXJ7s@3QOt`@Je}etTOx zZMU4Gyz&R%A5DIhmh3=xzsvvUuLt%41H%LBzl=N9ZrwU{VzwMe$kWx&Wt~$(6988l BiiiLJ diff --git a/tests/snapshots/nanosp/test_validateprehash_init/00000.png b/tests/snapshots/nanosp/test_validateprehash_init/00000.png deleted file mode 100644 index 7013ca3729c1c32ddbbdd454a910c1042e965d06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QV%^{978JRyuIPrcgTQ;^#b1` zwVnSb)`*KuUF0*Bv5U>J?R!|}u8n_Yo4nn|2viRO`5!089tc)S+LN<3HT2W_bvIe( zeDJJ&ufR)=QeQff6Y(G;bcz!p2S+~sSuKa&1 zn>}A|@zh)W`LMJ8_0NN|7^nOZvdey&KYu+(LMoGoT0;s`!n1-bo1S>}8ba4!+nDh2#Am1Sc0oRKc zcL;ymuk!5?JEvmnwkuibaeJSyRt)^uD?4EpBTyF!;K^XIuI0vnmuluBIu;=7LF=pwdVFK5RvW*sptdHLn+n}@cI{$FA}Oll|ZX6|ym zv+E^4$J-}Qw*A>Az5dSkz%5cnFXPh$Okc+LNL4K2u1u2s=CbF;;vKu~m9N=9{MYha zTwZY10sZ%!KAFne?ELQTryeXiAb8GzN%q)U*^OTlbNjEn{+IM4Dt=?sgqcgH{7Q+I zR=)jKHRSoqLt7UZ8y@``d%nAfeardKTg&xoml-QN8=e+U<(-lF`shs89kuD*QImdm oYJWBdvN%ubj7hzN2rKU;o#ueP&Ci z6u)zl?W>tp=5_ar-fHP|-DAD~1x3nz=bkJ!FFiWbZ1>T1`*`j0KEJ(a_c>wNQ&HWt z15r_H-frDkxAvfq`)=#1HTp|imgVQL>EwMl?09Qd_55?aH`qVuzrMu!vTxS99j})v zFSWhUH1A`+%LVfl%ReU-{_dXcHN8Ck(Au)AuNIX|O`bh7yXJ7s@3QOt`@Je}etTOx zZMU4Gyz&R%A5DIhmh3=xzsvvUuLt%41H%LBzl=N9ZrwU{VzwMe$kWx&Wt~$(6988l BiiiLJ diff --git a/tests/snapshots/nanox/test_prefix_hashhash_init/00000.png b/tests/snapshots/nanox/test_prefix_hashhash_init/00000.png deleted file mode 100644 index b02564fa7b5410cfb8be6fc302281ed2b744aa53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 413 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|>w~ba4!+nDh2VVBTQ`o`%Ho zTfRH~Puy`@PRUh|t$kZJ@74ddxkpU2_|&#?0CmB@j-$#?*KNI)wq!~X&$J-BpJ%2o ztFJg-|8aKF^~cuc_wCCSH$72V;Qf5@wN>Ab>`XqV^3wLo**S9`o$KDeongQVx`+P)7$u9`H7#3W>q_K?&qf16%}%S zZJJ}cb?LI(`5Trdn<#}()$)m9dRLdW`)zi*%YW@a*5h1Sj?-7y&*S=5@nYVVyC-B_ z-!#lj|G(+b9>JZh3xq@h(%(uZ+ diff --git a/tests/snapshots/nanox/test_prefix_hashhash_init/00001.png b/tests/snapshots/nanox/test_prefix_hashhash_init/00001.png deleted file mode 100644 index 0a22ed9c048e1c509e4db8bb538a09179382d08c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|>}8ba4!+nDh2#Am1Sc0oRKc zcL;ymuk!5?JEvmnwkuibaeJSyRt)^uD?4EpBTyF!;K^XIuI0vnmuluBIu;=7LF=pwdVFK5RvW*sptdHLn+n}@cI{$FA}Oll|ZX6|ym zv+E^4$J-}Qw*A>Az5dSkz%5cnFXPh$Okc+LNL4K2u1u2s=CbF;;vKu~m9N=9{MYha zTwZY10sZ%!KAFne?ELQTryeXiAb8GzN%q)U*^OTlbNjEn{+IM4Dt=?sgqcgH{7Q+I zR=)jKHRSoqLt7UZ8y@``d%nAfeardKTg&xoml-QN8=e+U<(-lF`shs89kuD*QImdm oYJWBdvN%ubj7hzN2rKU;o#ueP&Ci z6u)zl?W>tp=5_ar-fHP|-DAD~1x3nz=bkJ!FFiWbZ1>T1`*`j0KEJ(a_c>wNQ&HWt z15r_H-frDkxAvfq`)=#1HTp|imgVQL>EwMl?09Qd_55?aH`qVuzrMu!vTxS99j})v zFSWhUH1A`+%LVfl%ReU-{_dXcHN8Ck(Au)AuNIX|O`bh7yXJ7s@3QOt`@Je}etTOx zZMU4Gyz&R%A5DIhmh3=xzsvvUuLt%41H%LBzl=N9ZrwU{VzwMe$kWx&Wt~$(6988l BiiiLJ diff --git a/tests/snapshots/nanox/test_validateprehash_init/00000.png b/tests/snapshots/nanox/test_validateprehash_init/00000.png deleted file mode 100644 index 7013ca3729c1c32ddbbdd454a910c1042e965d06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h5*QV%^{978JRyuIPrcgTQ;^#b1` zwVnSb)`*KuUF0*Bv5U>J?R!|}u8n_Yo4nn|2viRO`5!089tc)S+LN<3HT2W_bvIe( zeDJJ&ufR)=QeQff6Y(G;bcz!p2S+~sSuKa&1 zn>}A|@zh)W`LMJ8_0NN|7^nOZvdey&KYu+(LMoGoT0;s`!n1-bo1S>}8ba4!+nDh2#Am1Sc0oRKc zcL;ymuk!5?JEvmnwkuibaeJSyRt)^uD?4EpBTyF!;K^XIuI0vnmuluBIu;=7LF=pwdVFK5RvW*sptdHLn+n}@cI{$FA}Oll|ZX6|ym zv+E^4$J-}Qw*A>Az5dSkz%5cnFXPh$Okc+LNL4K2u1u2s=CbF;;vKu~m9N=9{MYha zTwZY10sZ%!KAFne?ELQTryeXiAb8GzN%q)U*^OTlbNjEn{+IM4Dt=?sgqcgH{7Q+I zR=)jKHRSoqLt7UZ8y@``d%nAfeardKTg&xoml-QN8=e+U<(-lF`shs89kuD*QImdm oYJWBdvN%ubj7hzN2rKU;o#ueP&Ci z6u)zl?W>tp=5_ar-fHP|-DAD~1x3nz=bkJ!FFiWbZ1>T1`*`j0KEJ(a_c>wNQ&HWt z15r_H-frDkxAvfq`)=#1HTp|imgVQL>EwMl?09Qd_55?aH`qVuzrMu!vTxS99j})v zFSWhUH1A`+%LVfl%ReU-{_dXcHN8Ck(Au)AuNIX|O`bh7yXJ7s@3QOt`@Je}etTOx zZMU4Gyz&R%A5DIhmh3=xzsvvUuLt%41H%LBzl=N9ZrwU{VzwMe$kWx&Wt~$(6988l BiiiLJ From 0f71b194dcd416003db4e5746fee3c3824992d07 Mon Sep 17 00:00:00 2001 From: Xavier Chapron Date: Tue, 27 Feb 2024 15:17:44 +0100 Subject: [PATCH 2/2] tests: Fix some race conditions --- tests/monero_client/monero_cmd.py | 33 ++++++++++++++++-- .../test_prefix_hash_hash_init/00002.png | Bin 0 -> 285 bytes .../test_validate_prehash_init/00002.png | Bin 0 -> 285 bytes .../test_validate_prehash_update/00008.png | Bin 0 -> 285 bytes .../test_prefix_hash_hash_init/00002.png | Bin 0 -> 306 bytes .../test_validate_prehash_init/00002.png | Bin 0 -> 306 bytes .../test_validate_prehash_update/00004.png | Bin 0 -> 306 bytes .../test_prefix_hash_hash_init/00002.png | Bin 0 -> 306 bytes .../test_validate_prehash_init/00002.png | Bin 0 -> 306 bytes .../test_validate_prehash_update/00004.png | Bin 0 -> 306 bytes .../stax/test_prefix_hash_hash_init/00000.png | Bin 3901 -> 9849 bytes .../stax/test_prefix_hash_hash_init/00001.png | Bin 0 -> 3901 bytes .../test_validate_prehash_update/00003.png | Bin 0 -> 3901 bytes 13 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 tests/snapshots/nanos/test_prefix_hash_hash_init/00002.png create mode 100644 tests/snapshots/nanos/test_validate_prehash_init/00002.png create mode 100644 tests/snapshots/nanos/test_validate_prehash_update/00008.png create mode 100644 tests/snapshots/nanosp/test_prefix_hash_hash_init/00002.png create mode 100644 tests/snapshots/nanosp/test_validate_prehash_init/00002.png create mode 100644 tests/snapshots/nanosp/test_validate_prehash_update/00004.png create mode 100644 tests/snapshots/nanox/test_prefix_hash_hash_init/00002.png create mode 100644 tests/snapshots/nanox/test_validate_prehash_init/00002.png create mode 100644 tests/snapshots/nanox/test_validate_prehash_update/00004.png create mode 100644 tests/snapshots/stax/test_prefix_hash_hash_init/00001.png create mode 100644 tests/snapshots/stax/test_validate_prehash_update/00003.png diff --git a/tests/monero_client/monero_cmd.py b/tests/monero_client/monero_cmd.py index ea16c87..ffde497 100644 --- a/tests/monero_client/monero_cmd.py +++ b/tests/monero_client/monero_cmd.py @@ -35,6 +35,7 @@ class MoneroCmd(MoneroCryptoCmd): def __init__(self, debug, backend) -> None: + self.backend = backend MoneroCryptoCmd.__init__(self, backend, debug) def reset_and_get_version(self, @@ -79,6 +80,8 @@ def set_signature_mode(self, sig_type: SigType) -> int: sw, response = self.device.recv() # type: int, bytes + # No screen change expected + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins) @@ -106,6 +109,9 @@ def open_tx(self) -> Tuple[bytes, bytes, bytes, bytes]: sw, response = self.device.recv() # type: int, bytes + # Wait for internal backend screen to be up to date before continuing + self.backend.wait_for_screen_change() + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins) @@ -147,6 +153,9 @@ def close_tx(self) -> None: sw, response = self.device.recv() # type: int, bytes + # Wait for internal backend screen to be up to date before continuing + self.backend.wait_for_screen_change() + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins) @@ -189,6 +198,8 @@ def gen_txout_keys(self, sw, response = self.device.recv() # type: int, bytes + # No screen change expected + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins) @@ -230,10 +241,12 @@ def prefix_hash_init(self, backend, test_name, firmware, navigator, version: int navigator.navigate_and_compare(TESTS_ROOT_DIR, test_name + "_hash_init", - instructions, screen_change_after_last_instruction=False) + instructions) sw, response = self.device.async_response() # type: int, bytes + # Screen change already waited in navigate_and_compare() above + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins, message="P1=1 (init)") @@ -251,6 +264,8 @@ def prefix_hash_update(self, index: int, payload: bytes, is_last: bool) -> bytes sw, response = self.device.recv() # type: int, bytes + # No screen change expected + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins, message="P1=2 (update)") @@ -279,6 +294,8 @@ def gen_commitment_mask(self, _ak_amount: bytes) -> bytes: sw, response = self.device.recv() # type: int, bytes + # No screen change expected + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins) @@ -311,6 +328,8 @@ def blind(self, sw, response = self.device.recv() # type: int, bytes + # No screen change expected + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins) @@ -345,6 +364,8 @@ def unblind(self, sw, response = self.device.recv() # type: int, bytes + # No screen change expected + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins) @@ -386,12 +407,14 @@ def validate_prehash_init(self, if firmware.device.startswith("nano"): navigator.navigate_and_compare(TESTS_ROOT_DIR, test_name + "_prehash_init", - instructions, screen_change_after_last_instruction=False) + instructions) else: pass sw, response = self.device.async_response() # type: int, bytes + # Screen change already waited in navigate_and_compare() above + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins, message="P1=1 (init)") @@ -452,10 +475,12 @@ def validate_prehash_update(self, backend.wait_for_text_not_on_screen("Processing") navigator.navigate_and_compare(TESTS_ROOT_DIR, test_name + "_prehash_update", - instructions, screen_change_after_last_instruction=False, screen_change_before_first_instruction=False) + instructions, screen_change_before_first_instruction=False) sw, response = self.device.async_response() # type: int, bytes + # Screen change already waited in navigate_and_compare() above + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins, message="P1=2 (update)") @@ -498,6 +523,8 @@ def validate_prehash_finalize(self, sw, response = self.device.recv() # type: int, bytes + # No screen change expected + if not sw & 0x9000: raise DeviceError(error_code=sw, ins=ins, message="P1=3 (finalize)") diff --git a/tests/snapshots/nanos/test_prefix_hash_hash_init/00002.png b/tests/snapshots/nanos/test_prefix_hash_hash_init/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..2360dfba85d3d3107cbfe890b71b29980adf1cc3 GIT binary patch literal 285 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 X>(^x7I1bzvBhH>af2t!c<@SF8;`C+- diff --git a/tests/snapshots/stax/test_prefix_hash_hash_init/00001.png b/tests/snapshots/stax/test_prefix_hash_hash_init/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..cfb9942059637b72303870dd4c39d520214a1647 GIT binary patch literal 3901 zcmeHKdr*^C77q_+td&LUF32-jbm|tAB9&KoRD7^*t?9HYpt1>wf)F4eT?i2KIfAe? zkjT(3B80G5i7rS&SpvwH1V{-LAOT_w5CVh{ATN`A*{|Kd`+qyj`Qy%t=-$ob`G}d;8%|s!t}n4^WIdS=e33|3K-<&PgGQry z-i0M4kv8IMkw}Coy`PK6hc&#o(H9jFVV>HY-w_rTCMI%+ujr;v<`oti7~-|@gtkf3 zG}71icYszKC?sT6Wz(9PxP-_3{r$lvoleKX{=oYtpuH>-g}QvSZWAkAfg|}z(!1(` zExQZ69%k2xi3vlIG6nW}rlLZ3xUsP@TOR(IWNCVGa#DjvIkjfKg>06OKXZ3?$6Mpx z`1cJ(R_UBLzzLmlgsMX)CME*&KlJwX)winW=jXc}U^~gjN8HFob0Sse5>yEvx!OFT z(P+p{p$#u=HX9jtwBbcM2gA#V_<5X1RaRSOvqO0yt7>(oio(Vhmy}GyI!IaOZFP@yV&x$hYP&t5s+n4!AS%4Gp`h^h|xwii{Ft;L~dks!s{EAM0CKH=eqc*Y03qI)8$t=CF2EMd3ZiH*8t}ik!6n%Px zeBa_GH(I+Mm2#`w^yDK0C`f-gjr+S=OU^G0@O?#7!huSL}?)=dhKB(t;c#Xb&a zRxKo!n{TDv!3F+<*4P+WC(M7u20XPM29)3lmoO%t!;y-MBY=}4u~GS4eFR>(B$Po~l&-w1?yk&^YL@u}#YLOxYe;6PZa1@| zV^LTyO#tTh8wBhMo3g4|jJuq+VR;j#s9ty)1{S#BN|AizO-Rxw^Uv2MANd($aNcc$w#EkUyv!HQ3cBDfX6N54c_*=BCy0 zw|?}di~W-hq25)<1eLqS$O-r=t3e~1BIpgQ;D0vQpS{W!l=}9JRQX^eFYlUAl{QNL zC>scZ=`8I>gJRJiFV4cwKq5xSp{Od?`uAdxS;&{*D5+_q%HA7-pO%x?MX9`yLqsSd zAQ`48w03rO7W6bJz8sRqumxV={aKeaxx_W8qlHo zUgy_};UldmLDp7Kyr}>ExjB`&lOHoqpep{pk-Apn)a4qmYCAwsB`}M8*V8I((Qr*$ zWT!^joDI$Pvf^*=H7S)!CYHAb_V!_zBe>$2%QocLAKap0%qTanvSTsn=SquWp!>l7 z!Ilj0O)-hYwdFrl-Xw2U=IN*hlMYt9pRsRU%)9>b7oW}TAJMP)N3`9!{NHqM5c1LY X>(^x7I1bzvBhH>af2t!c<@SF8;`C+- literal 0 HcmV?d00001 diff --git a/tests/snapshots/stax/test_validate_prehash_update/00003.png b/tests/snapshots/stax/test_validate_prehash_update/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..264824aa9a063e7a04efb45f808709411e10d93c GIT binary patch literal 3901 zcmeHK`&-g!7N^ulb5eHQC!6s`HBUO@jnsm?fz8ygS!r9XcR|G@6=l@M3xYUi+B|rv zwbBNWncCIeH5GEyOz{#5wGJ{pgo+nPP{|7tq9B5>-`)LX|A2n<{o#F{bAEW=b3UK* zIq!LYxEz79vvslsfk1ZW|9JKa2(<4m2(Npg1F2RSjX%i93WT8JfH=_Q z99kg3Hwy<=N`^6GcqN4{p39vt59zh~@WuvZ6rS~wy%5AImL zOEm4QcBml&fdEtNPC6PL6IPM5@3S(iR2#>;NB`eQmVbdsnzpi~P`&=wORj!3P^z=o z5IleRu?1yhFu)5-OKE1Vo-`2ST~kwIPeEWZ*=X~&8VjR^A`osSiE4elsi~Ix1UOSilPE4$n#?2#tP8qt65ni^bw-#@x?7^<(NTWJrjM zNg|DXsDAsYI4CrftiG(%>98NcaN#!uUMW5zHO zd>KtmKuq0(&enPP`7r;JRjB!eg;WDqjEB9*CzHv#vGGzdKEI>{LF4;Eq0;T!BdFZl z-+d~#CYsA+3IRjj(caN9xG?gZ&8G9yJUl!)?4I}cH}caodLz9@Q{?@E!g})Li60Wk zr#NRQtuwYQ3fkU_htal(yG@G?|Jm=UTwv=3onqr_W=l&8J$QOxad|l%u(iGbF5EzZ zbVG~OTR$9IBq5}DSafu>u$snSlF3qFv_uSsvK_kN868upo<208(P#t=BrbmN@4TSR z6jmXL)adR6;4vfDc|bc{i*O5oQ|+k&5K)vuegEZMKc?(b00AC`9;5{0N!2rx?!ss` zWgIFQ1rQv+xuMnO2fZ?F!;M@35Ln`6dNuiJ0#(=lsur(_sy z*Qn2XkrPr^@J-DfJZ8GeV!i)LU_`pv_C0Wi!Pm{rjazNTPnp!Z!Ihks!SEVrmZGsG zj?6tYal&n6xhAB*UI5<>lh{m*KQ?T>ohum!%O9C#o~ptWX#JS9CL}b}Rl`r8q6$R6 zf0phUgdUlN^akXS6ij$o7xK`YKD(-~kQM%UD&z1|Wg^!77Utz+!}l6;s~~y5&^5DWIiZrB zb}>;$Xv}JBHftM^0uq7|p}GJ|O|o14iF;+drmn6oJwn&b%HEJ&y&iI}xn9Jj7_|pN zp5+!4^a$&hZG`)Hwv#d5!GVFX-j4F{Eb~c8z*=P0RkFH)!Jag(tYqv|BqSvCvv%o` z$6~C%%gud8wqk8B(#@oV>;3s%{%9h^*`LyPG-)QIizr|k3S)6 zi~EOx&N2Nqf5A_QeLgsdL?VHDRwxuI<0Vcds{)|xX|i$(BYjlm)ja9;OkJ8?YgEo% zqV-Y+)<*;S2L_saap?HnBJ7m&jFYxDpbXKLRsC8;m6pRF_DDXApL(h!9~7ocX!HMI zKjakkx^R3gQkpinlr0>c)H;Zqo2h+ICfS8fI2;ZT1yC(06w2TgMai6!p7Nj_X?~_R1q6YLgzUd6yHMA)Y6E;@Ey0yjloWE}G$R%d>anX`P>`ie}vc z@(cOhQ6tho0I&<)yTwIBqSMuGFx<7MILaW?79i+f&L@*z-T$D!Y+yED(hBe6j2wEA z(1b28us76wIj`x6oljvkln_-aRf}i{%y1aces72P=lloD)i8u-jF9#>g+`y-o8Vh7 zJoaY%>t1B;kDzP@SIg||>{ME;U&CJn^BlFxWZ_bW4s75gU4m!Fdpj~%65!1BB-d9ct5y9G)p3{V8Ax|0;oYdtVE{M9uwK>c^(IpZDM66J0@@eJ)CJaB+&U#$ z3Z(J5YV$A%F@XstgngchPbtiyF4wS}c4zJh+wb(~ib~d);FA*U>Bppo;)S6#j%_i; zM$#)