From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Cathebras Subject: [PATCH 1/3] Script to install, delete and clear a MediaWiki Date: Wed, 30 May 2012 19:04:50 +0200 Message-ID: <1338397492-13360-1-git-send-email-simon.cathebras@ensimag.imag.fr> References: <4FC64B0C.6070507@ensimag.imag.fr> Cc: Matthieu.Moy@imag.fr, simon.cathebras@ensimag.imag.fr, charles.roussel@ensimag.imag.fr, Guillaume.Sasdy@ensimag.imag.fr, Julien.Khayat@ensimag.imag.fr, Simon.Perrat@ensimag.imag.fr, Charles Roussel , Julien Khayat , Simon Perrat , Guillaume Sasdy To: git@vger.kernel.org X-From: git-owner@vger.kernel.org Wed May 30 19:05:18 2012 Return-path: Envelope-to: gcvg-git-2@plane.gmane.org Received: from vger.kernel.org ([209.132.180.67]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SZmKj-0005Yw-J6 for gcvg-git-2@plane.gmane.org; Wed, 30 May 2012 19:05:18 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753903Ab2E3RFL (ORCPT ); Wed, 30 May 2012 13:05:11 -0400 Received: from mx1.imag.fr ([129.88.30.5]:39728 "EHLO shiva.imag.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751652Ab2E3RE7 (ORCPT ); Wed, 30 May 2012 13:04:59 -0400 Received: from ensimag.imag.fr (ensimag.imag.fr [195.221.228.12]) by shiva.imag.fr (8.13.8/8.13.8) with ESMTP id q4UGuY6P004660 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 30 May 2012 18:56:34 +0200 Received: from Hithlum.grenet.fr (ensibm [195.221.228.8]) by ensimag.imag.fr (8.13.8/8.13.8/ImagV2.1.r_ens) with ESMTP id q4UH4qWh014805; Wed, 30 May 2012 19:04:52 +0200 X-Mailer: git-send-email 1.7.10.2.552.gaa3bb87 In-Reply-To: <4FC64B0C.6070507@ensimag.imag.fr> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.0.1 (shiva.imag.fr [129.88.30.5]); Wed, 30 May 2012 18:56:34 +0200 (CEST) X-IMAG-MailScanner-Information: Please contact MI2S MIM for more information X-MailScanner-ID: q4UGuY6P004660 X-IMAG-MailScanner: Found to be clean X-IMAG-MailScanner-SpamCheck: X-IMAG-MailScanner-From: simon.cathebras@ensimag.imag.fr MailScanner-NULL-Check: 1339001796.29378@daMTFz2JULks+FcMB+1Leg Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: From: Charles Roussel install_wiki.sh expects the first argument to be 'install' or 'delete' 'install' installs a MediaWiki on the web's server with SQLite3 'delete' deletes the previously created wiki. Note those functionnalities are made to be used from the user command line in the directory /t install_wiki also defines a function cmd_reset which clear all content of the previously created wiki. Note this functionnality is made to be used only by our test function in a subdirectory of t/ Signed-off-by: Simon Cathebras Signed-off-by: Charles Roussel Signed-off-by: Julien Khayat Signed-off-by: Simon Perrat Signed-off-by: Guillaume Sasdy --- t/install-wiki.sh | 38 ++++++++++ t/install-wiki/LocalSettings.php | 129 ++++++++++++++++++++++++++++++++++ t/install-wiki/wikidb.sqlite | Bin 0 -> 210944 bytes t/test-gitmw-lib.sh | 147 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 314 insertions(+) create mode 100755 t/install-wiki.sh create mode 100644 t/install-wiki/LocalSettings.php create mode 100644 t/install-wiki/wikidb.sqlite create mode 100755 t/test-gitmw-lib.sh mode change 100644 => 100755 t/test-lib-functions.sh mode change 100644 => 100755 t/test-lib.sh diff --git a/t/install-wiki.sh b/t/install-wiki.sh new file mode 100755 index 0000000..725346e --- /dev/null +++ b/t/install-wiki.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +# This script installs or deletes a MediaWiki on your computer. +# It requires a web server with PHP and SQLite running. In addition, if you +# do not have MediaWiki sources on your computer, the option 'install' +# downloads them for you. +# Please set the CONFIGURATION VARIABLES in ./test-gitmw-lib.sh + +. ./test-gitmw-lib.sh + +usage () { + echo "Usage: " + echo " ./install-wiki.sh " + echo " install: Install a wiki on your computer." + echo " delete: Delete the wiki and all its pages and content" +} + + +# Argument: install, delete, --help | -h +case "$1" in + "install") + cmd_install + exit 0 + ;; + "delete") + cmd_delete + exit 0 + ;; + "--help" | "-h") + usage + exit 0 + ;; + *) + usage + exit 0 + ;; +esac + diff --git a/t/install-wiki/LocalSettings.php b/t/install-wiki/LocalSettings.php new file mode 100644 index 0000000..c2fe3d5 --- /dev/null +++ b/t/install-wiki/LocalSettings.php @@ -0,0 +1,129 @@ +7MLv zA_7HcAu-2nO(wJ5 zRj=Nw_tnu=^?&Iq-XD`V9E}c=}ZM{YZKg{N9k3 z;rGa8@N+l?KL--<)2qWzyaRqZx4}|D zQ#S*Crkx8v{tEaxYYO~KIvsw-puACKUrx9xsj;D#vN#gkTVx zZBX2*_vlL^F+ILu>4N#;xh)ZGUdMvQc};UW)mgJ=&zl!%Y?(c`bJncLtmav2OXJ)| zb-t>pm|$^C)uZ)cBi7v5)Z93`d3MwMmX^j@jg1|hb7s%(P@5W?=QgWabL0Hkv*ylj zip-j)&1soE-$mU#d!B&pzf^uqfT!{c@I?L*T=EY`fFp3SATY614v0xDti`Qxw;J!# zO!1TwxdMXr=%#MO#Zj_6S+ul1OB^M^RYL93#8Dz#rA#d;jsZPI`BeeF{KFC82oya6 z$&Th4NbaksAL;N*k$ls72@wcsQ zZ(Z5C(eGcouHCy|nhu^Gj+-XRf$EFJQNEbNpTuEo-v z+S=JsmXQi~YgrQgxms98j~4glD-RVB6jD=GH>~&QVbx-sZD}+q zkkq<#(}Jo2D@L9OEuvdtBNeyo@*Cq1u9wPuGiQq1Na35iqhLS|ncD7@77uG#x3Z^7 zWJT6sq18gl;DvITuX3_z=<$fwhZTpECtj2=2AkKmZP?rjnONR>5v@|B#MiB5^~^~W zyr`tiS2tO_EW^tM3X+vFmM&f{3cr`7D<-(2w9HpES=6#PBhRt|Jo9l2rbm}4zUpc* zO%Wtn?@Ah}gz36eJjl5sNSo>kVTfHOd74KfmV8%;uq{}tpe%9xFUijd@^kY44&3N@ zEJuJNa1tUgp#&cOuBX2=wgjI3^zl!||D%L@0lps;o)@o?6zMVf47n%2p52P#3qZ#; ziFSds7owevtA`q$x6gJH+ub5fYWi!St3n2~c9#`gJF3iAQ7!h^f=EZ^k}=lX;o3bN z>%853Ny=c_KU(oMHHqmSXUGylrzd#SxVm0X$SJu!uqU2$#GOOyiGgg;u6XYl#TSGe z2B^-AGfhV{_edX?7i3Q&2W3w}0Gm5-6mv*V6nrMxBbKOYT4bPQT58ND$5Ep_biyGdJis=c0uSYB_Rt|t zsu2t~-MJp`tt$?VgO8&FNu@`Eo5tm1ns76nke_Ly5Yt33ecGuCj+@e%QFADfG!k0U z(lz?%&)iPTMLH8nz)pCF05;f&U&7|w?}eGh?NOsCI(&7W|GyW&AMdaE+dL2D2yg^W zas*D5-SdBGw9Kae01&|Sf8PFiRp1DWOa%Dz ze`Jj6h#)Py8k_k*6`=hFqV{42_q8<5ZC$05=xu0a5F6 zcL?sCp!gO-rl#c0RDt}Q?serr2bGK*`?9}K9&Dz;Ln|f{ujs1`;zNTkTI2u89#0Mo zLH7;(JAAKbk_sJP&4e1(9QRL`?+2l~@1D6vW+k zQ0G!Ys+*xCcnHJm=Z=4H0bf*`99(UjY&()2pB{7&qPbM#5hLbD*X|5MJ8}pv)r3hD z+@sAr8MFCB!Qnc`D;<1dcAlo7pKp31sYD1jI3fX}$n=bSbvHwTl?2KBH6#a4QPq-L z!X?-?smxbBS=0%45}qX5;-$}16`>N-@(lu>C*&BFKL!a>coN z90861B5;bVIO74<{{JD!|KQ+o1ULdC27xkJg5f`F|F6ORKO;tSt|&)fWFs)9R1_sR z$^+UzuK$$^ssP^?rC-ZS&mF(ub-k)Jrr zl;JW&)lv&m#`Hq((b#b)d4}Svs1Og&B^Ek+i)8z6ITKFzFS0|?S_jv|H`ZYyw8iAw zn7{yqk+>;yUbZYA_I8iKHa|J=wo2=@gVg8YaU)o_oZ95Y)^PSHGNQ!)J$Y7*4!%iDA zEy$lf%I%)B;|OpBjwS+|;9)I_j}^A znU~rd4=1|1TY6gdB=x!T^w=JwFFYqk*Z==6$bUbYS>?Pq0vv%883CmP%!Kfv?Vs=e zeIl0?&l^YJs33s*e|v`rto{En$Ew@xCHhq4>(n#jArPQ))8Yt?$v;pK4FmSRm$3 zrJL^Of3wJ5VDjS|IzXB44I_t!mW3zh-UJ2!M_rVz+imL&v2n8CsUhKd>7JOW7vvyRaD z|IY>a=l`je&-ro$I0DB3fpbg1QZR^#fY|>GuTto!}^(skCz_Y*#GV;Lkt?cO+G}WhKl74GqY~%)$c?oQkP&5{GI7 zW&joDxlWD8;lL(%Jv_rP32qpwsrfM#Dorw$vO4SL;rO4w|NEAzJx|OLIB5~U@jq|> zCvEZZjB^Cu5(4=ASA>HCeE(0}Ej}dmz!{*+-V)1UChk8+@y#w5(+yvqnH7A$^be1PGGELqi(3${KKOjatsxgeUZ7eZ9-k|AR^-6K0MWwvnS zMVAacGFSRx%a(F>h$O_|;%9_O31mwlk=cytno}@cU#0jeE5(B|o$ZETY}W(pcU>B} zsPU}yIl*N2p=hWx3H$5V4!8MN+7k3w)gi110_7kpg0L*9O@&p-N-F{_M)sdxeLU<+FVjwNvCA(B~3bKT7J6o@AZ3&mo}4qPZe<>bXFzr5>~Ksk7! z@aO+9yDLu45hx-Ac>6D+!sM!O1cr$KU;i5>V4R#IP(%pu=YJ6uCRc?cFiZq^`yVD? zoSY+2L1o7L%>!U*k8k9YT>VAJjEMoG47oX7Gn@cJrLY99yav_ zWI7ztYV1it1Uu1=K)j%qQnPTuWpIHwMdmzAAB_&DSzAv`q!LLRNEm zS_X0?kR4nzgBaVd*hU}=gQ304NcIzByXU6a1Dq!cu?r6gJD?f}J9rNVC`==1^=SRx zH=VpMLuIJoI4P}D?<-s$l&AB`8YQ&t`!q6aM8UxT4saSoq}88br$E{1Gr2|brOXNFu)qFGEr z+uG%=7rCvydAWn38hL}=75_4Rcu8#6S{?N>7;6i3th^qPbFxJ`WcgKMLhVzhf|t~n zp*sUL=Ywp=Tq z-`KWh$;NH|Rju3nOE$N!Yg-FE*0io|M|(FU%J&*Oi$XiL>AVM@Vd>t$6Iqz44)`+^ z%1%8xB#zyBB;q==ERSd~uWxKD^Ho-ey|lz_Rcuh^GpIa!9%K}DRWYc$cH-cwCc;y9 zcoGb3o(sI?3aKbWIm}2fxBq*39Dc(Q7+DDL@&CvwZ>}vzz>NT3|97LouQ>uE3jzN8 zA6eziwdDx75#a6LjRwEw2#hQQ$oju{t{~qgw@KfZ+9grE3vT(xg+RJYDHGFU)8oXq zcp`(H91gT_9p^xgcW4;Gi4GgfO2kd7IM^W-aDIeal5;XdJ)UhrPtst=SpemRQs5aH zDo;3#0y94_%l?v5u|KU0%F}adhI5$45VM{?ai5H$OW%U%!8Ob;dAn31?$AN-kPa_# zD~X485I_M|IQJyaQ77Br-P|2r!{N=e7@Rde{}t&vLH?oq3Asz2Aq&!f!!7@C1day+ zD@viG72j$69?@Cp!X{qGG*!cC1U^JJo9%BC2u9MTnDWmB@d}*k%mQ0&i@)E z>=fYpy0}riU3^`-R{E!W`%x+U^jXd1W$iQ^veXgP;8;X08HZz^aGQG1&3PW1u_p=* z$J&ry)&?qgS$pZ~bxR#vEEtI)lo(3A5%|`73%vCn5c^3ili-njzQ>Yk=K<`f9x8tg zi>XCX;8w747QFQy5K}f^%ka>@Et@NS-kSA_814noo~TkO?kKwv(S_`M|I< z2q-v&{u&lqi()aD*#G(S|ETnKoXJ~9U`6Rsc>Ig-{2$umUxerX5GmpL|8GD3MR@-I z`-$QCKlI1H2+#jvP>Xc@Zwm4@>3R7H`3&hn$&_z=>jlX)0 zb*2e}FG-Zu$ss~M`1BrT1*J<%VEMv5M;~CpqrixNNeL`NAdA5z=I0o{Ljz-D^OE;Fh`)s5#aW}A}?UB9!FpR1i1g-0O0T_jzEzkz@Ps`Ucg*E zj=%s2@b*6dI6R6YP~-^k@qdvQFjtQwFaQGB{>y|l0(@^3+r)dogmA|I`$x5 zKZ6CLcLrRNEjRKwq_{VRKr(h7gU4;i<$M7i8b~#`i-vYSY>H7XrYnhyhMfWUi_T6f z^Lc34G>8GCgA+7Z&TENSnmKw+@i?$h@y!J>^BpmihUSnc&3Ii*qLJGvxEiDA@U6z@-YV#CJCLBw~G($1lu=L?$)iak&43$znQC5 zo^|0&IIatKhx4up!^-ECJC~5{rmq=CEdYrQc-^$e)Y;!P9;S9EF#;qy+&rB#kX^5& z=Ik~N=|gHHlGIGo`_d-b0U!=nf(J7y09i->kcdJSywsZY7HpR70hlE<)yzKYnPn%l zGx$LE3)CqEuNk+kZEs!Ky3u*z))Cdn*r{_u;zGz__dm47u%O1UuW zCdOKe;~U^4AEf*WrwEW$cLZDOOX$e~&(%h%Bp8f{2_k9bEixLf#UpuRBU)6mw9K2! z1r;W_4r#bcOX0lR=)gPfVC2Bc0>+G<0qCKAzkR9VtF92!t<<7}g+(hMC`W2KZic?3 zz18n|*BLdpD=ONL7%do(G7(_4fg8*Py~0YsuIz#i^5_3>x;ReD5hyMM`1*fwl_%GR zBQP8Uc>5m?TAY?6P+SP$_`gi36X4q`{7h^S56M3+sNn_6U>m9mQFCT0IJdB;9_!dN zh5Gl|GY{fh=9!#enxMKIc3y%>&m@NxnWoviHstUk(YefAlRrAMab|nLt*vFgKn2_1 z3$x=)mTf5;bEG&Vxssfy;Mx_i&QT$PFIPnCL&kKTYIEI`!S=Welh2m;VE4*;vcP(+?{2LOO`d-bMhZa}?0J2^^ zVs$%o`6t6b)~)GX-PYiAxMN)e_7}^YdIOUVxBFf}QDo;0a-#P)uw_pu%r;YpvCkmv7n!BUuqluG$avvfUDbz&%Z067Z zg1sG&;0P2w0=)efeGzj7IRXU{;O)O4G(3VMQ1l3J`(M!)F;|cyP!IwB{4WR%kKhOt zJp#P_7kv?P1vvr*5y0_(sZcJ!_d4Mzak{w6Ax*X^zWF{eT}2ID%*=r~X$|pXen&qs^BK_y zVPOB=!5C3vpB;+!K0_bG+y_=6piz_IZrp`pVACL_9fCCwI1a%W2vkF{1p?XN);=H_ z$j%1QLol;3ssdIvh;<6JpaG3SRM2z@JO;5zBE@h_l1M)sizLuzyDjIpIRYW6jron7 zfdH5a`SaiD@Aw5rV8kK7+y96wa;`8(z(Ihwe+LSF!4Vj72ypw~h%0igFh{^afIt5o zDEI|OV8kJS&;JssTadb?U&t%v2S*$LT;XGafVCF(Er%Drs4)o^rg1IbYfG|i9v6E| zDtSrKzG9R6YZwW&C&7)g#2@Thr}!E`>Ud%cf+#eOWa4cWmt;%ylI2Ll=vt4U#CpXy z8w8bm1i4KzwyaQIS#HXL;@m{R)(x=Neub#o0&$_=mT_se4BIAU6A;WWkgxwAliJUP za0E_F1o-&>#4Hz{D~`aiK!CUZV}UZ4!4Wty5#a0pCuX_uTyX@B1p?UqWnr@*Y?f!r zhmVrPD>rR~Jx!~{cgBdTYo{L7*xH5bQe}%2)Zx_?fj+OD>ae%&g(QQzz5x zxIV^2d$#Yfli_x=kT0*FZdPQLdu~>&$IF#+^Em3}kVka2@Mb)amu$yZn}K^r9VE;0 zcP&7c?GH?I=ye0OlQJ-}_Sm5*h6ejUJNSUB?DkD?5@ofRmdTPED1p_@Rd2(dRW}xo zi+L^@e+>(-#e#FP73^(Se09Kkrp?<^2VD#z*+M*o`J{OWh*&!W>M>vcJ4#(1XTuRV z84=*~|C6!Qc%C@|M+X7k{*MlhoC`>Q>Wj7N?S43P9xFV7=-76xQ_dQ)({pOrz1Zglo zx$|0>6+;}ZW3;zk)b22&!A4T=3MEw72RKh;p>WekCBxua)1RQ5@KRRJ1eY#%#0|?I zPer3N64bX+CKck133tPWz3>irpDX8dyI;t4{&$xdOMLe_Pp+N4fhpM_@9!ei_)dA& z!U|1GW3pCN+)ww3v&RExW9 zW>ADKx?PNy=cFJ=iUpmABcJ~t%f61w;s~602ypw~iB~2(M;w7;g#e%bA1kD}9FD+= zhX8N?CtjKG9B~AW6#~5dA1kD}9FD+=hXBt1Mfv>#eEEkXz!5kB5ZEP_3&Eh+AXbhO z*=L+sDN3R!j2qY7*woxOyLoog{Fau+M(>@lMg#xMt$L4cpBX5uffs~B>%o`-%^cE; zg3#1Fx4senH3{M;sj@kCqhvVanmEulsX!M_!HI@=@?xPqM!_@!Wckfdb}s$syUC~u z?A!{m=x%8y)Ntk;%bbHA86Qixq5~X{Nri=tSWJss)Li74z?>`*XJC*@JXKwGsC8g2 z16!0s$3%93X{&8*d+W;9js9F_j3}=44o-xK>XE_etZv;5;S1eEppB}gHB?$+!W&eT zn6XETge)TzHwVwELp-E{0TW}=h(@&`=%rKl>|DU@(gS=#Q7vv~k(N9ZLvA3m6Wf%9 z3o&YR4GD4s_O(W9C~X+-D#MO0g~|oILTcD`tZ06+gql=iW`+}36^~Xoh0p)d!gc|^ z4~XZASBP&&8>Oe@bL98DRSDa-m-(hui~DR-rDF?r87zCUjh_xtK6|AT8N9lDhvEwa z#OqSToSxLe(2~R5YP?G`JvUL0N!=5LMs+9xS6MpUiOZ%AD8w$g7&Hlp2Z$z+#L0(; zpW)HPO@_L7Nc}bL=wNE6;%f@n4hazD^mHH!dNNPiM7EeL;{3uKqFU6Ma1Cz0q|8?t zVEd#)DD8MW!ggm1W1Ul8g=k#xK!|G7Lg2!-hQbSgmh=e7B`%wlvB zvH)NH;RtX9iX4IQC9sl^SruUI|8+rry~q{k>Tv`(0xkqfWn5dN&;LIN@*iAL{E{QU z5hyMM&L|bdAXotMj{jd39(SOB(M|yc!@l{re2e%S0pITw4F69wIH!wE*upx$T!pG9yX zgE+@~!|@k$oQK@|Q3B=QE^o-ru=GwntfD8F!t~qM_`1?Oc4NA_4BXH6oz}x>xS7bcH9D$>T0H6OKH7GeFj=)KW z0B`>%U6Jt&a|DhW0=)enH7GeFj=)KW0H6P#bVbH9%n>+h2$TY+Qu+7D?|bqa@?Ygw zH(TK68&l!u@d-HoSA_Qp!h6M}_$}!J(hKrl z`CbS-ZlCndUBqgCXf(0f>v2m<_QIA%&c%L@)!qq4tG(VEg3TT}^}d`#ARs1{jCyw| z0#iN&s|h_{FcBHa$0urp)o700pE9$Os%t}>T%Q0i=Wp(TZ8s{Veqv;IGVG`!T%OOM z@6e%1-=X!_IN`zcs;J_ts*(VV1TG%2Oxh{o69*|ryh!Px`foggyjH6y4;CF2u z1E^5sa0ei`(fShT+d--ns5r+c^R-n=0#VW29n~!@q^2x`+=pCpLrtz5;fmD>JWoWT z=ZP?$Zh|X4*w{h=8yAtkhJ^2bjvfn$fjw@1r9F`DY?Nmldq zzhehGm&6e`(GcM4e9-9y|45Zh-G z#W^|dhQnePG}Sd$&B*-w(w3O<^Eng# z-1X*|Eupeg?wR(}-48u^@8wf3xKY^s>#Co=-gN72_pP~NYUz95`M$D$y!7zLf4h9o zj_5^)zn+dg`^ukhhN6A~pZ}8lpdkMQe)xwYz!5k(5U7wBi3K|~sYc$M6PvFCA@Bc7 z^3P!ZU-;o4jsQoXNDy#s_RB^VQf`pQ*Z+#7xVah}fqw%5Z2zUgP658Z5a-Aj%D4R+ zObR7Au$!2q(<_O+mDt9~{3~-MT;;L0W+KqoYQfFoN?vKAsnQ`vhF$ODaRwj0mgI2PR9KKSr6f8AgF8GEO1*Xm(nsZ;A4rAItdK0 zZV2!6nB|>ltYD19UxUIhrj`__vk^paTguIvf(+$ov%bc|+KJ9#jWOA*`TBpM&Wne0 z1d1O4KK?KMGUgg`1PUR*pZ|rB;o%&C;zxkD|KcxWt|3RD5CXjY7ea=Ia|DVX0i6Gj z5^fiS+r^3EHt|Vmp7b&KeEG8{mgf2%x&T^D)>d(;*R!_zF3$p}6P>dF>MT0jtDvy3 zY+u?3BCqI$)1%AT>s4e4)?Q}4)+2>PmiE-8n+tR5>CsvKF(JQLlS1yh;ahDl)6x)Bs_l z^&XE1vfj-s6qyz8tOaixpIsnn-#%(Za%?RjQ&W?$l`~|BUJ37I!stfMnFwNZF+-iY z7L9n{*+b)i$=+;iZ@sA9v1!l8I$GdajKlLO&>ENdPE z6Nn~xLRyA4Qw59wEUwnhA70S>1lL~%?~YbUFSfb5kaRg2*1hD;=35x__k+@jAO?*wd zRmLrWhx$qH->>*4O_C0&k4ymRV<198pd*6G-Ga zfx&bjEy7XXGo^zvDYne6*&#jNX=L3BAMzAuRxB3n?yx@SE6Rjsm@gj#zM-_F_$p>f zX_5H6*pjj`A$*u+(c@)f6C(&&32=9Cn&)78Z(0Ts71E(r0!C7c=t(G!Fmw_m=89Z@gvi*}- z%_TWhyJGONJbNYEO#t}v@&8b}I!?zCC_V&u`!BvS(}5a7@M;ww|G5l3LC2;lR-R6Iiv&k*-ZpOa6M4-GYC zG1F=35_rA6LP}32RwuODnA99&n}39xJVrMc1zMYIDt`?|z=5%5LJe!Ra6^rIaDj%S z;K7D;sp1O+q$|p^3~^Sk%M1rM!p$BlRK}bIanuA?@ciDP9^gBS6MP3f!WRr!yTdMq zn9H`c?X4?YH|8;tF=~PhQW8s6E?po12CGZbWnirf*!%3F6x>|E1Bh^or*Lc@hXwipbOjA{mne_ohd|J^~=H#VZg} zdu4t!zf6=eRIxxyRJEZF^6`H$_hVc)j=;bO@bUk^`0!YcKrti0+kY{aF4v7CFfanV z{SS-}kL3syGXi}6U(BV;b>j#Oi~zR(GQlqhesPKTd8t}TOTTreI9QP$t@s)mq(fa~ zg_`UWn}j3el6sh&pq>*Te9W^_ofD6%)rq9{yf*s{2v`V)C|u9Y*{v1AquL%VnlB=( z!fAey%<*qtcDP|~X7QQ6(F5GHzJ#9aXY8ENyqmrjd_xJ=qZ8>dU@B;k(o@LlEz=BD z$kAN*1VhI2mWnF{F5~8;^4BnmTKJ26gVFR@STF{Wbdz5eOwh?mE!^f=G*Dv@Ug z7TF2fN#xi$Xk1cLO(RaKB@J+1+sdu^mbVh;J@gU8g@LD~g%Vma=H0{DQ!frOwcohRBGdqqZ9EY^ z#cV5HBUny4Vx7ve%YZ4&MOSOvSc0AD31AR|OqAN0aEvB7;y>-RBB7ba-v1BnNcki> z6v6bk^hA0XWjJFEg)|9xzX#4FC0D{{yv8FZf|!jGg$y|nOBVv6#4Gddw1|>a*6X=|bAS36-6z<9kdltQ85+s@c+%&!x|FXOVW9dooeoUp5 z4iE@Zi3k{%;513+Linr)04E&vPensLT0eck$F|aDZIK5ga4Kesf&eNur%x~QwN^?3 zDO+=QR0ms@nz9UXA9C1-nw(4F?)0qmWKvKEn@BFh-D(^Uja9ocSHeA>d}bmrqhTwQ z47>NMWE<*1I6XPjvEOAPlG>j9DL|}OWhhc$?>uY`tpX0{HR${|4^gcq~Vts1e}v|DrBlt{g{TKm_>we?WM6BuAjA z5y0oaDF01>FaK}^I07RB0Y#K23!RqPg3o{6{zpckb1gXn41rPdWD%Rc$mjpOPH+T9 zE&_c1KXS{SYt9ki?Vr~Hj=;!8fcpPjC+liTo%Vqz5V$Us zXS*(-!-Us&;od=f7g&ls&I{D}!uDR+oj$XGO!UR@%KZEwGFgf|GO1sOEpuOb3U$$- z9#0wP3X})_ADIB*ekQVQ?ef-(Ty7YQGLI-=fpUoJ3ArFHC3r;@52mN4&w~91s-=UY ziDL`OG*hvdn(TL73J);J^aXZT4EnZMW`5rm2&YoAeOoX=Uf&jo0N$q8UkTh;^mI93 z1e-~WC3V3ipGtNG2w%uoE-nI=SMXzT1^R1jC15v%v!M=vEV>(li->9C3K70Im@o!F z9%-xqqUnl4;wVOLaSskAj=`Eo9E}O?OrJx&trSw+;2EXEt_5nBb0IwBDQYJi3wjUn z@$tGIxxKBRr1`MKE2Po(lUNO_L5zAzH@FF7VGWjZ`wMxvzys zJ({|sP}f+}NtL57#O1{S!aJfyM?QLImn3f__?V>9)v!s?G$~z8&~V8mLfrWhzRa@h z*&Ql71p?$w<*#v3)S_aT`C$6g^ts@x(~lzW@y&)DEn!eNv<|~OdHPCzP;%2|17l}7mUL(lo=oof`QJyq;Y1o-p+Xd}w`aRg2t z1o-p+hP#OsG-PUB5j~k3@^+6cHjqmYsEKNOw5YvbMXes`bFNKGOWnISD6$%@DgNg9Sl?6V#RqHk?uGSB7g2D8d^mMWnM|vAI zFB_3mR0~D4gc-|R3Sado;ff)adW3q>wn2|FofO*}H2J11+7o53NgUXBPN!i8eDkg!++S0bMee;sl ze!3lri@?8mQ`_2={uS+;TEHX0)ajW~pgvw|eHJK|9-9s-zLpj-y)au+C~U+nEpE9O z+Ch6gsC%joOBASy7-2nP*A4f+7`6UDxY5o`0PmVuegeU?n4SS9{Mll9T26ML9>*{{ z?)=zc`wC~sCJEG#+FB@2v?}8XP(f&)CCk#aWxlOVVu5p!vho1!E7X)5b{QZ4{|EXy z&XOZ=k|2QN{|Uk@LH>+}m*i>2)1?ya9>o6VXMO{B5Ty3>8p|C-v2mr>G0L;NFDYQg-4o{IFAKL>ic-Fra)`x@xap)NclD@I zj8qyddAuXY%q~-WJ4h;Y-*joyWf)yijg$|4o-NwFkhpj*Kq%&xDpPinWX+vW{cKsy zgdVB_5wK_lM6Cx0z3Iezljs>NQGClVp_=T|_qgPdd!n1#VUn!1$x3iHA&tikOGUu5 zE2O4HNJ(KW!b2GA!=1537@|iOw#=C~9clxSI#W_AmJn8vJw}&m8E(NWh{#6WHj1Ol z)8h$sIBCTDV{T#^f;wwSqO96kw;M~bUNsYoplJ1Y*FvpN4O`QfP+F1!Z2zYT3k3OR z@@?`Cd5ZK$>5I~3(o$)x__X+0@lvr7wg`V#xKG#(M4r#=sjL@>?sjXBbsc;wQ+*)Z zL}<)Ry+9=vS1D5r)FEo@>QLh@6=(pVwy+l9Po2|+EJ7GbmTUY<<$S^c#kgb>u>|&r zMhdFFQkk*}DSKirGI~Sm9UR*k)=UBy=B*0$T5BQn8pvi@>(TUj$c+}KEGv}qHYC|) zCR{wR3u7T(byuIQR2?AnYO>3Scj{5QE}N;io+QL-B4IYfG)u*<4w){zkPxo`;^|3f z8c8i|QPs1io*OemFlfTl8OzQ)O%N{MpQis+(?=WD8*K|ClcrTlxd`A zpl!MO~|44ABjv&IL7kAA}Xh{_q)I%M!A5&_NrSAcy49^4Wf=NnMFLLNiYFdXGiFs=K z3J6@fX*t0K`z462$48Zl2dx_B!lvn@^%7-UPE*P^5l)7?zIPgZv{Xo@d&BjSXmk;R zyC3yEccL<7E=?4L?uO~mY2Xc!O6m!=|A|7gAb&~jmER_hg6IEr(#2A>_`l*q;t{b{ zcwTr!c$c673Hvm)C{?5dB>JsxBaTlk8y_rZ8cGDj40zsPR;D#8lL+*QM3T{lvwCDw zrcKIZqGlqdb=f?jVZp=Q(xXN%Q4`~UDUK=xp{7x(I1hD%2dBFawr@!aqUX{Er7~ty zc0w;`*E1v~_b4W+8zvU4-7vh5*--tc$>|2dMAPl`*z&>oo~&lntCmGXIu#=f-3#O-VU&9W zK)Njq%<~9u3Mv&;9hQ*EDbVv_6NbsdmwPa}2}TcFA=k9NXN?}3Tjn~Whb8b{ zg^2|jO?CCyEeo#edXn|D`|gA>mF5{2Lo^~{X9U~->B4+L{*HWue5qU`y(T>_T`%=W z%cL{JKZ%ct*NPX3LE#_54}_b9Fc8|Gnw3iVLX^EnkL$4D#WZJkBKRjw^IFW_vNVAx}T$w~hR4L6}b1ZF_K}sBg30?g% z#YZZNg-Kba$TcCeTksxT>m~GcOO;CU=(W1FoME~XM)HCcdDaqT3VAA8?x6>E7Okq; z-;NW2HEMzmJu*X^rp1bn^ng|j<}xm%EG^s}H{cnecfzO&Iw_p$kdCcp5gQU%u?}~y zfw!5)j9Ci4O_@xZJ!0YE&7h%=FeIJ1P?=2ncuU>mU;~#qwF-%+pRbgY@tC=XR4tn| zmJf3Mm^C`byO^jiMohC%vSFGoL-%UA3NN z!xci{z??MAQ-Y+9m|EO~ZWyPrnJE(stnZ5@GBD4XtIQ;bKu>SMAgdP!Wl`wcZ7JT+ zOuAWflxnJqP2p5F#))(*s<#ri%w`XKv$@4pJ$17Vm!uZ^%Od>O;WT*YK zCl9C2a2<>xErSj=A+iDf!xPl%vjhRx|E5Z9g48B$mO7-AbU=Ei^nU49>0aqE>4(xU zq~A$@mrLaFa)n$2>jTT=RWM8Fgt5Y5`GfMuVb$Pa`5W>N`K)9jKl@)R*lX6mIFNapcn$ORbm9zE9f%E=n3*PxXmn{jKS1wv1P0xPl9Xx6y)Mr-Wf-z=t9z|mEq>U`0LCqCSz(k894(pNiXRn#)q`s znfcP0NZ_7!O~J%;rgj#d)rB*>a+JHvnMR(CSz>d}3Iq=(sy+HSn2^qJD^VF|PVC1B zI>oLcmt@vH72E#;(Jx5rq4gV5T6#CM{kx<`rSD45NY6Yp za#B7hACW%<>jj^czaW2IenNg)eolT-eoblx3u2ArmweJV@lEk%@wehn#Ye?^#qWtX zh@TJ-i@jnuj3(BJi^aKO9SA)MK3J9a?%nIhg5QZK@5QT&u}pelD76F21VUJC+)l#b zb{iHjQtr``rf&6L#OQQbVgrNaRy!JIlVM#mx7gA2X|)+k4pWnncDsGIJ7rkfCd?7W z#kF2@qa8(tr5mtDkf=^$y?xzn^sdA5#_-OjwYH$JZh_o2c6wZzG*_d3NT;r1dgvEo zAr)t1Q<#aM40>SDlCz8;lzrh5&T)Sf3c zA`Q+gn^0evr8Z->G85bu42GxXEYzAklV_tiXEe~G&zU68%-qw_!CdV8yn~E+BpF#p zA%pYz2p%2EEFj$J;OIPZO$SuxWA1Pywvb%F=_CES32}u zLIM%%WvB%VsFsuRB4g@S9RE)eHVX3N@{O`7uar-RR{s#J0c@B2;!EOxiSH1%iWS0( z!UMu#AREG`WxG;EMm!*rH48RK(&9MQVPRwlhq;0QoG8?7Qzko!1}C3=ky1@&Ysi2# zF;6Nx&?}{Wt5QYA@R*FYM3yQOKvJ-o%e*aYijC2%sj>v@E^AJRbVQ%V%}UiuoE?#r zq_kalZQ+yFf@ znFP+eK$%A7jqWbmR+9DF^_|gF9}G{tGYxG2vV2H@XZZc_hkrN%9D!qtK;urOg7p0M zIMZ&p&~?;9SiP26kfsZ`RTncm6&Z>#a&ql-dee8IN>i%Tkc)CV58=cX0AFHZXojhlMM zsBeGy>CLOxy)yrf4~PBZfA(`>` zeRJ=&kH5P5TmSsz=x3vI4t;srdtQG0_p6^@QPW`sw;mbyiDw_IoBEsHbx-U`-u{Wd zET6ma>Zkvuy#1E9{p+06L#I`~`P9ojFZF!mxevaYRAO64e`>}@4_&)p=Kj{7`nKP= z!uRBrSJf<@cWGqB=7qP;czo|)_x|*a{kOdK*-Kk)c`kk7-dUeM^4gc?@87=c&{dax zX3gl&e0kK(_ieao`mgSuJNJpd{c7TlPke1{L;In_H~n+WP19a!od1t^Uwb(E%5NTf zE&kCvuYdW=?|#SaUrGPtu?O$_##x_#-}uXqtUK>uUDK!5zdWaJ>0|r;?_a0><4B({ z=8^M4S5IC2fzW;X`o@H})b~|Fi|Js``UiyV|Ry_CU-xh!TC+93W z=apN|x&D{$yyMn~e=kkC_Y-ek65D-#{DJdkf4H`A)fBTkcol_^gVqX5@nvecc{87*Nm+!dj@k`G?>xY5g zP5kqXH+=5U8@E*m&$f@f=dNvM#dfys{7QK1Red-7cl*t^f2yUe_u;mw2laP+@VBS! zn|b+ybK>%-ou4_fP2GB>eI|bQ zy6+oZANb8VRWIE7%cs9ku6<$QUwvcS4qyG^&cA)*$@8MiR_}|yzxL(@r>^|gTxHQ! z|Fd}g{+6dp{;=+zdMk2kbH&-?uf1gVM}9ct+{B{CCvTs2(^oI6{nX*RFSxMhs "$file_swap" + mv "$file_swap" "$FILES_FOLDER/LocalSettings-tmp.php" + sed "s,@WG_SERVER@,http://$SERVER_ADDR," \ + "$FILES_FOLDER/LocalSettings-tmp.php" > "$file_swap" + mv "$file_swap" "$FILES_FOLDER/LocalSettings-tmp.php" + sed "s,@WG_SQLITE_DATADIR@,$TMP," \ + "$FILES_FOLDER/LocalSettings-tmp.php" > "$file_swap" + mv "$file_swap" "$FILES_FOLDER/LocalSettings-tmp.php" + + mkdir -p "$WIKI_DIR_INST/$WIKI_DIR_NAME" + if [ ! -d "$WIKI_DIR_INST/$WIKI_DIR_NAME" ] ; then + fail "Folder $WIKI_DIR_INST/$WIKI_DIR_NAME doesn't exist. Please create it + and launch the script again." + fi + + mv "$FILES_FOLDER/LocalSettings-tmp.php" \ + "$WIKI_DIR_INST/$WIKI_DIR_NAME/LocalSettings.php" || + fail "Unable to move $FILES_FOLDER/LocalSettings-tmp.php" \ + "in $WIKI_DIR_INST/$WIKI_DIR_NAME" + echo "File $FILES_FOLDER/LocalSettings.php is set in $WIKI_DIR_INST/$WIKI_DIR_NAME" + + chmod ugo+w "$FILES_FOLDER/$DB_FILE" + reset_db_wiki "." + + # Fetch MediaWiki's archive if not already present in the TMP directory + cd "$TMP" + if [ ! -f "$MW_VERSION.tar.gz" ] ; then + echo "Downloading $MW_VERSION sources ..." + wget http://download.wikimedia.org/mediawiki/1.19/mediawiki-1.19.0.tar.gz || + fail "Unable to download" \ + "http://download.wikimedia.org/mediawiki/1.19/mediawiki-1.19.0.tar.gz. + Please fix your connection and launch the script again." + fi + tar xfz "$MW_VERSION.tar.gz" + echo "$MW_VERSION.tar.gz downloaded in `pwd`. You can delete it later if you want." + + # Copy the files of MediaWiki wiki in the web server's directory. + cd "$MW_VERSION" + cp -Rf * "$WIKI_DIR_INST/$WIKI_DIR_NAME/" || + fail "Unable to copy WikiMedia's files from `pwd` to $WIKI_DIR_INST/$WIKI_DIR_NAME" + + set_admin_wiki + + echo "Your wiki has been installed. You can check it at http://$SERVER_ADDR/$WIKI_DIR_NAME" +} + +# Copy the initial database of the wiki over the actual one. +# Argument $1 is the relative path to the folder $FILES_FOLDER +# +# Warning: This function should be not called by user. This is a private +# function used by cmd_install and cmd_delete +reset_db_wiki () { + + # Copy initial database of the wiki + if [ ! -f "$1/$FILES_FOLDER/$DB_FILE" ] ; then + fail "Can't find $1/$FILES_FOLDER/$DB_FILE in the current folder." + fi + cp --preserve=mode,ownership "$1/$FILES_FOLDER/$DB_FILE" "$TMP" || + fail "Can't copy $1/$FILES_FOLDER/$DB_FILE in $TMP" + echo "File $FILES_FOLDER/$DB_FILE is set in $TMP" +} + +# Set the admin WikiAdmin with password AdminPass in the database. +# +# Warning: This function should be not called by user. This is a private +# function used by cmd_install and cmd_delete +set_admin_wiki () { + + #Add the admin + my_pwd="`pwd`" + cd "$WIKI_DIR_INST/$WIKI_DIR_NAME/maintenance/" + php changePassword.php --user="$WIKI_ADMIN" --password="$WIKI_PASSW" || + fail "Unable to add an admin with the script $WIKI_DIR_INST/$WIKI_DIR_NAME/maintenance/ + changePassword.php. Check you have the perms to do it." + echo "Admin \"$WIKI_ADMIN\" has password \"$WIKI_PASSW\"" + cd "$my_pwd" +} + +# Reset the database of the wiki and the password of the admin +# +# Warning: This function must be called only in a subdirectory of t/ directory +cmd_reset () { + reset_db_wiki ".." + set_admin_wiki +} + +# Delete the wiki created in the web server's directory and all its content +# saved in the database. +cmd_delete () { + # Delete the wiki's directory. + rm -rf "$WIKI_DIR_INST/$WIKI_DIR_NAME" || + fail "Wiki's directory $WIKI_DIR_INST/" \ + "$WIKI_DIR_NAME could not be deleted" + + # Delete the wiki's SQLite database + rm -f "$TMP/$DB_FILE" || fail "Database $TMP/$DB_FILE could not be deleted." +} + diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh old mode 100644 new mode 100755 diff --git a/t/test-lib.sh b/t/test-lib.sh old mode 100644 new mode 100755 -- 1.7.10.2.552.gaa3bb87