tests/test-convert-darcs
author Matt Mackall <mpm@selenic.com>
Mon, 12 Oct 2009 14:52:53 -0500
changeset 9582 a25af3af941c
parent 9527 b3c13e721593
child 10119 bb5ea66789e3
permissions -rwxr-xr-x
tests: add -k to test scripts matching keywords argument is a space-separated list of keywords that are searched for in the name and body of each test. This makes it easy to run only tests related to tags, hgweb, revert, etc. (eg -k "tag hgweb revert").
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5413
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     2
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     3
"$TESTDIR/hghave" darcs || exit 80
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     4
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     5
echo "[extensions]" >> $HGRCPATH
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     6
echo "convert=" >> $HGRCPATH
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     7
echo 'hgext.graphlog =' >> $HGRCPATH
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     8
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     9
DARCS_EMAIL='test@example.org'; export DARCS_EMAIL
9525
2299c421a98e Fix failing darcs test
Bryan O'Sullivan <bos@serpentine.com>
parents: 8523
diff changeset
    10
HOME=`pwd`/do_not_use_HOME_darcs; export HOME
5413
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    11
5520
cc3af86ab6fe test-convert-darcs: skip if we can't find the elementtree module
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5442
diff changeset
    12
# skip if we can't import elementtree
cc3af86ab6fe test-convert-darcs: skip if we can't find the elementtree module
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5442
diff changeset
    13
mkdir dummy
cc3af86ab6fe test-convert-darcs: skip if we can't find the elementtree module
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5442
diff changeset
    14
mkdir dummy/_darcs
cc3af86ab6fe test-convert-darcs: skip if we can't find the elementtree module
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5442
diff changeset
    15
if hg convert dummy 2>&1 | grep ElementTree > /dev/null; then
5685
57d29a45ffbc Use skipped: instead of hghave: for skipping tests, use this in test-merge-types
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5667
diff changeset
    16
    echo 'skipped: missing feature: elementtree module'
5520
cc3af86ab6fe test-convert-darcs: skip if we can't find the elementtree module
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5442
diff changeset
    17
    exit 80
cc3af86ab6fe test-convert-darcs: skip if we can't find the elementtree module
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5442
diff changeset
    18
fi
cc3af86ab6fe test-convert-darcs: skip if we can't find the elementtree module
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5442
diff changeset
    19
5413
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    20
echo % initialize darcs repo
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    21
mkdir darcs-repo
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    22
cd darcs-repo
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    23
darcs init
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    24
echo a > a
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    25
darcs record -a -l -m p0
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    26
cd ..
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    27
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    28
echo % branch and update
5667
f29b7c8419cb Fix test-convert-darcs output on Debian etch (issue779)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5520
diff changeset
    29
darcs get darcs-repo darcs-clone >/dev/null
5413
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    30
cd darcs-clone
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    31
echo c >> a
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    32
echo c > c
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    33
darcs record -a -l -m p1.1
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    34
cd ..
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    35
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    36
echo % update source
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    37
cd darcs-repo
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    38
echo b >> a
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    39
echo b > b
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    40
darcs record -a -l -m p1.2
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    41
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    42
echo % merge branch
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    43
darcs pull -a ../darcs-clone
9525
2299c421a98e Fix failing darcs test
Bryan O'Sullivan <bos@serpentine.com>
parents: 8523
diff changeset
    44
sleep 1
5413
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    45
echo e > a
9526
457a30ed8ffb convert/darcs: fix file renaming (issue1853)
Patrick Mezard <pmezard@gmail.com>
parents: 9525
diff changeset
    46
echo f > f
9527
b3c13e721593 convert/darcs: handle directory renaming
Patrick Mezard <pmezard@gmail.com>
parents: 9526
diff changeset
    47
mkdir dir
b3c13e721593 convert/darcs: handle directory renaming
Patrick Mezard <pmezard@gmail.com>
parents: 9526
diff changeset
    48
echo d > dir/d
b3c13e721593 convert/darcs: handle directory renaming
Patrick Mezard <pmezard@gmail.com>
parents: 9526
diff changeset
    49
echo d > dir/d2
5413
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    50
darcs record -a -l -m p2
9526
457a30ed8ffb convert/darcs: fix file renaming (issue1853)
Patrick Mezard <pmezard@gmail.com>
parents: 9525
diff changeset
    51
457a30ed8ffb convert/darcs: fix file renaming (issue1853)
Patrick Mezard <pmezard@gmail.com>
parents: 9525
diff changeset
    52
echo % test file and directory move
457a30ed8ffb convert/darcs: fix file renaming (issue1853)
Patrick Mezard <pmezard@gmail.com>
parents: 9525
diff changeset
    53
darcs mv f ff
9527
b3c13e721593 convert/darcs: handle directory renaming
Patrick Mezard <pmezard@gmail.com>
parents: 9526
diff changeset
    54
# Test remove + move
b3c13e721593 convert/darcs: handle directory renaming
Patrick Mezard <pmezard@gmail.com>
parents: 9526
diff changeset
    55
darcs remove dir/d2
b3c13e721593 convert/darcs: handle directory renaming
Patrick Mezard <pmezard@gmail.com>
parents: 9526
diff changeset
    56
rm dir/d2
b3c13e721593 convert/darcs: handle directory renaming
Patrick Mezard <pmezard@gmail.com>
parents: 9526
diff changeset
    57
darcs mv dir dir2
9526
457a30ed8ffb convert/darcs: fix file renaming (issue1853)
Patrick Mezard <pmezard@gmail.com>
parents: 9525
diff changeset
    58
darcs record -a -l -m p3
5413
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    59
cd ..
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    60
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    61
glog()
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    62
{
8523
5b7da468531b tests: replace #...# syntax with {...}
Martin Geisler <mg@lazybytes.net>
parents: 7425
diff changeset
    63
    hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
5413
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    64
}
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    65
9525
2299c421a98e Fix failing darcs test
Bryan O'Sullivan <bos@serpentine.com>
parents: 8523
diff changeset
    66
hg convert darcs-repo darcs-repo-hg
5413
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    67
# The converter does not currently handle patch conflicts very well.
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    68
# When they occur, it reverts *all* changes and moves forward,
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    69
# letting the conflict resolving patch fix collisions.
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    70
# Unfortunately, non-conflicting changes, like the addition of the
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    71
# "c" file in p1.1 patch are reverted too.
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    72
# Just to say that manifest not listing "c" here is a bug.
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    73
glog -R darcs-repo-hg
6799
12d1e1e79faf Fix tests failures introduced by 7239e06e58e9
Patrick Mezard <pmezard@gmail.com>
parents: 5685
diff changeset
    74
hg up -q -R darcs-repo-hg
5413
719fd175181f Test darcs converter
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    75
hg -R darcs-repo-hg manifest --debug