Artifact
f9e326862fd16c3bc92bb6b4c1259dcf2573648f:
- File
test/merge4.test
— part of check-in
[1092a1df55]
at
2010-12-22 01:32:00
on branch trunk
— Fix up all of the test scripts so that the test results match the latest
fossil output. Ticket [4f43f7ff92ae02ae3]
(user:
drh
size: 2376)
[more...]
0000: 23 0a 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 #.# Copyright (c
0010: 29 20 32 30 30 39 20 44 2e 20 52 69 63 68 61 72 ) 2009 D. Richar
0020: 64 20 48 69 70 70 0a 23 0a 23 20 54 68 69 73 20 d Hipp.#.# This
0030: 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 program is free
0040: 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 software; you ca
0050: 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 n redistribute i
0060: 74 20 61 6e 64 2f 6f 72 0a 23 20 6d 6f 64 69 66 t and/or.# modif
0070: 79 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 y it under the t
0080: 65 72 6d 73 20 6f 66 20 74 68 65 20 53 69 6d 70 erms of the Simp
0090: 6c 69 66 69 65 64 20 42 53 44 20 4c 69 63 65 6e lified BSD Licen
00a0: 73 65 20 28 61 6c 73 6f 0a 23 20 6b 6e 6f 77 6e se (also.# known
00b0: 20 61 73 20 74 68 65 20 22 32 2d 43 6c 61 75 73 as the "2-Claus
00c0: 65 20 4c 69 63 65 6e 73 65 22 20 6f 72 20 22 46 e License" or "F
00d0: 72 65 65 42 53 44 20 4c 69 63 65 6e 73 65 22 2e reeBSD License".
00e0: 29 0a 23 0a 23 20 54 68 69 73 20 70 72 6f 67 72 ).#.# This progr
00f0: 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 am is distribute
0100: 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 d in the hope th
0110: 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 at it will be us
0120: 65 66 75 6c 2c 0a 23 20 62 75 74 20 77 69 74 68 eful,.# but with
0130: 6f 75 74 20 61 6e 79 20 77 61 72 72 61 6e 74 79 out any warranty
0140: 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 ; without even t
0150: 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 he implied warra
0160: 6e 74 79 20 6f 66 0a 23 20 6d 65 72 63 68 61 6e nty of.# merchan
0170: 74 61 62 69 6c 69 74 79 20 6f 72 20 66 69 74 6e tability or fitn
0180: 65 73 73 20 66 6f 72 20 61 20 70 61 72 74 69 63 ess for a partic
0190: 75 6c 61 72 20 70 75 72 70 6f 73 65 2e 0a 23 0a ular purpose..#.
01a0: 23 20 41 75 74 68 6f 72 20 63 6f 6e 74 61 63 74 # Author contact
01b0: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3a 0a 23 20 information:.#
01c0: 20 20 64 72 68 40 68 77 61 63 69 2e 63 6f 6d 0a drh@hwaci.com.
01d0: 23 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 68 # http://www.h
01e0: 77 61 63 69 2e 63 6f 6d 2f 64 72 68 2f 0a 23 0a waci.com/drh/.#.
01f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0200: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0210: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0220: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 ################
0230: 23 23 23 23 23 23 23 23 23 23 23 23 0a 23 0a 23 ############.#.#
0240: 20 54 65 73 74 73 20 6f 66 20 74 68 65 20 33 2d Tests of the 3-
0250: 77 61 79 20 6d 65 72 67 65 0a 23 0a 0a 70 72 6f way merge.#..pro
0260: 63 20 6d 65 72 67 65 2d 74 65 73 74 20 7b 74 65 c merge-test {te
0270: 73 74 69 64 20 62 61 73 69 73 20 76 31 20 76 32 stid basis v1 v2
0280: 20 72 65 73 75 6c 74 31 20 72 65 73 75 6c 74 32 result1 result2
0290: 7d 20 7b 0a 20 20 77 72 69 74 65 5f 66 69 6c 65 } {. write_file
02a0: 20 74 31 20 5b 6a 6f 69 6e 20 5b 73 74 72 69 6e t1 [join [strin
02b0: 67 20 74 72 69 6d 20 24 62 61 73 69 73 5d 20 5c g trim $basis] \
02c0: 6e 5d 5c 6e 0a 20 20 77 72 69 74 65 5f 66 69 6c n]\n. write_fil
02d0: 65 20 74 32 20 5b 6a 6f 69 6e 20 5b 73 74 72 69 e t2 [join [stri
02e0: 6e 67 20 74 72 69 6d 20 24 76 31 5d 20 5c 6e 5d ng trim $v1] \n]
02f0: 5c 6e 0a 20 20 77 72 69 74 65 5f 66 69 6c 65 20 \n. write_file
0300: 74 33 20 5b 6a 6f 69 6e 20 5b 73 74 72 69 6e 67 t3 [join [string
0310: 20 74 72 69 6d 20 24 76 32 5d 20 5c 6e 5d 5c 6e trim $v2] \n]\n
0320: 0a 20 20 66 6f 73 73 69 6c 20 74 65 73 74 2d 33 . fossil test-3
0330: 2d 77 61 79 2d 6d 65 72 67 65 20 74 31 20 74 32 -way-merge t1 t2
0340: 20 74 33 20 74 34 0a 20 20 66 6f 73 73 69 6c 20 t3 t4. fossil
0350: 74 65 73 74 2d 33 2d 77 61 79 2d 6d 65 72 67 65 test-3-way-merge
0360: 20 74 31 20 74 33 20 74 32 20 74 35 0a 20 20 73 t1 t3 t2 t5. s
0370: 65 74 20 78 20 5b 72 65 61 64 5f 66 69 6c 65 20 et x [read_file
0380: 74 34 5d 0a 20 20 72 65 67 73 75 62 20 2d 61 6c t4]. regsub -al
0390: 6c 20 7b 3c 3c 3c 3c 3c 3c 3c 20 42 45 47 49 4e l {<<<<<<< BEGIN
03a0: 20 4d 45 52 47 45 20 43 4f 4e 46 4c 49 43 54 2e MERGE CONFLICT.
03b0: 2a 3c 3c 7d 20 24 78 20 7b 3e 7d 20 78 0a 20 20 *<<} $x {>} x.
03c0: 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 3d 3d 3d regsub -all {===
03d0: 3d 3d 3d 3d 2e 2a 3d 3d 3d 3d 3d 3d 3d 7d 20 24 ====.*=======} $
03e0: 78 20 7b 3d 7d 20 78 0a 20 20 72 65 67 73 75 62 x {=} x. regsub
03f0: 20 2d 61 6c 6c 20 7b 3e 3e 3e 3e 3e 3e 3e 20 45 -all {>>>>>>> E
0400: 4e 44 20 4d 45 52 47 45 20 43 4f 4e 46 4c 49 43 ND MERGE CONFLIC
0410: 54 2e 2a 3e 3e 3e 3e 7d 20 24 78 20 7b 3c 7d 20 T.*>>>>} $x {<}
0420: 78 0a 20 20 73 65 74 20 78 20 5b 73 70 6c 69 74 x. set x [split
0430: 20 5b 73 74 72 69 6e 67 20 74 72 69 6d 20 24 78 [string trim $x
0440: 5d 20 5c 6e 5d 0a 20 20 73 65 74 20 79 20 5b 72 ] \n]. set y [r
0450: 65 61 64 5f 66 69 6c 65 20 74 35 5d 0a 20 20 72 ead_file t5]. r
0460: 65 67 73 75 62 20 2d 61 6c 6c 20 7b 3c 3c 3c 3c egsub -all {<<<<
0470: 3c 3c 3c 20 42 45 47 49 4e 20 4d 45 52 47 45 20 <<< BEGIN MERGE
0480: 43 4f 4e 46 4c 49 43 54 2e 2a 3c 3c 7d 20 24 79 CONFLICT.*<<} $y
0490: 20 7b 3e 7d 20 79 0a 20 20 72 65 67 73 75 62 20 {>} y. regsub
04a0: 2d 61 6c 6c 20 7b 3d 3d 3d 3d 3d 3d 3d 2e 2a 3d -all {=======.*=
04b0: 3d 3d 3d 3d 3d 3d 7d 20 24 79 20 7b 3d 7d 20 79 ======} $y {=} y
04c0: 0a 20 20 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b . regsub -all {
04d0: 3e 3e 3e 3e 3e 3e 3e 20 45 4e 44 20 4d 45 52 47 >>>>>>> END MERG
04e0: 45 20 43 4f 4e 46 4c 49 43 54 2e 2a 3e 3e 3e 3e E CONFLICT.*>>>>
04f0: 7d 20 24 79 20 7b 3c 7d 20 79 0a 20 20 73 65 74 } $y {<} y. set
0500: 20 79 20 5b 73 70 6c 69 74 20 5b 73 74 72 69 6e y [split [strin
0510: 67 20 74 72 69 6d 20 24 79 5d 20 5c 6e 5d 0a 20 g trim $y] \n].
0520: 20 73 65 74 20 72 65 73 75 6c 74 31 20 5b 73 74 set result1 [st
0530: 72 69 6e 67 20 74 72 69 6d 20 24 72 65 73 75 6c ring trim $resul
0540: 74 31 5d 0a 20 20 69 66 20 7b 24 78 21 3d 24 72 t1]. if {$x!=$r
0550: 65 73 75 6c 74 31 7d 20 7b 0a 20 20 20 20 70 72 esult1} {. pr
0560: 6f 74 4f 75 74 20 22 20 20 45 78 70 65 63 74 65 otOut " Expecte
0570: 64 20 5c 5b 24 72 65 73 75 6c 74 31 5c 5d 22 0a d \[$result1\]".
0580: 20 20 20 20 70 72 6f 74 4f 75 74 20 22 20 20 20 protOut "
0590: 20 20 20 20 47 6f 74 20 5c 5b 24 78 5c 5d 22 0a Got \[$x\]".
05a0: 20 20 20 20 74 65 73 74 20 6d 65 72 67 65 33 2d test merge3-
05b0: 24 74 65 73 74 69 64 20 30 0a 20 20 7d 20 65 6c $testid 0. } el
05c0: 73 65 20 7b 0a 20 20 20 20 73 65 74 20 72 65 73 se {. set res
05d0: 75 6c 74 32 20 5b 73 74 72 69 6e 67 20 74 72 69 ult2 [string tri
05e0: 6d 20 24 72 65 73 75 6c 74 32 5d 0a 20 20 20 20 m $result2].
05f0: 69 66 20 7b 24 79 21 3d 24 72 65 73 75 6c 74 32 if {$y!=$result2
0600: 7d 20 7b 0a 20 20 20 20 20 20 70 72 6f 74 4f 75 } {. protOu
0610: 74 20 22 20 20 45 78 70 65 63 74 65 64 20 5c 5b t " Expected \[
0620: 24 72 65 73 75 6c 74 32 5c 5d 22 0a 20 20 20 20 $result2\]".
0630: 20 20 70 72 6f 74 4f 75 74 20 22 20 20 20 20 20 protOut "
0640: 20 20 47 6f 74 20 5c 5b 24 79 5c 5d 22 0a 20 20 Got \[$y\]".
0650: 20 20 20 20 74 65 73 74 20 6d 65 72 67 65 33 2d test merge3-
0660: 24 74 65 73 74 69 64 20 30 0a 20 20 20 20 7d 20 $testid 0. }
0670: 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 74 65 73 else {. tes
0680: 74 20 6d 65 72 67 65 33 2d 24 74 65 73 74 69 64 t merge3-$testid
0690: 20 31 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d 0a 0a 1. }. }.}..
06a0: 6d 65 72 67 65 2d 74 65 73 74 20 31 30 30 30 20 merge-test 1000
06b0: 7b 0a 20 20 31 20 32 20 33 20 34 20 35 20 36 20 {. 1 2 3 4 5 6
06c0: 37 20 38 20 39 0a 7d 20 7b 0a 20 20 31 20 32 62 7 8 9.} {. 1 2b
06d0: 20 33 62 20 34 62 20 35 20 36 62 20 37 62 20 38 3b 4b 5 6b 7b 8
06e0: 62 20 39 0a 7d 20 7b 0a 20 20 31 20 32 20 33 20 b 9.} {. 1 2 3
06f0: 34 63 20 35 63 20 36 63 20 37 20 38 20 39 0a 7d 4c 5c 6c 7 8 9.}
0700: 20 7b 0a 20 20 31 20 3e 20 32 62 20 33 62 20 34 {. 1 > 2b 3b 4
0710: 62 20 35 20 36 62 20 37 62 20 38 62 20 3d 20 32 b 5 6b 7b 8b = 2
0720: 20 33 20 34 63 20 35 63 20 36 63 20 37 20 38 20 3 4c 5c 6c 7 8
0730: 3c 20 39 0a 7d 20 7b 0a 20 20 31 20 3e 20 32 20 < 9.} {. 1 > 2
0740: 33 20 34 63 20 35 63 20 36 63 20 37 20 38 20 3d 3 4c 5c 6c 7 8 =
0750: 20 32 62 20 33 62 20 34 62 20 35 20 36 62 20 37 2b 3b 4b 5 6b 7
0760: 62 20 38 62 20 3c 20 39 0a 7d 0a 6d 65 72 67 65 b 8b < 9.}.merge
0770: 2d 74 65 73 74 20 31 30 30 31 20 7b 0a 20 20 31 -test 1001 {. 1
0780: 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20 39 2 3 4 5 6 7 8 9
0790: 0a 7d 20 7b 0a 20 20 31 20 32 62 20 33 62 20 34 .} {. 1 2b 3b 4
07a0: 20 35 20 36 20 37 62 20 38 62 20 39 0a 7d 20 7b 5 6 7b 8b 9.} {
07b0: 0a 20 20 31 20 32 20 33 20 34 63 20 35 63 20 36 . 1 2 3 4c 5c 6
07c0: 63 20 37 20 38 20 39 0a 7d 20 7b 0a 20 20 31 20 c 7 8 9.} {. 1
07d0: 32 62 20 33 62 20 34 63 20 35 63 20 36 63 20 37 2b 3b 4c 5c 6c 7
07e0: 62 20 38 62 20 39 0a 7d 20 7b 0a 20 20 31 20 32 b 8b 9.} {. 1 2
07f0: 62 20 33 62 20 34 63 20 35 63 20 36 63 20 37 62 b 3b 4c 5c 6c 7b
0800: 20 38 62 20 39 0a 7d 0a 6d 65 72 67 65 2d 74 65 8b 9.}.merge-te
0810: 73 74 20 31 30 30 32 20 7b 0a 20 20 32 20 33 20 st 1002 {. 2 3
0820: 34 20 35 20 36 20 37 20 38 0a 7d 20 7b 0a 20 20 4 5 6 7 8.} {.
0830: 32 62 20 33 62 20 34 62 20 35 20 36 62 20 37 62 2b 3b 4b 5 6b 7b
0840: 20 38 62 0a 7d 20 7b 0a 20 20 32 20 33 20 34 63 8b.} {. 2 3 4c
0850: 20 35 63 20 36 63 20 37 20 38 0a 7d 20 7b 0a 20 5c 6c 7 8.} {.
0860: 20 3e 20 32 62 20 33 62 20 34 62 20 35 20 36 62 > 2b 3b 4b 5 6b
0870: 20 37 62 20 38 62 20 3d 20 32 20 33 20 34 63 20 7b 8b = 2 3 4c
0880: 35 63 20 36 63 20 37 20 38 20 3c 0a 7d 20 7b 0a 5c 6c 7 8 <.} {.
0890: 20 20 3e 20 32 20 33 20 34 63 20 35 63 20 36 63 > 2 3 4c 5c 6c
08a0: 20 37 20 38 20 3d 20 32 62 20 33 62 20 34 62 20 7 8 = 2b 3b 4b
08b0: 35 20 36 62 20 37 62 20 38 62 20 3c 0a 7d 0a 6d 5 6b 7b 8b <.}.m
08c0: 65 72 67 65 2d 74 65 73 74 20 31 30 30 33 20 7b erge-test 1003 {
08d0: 0a 20 20 32 20 33 20 34 20 35 20 36 20 37 20 38 . 2 3 4 5 6 7 8
08e0: 0a 7d 20 7b 0a 20 20 32 62 20 33 62 20 34 20 35 .} {. 2b 3b 4 5
08f0: 20 36 20 37 62 20 38 62 0a 7d 20 7b 0a 20 20 32 6 7b 8b.} {. 2
0900: 20 33 20 34 63 20 35 63 20 36 63 20 37 20 38 0a 3 4c 5c 6c 7 8.
0910: 7d 20 7b 0a 20 20 32 62 20 33 62 20 34 63 20 35 } {. 2b 3b 4c 5
0920: 63 20 36 63 20 37 62 20 38 62 0a 7d 20 7b 0a 20 c 6c 7b 8b.} {.
0930: 20 32 62 20 33 62 20 34 63 20 35 63 20 36 63 20 2b 3b 4c 5c 6c
0940: 37 62 20 38 62 0a 7d 0a 7b 8b.}.