From 7c1926ae8af12156c033e27977d22e8db71304b6 Mon Sep 17 00:00:00 2001 From: JasperCraeghs <28319872+JasperCraeghs@users.noreply.github.com> Date: Tue, 30 Jan 2024 10:20:27 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20melexis/?= =?UTF-8?q?warnings-plugin@534c3f5e41f329a7dcfac119283f30c125e26d4e=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .buildinfo | 2 +- .doctrees/design.doctree | Bin 164906 -> 166976 bytes .doctrees/environment.pickle | Bin 117012 -> 119002 bytes .doctrees/readme.doctree | Bin 52245 -> 53029 bytes _modules/index.html | 9 +- _modules/mlx/warnings/exceptions.html | 114 ++++++++++++++++++++ _modules/mlx/warnings/junit_checker.html | 6 +- _modules/mlx/warnings/regex_checker.html | 6 +- _modules/mlx/warnings/robot_checker.html | 6 +- _modules/mlx/warnings/warnings.html | 30 +++++- _modules/mlx/warnings/warnings_checker.html | 12 ++- _static/documentation_options.js | 2 +- authors.html | 6 +- contributing.html | 6 +- design.html | 12 ++- genindex.html | 8 +- index.html | 6 +- installation.html | 6 +- objects.inv | Bin 1000 -> 1026 bytes output.json | 28 ++--- output.txt | 4 +- py-modindex.html | 6 +- readme.html | 22 ++-- search.html | 6 +- searchindex.js | 2 +- 25 files changed, 225 insertions(+), 74 deletions(-) create mode 100644 _modules/mlx/warnings/exceptions.html diff --git a/.buildinfo b/.buildinfo index 6d171b0b..16a50495 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: ffc9d29daaccfa5daf307b11678b4e7a +config: 8ec9acd1a896080f402d715918e690ef tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/design.doctree b/.doctrees/design.doctree index 0501bd633015473a6de941491f7598c937129cbe..e80fbc3cce7e98985ab24d457ad736d43d50ecc8 100644 GIT binary patch delta 8131 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 delta 7164 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 Lnl6H>G3);T)vjc| diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index ec86d7f7b31c8dd4249e7949f2276673c315a790..8777697da3633724fa21633c5b09da08b42a0bd8 100644 GIT binary patch literal 119002 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
|IPjLz=ry#1->VrpE-7R?&A4V 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 z zR0_J0RYzc6Q}+wNVu4|Gg0eA88mK7~5hGHMMKh&Q%S$VpNUs642WmTy^>b@yzXkS@ z>f2EObmUmuJ}3D2)l9h>&@n6%SgyAgarP)V`+!BShI2$WF}=uEKr0vedzhocugPOn zfa`luNpU4!vPNu2x_hIbbKd~~@h8%C=$|fCr_4|&c94{Y<*;bYK`m68%r90uIK@9* zs^(W4b%}5pc!dEU*+4_hNx8`7eYjVjjhguBn!> z?WuFoPDV#zKVTa3kb|&&nbsV%Oa`LXug0Z-uee$xj3wUL_44`wv#Nhmd;1Jq3wliR zTD9G39JiP$91jPuCjFCv?%C@ zoVUWKAU${*x_;_2N(&Q{1Bi~Z!voJQ@tPU3=xh?IsfF;*GCIJ=q&S^+F3fW%*$*;&&3Wqt8Prf=`1Lh9!Hn5fYfA&zE~@vC2Gp;zX)GgFRXf0$2NuPs zHvN;eW6qT2CQht?PL!8alw<{2351an@7`5^HFPp}<*U(1UZSrTFT$XL|HE- zom~n$coEqQEfnyJRE$C)V*gP8T$y@K96EIpBfItoTi0xGV?bvdiRUc!P%R%FstjpM z{B>b~>rmAmn#mAnFWoAANY)TF$(Rn0XdcEbM(ihrCBN8ZL6;-dgu_c7$HvJg2465x zkhh^t9N{sRP)50Vky=o!I;0B`T{tL2AU6?30J#X#P$ALi!oiKiK?fO8z*UXhb)bA> z>H~;rHOWX{gQIY~9ejsQZsd*c6HiA}x14?<5eGdOi@mHtvYw_Ig$!a@I!PP;$uaoi z{Jk97FP)?-ix9UYTAv!;%a!Z&NPej$#k>aI2}bQfWyJASveew!s761^N2zp91eDO zI60Za*+x-~LjGV57yL7E_`n$z&?Fs(aQNWX)R6uS=kRJX9D(q^=<`{I5a(!d)ukCg zrZfq06HZ(|D6YC29)8hIH#81p&7r-(Ic^;vyXEmpB7v*^QDyR@{(m&_K}Xai1t7Bc zDbJhNl9YbX77f*AL^QAjml`& z5m}Zj7vg?Rh8sL=^MW?<(XdlX#LB}=m=GRONJ!fCoP|;LVIz}(RIwQalmiVE5l~6- zWWB45voxYYq9f!xvXiRD$=uP*l*qv0_(+NhJK|oL07xVDY^z-q3Q`J>QN8rk(Eeo9 zDW;p*pW}=W?Zn#nxDO@l_2#GhAT2M_N7xCuBY7DC>u_0^a*!ZgX|$LQCXJhC&b|>U zHOpQ<1Wr7k6mh!#9JXPD2hrH`>?L!+p}Bq{OsvJEI4c}NDA5_k0-cH}D2Jq0+hRvD zh=I@HzAa=|hpdUkPK~t>lh4yoKv%g7hn|(uP}G%TXQW3mqG2}Uo-nwNkyf=T*slTbamx@ zmxC}1C!S;?vv`6qgOiExuqb;R9G~|~#V!bfy-~OySt#oCAXkWrS^^#arv>TRX5Maf9(k zwvt*f%5jODivxVPRXO`;gfdiAwZ*XIL?jWU5prh;Yf=>;JV3WvYZkKb)}&TM(e>3| z!?>!LF9zj9aSy(xql*$OG`WH*mc5PB4!meB)@ZDAeX923vl9qvPsVB|M=?~RDb7Z? zFV=_CZV;;GqJlPX$%BvtXX*(*sEEq9HoSeU(< zRME2ARmBEhA`%;o%#E1Gs%CfgEr8q~9gVI@6e@_at{Qy(>|aEKiD-kkj;-o{Zua|< z>c_=_s{aGCKZ^P>)NRE;)%+{7e}AH&>bA+9rs6S*+PSq{StsUixFN}`CN;S!L+#3nImQn+S1{@|*yjx{Su zwo5Yp&f*zT#U5fp0>uONS7MPUr9NI0;1Zh|NpLfBW<>|F3&}@rl(1XE&2E%j)l2-) zyxj70=j>gd?Fab$!LQiIte4a`D47;J((hrOEmbnnV1~X5;4>Lq? z;2g(ROVH+Z86C})3nBQP8{8d_6W^U8U0biyLy$g!7&b1UBL#))Lg>eCndbr(vQExC zX?Nl2s^?dW;Y~ZAIC|!Ew!9SXCZG0nFmJBWQ^b*rmkxN=WlIM<=c=RwbaBS{ZWD1v zR$mb~7X;e&X9zW+?98SuTMA^gky2MEKvT1cm~*~6GdY!46_Iqqp(u0LEA9`zhWNBT zoD0cK(dh#ed()>4km`s}L*SZd?E6}6lHfJ%{3=NXJO4DY4@$@Y$MJzy{TgWt#pY^a zAY6{-y#6|M^7`vyj=GAmf~wH*a&)gQ0-490*g17?-2r4)o@fC^U!Y!)J?ayH3y9x9 z5#m>rJt~|EH3+FY9Er!72W}V*3>e_yvOdh0D?wWVAddOdu?I;xaKio!Pv?sg&gh*K zB|;)plAs`|_mQ!aGsudwx}}%UhHgEhTe;1ENsqE)`i|Wt#8HIh=Al)|4U;Z}P3ROr z?LLxIFI>pqf@t!AdraT8)c>Qr$WT4=_2dwkO`mW>6$B`J+ga=o#>x=UsZ49E<3 z2qyBy9g_RBE{{=~^+&rHFKlSJz}JAZO%AsA^q16d!?`du-_{-8w9S(!Fo%OyvIvm1#dEZr#s-;E{gqeb>%ut=HdlW3RpFS<`e+JksN0fajy z)QA+X3EtjX+_vgE3c?9e%Hj`KGUd8D`LyU-`|tCJDYr)ejMLQatifD>f&QJtLW(-lqBChlvF zK_ZoBC>-V&MIl+KiWthBMG(2p@(7un;)0JQg|beK`*|@^%a6cWPWWKgHDm;8*5zqc zrwpTMO@=>?sz!YGn0R6JCXc(C7U)!)5lXBEh(M%~#YK@?nO^)J6b;iu-X8LRO!xLO zSFQ8m!o(Pb#Ad0oXHHk-tYK`exyiD+hZg)7@NKMM!bx0a)@DsBnot@SC6{cFbiuTG z4yC_tqlwG;M2fzMR(*wZ*8 zHBEIc)IUIxNZO>#iA`NDSE^y(vCeDadryX8l%kjk$=&y2mfhnMrF&LkcG>&sr_6#dL8aiYTn)swU%a z4JDZ66Hzm)BD5APaL#Q{NKBgDv52DyV-r9RJwhJw2Wj%iQ(E#!?X3Bls#W@Aw)G{C zB7jQevZSEM5pnfeVvuc}2!$XE*EkH%$1crD^>8_!l29J+e^}~}O{{+)R^cN$f!k8x zO3+`uTCO6~L`gTYluXK%5ranjNOus+d~j8>gNNR*_~mAlfnbAf!vIt>oabn6!Mb0*7&3i3gdWC|$%@6aY4A<*PZ6eMw_AH1u*T0CBkAV0%7EM?kdtuy>TN z2PO+FG7(9_%2;DTID6%QOd#!#Vyj<*>ETpnUKh+jUXGkeg6mB<+btdy;Ny^R~*O$b_gvWvoLHnk1O6lN?N+4)Ph72U#b}Piz`2>9xt~wm#T}A zfvR9wd3uo#oU2u;HN?oSbrEMc;oZ`uBpvylC$JD}opQbhVe*iPUJd+(Ze6(^8x3~d z@?G&*B)INineO~TZXSD{!Cd4^;oJ{6Lza;z83Ky$4h9W<@|5#EB+*L3{JMrt`+#%% zS{0`Wk(GtM19l-;BxEfu);i#RQ5yG8A4buI^ z526q5kP9CvG5R)QY`(aj_FA>o4UptTZW-*8AGvULj!*auqlAF9V**S=Opn_k-#o7Q z&K~N1qmXM6XDE`iPc03zUt{MKsY4|=b@amIT4{kQHkL+B|HaCoOdf61Y8U;aN~S{| zS@Mz!KioGcm~(v+>Ki#gpyW>8h_6|~z*%Y9P|>&~H_^jkj!@|87V0s%A@de&Ze}Q6 zOvElkd;Zws4NN4CvO?7>o0Lr=ncN138@uQsl3bHEwxGI3+Lr1o}b*24X`n!loyp7Ngcs8+(1l>NdR52z|wT_^h0S z)WNwzObk&kA^HF%rBhwNc*tK}4CNE*LqS3iS}wS!GFpZbT{N(cA+LoFWK&|*Fo~uo zW8`_&H?}!v_s5zU1u=Gab9hlexU?a5SppyN*gszGHkJbQfk7On#c614JV#zYloIn% zz zIXzuc!5*w#Z1J5V;r9j)@b1=X9+{-`zW81z@+93aCqj~St@2(&PypeMq9lM&`LZEQSD&c{A7 zX?7xOte9>Pbn4YEEA*^2!D*nQ zE+tNU@M%mWPSD}0&}S8D2>K|MO_t}f2$wKMFJXK~vOE_fFvKMC7MKe~uFxaFz$=HJ z@!a;`=vLw25`nH5;v7=9)?xz@f2^obDvap;{M8Q1$q}O&`zTa^AYmiHCeQ+o5NM+Gttl$b@)ul%52Dq(tAd#?RI~&4foOkwb?)Ef*$E zi~GbND{t{Q0A&v;<0Tcx7DHYMeB7CEM9hrQJwWg`S zyRKe^pU=^CtfWR|<0W>8)Fma9nxwQHnS2&K%N}!Diaa{@s8Aw@Md@i)5G-?>wYbsbSd51Zy56Uk)!X#A>+5yKN2Pu*5o3KKm z$&xu@&pg~jbRAV$dUbuTnfp)E1r1g+l<bWBsn!YgD0et2BtVG8#Ha$ z#KAFRW&Mr;ME4Dr(v+F&SrrY5@b#oT4;GI@!HYzbEoD`;$%h(o(xRRa;ps;NO{WwoT`R~G*1_L2u?V+tq$?R z4qS!fTfQ*nEwuu5WkA^YaN>1d@B~icf>QP{TNLIa0friJ`l%_j=*NxK>yYvovqdm> zZe4nDXL>qJbk#~_(Bu;XF9c=U3<1@&5p zp&exka*)T@i@oBtR+XFz&~D+U)jWi}9XZV4rWhf67}c~<0a1f`P@c&x!3w#=5rPgh zdFZ})i=XIQb<7j4hefuoMqOn(9L2sDpO!GKQxriQ$2iL=(;W5DASew31LaFTkR4TN zb?dZLhz^U^2lz-P@ePrHLLZ7`?}|tUIwOT+MD&r|DiStA5XKA)4b|982=UKHaws@| zLSBZJr2(fI0iTRw%0!P`oxN~^E@t8H%ivhKvZj?4!gt)(p~T9S{5r_xgk#l4EDQy9 zfjpp-2xa(H!}ThaSQe5kBmHxfla z$Nvv_xLz#=Zoaz^RNwTE96I22oA^{tJ1Eu*Dkc{kafLnb;j3SOGocPEuhBpw__6GJ zq4vx57-|3pFUSV857~||bf~CN)|{r&Nzo`@_DLq>%;Am+KHM>p9GX4akt3e+S#`HV z>LU(6oFof(5ZT5Zk1nV*xTDd!;tu#B?n+4V%*byd8jnE*treq_!P3*Z^w14%rRM*f>aKVgOu4iy>r~kPV|LLSIH{PIeGeCy2NW8XFYsboTkd zMO-cw+hs&basJt>(UqkTv=H4vaRC<4vakvu2FN@`dZm151-?G=g}0HyN}j|eeyaEl z5r_M|i?pFN{1Wb8tp*L6@+ClrZp?>tsS&ox)-rjhrF+#W9Zd%&;#bD4<5UNvWMPf1gzkW2B*{ZadyeT=*2#XvhNZCu z8%`A>13S$aHhlpe8a)UDIxH7)wpgQxv?e}q%!fCTe5z1Bdw~avIRZ998DdW2(t^f- zXhO_mrWmV^PPymle>taWMEfOBdWHccT_cus_{<|`Jmpk#ShsCSvcL<>Sh*fapB*5B zO>Jn8INN5)T~`mM=1N4oa_aPn!^x*y+_4&ZP-7*-4#{d#Pspod&8`7osBJMfmP6eo3& z#zV8u;3AC&UUNKU(d%DkW

Tk4GwL(@;A*6vWfB7g71iH7YaSs>R1hRL@ZKO_h)ARA?lhtI}~j3QmR}+Rr42T{|#zB6@i*; zr%s(ZuR2xtFWvp+2XDLmHu~4w;kC+@ z#?_qLxKe318+EtQ>G!t1+^y6~Ge*&u`ct3kU+-sncNSW${#Sj8pV0r!C8n0bskk5_= z5)g{b#zJMW-`lJPrk~dwl^6a<);F)X?RKT)dKg&mZqMy>d1UU@j@$4m&4$;%gaP{m zy4uMVx}7GF?f350R8xgsw_Y!_m;1e)#)~3#P*`;P77QA!>w(B-RrFb_G%kYzW@%+X zBX5>A3aw_%Z8rM7twv{rnBDqH#a${kOXyx<3t*jgWj@!c6&jsxz1DX@q-M8Wbn{+! zVWD!h-`iMh)@p9C!=vwQJl!t2ZMSr+Qtb3Wx3m4;UAZ=JpYwVf>IJXkw)0GmyDN>7 zi{@)v?Pe9t`@JoS0o43sUO>BY6U?&Z<-(Pw^YKE%IZ`ZlfZh6Hv$fo=ESAx1_fz{1 zd@zgueQ2K(uD2G{q-nuiJ(D|-+mG(rZp|%tZoi!CZD}np67za_ud`eO*tQAPRlzqJ-t}zl)Lk}VzWM7M<-V+ zUWA3Yi8uW?Chhh;{qODf?r33nPo;p+>eg!9{;o4;9RktqZ76r@wS1@S)`87KGQauO z@5SXM$s+l*IR?S{@C75zix7!=GAGy_oi!=`RUd&rm1l-cVPdtSLwLfR-t$q zJnT&m!)2Ng_CVGh22RbE@DWzmdZA~xUF-MuCZ|x}>)pcuYhbo~w^hPCmhuaAaLW3} z=bgt(`<%x=0dd83yjHE!$qOgm=xvrVEbsY3n^*W9d-w8!-r~81cCkF)yqcprV3EaI zbG}gPG>fWWtE>uIky7G%x(~2$C*P@bh{JZ-Jf2ltxm_>NeAjdHl`DmI|DE0rtFYZ! zZn^y%q0&~NU8tjUi`(kX=Zl_~U#Qd|oxrkNcr;d#46tfc+T7^YA^P$Q&33)eVQIbA zlf~TcZ8#^t9OBnCsMc*`2y0)dEatfA?oMHz2DR=y{pF$!Bt5e8wPx`$+Mld=9Y}O~ z)9pQ=Bq7LMcH1C3@ehOxBt8ba=1QT~1>#s)<;gO129!&G?z8>!RC#Z?iXXl0N>JpD zwSODdEKdm4e6qZ++@v4ba*msnr`3<%-4Jz!<$k##pw{yvGsT>gtb=@8?6Tm!!)^4X za3h9MsJVG)7pCZ1c?QqQ`}>6?dEJ(2-zd;By!TqW+3Z};UDNNbUxV^+mItr1O%0f6P>F2g_2=fOzimN#IoY&0Q4E=k*6b}^=I5e9*Jxkdz&rqxa*ry!f~D_?S3 z(95&83;i#ZKPjkhg$yg_QDGid2G*8ty`9V5H$g-#=@hCPbqg$IO`8p!nwN*+P+3^k zMH{K82!3jJJUz+{5Y^~qk*r@0%>zw4Z+5|mKBadUW%&Xxm45HeH;=&rVRG*>->db> zVz9Sf%MKPkcT@{xg0T4uqXu+>kOcL~YQenp-LAlUShzC}6Q*47Do`gdWr}XOS%Y1s zS--cL^~F34A(mI=Ou50+$;H}eI{wl+Hu!Jr-9_ajiFzBjh8P>=KQ8|lq|OX%kDECGI9J zStwkoU>K^f{E6~+2rd`O7p0mqE2*QRHn8Q5Sl(Ev?Sl29{E_kr0Ww=YDOJUOh3*7N znvFsY^=bBCJuoUe85I%SWV=?1ENzT;q;^{_EIQ>N?ov*l79PrG-3h;kEH_BrR$HlK z^4UJ6Iueu(K<@|wyBL9>JkK=g-SLZmUo{ld)8r9CuKdv((q4!}W?WvZX7Dj%FMyf# z0&`lwyq9|o%6$j)u3QK5&!i3YjD^q;tDVd~1~2{6D${M%F%Ow|kFC0Y(7xb?Kk;G5k}t4l_aHsbDPBTfxZTqW29ux((g zz`Q0s!-Es15&cN&PrK)Lh7f1i(ybn45jq@#xWT$z%?jDc zB@r_~t8rOlB|{}WL-v85h=-VT4a)KOret#vI!emYNb z1BHsSV2*UkRR}ir+j}3@Zey|3$W^_PTdQ1Y=NfKjy3vA@E_GizIPH4ROk*yx^?EIf z07Jco%8F=gQV_&2O}6N+lyoG0e86VseW+VfjDF)%1)e4x5UF&5DqYf*d_Z6b zvO?5^=(bP61dJ;`7%ta7h2jp(z;_c4+jKcOFCWb z_<;W^5KNsy8>M87NS*t19d^F8M?)c;-LJfQ@}x6&;9+^A->XGAUck<**wMwqpUes+iQIO^;77N0Kz*IM|q%~XD(x5HKuIcg9MK1E_qYhY}3p^rN7i5UC_0k5hPu@H*4K`1H?D+r8-w3*I_G(eG$96V8~VvNT=@NVc`vF()T*Y! zM)gXJufIp@oSP^#*sL^H8oyLTm6s|YXJLp5E`s4$L#h@KL9pZX*)6c`tqHi@tRl`YTp4a{ zyy{fyF0_H3V&e@(%gL6Xy*ttf!9JKyq!bw3{XtLaO+b*|9iMzuv+_ehy*3sQ1ach# z8jZp6m)gI;j(`ANkA#guwR|#g5!s#H=n9_MYjg;1XJP#B4CH^EM~=T)9<1SNWY0+ul@)E+Vs}x0EgnT zdo+j!2I_VSl^WJ)R}<)d{kGU{BD~pE7P|(e1DfPW6;VCx9kvcs;(kjjetg{gIBoj4zi-5`s3bhLwK9b>C5gimPCmsy0;ca?_#4s1L9xJ1>ip4Y$9m8mQ*7G z^N5U*LsV(-_RBhoNp!kxc+#6;50l{zSprWV(Tz^IjkTNSxF7U2qqGI@Ic$d^k&OFaeWR+cN=d)_mM|k%2Oa(h4a+d z?*aQ`J-W3POom2DMf>^)p1Qap|=)oQkwl6RHKnxruSdBo6 z|8i^4gYuSl+NO~65lmq~zz2i+WUCXaV3|^61uHke$(Rnmngkm!1+eZ7U@-yUp@@yX zb-L@dr{}TXTds6Fm0HlmpqUR>+HCjR=odjNC+G-PH@mlx5(sv~kM2MWz`XGZvJG4& zTpI+!DDKOJ%&^-@$=FqT+ijvj&nThH4i;CA@iBv!q-(W%rj7kKVcpQ`3Gh%Zt9rrF za}H>$7Ms)yiNy8pZXi%_MLT-tJJXzEr(`>s_G~Ya2Z4YtIR9?3pG1=Fq6!#QzV31$ z6`~a$R&P_GhKS<43js+{85UXh>8b+H7bbvMuUvIY;c9vp!EmM+&Vw2bx|KblKrm_l zBR~tAOK>$?*j5V^1&@l5Ch3Ii1ib345AYFmAJg6Vl^`Ach*e&^8AN9(bR41u3q43c zOc2|EBJ-p0)J7U|18Cb%LAh7gQ=EgSY`YDwNHjxvQE7hpk$?H=uWmXa;<}sd6He>8h#(V0P=I30*;NNd;Bz3s+%& z6+1($_Hc#PvTRQUFt++tg2*1X-C?}oJq+Oxei!XHk9b8ra3g{WOl9^J$l}uEe%J@@ zU52`bb_I_^J*dE$QuGf7wJ6+FN1g!%Q>80aXA@fTMv&z~J*Z3hm44u`3_>7(RV@Bp zx?Fa>Vf9ho3!*tZ#(P6=i%76&81L`V@Ac{z#+Ai7c?~5-soA3jIjbzO-_xm+qgd)la1VpOn3Lo$*=zY%$Hlq*-$Mz8_ z>z*EsRKvE}6>^YPuIaVhVg))UT=Ov>Ci(e=5_b1E%u5?nuxAToq54A&5QwQv`<;Hx zCx(GF900M{%IB5n`M7$1RatVoEHKKj)>I1!4*>!q$85PwT8=zv^-e4&9Ma?Hy2F0gT2YJ&e|vzi{LZ`NyD_!TSHW}`;VqJ$8+*d>2f zNngLkR-Nvow25}LclqTIp%fpd9SXo>Zg>2b3&?xIVvC43<$JF~#7}ajs`uWh1Df~h z!n_LfYJG8M3(*|Gc)MT6ZIO{zf(L`$DfLsZc*w6K5fvL+bvJd$=sxII^p>&zfnXVF z9*NZIA?@_*V2iWN*#Tu}Pue(?0SKs|+I*o?EJH)T<d=&eB*i!}6Hd9t@f?M?W;_S!QlAxvl8mDiQmQ<_6>9hRn~5quHB)-~js zQLe>Ws1Xi&^fr+}!!9Jn#*iq$HY-e*N&`s2edqWmGPii=>fP>qIeQ(DwkZ_E9rtp@ z{_GvS`@@Auq{1$Y+o6Ho7k*h0KBad$`Ok-j+eBmGnI9U6qu@;W6Hmmk7^4+D!e0A)Na;HdzfTFSu zMX5(tIrbp1mybjhg&M4k-a62Sw(&^6WqMmkzmsDRalxsAcfi~0ZRX8Lc&Y`-Qn`zk zEaKE;Y$BjQnRwXg1)Xp7?kS?yWo%_5z5!8LqGSn(ymxw=TF9p$W0~Eo9=2j61rNnu zPDnv<;%UTnsiq|r;xyxiNw4e~lOq1#)B)xc_zCaU@r z#KrL=|EluMQ}_MkzpNhgpYC_QzxuTQwD;>DtUl{MJ^6{V)n|gIAN=F$0skrY#J9UW zqzq9M96MQ*-BWgY8qkQd9X>p_t6o7XibvmP%;>XfE^zZ z7~6~%q*2GF(HaY#Dgu2S3!RY%)|^MOnn9v>nMY{$HiK4YXO0{@HN(ll?}8(hQb+zp z5e!gW!2gIJ{3g$(Pg9j1`tN$Z&Dc4lNM50~R9N=u;^ z8eXz2%6NtF;-(OVmupZs1Wqp3kS%i(coa{yk?*aM0NtJE)m8l-{FdbW>Syt@+^D{TKS1;I_|w~Q)K{a;hI5=# zT?EnUyLeyy5®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 AV*mgE delta 2080 zcmb7FZA?>F816Y8_qOPOO{-JNEGP>_bbL<(VJi4B1;tDvet_vVv|Pn9ED;r{H4|wC zExtu1FoqwXfQoQYHnoT>Zd%aI#UES3%uL*VXw0%dW|_&d^Pbz>$w^)9%w+a-@wr4wQRLzMx__C~_7HY41sjw1c=Yjqqv zJ{SSd?bBiI{&Lu23j>dRmTzt$wAZkRnkcZHjFYb%)KkbmsilSgH!haa`2s9TN`uLV zBE>jjHcJ15fGv5NoO9@HLbC*j?$m>|HkmFH;7Mtc+9+kgcn;aG%>z3l^WV?ZBz9YfTu$RBYg&{ltd8(ugwkzoO(7>27O z<(eZ-LI<#nH8jrzn;P!Z2Lk+cJtbmPP^rvmX0`+jrsJ268bDSbeFvTc&M7bQXJWu;;CB14SB;TvAN%xHX(&IRASO+0{ppZ zn%sDzk!FJ!S z0Za9C%6_o>&-zSaA9=2>n0Ug?pu4t#YzND=KJpes52i+hX@gq4OD-97P%?{g^B_?l zs>$oYjA2^dnTxM)CSANqzP+A67VrdV!3p~1)Eg#3miZHic>|ar4IbSrqF32=$g@M( zccGSD%6Gv~K8dc=!o&1w(CUd729>2_9=mWu8LkfY?KFGr$(y z`dt?p%z8L0uNe*{y2M~=C=lqn-KqONn7yU2t42(;pFo6OFMCIpQ2IzKhuujfWKhoj z&P9b%RCz$52sHZmF=ki`){sD$(9}G6{0M@!0rJ?oFpsFYNYa3X@Pr1K)US zZFkvYDD4ShpvFlRLL$4I(maF)1Si5>ggXeYQ2cL%WL*3{!X<=mgi3@81Uo_vLIZ*m zp&8)>LI=VbEewsuGK)_~KmG`vIJgT3ci`aa4zBFrst&H`;A#%8RL527xI!JzUMF?H zfiWY|K=)XajhBP}14=pg@+;-w`>T|L@10T(zDY_s*t$wN*n>(rJ8;CyslpL2=L;P1 Za$Gn%gV4&Lvi{Aj7K?SKJam5>`46KCw`~9b diff --git a/_modules/index.html b/_modules/index.html index 93da4878..4b134cab 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -4,7 +4,7 @@ - Overview: module code — warning-plugin 5.1.0 documentation + Overview: module code — warning-plugin 5.2.0 documentation @@ -30,7 +30,7 @@

Navigation

@@ -47,7 +47,8 @@

Navigation

All modules for which code is available

-
@@ -173,7 +173,7 @@

Navigation

diff --git a/_modules/mlx/warnings/regex_checker.html b/_modules/mlx/warnings/regex_checker.html index b9de536a..0c24dc42 100644 --- a/_modules/mlx/warnings/regex_checker.html +++ b/_modules/mlx/warnings/regex_checker.html @@ -4,7 +4,7 @@ - mlx.warnings.regex_checker — warning-plugin 5.1.0 documentation + mlx.warnings.regex_checker — warning-plugin 5.2.0 documentation @@ -30,7 +30,7 @@

Navigation

@@ -244,7 +244,7 @@

Navigation

diff --git a/_modules/mlx/warnings/robot_checker.html b/_modules/mlx/warnings/robot_checker.html index 22b0cb9d..6c501047 100644 --- a/_modules/mlx/warnings/robot_checker.html +++ b/_modules/mlx/warnings/robot_checker.html @@ -4,7 +4,7 @@ - mlx.warnings.robot_checker — warning-plugin 5.1.0 documentation + mlx.warnings.robot_checker — warning-plugin 5.2.0 documentation @@ -30,7 +30,7 @@

Navigation

@@ -268,7 +268,7 @@

Navigation

diff --git a/_modules/mlx/warnings/warnings.html b/_modules/mlx/warnings/warnings.html index 7991b16d..b69fdb58 100644 --- a/_modules/mlx/warnings/warnings.html +++ b/_modules/mlx/warnings/warnings.html @@ -4,7 +4,7 @@ - mlx.warnings.warnings — warning-plugin 5.1.0 documentation + mlx.warnings.warnings — warning-plugin 5.2.0 documentation @@ -30,7 +30,7 @@

Navigation

@@ -55,13 +55,16 @@

Source code for mlx.warnings.warnings

 import errno
 import glob
 import json
+import os
 import subprocess
 import sys
 from importlib.metadata import distribution
 from pathlib import Path
+from string import Template
 
 from ruamel.yaml import YAML
 
+from .exceptions import WarningsConfigError
 from .junit_checker import JUnitChecker
 from .regex_checker import CoverityChecker, DoxyChecker, SphinxChecker, XMLRunnerChecker
 from .robot_checker import RobotChecker
@@ -69,6 +72,26 @@ 

Source code for mlx.warnings.warnings

 __version__ = distribution('mlx.warnings').version
 
 
+def substitute_envvar(checker_config, keys):
+    """Modifies configuration for checker in-place, resolving any environment variables for ``keys``
+
+    Args:
+        checker_config (dict): Configuration for a specific WarningsChecker
+        keys (set): Set of keys to process the value of
+
+    Raises:
+        WarningsConfigError: Failed to find an environment variable
+    """
+    for key in keys:
+        if key in checker_config and isinstance(checker_config[key], str):
+            template_obj = Template(checker_config[key])
+            try:
+                checker_config[key] = template_obj.substitute(os.environ)
+            except KeyError as err:
+                raise WarningsConfigError(f"Failed to find environment variable {err} for configuration value {key!r}")\
+                    from None
+
+
 
[docs]class WarningsPlugin: def __init__(self, verbose=False, config_file=None, cq_enabled=False): @@ -237,6 +260,7 @@

Source code for mlx.warnings.warnings

             try:
                 checker_config = config[checker.name]
                 if bool(checker_config['enabled']):
+                    substitute_envvar(checker_config, {'min', 'max'})
                     self.activate_checker(checker)
                     checker.parse_config(checker_config)
                     print("Config parsing for {name} completed".format(name=checker.name))
@@ -504,7 +528,7 @@ 

Navigation

diff --git a/_modules/mlx/warnings/warnings_checker.html b/_modules/mlx/warnings/warnings_checker.html index c9a70af8..967b5443 100644 --- a/_modules/mlx/warnings/warnings_checker.html +++ b/_modules/mlx/warnings/warnings_checker.html @@ -4,7 +4,7 @@ - mlx.warnings.warnings_checker — warning-plugin 5.1.0 documentation + mlx.warnings.warnings_checker — warning-plugin 5.2.0 documentation @@ -30,7 +30,7 @@

Navigation

@@ -53,6 +53,8 @@

Source code for mlx.warnings.warnings_checker

import re from string import Template +from .exceptions import WarningsConfigError +
[docs]class WarningsChecker: name = 'checker' @@ -91,8 +93,8 @@

Source code for mlx.warnings.warnings_checker

try: template_obj.template = template_obj.substitute(os.environ, description='$description') except KeyError as err: - raise ValueError(f"Failed to find environment variable from configuration value " - f"'cq_description_template': {err}") from err + raise WarningsConfigError(f"Failed to find environment variable from configuration value " + f"'cq_description_template': {err}") from err self._cq_description_template = template_obj
[docs] @abc.abstractmethod @@ -306,7 +308,7 @@

Navigation

diff --git a/_static/documentation_options.js b/_static/documentation_options.js index 472d0a57..26378ffe 100644 --- a/_static/documentation_options.js +++ b/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '5.1.0', + VERSION: '5.2.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/authors.html b/authors.html index b536600e..beb04373 100644 --- a/authors.html +++ b/authors.html @@ -5,7 +5,7 @@ - Authors — warning-plugin 5.1.0 documentation + Authors — warning-plugin 5.2.0 documentation @@ -32,7 +32,7 @@

Navigation

@@ -125,7 +125,7 @@

Navigation

diff --git a/contributing.html b/contributing.html index 52934686..29656a32 100644 --- a/contributing.html +++ b/contributing.html @@ -5,7 +5,7 @@ - Contribution Guide — warning-plugin 5.1.0 documentation + Contribution Guide — warning-plugin 5.2.0 documentation @@ -33,7 +33,7 @@

Navigation

@@ -170,7 +170,7 @@

Navigation

diff --git a/design.html b/design.html index d05fda2f..c5847df1 100644 --- a/design.html +++ b/design.html @@ -5,7 +5,7 @@ - Software Design — warning-plugin 5.1.0 documentation + Software Design — warning-plugin 5.2.0 documentation @@ -33,7 +33,7 @@

Navigation

@@ -527,6 +527,12 @@

String Handling +
+exception mlx.warnings.WarningsConfigError[source]
+

Bases: Exception

+
+
class mlx.warnings.WarningsPlugin(verbose=False, config_file=None, cq_enabled=False)[source]
@@ -787,7 +793,7 @@

Navigation

diff --git a/genindex.html b/genindex.html index 6cd34ecf..e073fa69 100644 --- a/genindex.html +++ b/genindex.html @@ -4,7 +4,7 @@ - Index — warning-plugin 5.1.0 documentation + Index — warning-plugin 5.2.0 documentation @@ -30,7 +30,7 @@

Navigation

@@ -310,6 +310,8 @@

W

  • warnings_wrapper() (in module mlx.warnings)
  • WarningsChecker (class in mlx.warnings) +
  • +
  • WarningsConfigError
    • @@ -387,7 +389,7 @@

      Navigation

      diff --git a/index.html b/index.html index 7d515de0..d1f59802 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ - Contents — warning-plugin 5.1.0 documentation + Contents — warning-plugin 5.2.0 documentation @@ -32,7 +32,7 @@

      Navigation

    @@ -159,7 +159,7 @@

    Navigation

    diff --git a/installation.html b/installation.html index 04033bec..5bbc70f5 100644 --- a/installation.html +++ b/installation.html @@ -5,7 +5,7 @@ - Installation Guide — warning-plugin 5.1.0 documentation + Installation Guide — warning-plugin 5.2.0 documentation @@ -33,7 +33,7 @@

    Navigation

    @@ -135,7 +135,7 @@

    Navigation

    diff --git a/objects.inv b/objects.inv index 13b525d0055d5f8dadb26e09ed9d56e55a52ccbd..b32fbbec76452796ce74687b74b776a064b4258c 100644 GIT binary patch delta 901 zcmV;01A6@E2Z9KYL;*69MM{5r+G}nZr|r0tw3)b__Qnvgk!dAR0LAv(7lGt}WXT4l zC)=3++g)~9gvw&S++o2e%Vk;}u1Zeo0@4pD0ZDVV+^Vv8X9pMW(?wD`^Or0B0)nc; zY75z45RE=7u$1XXPkv6fT-{!8HtWyp)%B0{_iqgbD<$Y-tsoSYHJ^Vb5KvoALgfsX zFw1_Wl^|FU-UV%`DAW#kpm3U9fx{M6Q5Gb2L2rd9mt+OuyWt=_H zJkkLHsum2Hw4j2PRLOstq$WL)2st|=GCCuhnktCe7OpaCZ+L*XW!zL-%J!k|d#WX6 zSy2-}(u^Vky1!&tQO+X$2(NBm9@Ec#!Y~vhAcy^bKqAU??W$}W#QxQO3C&zjx5R{? zcDVxfZ=VuayaV}+&OBf}>m`<%pp{u-1!YxW1#^&5{r)5*w84M$A;J5i4~T301B#$b zq1_f3(ocSmTtYl+);Tf;3+sV>ihPTF%USt03Hl@iH#-~l8JKduRDWO8Ic333!OE66 zQ}jje8I-*?moWcFK&Y$VC|YEb>C|RPk=X$85jDGb?y9^=#rIfo1>Ztu)w|1xE%%n8 zc%B!4On2dRd^~?UeHm?q>Dl!1Y&Z=<=g9BrI_n=r-q6zAEe?`3~y4S2Gim9yvUCAHsbM$pF? zMj!Am+F#TDqn*H2WuZ?s%SIk8aIJfrkf~JUitwzl+zy#J>9zfl7{3sqI2X7yvkUwP zMc-31ZP86znP6`0uSB2DwiRjjTzl@gHM%;EXrI5-lt5yQxH89Vy5Ubs2M+0t8BB7} zYe4i>&U1OR8?~Bs^EG*$)?%F*jT^v})RUybMPaYI-rU#m4(iObo|l}Q@TEE|x<9P) z&c2YgUOE4sk=-A3eweQofQddq97pX)7gbqeM$%i#Anl4NwH2F4z(U_rJ)3r{U1mD`Z-qt}0HN64DPT0Z9v%?NwF2vxBSm=_;w5`PrKP1wqwm zy@&h{h*qDMSjzOHC%>f2*0Fef@p&?Q4s{N(s7a6ojJk_S1g^0&34msGQ*n z7TK@05(Eok-0)-Y5;~f2r(JQ3!(VMWNf|X@kS{)U|*b3qVQ$yxxHazT?3W zyQ0vD$663FC~BX;8>WCD_o&x`*C5m>2vmSV6+Y6csUm|h1j-f=f)l_~>)n@ta?T!U z5$S*c)d+^nwxE($RLOsZq;`8E5pwa4$mku}HdH~>v2c}9XTt-;E#tP{Q+5n>-&19j z*0emA=N>l1&XbzS+4 z>1KDpwhu8qd-8S29DXR8wQ%-L!5rNc%#tUbh3DA5WR^aiLvsd3s-cax4|uk5zD1wo zdy32K^Ucmh1DKWxM;~Y=(9bbUJ~h9_#s&Y;LEwM7w$R6h<);4`pG(~6f+J)q z6}cijZ!LF2W=?u-ekm(qjdwAl6sO< zxGZfC>CIn#8SkOaOzU~Y$r)ej)2jc&D(~!DUh9?f?*-ZYN$(Hy)dDclW!-Vqj`UGg z6=o#8r3}(OnNpjvi3BWk>*v|DW8FgA|L<`DiR=~~IeT+9Df)@4ZsKsa{sETsRs_m_ Bv;qJC diff --git a/output.json b/output.json index 47faeaf0..3496dc1a 100644 --- a/output.json +++ b/output.json @@ -1,32 +1,32 @@ {"filename": "index.rst", "lineno": 17, "status": "unchecked", "code": 0, "uri": "", "info": ""} {"filename": "readme.rst", "lineno": null, "status": "redirected", "code": 301, "uri": "http://www.apache.org/licenses/LICENSE-2.0", "info": "https://www.apache.org/licenses/LICENSE-2.0"} -{"filename": "readme.rst", "lineno": null, "status": "redirected", "code": 301, "uri": "https://badge.fury.io/py/mlx.warnings", "info": "https://pypi.org/project/mlx.warnings/"} {"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://codeclimate.com/github/melexis/warnings-plugin", "info": ""} -{"filename": "readme.rst", "lineno": null, "status": "redirected", "code": 302, "uri": "https://badge.fury.io/py/mlx.warnings.svg", "info": "https://d25lcipzij17d.cloudfront.net/badge.svg?id=py&r=r&ts=1683906897&type=6e&v=5.0.0&x2=0"} +{"filename": "readme.rst", "lineno": null, "status": "redirected", "code": 301, "uri": "https://badge.fury.io/py/mlx.warnings", "info": "https://pypi.org/project/mlx.warnings/"} +{"filename": "readme.rst", "lineno": null, "status": "redirected", "code": 302, "uri": "https://badge.fury.io/py/mlx.warnings.svg", "info": "https://d25lcipzij17d.cloudfront.net/badge.svg?id=py&r=r&ts=1683906897&type=6e&v=5.1.0&x2=0"} {"filename": "readme.rst", "lineno": null, "status": "redirected", "code": 302, "uri": "https://bestpractices.coreinfrastructure.org/projects/4368/badge", "info": "https://www.bestpractices.dev/projects/4368/badge"} {"filename": "readme.rst", "lineno": null, "status": "redirected", "code": 302, "uri": "https://bestpractices.coreinfrastructure.org/projects/4368", "info": "https://www.bestpractices.dev/en/projects/4368"} {"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://codeclimate.com/github/melexis/warnings-plugin/badges/issue_count.svg", "info": ""} {"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://codecov.io/gh/melexis/warnings-plugin/branch/master/graph/badge.svg", "info": ""} {"filename": "readme.rst", "lineno": null, "status": "redirected", "code": 302, "uri": "https://codeclimate.com/github/melexis/warnings-plugin/badges/gpa.svg", "info": "https://api.codeclimate.com/v1/badges/c287cf98885a503c8a09/maintainability.svg"} +{"filename": "readme.rst", "lineno": 413, "status": "working", "code": 0, "uri": "https://docs.gitlab.com/ee/ci/testing/code_quality.html", "info": ""} {"filename": "readme.rst", "lineno": null, "status": "redirected", "code": 301, "uri": "https://codecov.io/gh/melexis/warnings-plugin", "info": "https://app.codecov.io/gh/melexis/warnings-plugin"} -{"filename": "readme.rst", "lineno": 411, "status": "working", "code": 0, "uri": "https://docs.gitlab.com/ee/ci/testing/code_quality.html", "info": ""} -{"filename": "readme.rst", "lineno": 46, "status": "working", "code": 0, "uri": "https://github.com/jenkinsci/warnings-plugin", "info": ""} -{"filename": "readme.rst", "lineno": 411, "status": "working", "code": 0, "uri": "https://docs.gitlab.com/ee/ci/testing/code_quality.html#implement-a-custom-tool", "info": ""} -{"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://github.com/melexis/warnings-plugin/actions/workflows/python-package.yml", "info": ""} -{"filename": "readme.rst", "lineno": 411, "status": "working", "code": 0, "uri": "https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html#artifactsreportscodequality", "info": ""} -{"filename": "readme.rst", "lineno": 419, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/string.html#string.Template.template", "info": ""} +{"filename": "readme.rst", "lineno": 293, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/string.html#string.Template.template", "info": ""} +{"filename": "readme.rst", "lineno": 413, "status": "working", "code": 0, "uri": "https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html#artifactsreportscodequality", "info": ""} +{"filename": "readme.rst", "lineno": 413, "status": "working", "code": 0, "uri": "https://docs.gitlab.com/ee/ci/testing/code_quality.html#implement-a-custom-tool", "info": ""} {"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://github.com/melexis/warnings-plugin/actions/workflows/python-package.yml/badge.svg?branch=master", "info": ""} +{"filename": "readme.rst", "lineno": 46, "status": "working", "code": 0, "uri": "https://github.com/jenkinsci/warnings-plugin", "info": ""} {"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://img.shields.io/badge/Documentation-published-brightgreen.svg", "info": ""} -{"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat", "info": ""} {"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://github.com/melexis/warnings-plugin/issues", "info": ""} -{"filename": "contributing.rst", "lineno": 3, "status": "redirected", "code": 302, "uri": "https://guides.github.com/introduction/flow/", "info": "https://docs.github.com/en/get-started/quickstart/github-flow"} {"filename": "readme.rst", "lineno": 239, "status": "working", "code": 0, "uri": "https://github.com/xmlrunner/unittest-xml-reporting", "info": ""} -{"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://img.shields.io/hexpm/l/plug.svg", "info": ""} +{"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://github.com/melexis/warnings-plugin/actions/workflows/python-package.yml", "info": ""} +{"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat", "info": ""} +{"filename": "contributing.rst", "lineno": 3, "status": "redirected", "code": 302, "uri": "https://guides.github.com/introduction/flow/", "info": "https://docs.github.com/en/get-started/using-github/github-flow"} +{"filename": "installation.rst", "lineno": 5, "status": "working", "code": 0, "uri": "https://pypi.org/project/mlx.warnings/", "info": ""} {"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://melexis.github.io/warnings-plugin/", "info": ""} {"filename": "readme.rst", "lineno": 63, "status": "working", "code": 0, "uri": "https://melexis.github.io/warnings-plugin/installation.html", "info": ""} -{"filename": "installation.rst", "lineno": 5, "status": "working", "code": 0, "uri": "https://pypi.org/project/mlx.warnings/", "info": ""} -{"filename": "readme.rst", "lineno": 264, "status": "working", "code": 0, "uri": "https://robotframework.org/", "info": ""} -{"filename": "readme.rst", "lineno": 264, "status": "working", "code": 0, "uri": "https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#xunit-compatible-result-file", "info": ""} +{"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://img.shields.io/hexpm/l/plug.svg", "info": ""} {"filename": "readme.rst", "lineno": 293, "status": "working", "code": 0, "uri": "https://yaml.org/spec/1.2.2/", "info": ""} {"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://scan.coverity.com/projects/15266/badge.svg", "info": ""} {"filename": "readme.rst", "lineno": null, "status": "working", "code": 0, "uri": "https://scan.coverity.com/projects/melexis-warnings-plugin", "info": ""} +{"filename": "readme.rst", "lineno": 264, "status": "working", "code": 0, "uri": "https://robotframework.org/", "info": ""} +{"filename": "readme.rst", "lineno": 264, "status": "working", "code": 0, "uri": "https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#xunit-compatible-result-file", "info": ""} diff --git a/output.txt b/output.txt index 4c7b8e50..3e4f2b23 100644 --- a/output.txt +++ b/output.txt @@ -1,8 +1,8 @@ readme.rst:None: [redirected permanently] http://www.apache.org/licenses/LICENSE-2.0 to https://www.apache.org/licenses/LICENSE-2.0 readme.rst:None: [redirected permanently] https://badge.fury.io/py/mlx.warnings to https://pypi.org/project/mlx.warnings/ -readme.rst:None: [redirected with Found] https://badge.fury.io/py/mlx.warnings.svg to https://d25lcipzij17d.cloudfront.net/badge.svg?id=py&r=r&ts=1683906897&type=6e&v=5.0.0&x2=0 +readme.rst:None: [redirected with Found] https://badge.fury.io/py/mlx.warnings.svg to https://d25lcipzij17d.cloudfront.net/badge.svg?id=py&r=r&ts=1683906897&type=6e&v=5.1.0&x2=0 readme.rst:None: [redirected with Found] https://bestpractices.coreinfrastructure.org/projects/4368/badge to https://www.bestpractices.dev/projects/4368/badge readme.rst:None: [redirected with Found] https://bestpractices.coreinfrastructure.org/projects/4368 to https://www.bestpractices.dev/en/projects/4368 readme.rst:None: [redirected with Found] https://codeclimate.com/github/melexis/warnings-plugin/badges/gpa.svg to https://api.codeclimate.com/v1/badges/c287cf98885a503c8a09/maintainability.svg readme.rst:None: [redirected permanently] https://codecov.io/gh/melexis/warnings-plugin to https://app.codecov.io/gh/melexis/warnings-plugin -contributing.rst:3: [redirected with Found] https://guides.github.com/introduction/flow/ to https://docs.github.com/en/get-started/quickstart/github-flow +contributing.rst:3: [redirected with Found] https://guides.github.com/introduction/flow/ to https://docs.github.com/en/get-started/using-github/github-flow diff --git a/py-modindex.html b/py-modindex.html index d4986ee6..e2126597 100644 --- a/py-modindex.html +++ b/py-modindex.html @@ -4,7 +4,7 @@ - Python Module Index — warning-plugin 5.1.0 documentation + Python Module Index — warning-plugin 5.2.0 documentation @@ -33,7 +33,7 @@

    Navigation

    @@ -129,7 +129,7 @@

    Navigation

    diff --git a/readme.html b/readme.html index 98b5e31e..5c5210a6 100644 --- a/readme.html +++ b/readme.html @@ -5,7 +5,7 @@ - Command Line Warnings Plugin — warning-plugin 5.1.0 documentation + Command Line Warnings Plugin — warning-plugin 5.2.0 documentation @@ -33,7 +33,7 @@

    Navigation

    @@ -256,23 +256,25 @@

    Parse for Robot Framework Test Failures

    Configuration File to Pass Options

    Beside command line, you can pass options through the configuration file. -Configuration file is in JSON or YAML format with a simple structure.

    +Configuration file is in JSON or YAML format with a simple structure. +The values for ‘min’ and ‘max’ can be set with environment variables via a +string.Template, e.g. "${MAX_SPHINX_WARNINGS}".

    {
         "sphinx": {
    -        "enabled": false,
    +        "enabled": true,
             "cq_default_path": "doc/source/conf.py",
             "cq_description_template": "$PRODUCT | $description",
             "min": 0,
    -        "max": 0
    +        "max": "${MAX_SPHINX_WARNINGS}"
         },
         "doxygen": {
    -        "enabled": false,
    +        "enabled": true,
             "cq_default_path": "doc/doxygen/Doxyfile",
    -        "min": 0,
    -        "max": 0
    +        "min": "$MIN_DOXY_WARNINGS",
    +        "max": "$MAX_DOXY_WARNINGS"
         },
         "junit": {
    -        "enabled": true,
    +        "enabled": false,
             "min": 0,
             "max": 0
         },
    @@ -461,7 +463,7 @@ 

    Navigation

    diff --git a/search.html b/search.html index 917e2f68..d01c78c7 100644 --- a/search.html +++ b/search.html @@ -4,7 +4,7 @@ - Search — warning-plugin 5.1.0 documentation + Search — warning-plugin 5.2.0 documentation @@ -36,7 +36,7 @@

    Navigation

    @@ -128,7 +128,7 @@

    Navigation

    diff --git a/searchindex.js b/searchindex.js index 8dab128b..c489fa69 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["authors", "contributing", "design", "index", "installation", "readme"], "filenames": ["authors.rst", "contributing.rst", "design.rst", "index.rst", "installation.rst", "readme.rst"], "titles": ["Authors", "Contribution Guide", "Software Design", "Contents", "Installation Guide", "Command Line Warnings Plugin"], "terms": {"melexi": [0, 2, 4, 5], "warn": [0, 1, 2, 3, 4], "plugin": [0, 1, 2, 3, 4], "i": [0, 1, 2, 4, 5], "mainli": 0, "maintain": 0, "bavo": 0, "van": 0, "acht": 0, "crt": 0, "mori": 0, "stein": 0, "heselman": 0, "jasper": 0, "craegh": 0, "anyon": [1, 5], "more": [1, 2, 5], "than": [1, 2], "welcom": 1, "develop": [1, 5], "matter": [1, 5], "your": [1, 5], "program": 1, "skill": 1, "level": [1, 2], "It": [1, 5], "": [1, 2, 5], "oblig": 1, "help": [1, 5], "bring": 1, "our": [1, 2, 5], "desir": 1, "you": [1, 4, 5], "should": [1, 5], "do": [1, 5], "best": 1, "understand": 1, "decis": 1, "standard": 1, "github": [1, 4, 5], "flow": 1, "us": [1, 2, 5], "http": [1, 4, 5], "com": [1, 4, 5], "introduct": 1, "pull": 1, "which": [1, 2, 5], "ar": [1, 2, 4, 5], "merg": 1, "we": [1, 2, 4, 5], "also": [1, 5], "prefer": 1, "make": 1, "work": 1, "In": [1, 5], "progress": 1, "onc": [1, 4], "just": [1, 5], "case": [1, 2, 4, 5], "someon": 1, "els": [1, 2], "same": [1, 5], "There": [1, 5], "mai": [1, 5], "few": [1, 5], "open": [1, 2, 4, 5], "some": [1, 5], "own": 1, "suggest": [1, 5], "The": [1, 2, 5], "want": [1, 2, 5], "label": 1, "indic": 1, "an": [1, 4, 5], "easi": 1, "enough": 1, "task": 1, "so": [1, 2, 4, 5], "go": 1, "pick": 1, "up": 1, "feel": 1, "most": 1, "excit": 1, "about": [1, 5], "implement": [1, 2, 5], "all": [1, 2], "need": [1, 2, 4, 5], "properli": 1, "test": [1, 2], "target": [1, 2], "coverag": 1, "percentag": 1, "rather": 1, "focu": 1, "regress": 1, "confirm": 1, "expect": [1, 2], "function": [1, 2], "border": 1, "thi": [1, 2, 5], "u": [1, 5], "keep": [1, 5], "exist": [1, 2, 5], "even": 1, "after": [1, 2, 5], "year": 1, "constant": 1, "fix": 1, "bug": 1, "basic": 1, "everi": [1, 5], "bit": 1, "detail": [1, 5], "can": [1, 2, 5], "includ": [1, 2, 5], "futur": 1, "might": 1, "look": [1, 5], "obviou": 1, "everyon": 1, "correctli": 1, "intend": 1, "thei": [1, 5], "aspect": 1, "check": [1, 2, 5], "benefit": 1, "from": [1, 2, 4, 5], "fresh": 1, "ey": 1, "improv": 1, "rememb": 1, "act": 1, "polit": 1, "sinc": [1, 5], "peopl": 1, "frequent": 1, "contributor": 1, "variou": [1, 5], "repositori": [1, 5], "intimid": 1, "them": [1, 5], "learn": 1, "pleas": [1, 2, 4, 5], "have": [1, 4, 5], "ani": [1, 4, 5], "problem": [1, 4, 5], "happi": 1, "soon": 1, "possibl": [1, 5], "If": [1, 2, 5], "know": 1, "where": [1, 2], "enhanc": 1, "when": [1, 2, 5], "time": 1, "fit": 1, "view": 1, "convent": 2, "plain": 2, "python": [2, 4, 5], "everywher": 2, "convert": 2, "anyth": 2, "exampl": [2, 3], "junitpars": 2, "byte": 2, "arrai": 2, "object": 2, "encod": 2, "right": 2, "befor": 2, "pass": [2, 3], "fork": 2, "mlx": [2, 4, 5], "coveritycheck": 2, "verbos": 2, "fals": [2, 5], "sourc": [2, 5], "base": [2, 4], "regexcheck": 2, "classif": 2, "unclassifi": 2, "content": 2, "count": 2, "number": [2, 5], "adopt": 2, "cover": 2, "output": [2, 5], "paramet": 2, "str": 2, "pars": 2, "name": [2, 5], "pattern": [2, 5], "re": 2, "compil": 2, "A": 2, "za": 2, "z": 2, "d": [2, 5], "cid": 2, "p": 2, "curr": 2, "max": [2, 5], "checker": [2, 5], "w": 2, "n": 2, "doxycheck": 2, "doxygen": 2, "path1": 2, "line1": 2, "severity1": 2, "ww": 2, "arn": 2, "ee": 2, "rror": 2, "line2": 2, "severity2": 2, "description1": 2, "nn": 2, "otic": 2, "junitcheck": 2, "warningscheck": 2, "junit": 2, "failur": 2, "specif": [2, 5], "text": [2, 5], "static": [2, 5], "prepare_tre": 2, "root_input": 2, "prepar": 2, "tree": 2, "element": 2, "ad": [2, 5], "testsuit": 2, "root": 2, "miss": [2, 5], "junitxml": 2, "lxml": 2, "etre": 2, "_element": 2, "xml": [2, 5], "elementtre": 2, "top": 2, "input": [2, 5], "file": [2, 3], "return": [2, 5], "tag": 2, "robotcheck": 2, "robot": 2, "framework": 2, "suit": [2, 5], "properti": 2, "counted_warn": 2, "list": [2, 5], "type": [2, 5], "get_maximum": 2, "get": [2, 3, 5], "highest": 2, "minimum": [2, 5], "amount": [2, 5], "int": 2, "maximum": [2, 5], "get_minimum": 2, "lowest": 2, "parse_config": 2, "config": [2, 5], "return_check_limit": 2, "whether": 2, "within": [2, 5], "configur": [2, 3], "limit": [2, 5], "0": [2, 5], "otherwis": [2, 5], "1": [2, 5], "return_count": 2, "getter": 2, "found": [2, 5], "set_maximum": 2, "setter": 2, "allow": [2, 5], "set_minimum": 2, "robotsuitecheck": 2, "check_suite_nam": [2, 5], "kwarg": 2, "classnam": 2, "doe": 2, "end": 2, "attribut": 2, "ignor": [2, 5], "rais": [2, 5], "systemexit": 2, "No": 2, "self": 2, "error": 2, "code": [2, 3], "sphinxcheck": 2, "include_sphinx_deprec": 2, "add": [2, 5], "sphinx_deprecation_regex": 2, "alter": 2, "main": 2, "sphinx": 2, "m": [2, 5], "none": 2, "debug": 2, "info": 2, "sever": 2, "critic": 2, "multilin": 2, "sphinx_deprecation_regex_in_match": 2, "removedinsphinx": [2, 5], "add_pattern": 2, "regex": 2, "pattern_contain": 2, "specifi": [2, 5], "contain": [2, 5], "storag": 2, "abstract": 2, "cq_description_templ": [2, 5], "templat": [2, 5], "instanc": 2, "print_when_verbos": 2, "messag": [2, 5], "print": [2, 5], "onli": [2, 5], "mode": 2, "enabl": [2, 5], "condition": 2, "valueerror": 2, "invalid": 2, "argument": [2, 5], "min": [2, 5], "higher": 2, "warningsplugin": 2, "config_fil": 2, "cq_enabl": 2, "activate_check": 2, "activ": [2, 5], "addit": 2, "initi": [2, 5], "activate_checker_nam": 2, "given": [2, 5], "config_pars": 2, "dict": 2, "extract": 2, "previous": 2, "json": [2, 5], "get_check": 2, "determin": 2, "valu": [2, 5], "script": [2, 5], "set": [2, 5], "each": [2, 5], "regist": 2, "sum": 2, "toggle_printout": 2, "printout": 2, "toggl": 2, "command": [2, 3, 4], "well": [2, 5], "bool": 2, "true": [2, 5], "provid": [2, 5], "silent": 2, "write_code_quality_report": 2, "out_fil": 2, "gener": [2, 5], "qualiti": [2, 3], "report": [2, 3], "artifact": [2, 5], "subset": [2, 5], "climat": [2, 5], "spec": [2, 5], "locat": 2, "write_counted_warn": 2, "write": [2, 5], "xmlrunnercheck": 2, "xmlrunner": 2, "fail": [2, 5], "3": 2, "warnings_wrapp": 2, "arg": 2, "line": [3, 4], "instal": 3, "usag": 3, "pipe": 3, "run": [3, 4], "simpl": [3, 4], "option": 3, "other": 3, "issu": [3, 4], "new": 3, "featur": 3, "contribut": 3, "guid": [3, 5], "softwar": 3, "design": 3, "class": 3, "diagram": 3, "string": [3, 5], "handl": 3, "instrument": 3, "modul": [3, 5], "start": 3, "document": 3, "review": 3, "request": 3, "author": 3, "index": 3, "search": 3, "page": 3, "avail": [4, 5], "packag": [4, 5], "pypi": 4, "offer": 4, "direct": [4, 5], "invoc": 4, "infront": 4, "releas": [4, 5], "version": 4, "pip3": [4, 5], "edit": 4, "master": [4, 5], "branch": [4, 5], "git": [4, 5], "clone": 4, "e": [4, 5], "far": 4, "awar": [4, 5], "altern": 5, "jenkinsci": 5, "useabl": 5, "less": 5, "ci": 5, "system": 5, "gitlab": 5, "threshold": 5, "job": 5, "tool": 5, "upload": 5, "pip": 5, "simpli": 5, "python3": 5, "find": 5, "log": 5, "stream": 5, "creat": 5, "redirect": 5, "stderr": 5, "shell": 5, "support": 5, "instead": 5, "Be": 5, "stdout": 5, "last": 5, "discard": 5, "becaus": 5, "consid": 5, "without": 5, "flag": 5, "below": 5, "one": 5, "wai": 5, "save": 5, "insid": 5, "yourcommand": 5, "2": 5, "tee": 5, "doc_log": 5, "txt": 5, "mind": 5, "requir": 5, "plai": 5, "comput": 5, "virtualenv": 5, "separ": 5, "per": 5, "project": 5, "chanc": 5, "depend": 5, "hell": 5, "virtual": 5, "environ": 5, "current": 5, "directori": 5, "call": 5, "directli": 5, "consol": 5, "h": 5, "ha": 5, "like": 5, "variabl": 5, "suppli": 5, "ok": 5, "posit": 5, "counter": 5, "those": 5, "two": 5, "form": 5, "individu": 5, "flexibl": 5, "traceabl": 5, "resid": 5, "adjust": 5, "execut": 5, "commandforsphinx": 5, "explicitli": 5, "commandfordoxygen": 5, "analysi": 5, "desktop": 5, "local": 5, "chang": 5, "result": 5, "back": 5, "affect": 5, "between": 5, "forward": 5, "cov": 5, "style": 5, "onelin": 5, "diff": 5, "submodul": 5, "logfil": 5, "through": 5, "commandforcover": 5, "junit_output": 5, "commandforjunit": 5, "mark": 5, "exit": 5, "could": 5, "detect": 5, "did": 5, "now": 5, "xmlrunner_log": 5, "commandforxmlrunn": 5, "xunit": 5, "compat": 5, "By": 5, "default": 5, "taken": 5, "account": 5, "care": 5, "doesn": 5, "t": 5, "multipl": 5, "mean": 5, "besid": 5, "yaml": 5, "format": 5, "structur": 5, "cq_default_path": 5, "doc": 5, "conf": 5, "py": 5, "product": 5, "descript": 5, "doxyfil": 5, "my": 5, "first": 5, "8": 5, "10": 5, "second": 5, "kei": 5, "checkernam": 5, "boolean": 5, "expans": 5, "To": 5, "path": 5, "under": 5, "fast": 5, "import": 5, "still": 5, "accept": 5, "success": 5, "exact": 5, "singl": 5, "certain": 5, "regular": 5, "express": 5, "basi": 5, "won": 5, "toctre": 5, "special": 5, "let": 5, "These": 5, "follow": 5, "behavior": 5, "o": 5, "file_path": 5, "irrelev": 5, "produc": 5, "c": 5, "defin": 5, "codequ": 5, "yml": 5, "fallback": 5, "custom": 5, "see": 5, "Its": 5, "access": 5, "g": 5, "home": 5, "mani": 5, "valid": 5, "inform": 5, "resolv": 5, "faster": 5, "would": 5, "hear": 5, "continu": 5, "integr": 5, "better": 5, "involv": 5, "encourag": 5}, "objects": {"mlx": [[2, 0, 0, "-", "warnings"]], "mlx.warnings": [[2, 1, 1, "", "CoverityChecker"], [2, 1, 1, "", "DoxyChecker"], [2, 1, 1, "", "JUnitChecker"], [2, 1, 1, "", "RobotChecker"], [2, 1, 1, "", "RobotSuiteChecker"], [2, 1, 1, "", "SphinxChecker"], [2, 1, 1, "", "WarningsChecker"], [2, 1, 1, "", "WarningsPlugin"], [2, 1, 1, "", "XMLRunnerChecker"], [2, 5, 1, "", "warnings_wrapper"]], "mlx.warnings.CoverityChecker": [[2, 2, 1, "", "CLASSIFICATION"], [2, 3, 1, "", "check"], [2, 2, 1, "", "name"], [2, 2, 1, "", "pattern"]], "mlx.warnings.DoxyChecker": [[2, 2, 1, "", "name"], [2, 2, 1, "", "pattern"]], "mlx.warnings.JUnitChecker": [[2, 3, 1, "", "check"], [2, 2, 1, "", "name"], [2, 3, 1, "", "prepare_tree"]], "mlx.warnings.RobotChecker": [[2, 3, 1, "", "check"], [2, 2, 1, "", "checkers"], [2, 4, 1, "", "counted_warnings"], [2, 3, 1, "", "get_maximum"], [2, 3, 1, "", "get_minimum"], [2, 2, 1, "", "name"], [2, 3, 1, "", "parse_config"], [2, 3, 1, "", "return_check_limits"], [2, 3, 1, "", "return_count"], [2, 3, 1, "", "set_maximum"], [2, 3, 1, "", "set_minimum"]], "mlx.warnings.RobotSuiteChecker": [[2, 3, 1, "", "check"], [2, 3, 1, "", "return_count"]], "mlx.warnings.SphinxChecker": [[2, 3, 1, "", "include_sphinx_deprecation"], [2, 2, 1, "", "name"], [2, 2, 1, "", "pattern"], [2, 2, 1, "", "sphinx_deprecation_regex"], [2, 2, 1, "", "sphinx_deprecation_regex_in_match"]], "mlx.warnings.WarningsChecker": [[2, 3, 1, "", "add_patterns"], [2, 3, 1, "", "check"], [2, 4, 1, "", "counted_warnings"], [2, 4, 1, "", "cq_description_template"], [2, 3, 1, "", "get_maximum"], [2, 3, 1, "", "get_minimum"], [2, 2, 1, "", "name"], [2, 3, 1, "", "parse_config"], [2, 3, 1, "", "print_when_verbose"], [2, 3, 1, "", "return_check_limits"], [2, 3, 1, "", "return_count"], [2, 3, 1, "", "set_maximum"], [2, 3, 1, "", "set_minimum"]], "mlx.warnings.WarningsPlugin": [[2, 3, 1, "", "activate_checker"], [2, 3, 1, "", "activate_checker_name"], [2, 3, 1, "", "check"], [2, 3, 1, "", "config_parser"], [2, 3, 1, "", "get_checker"], [2, 3, 1, "", "return_check_limits"], [2, 3, 1, "", "return_count"], [2, 3, 1, "", "set_maximum"], [2, 3, 1, "", "set_minimum"], [2, 3, 1, "", "toggle_printout"], [2, 3, 1, "", "write_code_quality_report"], [2, 3, 1, "", "write_counted_warnings"]], "mlx.warnings.XMLRunnerChecker": [[2, 2, 1, "", "name"], [2, 2, 1, "", "pattern"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"author": 0, "contribut": [1, 5], "guid": [1, 4], "get": 1, "start": 1, "qualiti": [1, 5], "document": 1, "code": [1, 5], "review": 1, "report": [1, 5], "issu": [1, 5], "request": 1, "new": [1, 5], "featur": [1, 5], "softwar": 2, "design": 2, "class": 2, "diagram": 2, "string": 2, "handl": 2, "instrument": 2, "modul": 2, "content": 3, "indic": 3, "tabl": 3, "instal": [4, 5], "command": 5, "line": 5, "warn": 5, "plugin": 5, "usag": 5, "pipe": 5, "exampl": 5, "run": 5, "simpl": 5, "option": 5, "pars": 5, "sphinx": 5, "doxygen": 5, "cover": 5, "defect": 5, "junit": 5, "failur": 5, "xmlrunner": 5, "error": 5, "robot": 5, "framework": 5, "test": 5, "configur": 5, "file": 5, "pass": 5, "other": 5, "exclud": 5, "match": 5, "With": 5, "regex": 5, "deprec": 5, "store": 5, "all": 5, "count": 5}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"Authors": [[0, "authors"]], "Contribution Guide": [[1, "contribution-guide"]], "Getting Started": [[1, "getting-started"]], "Quality of Contribution": [[1, "quality-of-contribution"]], "Documentation": [[1, "documentation"]], "Code Review": [[1, "code-review"]], "Reporting Issues or Requesting a New Feature": [[1, "reporting-issues-or-requesting-a-new-feature"]], "Software Design": [[2, "software-design"]], "Class Diagram": [[2, "class-diagram"]], "String Handling": [[2, "string-handling"]], "Instrument Module": [[2, "module-mlx.warnings"]], "Contents": [[3, "contents"]], "Indices and Tables": [[3, "indices-and-tables"]], "Installation Guide": [[4, "installation-guide"]], "Command Line Warnings Plugin": [[5, "command-line-warnings-plugin"]], "Installation": [[5, "installation"]], "Usage": [[5, "usage"]], "Pipe Example": [[5, "pipe-example"]], "Command Example": [[5, "command-example"]], "Running Command": [[5, "running-command"]], "Simple Command Line Options": [[5, "simple-command-line-options"]], "Parse for Sphinx Warnings": [[5, "parse-for-sphinx-warnings"]], "Parse for Doxygen Warnings": [[5, "parse-for-doxygen-warnings"]], "Parse for Coverity Defects": [[5, "parse-for-coverity-defects"]], "Parse for JUnit Failures": [[5, "parse-for-junit-failures"]], "Parse for XMLRunner Errors": [[5, "parse-for-xmlrunner-errors"]], "Parse for Robot Framework Test Failures": [[5, "parse-for-robot-framework-test-failures"]], "Configuration File to Pass Options": [[5, "configuration-file-to-pass-options"]], "Other Options": [[5, "other-options"]], "Exclude Matches With Regexes": [[5, "exclude-matches-with-regexes"]], "Exclude Sphinx Deprecation Warnings": [[5, "exclude-sphinx-deprecation-warnings"]], "Store All Counted Warnings": [[5, "store-all-counted-warnings"]], "Code Quality Report": [[5, "code-quality-report"]], "Issues and New Features": [[5, "issues-and-new-features"]], "Contribute": [[5, "contribute"]]}, "indexentries": {"classification (mlx.warnings.coveritychecker attribute)": [[2, "mlx.warnings.CoverityChecker.CLASSIFICATION"]], "coveritychecker (class in mlx.warnings)": [[2, "mlx.warnings.CoverityChecker"]], "doxychecker (class in mlx.warnings)": [[2, "mlx.warnings.DoxyChecker"]], "junitchecker (class in mlx.warnings)": [[2, "mlx.warnings.JUnitChecker"]], "robotchecker (class in mlx.warnings)": [[2, "mlx.warnings.RobotChecker"]], "robotsuitechecker (class in mlx.warnings)": [[2, "mlx.warnings.RobotSuiteChecker"]], "sphinxchecker (class in mlx.warnings)": [[2, "mlx.warnings.SphinxChecker"]], "warningschecker (class in mlx.warnings)": [[2, "mlx.warnings.WarningsChecker"]], "warningsplugin (class in mlx.warnings)": [[2, "mlx.warnings.WarningsPlugin"]], "xmlrunnerchecker (class in mlx.warnings)": [[2, "mlx.warnings.XMLRunnerChecker"]], "activate_checker() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.activate_checker"]], "activate_checker_name() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.activate_checker_name"]], "add_patterns() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.add_patterns"]], "check() (mlx.warnings.coveritychecker method)": [[2, "mlx.warnings.CoverityChecker.check"]], "check() (mlx.warnings.junitchecker method)": [[2, "mlx.warnings.JUnitChecker.check"]], "check() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.check"]], "check() (mlx.warnings.robotsuitechecker method)": [[2, "mlx.warnings.RobotSuiteChecker.check"]], "check() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.check"]], "check() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.check"]], "checkers (mlx.warnings.robotchecker attribute)": [[2, "mlx.warnings.RobotChecker.checkers"]], "config_parser() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.config_parser"]], "counted_warnings (mlx.warnings.robotchecker property)": [[2, "mlx.warnings.RobotChecker.counted_warnings"]], "counted_warnings (mlx.warnings.warningschecker property)": [[2, "mlx.warnings.WarningsChecker.counted_warnings"]], "cq_description_template (mlx.warnings.warningschecker property)": [[2, "mlx.warnings.WarningsChecker.cq_description_template"]], "get_checker() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.get_checker"]], "get_maximum() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.get_maximum"]], "get_maximum() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.get_maximum"]], "get_minimum() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.get_minimum"]], "get_minimum() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.get_minimum"]], "include_sphinx_deprecation() (mlx.warnings.sphinxchecker method)": [[2, "mlx.warnings.SphinxChecker.include_sphinx_deprecation"]], "mlx.warnings": [[2, "module-mlx.warnings"]], "module": [[2, "module-mlx.warnings"]], "name (mlx.warnings.coveritychecker attribute)": [[2, "mlx.warnings.CoverityChecker.name"]], "name (mlx.warnings.doxychecker attribute)": [[2, "mlx.warnings.DoxyChecker.name"]], "name (mlx.warnings.junitchecker attribute)": [[2, "mlx.warnings.JUnitChecker.name"]], "name (mlx.warnings.robotchecker attribute)": [[2, "mlx.warnings.RobotChecker.name"]], "name (mlx.warnings.sphinxchecker attribute)": [[2, "mlx.warnings.SphinxChecker.name"]], "name (mlx.warnings.warningschecker attribute)": [[2, "mlx.warnings.WarningsChecker.name"]], "name (mlx.warnings.xmlrunnerchecker attribute)": [[2, "mlx.warnings.XMLRunnerChecker.name"]], "parse_config() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.parse_config"]], "parse_config() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.parse_config"]], "pattern (mlx.warnings.coveritychecker attribute)": [[2, "mlx.warnings.CoverityChecker.pattern"]], "pattern (mlx.warnings.doxychecker attribute)": [[2, "mlx.warnings.DoxyChecker.pattern"]], "pattern (mlx.warnings.sphinxchecker attribute)": [[2, "mlx.warnings.SphinxChecker.pattern"]], "pattern (mlx.warnings.xmlrunnerchecker attribute)": [[2, "mlx.warnings.XMLRunnerChecker.pattern"]], "prepare_tree() (mlx.warnings.junitchecker static method)": [[2, "mlx.warnings.JUnitChecker.prepare_tree"]], "print_when_verbose() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.print_when_verbose"]], "return_check_limits() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.return_check_limits"]], "return_check_limits() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.return_check_limits"]], "return_check_limits() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.return_check_limits"]], "return_count() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.return_count"]], "return_count() (mlx.warnings.robotsuitechecker method)": [[2, "mlx.warnings.RobotSuiteChecker.return_count"]], "return_count() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.return_count"]], "return_count() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.return_count"]], "set_maximum() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.set_maximum"]], "set_maximum() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.set_maximum"]], "set_maximum() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.set_maximum"]], "set_minimum() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.set_minimum"]], "set_minimum() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.set_minimum"]], "set_minimum() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.set_minimum"]], "sphinx_deprecation_regex (mlx.warnings.sphinxchecker attribute)": [[2, "mlx.warnings.SphinxChecker.sphinx_deprecation_regex"]], "sphinx_deprecation_regex_in_match (mlx.warnings.sphinxchecker attribute)": [[2, "mlx.warnings.SphinxChecker.sphinx_deprecation_regex_in_match"]], "toggle_printout() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.toggle_printout"]], "warnings_wrapper() (in module mlx.warnings)": [[2, "mlx.warnings.warnings_wrapper"]], "write_code_quality_report() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.write_code_quality_report"]], "write_counted_warnings() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.write_counted_warnings"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["authors", "contributing", "design", "index", "installation", "readme"], "filenames": ["authors.rst", "contributing.rst", "design.rst", "index.rst", "installation.rst", "readme.rst"], "titles": ["Authors", "Contribution Guide", "Software Design", "Contents", "Installation Guide", "Command Line Warnings Plugin"], "terms": {"melexi": [0, 2, 4, 5], "warn": [0, 1, 2, 3, 4], "plugin": [0, 1, 2, 3, 4], "i": [0, 1, 2, 4, 5], "mainli": 0, "maintain": 0, "bavo": 0, "van": 0, "acht": 0, "crt": 0, "mori": 0, "stein": 0, "heselman": 0, "jasper": 0, "craegh": 0, "anyon": [1, 5], "more": [1, 2, 5], "than": [1, 2], "welcom": 1, "develop": [1, 5], "matter": [1, 5], "your": [1, 5], "program": 1, "skill": 1, "level": [1, 2], "It": [1, 5], "": [1, 2, 5], "oblig": 1, "help": [1, 5], "bring": 1, "our": [1, 2, 5], "desir": 1, "you": [1, 4, 5], "should": [1, 5], "do": [1, 5], "best": 1, "understand": 1, "decis": 1, "standard": 1, "github": [1, 4, 5], "flow": 1, "us": [1, 2, 5], "http": [1, 4, 5], "com": [1, 4, 5], "introduct": 1, "pull": 1, "which": [1, 2, 5], "ar": [1, 2, 4, 5], "merg": 1, "we": [1, 2, 4, 5], "also": [1, 5], "prefer": 1, "make": 1, "work": 1, "In": [1, 5], "progress": 1, "onc": [1, 4], "just": [1, 5], "case": [1, 2, 4, 5], "someon": 1, "els": [1, 2], "same": [1, 5], "There": [1, 5], "mai": [1, 5], "few": [1, 5], "open": [1, 2, 4, 5], "some": [1, 5], "own": 1, "suggest": [1, 5], "The": [1, 2, 5], "want": [1, 2, 5], "label": 1, "indic": 1, "an": [1, 4, 5], "easi": 1, "enough": 1, "task": 1, "so": [1, 2, 4, 5], "go": 1, "pick": 1, "up": 1, "feel": 1, "most": 1, "excit": 1, "about": [1, 5], "implement": [1, 2, 5], "all": [1, 2], "need": [1, 2, 4, 5], "properli": 1, "test": [1, 2], "target": [1, 2], "coverag": 1, "percentag": 1, "rather": 1, "focu": 1, "regress": 1, "confirm": 1, "expect": [1, 2], "function": [1, 2], "border": 1, "thi": [1, 2, 5], "u": [1, 5], "keep": [1, 5], "exist": [1, 2, 5], "even": 1, "after": [1, 2, 5], "year": 1, "constant": 1, "fix": 1, "bug": 1, "basic": 1, "everi": [1, 5], "bit": 1, "detail": [1, 5], "can": [1, 2, 5], "includ": [1, 2, 5], "futur": 1, "might": 1, "look": [1, 5], "obviou": 1, "everyon": 1, "correctli": 1, "intend": 1, "thei": [1, 5], "aspect": 1, "check": [1, 2, 5], "benefit": 1, "from": [1, 2, 4, 5], "fresh": 1, "ey": 1, "improv": 1, "rememb": 1, "act": 1, "polit": 1, "sinc": [1, 5], "peopl": 1, "frequent": 1, "contributor": 1, "variou": [1, 5], "repositori": [1, 5], "intimid": 1, "them": [1, 5], "learn": 1, "pleas": [1, 2, 4, 5], "have": [1, 4, 5], "ani": [1, 4, 5], "problem": [1, 4, 5], "happi": 1, "soon": 1, "possibl": [1, 5], "If": [1, 2, 5], "know": 1, "where": [1, 2], "enhanc": 1, "when": [1, 2, 5], "time": 1, "fit": 1, "view": 1, "convent": 2, "plain": 2, "python": [2, 4, 5], "everywher": 2, "convert": 2, "anyth": 2, "exampl": [2, 3], "junitpars": 2, "byte": 2, "arrai": 2, "object": 2, "encod": 2, "right": 2, "befor": 2, "pass": [2, 3], "fork": 2, "mlx": [2, 4, 5], "coveritycheck": 2, "verbos": 2, "fals": [2, 5], "sourc": [2, 5], "base": [2, 4], "regexcheck": 2, "classif": 2, "unclassifi": 2, "content": 2, "count": 2, "number": [2, 5], "adopt": 2, "cover": 2, "output": [2, 5], "paramet": 2, "str": 2, "pars": 2, "name": [2, 5], "pattern": [2, 5], "re": 2, "compil": 2, "A": 2, "za": 2, "z": 2, "d": [2, 5], "cid": 2, "p": 2, "curr": 2, "max": [2, 5], "checker": [2, 5], "w": 2, "n": 2, "doxycheck": 2, "doxygen": 2, "path1": 2, "line1": 2, "severity1": 2, "ww": 2, "arn": 2, "ee": 2, "rror": 2, "line2": 2, "severity2": 2, "description1": 2, "nn": 2, "otic": 2, "junitcheck": 2, "warningscheck": 2, "junit": 2, "failur": 2, "specif": [2, 5], "text": [2, 5], "static": [2, 5], "prepare_tre": 2, "root_input": 2, "prepar": 2, "tree": 2, "element": 2, "ad": [2, 5], "testsuit": 2, "root": 2, "miss": [2, 5], "junitxml": 2, "lxml": 2, "etre": 2, "_element": 2, "xml": [2, 5], "elementtre": 2, "top": 2, "input": [2, 5], "file": [2, 3], "return": [2, 5], "tag": 2, "robotcheck": 2, "robot": 2, "framework": 2, "suit": [2, 5], "properti": 2, "counted_warn": 2, "list": [2, 5], "type": [2, 5], "get_maximum": 2, "get": [2, 3, 5], "highest": 2, "minimum": [2, 5], "amount": [2, 5], "int": 2, "maximum": [2, 5], "get_minimum": 2, "lowest": 2, "parse_config": 2, "config": [2, 5], "return_check_limit": 2, "whether": 2, "within": [2, 5], "configur": [2, 3], "limit": [2, 5], "0": [2, 5], "otherwis": [2, 5], "1": [2, 5], "return_count": 2, "getter": 2, "found": [2, 5], "set_maximum": 2, "setter": 2, "allow": [2, 5], "set_minimum": 2, "robotsuitecheck": 2, "check_suite_nam": [2, 5], "kwarg": 2, "classnam": 2, "doe": 2, "end": 2, "attribut": 2, "ignor": [2, 5], "rais": [2, 5], "systemexit": 2, "No": 2, "self": 2, "error": 2, "code": [2, 3], "sphinxcheck": 2, "include_sphinx_deprec": 2, "add": [2, 5], "sphinx_deprecation_regex": 2, "alter": 2, "main": 2, "sphinx": 2, "m": [2, 5], "none": 2, "debug": 2, "info": 2, "sever": 2, "critic": 2, "multilin": 2, "sphinx_deprecation_regex_in_match": 2, "removedinsphinx": [2, 5], "add_pattern": 2, "regex": 2, "pattern_contain": 2, "specifi": [2, 5], "contain": [2, 5], "storag": 2, "abstract": 2, "cq_description_templ": [2, 5], "templat": [2, 5], "instanc": 2, "print_when_verbos": 2, "messag": [2, 5], "print": [2, 5], "onli": [2, 5], "mode": 2, "enabl": [2, 5], "condition": 2, "valueerror": 2, "invalid": 2, "argument": [2, 5], "min": [2, 5], "higher": 2, "except": 2, "warningsconfigerror": 2, "warningsplugin": 2, "config_fil": 2, "cq_enabl": 2, "activate_check": 2, "activ": [2, 5], "addit": 2, "initi": [2, 5], "activate_checker_nam": 2, "given": [2, 5], "config_pars": 2, "dict": 2, "extract": 2, "previous": 2, "json": [2, 5], "get_check": 2, "determin": 2, "valu": [2, 5], "script": [2, 5], "set": [2, 5], "each": [2, 5], "regist": 2, "sum": 2, "toggle_printout": 2, "printout": 2, "toggl": 2, "command": [2, 3, 4], "well": [2, 5], "bool": 2, "true": [2, 5], "provid": [2, 5], "silent": 2, "write_code_quality_report": 2, "out_fil": 2, "gener": [2, 5], "qualiti": [2, 3], "report": [2, 3], "artifact": [2, 5], "subset": [2, 5], "climat": [2, 5], "spec": [2, 5], "locat": 2, "write_counted_warn": 2, "write": [2, 5], "xmlrunnercheck": 2, "xmlrunner": 2, "fail": [2, 5], "3": 2, "warnings_wrapp": 2, "arg": 2, "line": [3, 4], "instal": 3, "usag": 3, "pipe": 3, "run": [3, 4], "simpl": [3, 4], "option": 3, "other": 3, "issu": [3, 4], "new": 3, "featur": 3, "contribut": 3, "guid": [3, 5], "softwar": 3, "design": 3, "class": 3, "diagram": 3, "string": [3, 5], "handl": 3, "instrument": 3, "modul": [3, 5], "start": 3, "document": 3, "review": 3, "request": 3, "author": 3, "index": 3, "search": 3, "page": 3, "avail": [4, 5], "packag": [4, 5], "pypi": 4, "offer": 4, "direct": [4, 5], "invoc": 4, "infront": 4, "releas": [4, 5], "version": 4, "pip3": [4, 5], "edit": 4, "master": [4, 5], "branch": [4, 5], "git": [4, 5], "clone": 4, "e": [4, 5], "far": 4, "awar": [4, 5], "altern": 5, "jenkinsci": 5, "useabl": 5, "less": 5, "ci": 5, "system": 5, "gitlab": 5, "threshold": 5, "job": 5, "tool": 5, "upload": 5, "pip": 5, "simpli": 5, "python3": 5, "find": 5, "log": 5, "stream": 5, "creat": 5, "redirect": 5, "stderr": 5, "shell": 5, "support": 5, "instead": 5, "Be": 5, "stdout": 5, "last": 5, "discard": 5, "becaus": 5, "consid": 5, "without": 5, "flag": 5, "below": 5, "one": 5, "wai": 5, "save": 5, "insid": 5, "yourcommand": 5, "2": 5, "tee": 5, "doc_log": 5, "txt": 5, "mind": 5, "requir": 5, "plai": 5, "comput": 5, "virtualenv": 5, "separ": 5, "per": 5, "project": 5, "chanc": 5, "depend": 5, "hell": 5, "virtual": 5, "environ": 5, "current": 5, "directori": 5, "call": 5, "directli": 5, "consol": 5, "h": 5, "ha": 5, "like": 5, "variabl": 5, "suppli": 5, "ok": 5, "posit": 5, "counter": 5, "those": 5, "two": 5, "form": 5, "individu": 5, "flexibl": 5, "traceabl": 5, "resid": 5, "adjust": 5, "execut": 5, "commandforsphinx": 5, "explicitli": 5, "commandfordoxygen": 5, "analysi": 5, "desktop": 5, "local": 5, "chang": 5, "result": 5, "back": 5, "affect": 5, "between": 5, "forward": 5, "cov": 5, "style": 5, "onelin": 5, "diff": 5, "submodul": 5, "logfil": 5, "through": 5, "commandforcover": 5, "junit_output": 5, "commandforjunit": 5, "mark": 5, "exit": 5, "could": 5, "detect": 5, "did": 5, "now": 5, "xmlrunner_log": 5, "commandforxmlrunn": 5, "xunit": 5, "compat": 5, "By": 5, "default": 5, "taken": 5, "account": 5, "care": 5, "doesn": 5, "t": 5, "multipl": 5, "mean": 5, "besid": 5, "yaml": 5, "format": 5, "structur": 5, "via": 5, "g": 5, "max_sphinx_warn": 5, "cq_default_path": 5, "doc": 5, "conf": 5, "py": 5, "product": 5, "descript": 5, "doxyfil": 5, "min_doxy_warn": 5, "max_doxy_warn": 5, "my": 5, "first": 5, "8": 5, "10": 5, "second": 5, "kei": 5, "checkernam": 5, "boolean": 5, "expans": 5, "To": 5, "path": 5, "under": 5, "fast": 5, "import": 5, "still": 5, "accept": 5, "success": 5, "exact": 5, "singl": 5, "certain": 5, "regular": 5, "express": 5, "basi": 5, "won": 5, "toctre": 5, "special": 5, "let": 5, "These": 5, "follow": 5, "behavior": 5, "o": 5, "file_path": 5, "irrelev": 5, "produc": 5, "c": 5, "defin": 5, "codequ": 5, "yml": 5, "fallback": 5, "custom": 5, "see": 5, "Its": 5, "access": 5, "home": 5, "mani": 5, "valid": 5, "inform": 5, "resolv": 5, "faster": 5, "would": 5, "hear": 5, "continu": 5, "integr": 5, "better": 5, "involv": 5, "encourag": 5}, "objects": {"mlx": [[2, 0, 0, "-", "warnings"]], "mlx.warnings": [[2, 1, 1, "", "CoverityChecker"], [2, 1, 1, "", "DoxyChecker"], [2, 1, 1, "", "JUnitChecker"], [2, 1, 1, "", "RobotChecker"], [2, 1, 1, "", "RobotSuiteChecker"], [2, 1, 1, "", "SphinxChecker"], [2, 1, 1, "", "WarningsChecker"], [2, 5, 1, "", "WarningsConfigError"], [2, 1, 1, "", "WarningsPlugin"], [2, 1, 1, "", "XMLRunnerChecker"], [2, 6, 1, "", "warnings_wrapper"]], "mlx.warnings.CoverityChecker": [[2, 2, 1, "", "CLASSIFICATION"], [2, 3, 1, "", "check"], [2, 2, 1, "", "name"], [2, 2, 1, "", "pattern"]], "mlx.warnings.DoxyChecker": [[2, 2, 1, "", "name"], [2, 2, 1, "", "pattern"]], "mlx.warnings.JUnitChecker": [[2, 3, 1, "", "check"], [2, 2, 1, "", "name"], [2, 3, 1, "", "prepare_tree"]], "mlx.warnings.RobotChecker": [[2, 3, 1, "", "check"], [2, 2, 1, "", "checkers"], [2, 4, 1, "", "counted_warnings"], [2, 3, 1, "", "get_maximum"], [2, 3, 1, "", "get_minimum"], [2, 2, 1, "", "name"], [2, 3, 1, "", "parse_config"], [2, 3, 1, "", "return_check_limits"], [2, 3, 1, "", "return_count"], [2, 3, 1, "", "set_maximum"], [2, 3, 1, "", "set_minimum"]], "mlx.warnings.RobotSuiteChecker": [[2, 3, 1, "", "check"], [2, 3, 1, "", "return_count"]], "mlx.warnings.SphinxChecker": [[2, 3, 1, "", "include_sphinx_deprecation"], [2, 2, 1, "", "name"], [2, 2, 1, "", "pattern"], [2, 2, 1, "", "sphinx_deprecation_regex"], [2, 2, 1, "", "sphinx_deprecation_regex_in_match"]], "mlx.warnings.WarningsChecker": [[2, 3, 1, "", "add_patterns"], [2, 3, 1, "", "check"], [2, 4, 1, "", "counted_warnings"], [2, 4, 1, "", "cq_description_template"], [2, 3, 1, "", "get_maximum"], [2, 3, 1, "", "get_minimum"], [2, 2, 1, "", "name"], [2, 3, 1, "", "parse_config"], [2, 3, 1, "", "print_when_verbose"], [2, 3, 1, "", "return_check_limits"], [2, 3, 1, "", "return_count"], [2, 3, 1, "", "set_maximum"], [2, 3, 1, "", "set_minimum"]], "mlx.warnings.WarningsPlugin": [[2, 3, 1, "", "activate_checker"], [2, 3, 1, "", "activate_checker_name"], [2, 3, 1, "", "check"], [2, 3, 1, "", "config_parser"], [2, 3, 1, "", "get_checker"], [2, 3, 1, "", "return_check_limits"], [2, 3, 1, "", "return_count"], [2, 3, 1, "", "set_maximum"], [2, 3, 1, "", "set_minimum"], [2, 3, 1, "", "toggle_printout"], [2, 3, 1, "", "write_code_quality_report"], [2, 3, 1, "", "write_counted_warnings"]], "mlx.warnings.XMLRunnerChecker": [[2, 2, 1, "", "name"], [2, 2, 1, "", "pattern"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:exception", "6": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "exception", "Python exception"], "6": ["py", "function", "Python function"]}, "titleterms": {"author": 0, "contribut": [1, 5], "guid": [1, 4], "get": 1, "start": 1, "qualiti": [1, 5], "document": 1, "code": [1, 5], "review": 1, "report": [1, 5], "issu": [1, 5], "request": 1, "new": [1, 5], "featur": [1, 5], "softwar": 2, "design": 2, "class": 2, "diagram": 2, "string": 2, "handl": 2, "instrument": 2, "modul": 2, "content": 3, "indic": 3, "tabl": 3, "instal": [4, 5], "command": 5, "line": 5, "warn": 5, "plugin": 5, "usag": 5, "pipe": 5, "exampl": 5, "run": 5, "simpl": 5, "option": 5, "pars": 5, "sphinx": 5, "doxygen": 5, "cover": 5, "defect": 5, "junit": 5, "failur": 5, "xmlrunner": 5, "error": 5, "robot": 5, "framework": 5, "test": 5, "configur": 5, "file": 5, "pass": 5, "other": 5, "exclud": 5, "match": 5, "With": 5, "regex": 5, "deprec": 5, "store": 5, "all": 5, "count": 5}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"Authors": [[0, "authors"]], "Contribution Guide": [[1, "contribution-guide"]], "Getting Started": [[1, "getting-started"]], "Quality of Contribution": [[1, "quality-of-contribution"]], "Documentation": [[1, "documentation"]], "Code Review": [[1, "code-review"]], "Reporting Issues or Requesting a New Feature": [[1, "reporting-issues-or-requesting-a-new-feature"]], "Software Design": [[2, "software-design"]], "Class Diagram": [[2, "class-diagram"]], "String Handling": [[2, "string-handling"]], "Instrument Module": [[2, "module-mlx.warnings"]], "Contents": [[3, "contents"]], "Indices and Tables": [[3, "indices-and-tables"]], "Installation Guide": [[4, "installation-guide"]], "Command Line Warnings Plugin": [[5, "command-line-warnings-plugin"]], "Installation": [[5, "installation"]], "Usage": [[5, "usage"]], "Pipe Example": [[5, "pipe-example"]], "Command Example": [[5, "command-example"]], "Running Command": [[5, "running-command"]], "Simple Command Line Options": [[5, "simple-command-line-options"]], "Parse for Sphinx Warnings": [[5, "parse-for-sphinx-warnings"]], "Parse for Doxygen Warnings": [[5, "parse-for-doxygen-warnings"]], "Parse for Coverity Defects": [[5, "parse-for-coverity-defects"]], "Parse for JUnit Failures": [[5, "parse-for-junit-failures"]], "Parse for XMLRunner Errors": [[5, "parse-for-xmlrunner-errors"]], "Parse for Robot Framework Test Failures": [[5, "parse-for-robot-framework-test-failures"]], "Configuration File to Pass Options": [[5, "configuration-file-to-pass-options"]], "Other Options": [[5, "other-options"]], "Exclude Matches With Regexes": [[5, "exclude-matches-with-regexes"]], "Exclude Sphinx Deprecation Warnings": [[5, "exclude-sphinx-deprecation-warnings"]], "Store All Counted Warnings": [[5, "store-all-counted-warnings"]], "Code Quality Report": [[5, "code-quality-report"]], "Issues and New Features": [[5, "issues-and-new-features"]], "Contribute": [[5, "contribute"]]}, "indexentries": {"classification (mlx.warnings.coveritychecker attribute)": [[2, "mlx.warnings.CoverityChecker.CLASSIFICATION"]], "coveritychecker (class in mlx.warnings)": [[2, "mlx.warnings.CoverityChecker"]], "doxychecker (class in mlx.warnings)": [[2, "mlx.warnings.DoxyChecker"]], "junitchecker (class in mlx.warnings)": [[2, "mlx.warnings.JUnitChecker"]], "robotchecker (class in mlx.warnings)": [[2, "mlx.warnings.RobotChecker"]], "robotsuitechecker (class in mlx.warnings)": [[2, "mlx.warnings.RobotSuiteChecker"]], "sphinxchecker (class in mlx.warnings)": [[2, "mlx.warnings.SphinxChecker"]], "warningschecker (class in mlx.warnings)": [[2, "mlx.warnings.WarningsChecker"]], "warningsconfigerror": [[2, "mlx.warnings.WarningsConfigError"]], "warningsplugin (class in mlx.warnings)": [[2, "mlx.warnings.WarningsPlugin"]], "xmlrunnerchecker (class in mlx.warnings)": [[2, "mlx.warnings.XMLRunnerChecker"]], "activate_checker() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.activate_checker"]], "activate_checker_name() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.activate_checker_name"]], "add_patterns() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.add_patterns"]], "check() (mlx.warnings.coveritychecker method)": [[2, "mlx.warnings.CoverityChecker.check"]], "check() (mlx.warnings.junitchecker method)": [[2, "mlx.warnings.JUnitChecker.check"]], "check() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.check"]], "check() (mlx.warnings.robotsuitechecker method)": [[2, "mlx.warnings.RobotSuiteChecker.check"]], "check() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.check"]], "check() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.check"]], "checkers (mlx.warnings.robotchecker attribute)": [[2, "mlx.warnings.RobotChecker.checkers"]], "config_parser() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.config_parser"]], "counted_warnings (mlx.warnings.robotchecker property)": [[2, "mlx.warnings.RobotChecker.counted_warnings"]], "counted_warnings (mlx.warnings.warningschecker property)": [[2, "mlx.warnings.WarningsChecker.counted_warnings"]], "cq_description_template (mlx.warnings.warningschecker property)": [[2, "mlx.warnings.WarningsChecker.cq_description_template"]], "get_checker() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.get_checker"]], "get_maximum() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.get_maximum"]], "get_maximum() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.get_maximum"]], "get_minimum() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.get_minimum"]], "get_minimum() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.get_minimum"]], "include_sphinx_deprecation() (mlx.warnings.sphinxchecker method)": [[2, "mlx.warnings.SphinxChecker.include_sphinx_deprecation"]], "mlx.warnings": [[2, "module-mlx.warnings"]], "module": [[2, "module-mlx.warnings"]], "name (mlx.warnings.coveritychecker attribute)": [[2, "mlx.warnings.CoverityChecker.name"]], "name (mlx.warnings.doxychecker attribute)": [[2, "mlx.warnings.DoxyChecker.name"]], "name (mlx.warnings.junitchecker attribute)": [[2, "mlx.warnings.JUnitChecker.name"]], "name (mlx.warnings.robotchecker attribute)": [[2, "mlx.warnings.RobotChecker.name"]], "name (mlx.warnings.sphinxchecker attribute)": [[2, "mlx.warnings.SphinxChecker.name"]], "name (mlx.warnings.warningschecker attribute)": [[2, "mlx.warnings.WarningsChecker.name"]], "name (mlx.warnings.xmlrunnerchecker attribute)": [[2, "mlx.warnings.XMLRunnerChecker.name"]], "parse_config() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.parse_config"]], "parse_config() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.parse_config"]], "pattern (mlx.warnings.coveritychecker attribute)": [[2, "mlx.warnings.CoverityChecker.pattern"]], "pattern (mlx.warnings.doxychecker attribute)": [[2, "mlx.warnings.DoxyChecker.pattern"]], "pattern (mlx.warnings.sphinxchecker attribute)": [[2, "mlx.warnings.SphinxChecker.pattern"]], "pattern (mlx.warnings.xmlrunnerchecker attribute)": [[2, "mlx.warnings.XMLRunnerChecker.pattern"]], "prepare_tree() (mlx.warnings.junitchecker static method)": [[2, "mlx.warnings.JUnitChecker.prepare_tree"]], "print_when_verbose() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.print_when_verbose"]], "return_check_limits() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.return_check_limits"]], "return_check_limits() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.return_check_limits"]], "return_check_limits() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.return_check_limits"]], "return_count() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.return_count"]], "return_count() (mlx.warnings.robotsuitechecker method)": [[2, "mlx.warnings.RobotSuiteChecker.return_count"]], "return_count() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.return_count"]], "return_count() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.return_count"]], "set_maximum() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.set_maximum"]], "set_maximum() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.set_maximum"]], "set_maximum() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.set_maximum"]], "set_minimum() (mlx.warnings.robotchecker method)": [[2, "mlx.warnings.RobotChecker.set_minimum"]], "set_minimum() (mlx.warnings.warningschecker method)": [[2, "mlx.warnings.WarningsChecker.set_minimum"]], "set_minimum() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.set_minimum"]], "sphinx_deprecation_regex (mlx.warnings.sphinxchecker attribute)": [[2, "mlx.warnings.SphinxChecker.sphinx_deprecation_regex"]], "sphinx_deprecation_regex_in_match (mlx.warnings.sphinxchecker attribute)": [[2, "mlx.warnings.SphinxChecker.sphinx_deprecation_regex_in_match"]], "toggle_printout() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.toggle_printout"]], "warnings_wrapper() (in module mlx.warnings)": [[2, "mlx.warnings.warnings_wrapper"]], "write_code_quality_report() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.write_code_quality_report"]], "write_counted_warnings() (mlx.warnings.warningsplugin method)": [[2, "mlx.warnings.WarningsPlugin.write_counted_warnings"]]}}) \ No newline at end of file