From 365cbb80aecd63418604f3f27e1df5dfe1af6ae9 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Tue, 24 Feb 2026 17:29:48 -0500 Subject: [PATCH] test(parity): port 168 RAFT and JetStream cluster Go tests + DB update (B10+B11) - RaftGoParityTests.cs: 86 tests covering elections, log replication, snapshots, membership changes, peer tracking (Go ref: raft_test.go) - JetStreamClusterGoParityTests.cs: 66 tests covering stream/consumer CRUD, placement, leader failover, meta group (Go ref: jetstream_cluster_*_test.go) - StreamReplicaGroupApplyTests.cs: 16 tests for per-stream RAFT apply logic - test_parity.db: 1,241 mapped Go tests (up from 1,148, +93 new mappings) --- docs/test_parity.db | Bin 1265664 -> 1286144 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/test_parity.db b/docs/test_parity.db index 3e89ba1108f3c1c50d9729293b81b17b6ba72245..3d0cd406886e0e5fa9afdb8aa996b1ebed9c5efb 100644 GIT binary patch delta 20155 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 delta 8729 zcmZ8m33wDm_V2Fhqk5*NdqO86fg~i5a38t20)$+IaE5SSAqgY|NXP{U3PPeLGq7CR z>QhjG4PNU(f=HvX5)Ki$L06*d0m>>M%b_41{PABs12fZ`@9X~N*YDM4cpWOOQG?ll)~SMfB*1zmLZ3060%Yt$#yl}f0(Os!GN)wyb+KGr!? zf7=H93NDJsm}1y}pu8 z6Q<|T-;e2C=)3l*75dXryQeZk-Sa6-b&sU)L2gQ7Bi!^S)8Cax-+f&P^quUI={uoe z0i{MZjH17LHFTiw?)8t-cenZ(^xd_72z|%Z$I^Ffz4*@GJIs!cb*QpH@me)XEm1G3 z>FODEwYpDzOI@l?Q2VH|x>>pMPS^v4&@jDs!7wCn`jUeF8nq46+kqp| zl8S{zRaGU$_yc`kK^MeyeCJX@#A!Cp;N#gLs5?H4-^Xv`zvE}|8oUzMpob7u)%$11 z;mA9f?Z_}teHMp8+Gy4WYZKWYjN;L36pN4smonK-pqsC=8Eh_) z82&1M9>%7zu{Q25cLNu547Ut+)(IJKIE@W%$Hj7CoQ$X9(Kt;=7MwU4t;Jn&1a^X) z&i0E?&MTjxCbV5Sf}T_MDox6Eu8G z#G~`*Gjs&I9kEYz$Pp@?e$PD6v>+cqc`J}_U6ZBQ8dcc^WH z+Ok`WLlNizLfoG)E(Eo8ob^lRj=}a2)Ddxejb&rl)dxgW%iKZZ82H(VjzUyA8wx!) zYU|--5UNGo6L7?dy7$B@a1}20?ifz??iJ?HZ|JJm>S(XIU+6is7S+PoHYkx3+=zQM z?=*+JHe4T!UW1fPTAU-!uL?*fb zg?L7c5$gCW{CMsSZVG+_2cdcF$E*lxX{fysvl!jQIIlhmTGndqVcd9RgUO5NwrpM( zBpGjJp@kgDtq+x$Oq2`FFQ5*PlYu&s2cc?|jX=+K?nNgJXErhF1m#_YcTAOAUq~kI9 zvYcRFXZzDON%~$|C3Pp;NIS7X>?b@XwBtYEXYm48h4-dnl=RoonIm3R+KF;>FZMiK>YLc?ZSL9(5CB7%-3AcrfLIQuBFXsN@Uf}xTW7Jo9 z^g7CBPq6b?427rF;oyvAOF(!5HNvSE(aXll184__r`1<_l2q`nG* z8c?h;@neKBE~uXe1qnXRlPJl^J&N22Uu0$j8_UizUVi~~X3g4CXyTdnx}NnjZPd(p zbt2@ALQ(MIOK6R8XA81LPoi8MX`;mIaX0GK^VDb6Aa=|yWfwfx9{tM1_ff=IKsR6d6&>IT-e}%x&zct_gzBC zu>KMvR9iVf+xIUA>_9<-J;3B|T|t}ij0OqLjD4U)^-rjeZ@TgZ0!`=cPiGWfMMDu? z5e`_nKa$7c=MZ0T554Xb3+qMB4CaT6)}cTgoA_Z#DPPRfmF7NIm}d>`QcYA zj&A5mgMx*+5Uwp0?nIJNwpg3V;pq)2P-Mfg@W>*qw-NEMc2U@U1954%BSV8C9%loJ zWtZ6NLK`Z~pjt910fNThNaIR8ZmXK@ZyY;;VRx|;)OBhfq=Gik0r>YO?RDmnjvz<>i;AnU+8z(s*P;yc< zv&NZvJb=S9UD>ehXwZG5B(1^mz9r|mXkTddQXYE^_*=kUO?PFP_2xb)W^KS;Rl71_ z?-K3)hJ>ucSw4YNT^U{n>9QX8^w}P6tj9$p*Og{&TCUer!|HG+`GFOwV^1;*dLEwc zN)4Fyb|LQVGxZ$Tkbq6UR)pWgvt5JCN_$_)gR^lzpC5#(2PeQkUuOxGJupD_ zvEl&Pb6o>W*^hd4J6?iQe99ZI&&9o2<5ndOa<=8>G2%C3nMj0}g<6$2AH%1yG2k`)iD$-Lc-iH$TCDF5q~dIVZbK&!wHnng7rj zYW)s(fA%uY$9e7;(A$ca%4x zJfwo3=y`aeI|8%>Jv20-5z2>xL64OFMbA3afidI<8*6VuF*8|>3^}m zt(fHwGt-raG$>$rTkr6F*KuEC!@uz?mdtSndtJt}#-y)te;@k-x907fTE3+6dwqik z+a7r1G&fZLfFgiW`uW@dTxY4nO>#TE&362^I1wKC92Xi%pW-Qrk3u&`m7uktJr@n@&){UA4h3%P-7ru1efkAX@=rJT96oQ{+JT+UuoirPQRk`C z)zNCa+EEQw1?4y8it-gGEw~!GG?A{byhR*pHcKOb-;dWAAMeM*Ib>e|&cnFEQUSRs zu=X%MZ~c}Hk9>^RTB;(K5?J}Tffi)t><_6&@ZE_Pj#vxoWI-J*D8_=KEvN&m{{&l` zDlP){&~LLXeBl-pWcW#Ptk0o?)5gC@G0sBkDbD+%#%qc_Bx|Ju0|?vDB~R8JC-;^d86FZe!xE2cGb4Z z79urEW5`dWp2X5@!_#atlE20SpTXVap662V6}%evLPyaA_B#6zgu0zIM;8Y!OR>QZljZ*Rl-Bc;GSz@Jv2 zZ3iyN=fFko{!rCOz1}m;%TBIu0I8p!WNd5CU14#lI{_}V=VFbM-(x$c-`e2J=)g2G z>WgZsa#ndr>Et-(sB(0W-E@Au48Ak!8HZlRU4wYhG>3ww15ja<~+X`#9HA;IKEMfHHzzm zSY#BQ=IE`Gd7bB4SuYqX>&3@YM4n^5M|MVx>tQ$-KsuCZ&@G0yYMUcIeL4z0$1R|`{AEzO#sSCJRWD^e)O`a9hT8ObOU`y zFX#?K(|$1;uI?9)!?I(dW7Yo!da88Sg8sCiKP>2X3;NB1?pV;T7IfQ!Zbew&FBbGO z6dn{KEXhNRI(+}Nw32n2gLzaeYRLey=06%B(@REBSid1 zVmK^6Dh{;re`?`B3(f=LYo?k1XAuW2YzHi8zXi2e&^`%q2noWlU49Ji>S{n=wHSUr^NQr0(yw)$cQVCJwjr{I5c5S z-*5*sI7tG0a!Tm|L1&d<=+jvc;GZGnv|OTxOY~$nbYME=+8jzchmNi+EvPD~Su}sq z;)0@z;)0rz^2(xOXg;j8gW4IKkX5LMnM1ma7#eQTpc7SK@!0XhC(K`1RbDc2UQJ0! zK}BV8NkM5%<&vs`lJb%{ix(A?mlPG3)Ii!UB^)XmS;6QLPL2tPeb+1^%`B|GA%5wo zv*}&v9H^w!RG!TxDRA+m(#x+r9;A1MgoRoNoXjPiVPGbCMHY10RmP!w&zPSwNe0|* zR$}~Ppecu>$xHMYldFH3Dfyn0jE80y+fJ_5X_rYqd#v?Z5Xlj$msHj)S?C`w_tokB zSsWVZa6~#_dm9oP{Ge+~)T2yFl82J3kr*Fkp&scGJHwof4<_9~ZC0ZFLXBG;h$DIx z-L!tpzZrF#I#bn@LrNK~NB?!a>sa9!Apa?UC_gIqml^vWdx5=;t<|>4mSt-rospiB zrb}JOk7T>}msn2^YgcKlo-IVtv%ywAkEaJdT6GaVfa`G@y}q4x~)ByogruHD@|P|c~;RWPfPT7gy$w}vv7*O0`iJU2#lSgMfz5lsW11Bnl?^L z^ijs?kC>E7kGwlmw4pxA0R3T;GSowPZ>rYCM@iS0nUp*a<*f-?ypJ+KU+N!|KP_NP zZ~Y;Y(!(>R?f3xQGV~=TWrBxdo38n93R3jN-nD!*J%E3RzR2Vs;o+Y@L+k0AeTZJ; zr;wRizyb5Unc9c)SiRDumw86k=W9d!w#%NS>A1gM4wa_6-Wjj8GtSJS{}zGPQf;)n zRG(`O9Ft3f2@>XMy`lO$H3o`K(eT)jC=la|dD=9V`d*RA=JmbS1)AUY2J3|;Ww>W% zzEtbs(>YZyFe#%vlx<~NFCV3kKFg%^@=(&}YEeFIjn;B)FDobOw3(sN;2m0_b@C0( z)F+!1uajg~25fh#KFL4bmN}%CPbiEnCPS$EOfXFz3a=EC2tTc~gk;J6^gMIyAkTbz zN=TeD+*zOVV>qN?*^Ij-{ldPo~jQN>;M+IDLf4;Pt;z^T|--YAy+J z2BG!zK4cSvXV9K!u=0V@7f4l58gyHRMi`r`f_`C0TE$r zTNG3!L4_=)LhhqMKN$HFwSDGEojB8keaOk!FB$azjVoB#*i6b{YcsJKcbmz(68kG` z+sSu@rbAc`wlS7M_ZP$9DD&jr4twaX=zWAf5`Ap+vC~JUkApr6eN-cQpYuY~aQh7= zhIx{)KWy)3yKXD61xt10B6(Q6B-V(Xg=4~EA(;P&U&<$Px4A|x2j9gn;#oKfoj~hQ z4ieZ8*)lem`8O0g)dan%E=(S-=a|dR_gGd~K>B(5bh=5y&ClLVI=Fzu`3w$g%E-_1 zP(9P6kMRuqzKHbpZDNL=VN$$tn6{84_$Wj4bd%zZxIY(?fVgU`AbIi-eW;&)W;XFh zwAT=cmXvHfDD4mWvhaPWo z<{UL8SAd-9Od+h1HEeIzND!}Z=K*V091)p&0t83U6}DBXNjLzGp$m&q_;sVT-i zivFYG)gww=fS5s}$!J;Ddzf5Bm8KYdG#LPmClq?C>+1kA$B^MTP45QL1vE8nA4B|c zzF4QX$aG^ynKMisOLA~Y%|ibK^#5QSXS%A)?XC^t;=8mV5sbP)O;#RNG)JQ&Oa4rr zX}@7#XYXb^Z7Z|!(m%)@vYMFphT-N(rB%cW+>Ch*5@%$!;<>DGZ5tjbm