changeset 7554:11a4eb81fb4f 1.1.2

test-audit-path: add more tests (issue 1450)
author Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
date Tue, 30 Dec 2008 22:10:41 +0100
parents 71be8688f2db
children 5a6f417fa029
files tests/tampered.hg tests/test-audit-path tests/test-audit-path.out
diffstat 3 files changed, 40 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
index 0000000000000000000000000000000000000000..9b007ec9bb876880f30107bdc1bb93c92bc9c0d0
GIT binary patch
literal 987
zc$@*-10?)NM=>x$T4*^jL0KkKS&Nu!(EtE4fB)Y8V1Mtw|NUyed;34{{rqG3xr}e!
z&XhhkinjL~U-7^K_?8ar7NC_WriP?uL^3q>KT|=Z#2Fq<OlSgRXvvYZgF&=UP%>a?
zJph?7(HdmP(?d*}Xxb;F%}*!^Q8H)=gb<!lnwbCq&;T?500*c5GypU`O#lD@8ZrO?
z007XDOrZ5J1k*+dlM_Z00W|d(1ksZw6A_vWf*3|7&<22p0GOBoG-T0;z?CWjU<v3A
z00h$j000Szgv7uAMgRZ;FaQ7}04J%8fXMQUN(lcG&H<xEl=`wRpsdH`-Q!fkc>|7<
zAP8dnY#P_DK%xt+YaH%UO&)-wSj^2VP+1>gZqc$LA_QO<CMH0G`H(Fn0SKS;$Y!u+
zWbDyOBO_)e<{cE-%{r`)*5d_Uf(xhg2C_gW_z%<ost0H!SG~{%t$Pga)f83lEt>8k
z!7F8p@!-J-VWJUe5$)l;^#_<F(7hJn`K$*y!Iwx6=ZdwZYqslwqjz=cBq@dvU@;I4
zz(hhcM34d;2JM8LC=Gz_r+5W9JR_3L+OTR(bo!3WWG^m+ND{D##RgK!*DYg14iJTy
zRsz*n`kH_xQVAmvwWSjh5<4sqK%DKUK?Sl|K2(G$Sbqa*5zKrec91-$-&_w8gld-W
zJRzYyP_ftKP(dBC2Ujdoxd&Q|EI{x|hvkZD(D?{Xnx_=vR@|zL9}9qX7h6mTmGFV3
z0~Z4u2$VS*&_ey$`o7zsr?=;DgDYN-J3gW7K^}u~tSsN+RQ8}~3PoV37KBQrHFH7r
zyiEsKZvtGFZIIV!I<Krg0j}4a3b*Hjgw{5r=q9ndgwjy}rDU3T3>?m}Wmg!2=>|=w
zU&rJZk%S~bt2=qqV=A;YOq*~uTJdQsBuGmQDHl43c|ozaAQXVEpbMCZ62PGAtbN$n
z*i3H{ji2vM^r13!8o;L#T^k6K5Gb@fDFhgcmJv~Ea7Q3Q%GHHvNT(@TUMN@11Fu%V
z2#f%3!dj3vg2f=aoBc|b^}`wIuy7u+4G%@+Q!I|uH_40y6Mh@i4WvRTB`upIAhZOa
zVFnN=x8w;x*V0=S@DkG6WE@o6c-7HRD^PEJ!AH;ozg3~a$2%qq^1<dDK@hYVS1RgJ
z&<ge2D9|hqm-$CfSo;Q`OF0F8!08a_f{Szf#e7es;3p6r1SA`v(n$yPhi^^&8z}S{
z!RtJNEG1U7ccAhFg0K<@a9kdkz?dtO2cgIpMTZhW`3BU$)mRT<P?#x*K$;J6cO+AV
J2?)7{y%0y6sB8cL
--- a/tests/test-audit-path
+++ b/tests/test-audit-path
@@ -20,4 +20,25 @@
 echo % should still fail - maybe
 hg add b/b
 
+echo % unbundle tampered bundle
+hg init target
+cd target
+hg unbundle $TESTDIR/tampered.hg
+
+echo % attack .hg/test
+hg manifest -r0
+hg update -Cr0
+
+echo % attack foo/.hg/test
+hg manifest -r1
+hg update -Cr1
+
+echo % attack back/test where back symlinks to ..
+hg manifest -r2
+hg update -Cr2
+
+echo % attack ../test
+hg manifest -r3
+hg update -Cr3
+
 exit 0
--- a/tests/test-audit-path.out
+++ b/tests/test-audit-path.out
@@ -6,3 +6,22 @@
 % should succeed
 % should still fail - maybe
 abort: path 'b/b' traverses symbolic link 'b'
+% unbundle tampered bundle
+adding changesets
+adding manifests
+adding file changes
+added 4 changesets with 5 changes to 5 files (+3 heads)
+(run 'hg heads' to see heads, 'hg merge' to merge)
+% attack .hg/test
+.hg/test
+abort: path contains illegal component: .hg/test
+% attack foo/.hg/test
+foo/.hg/test
+abort: path 'foo/.hg/test' is inside repo 'foo'
+% attack back/test where back symlinks to ..
+back
+back/test
+abort: path 'back/test' traverses symbolic link 'back'
+% attack ../test
+../test
+abort: path contains illegal component: ../test