tests/test-copy2
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Mon, 16 Apr 2007 20:17:39 -0300
changeset 4359 2e3c54fb79a3
parent 3853 c0b449154a90
child 4374 de612b5f8d59
permissions -rwxr-xr-x
actually port simplemerge to hg - use bdiff instead of patiencediff; this is a larger change, since bdiff works on 2 multi-line strings, while patiencediff works on 2 lists; - rename the main class from Merge3 to Merge3Text and add a Merge3 class that derives from Merge3Text. This new Merge3 class has the same interface from the original class, so that the tests still work; - Merge3 uses util.binary to detect binary data and raises util.Abort instead of a specific exception; - don't use the @decorator syntax, to keep python2.3 compatibility; - the test uses unittest, which likes to print how long it took to run. This obviously doesn't play too well with hg's test suite, so we override time.time to fool unittest; - one test has a different (but still valid) output because of the different diff algorithm used; - the TestCase class used by bzr has some extras to help debugging. test-merge3.py used 2 of them: - log method to log some data - assertEqualDiff method to ease viewing diffs of diffs We add a dummy log method and use regular assertEquals instead of assertEqualDiff. - make simplemerge executable and add "#!/usr/bin/env python" header
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1117
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
     1
#!/bin/sh
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
     2
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
     3
hg init
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
     4
echo foo > foo
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
     5
hg add foo
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
     6
hg commit -m1 -d"0 0"
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
     7
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
     8
echo "# should show copy"
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
     9
hg copy foo bar
1168
235e0effa672 Fixed two tests to run with bourne shell.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1127
diff changeset
    10
hg debugstate|grep '^copy'
1117
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    11
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    12
echo "# shouldn't show copy"
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    13
hg commit -m2 -d"0 0"
1168
235e0effa672 Fixed two tests to run with bourne shell.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1127
diff changeset
    14
hg debugstate|grep '^copy'
1117
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    15
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    16
echo "# should match"
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1252
diff changeset
    17
hg debugindex .hg/store/data/foo.i
1117
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    18
hg debugrename bar
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    19
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    20
echo bleah > foo
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    21
echo quux > bar
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    22
hg commit -m3 -d"0 0"
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    23
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    24
echo "# should not be renamed"
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    25
hg debugrename bar
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    26
1249
a5355fa5e33a Fix up copy command to behave more like regular "cp".
Bryan O'Sullivan <bos@serpentine.com>
parents: 1168
diff changeset
    27
hg copy -f foo bar
1117
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    28
echo "# should show copy"
1168
235e0effa672 Fixed two tests to run with bourne shell.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1127
diff changeset
    29
hg debugstate|grep '^copy'
1117
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    30
hg commit -m3 -d"0 0"
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    31
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    32
echo "# should show no parents for tip"
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1252
diff changeset
    33
hg debugindex .hg/store/data/bar.i
1117
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    34
echo "# should match"
3853
c0b449154a90 switch to the .hg/store layout, fix the tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 1252
diff changeset
    35
hg debugindex .hg/store/data/foo.i
1117
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    36
hg debugrename bar
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    37
30ab5b8ee8ec fix some rename/copy bugs
mpm@selenic.com
parents:
diff changeset
    38
echo "# should show no copies"
1168
235e0effa672 Fixed two tests to run with bourne shell.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1127
diff changeset
    39
hg debugstate|grep '^copy'
1127
19b048da4da9 Fixed test-copy2 with only looking at copied files.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1117
diff changeset
    40
19b048da4da9 Fixed test-copy2 with only looking at copied files.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1117
diff changeset
    41
exit 0