tests/test-convert
author Nicolas Dumazet <nicdumz.commits@gmail.com>
Fri, 11 Dec 2009 15:58:09 +0900
changeset 10090 a3ad96ead8f0
parent 9962 a7178eccf2dc
child 10577 d5bd1beff794
permissions -rwxr-xr-x
inotify: do not rely on stat(.hg/dirstate) to invalidate our dirstate stat() is not reliable when several events happen quickly. Which means that if two hg actions occur in the same second, stat() result will not reflect the second change. And only _one_ invalidate() call was done. Also ignore the events that occur when wlock is held, since wlock release will trigger a full rescan anyway. Fixes 17 run-tests.py --inotify tests.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5015
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     1
#!/bin/sh
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     2
5556
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5441
diff changeset
     3
cat >> $HGRCPATH <<EOF
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5441
diff changeset
     4
[extensions]
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5441
diff changeset
     5
convert=
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5441
diff changeset
     6
[convert]
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5441
diff changeset
     7
hg.saverev=False
61fdf2558c0a convert: some tidyups, doc improvements, and test fixes
Bryan O'Sullivan <bos@serpentine.com>
parents: 5441
diff changeset
     8
EOF
5015
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     9
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    10
hg help convert
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    11
5015
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    12
hg init a
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    13
cd a
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    14
echo a > a
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    15
hg ci -d'0 0' -Ama
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    16
hg cp a b
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    17
hg ci -d'1 0' -mb
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    18
hg rm a
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    19
hg ci -d'2 0' -mc
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    20
hg mv b a
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    21
hg ci -d'3 0' -md
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    22
echo a >> a
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    23
hg ci -d'4 0' -me
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    24
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    25
cd ..
5028
36e8983fe44d test-convert: Hide warning about missing subversion bindings.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5015
diff changeset
    26
hg convert a 2>&1 | grep -v 'subversion python bindings could not be loaded'
5015
cb100605a516 convert: add test
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    27
hg --cwd a-hg pull ../a
5441
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    28
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    29
touch bogusfile
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    30
echo % should fail
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    31
hg convert a bogusfile
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    32
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    33
mkdir bogusdir
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    34
chmod 000 bogusdir
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    35
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    36
echo % should fail
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    37
hg convert a bogusdir
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    38
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    39
echo % should succeed
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    40
chmod 700 bogusdir
71e7c86adcb7 convert: refactor sink initialisation, to remove hardcoding of hg
Bryan O'Sullivan <bos@serpentine.com>
parents: 5028
diff changeset
    41
hg convert a bogusdir
5805
e422305e0853 test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com>
parents: 5556
diff changeset
    42
e422305e0853 test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com>
parents: 5556
diff changeset
    43
echo % test pre and post conversion actions
e422305e0853 test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com>
parents: 5556
diff changeset
    44
echo 'include b' > filemap
e422305e0853 test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com>
parents: 5556
diff changeset
    45
hg convert --debug --filemap filemap a partialb | \
e422305e0853 test-convert: test before() and after() conversion actions
Patrick Mezard <pmezard@gmail.com>
parents: 5556
diff changeset
    46
    grep 'run hg'
7905
d596b1f2935a convert: missing p4 tool is only slightly fatal
Mads Kiilerich <mads@kiilerich.com>
parents: 5805
diff changeset
    47
d596b1f2935a convert: missing p4 tool is only slightly fatal
Mads Kiilerich <mads@kiilerich.com>
parents: 5805
diff changeset
    48
echo % converting empty dir should fail "nicely"
d596b1f2935a convert: missing p4 tool is only slightly fatal
Mads Kiilerich <mads@kiilerich.com>
parents: 5805
diff changeset
    49
mkdir emptydir
8674
0941ee76489e run-tests: redefine --with-hg so it takes the 'hg' script to run.
Greg Ward <greg-hg@gerg.ca>
parents: 7905
diff changeset
    50
# override $PATH to ensure p4 not visible; use $PYTHON in case we're
0941ee76489e run-tests: redefine --with-hg so it takes the 'hg' script to run.
Greg Ward <greg-hg@gerg.ca>
parents: 7905
diff changeset
    51
# running from a devel copy, not a temp installation
0941ee76489e run-tests: redefine --with-hg so it takes the 'hg' script to run.
Greg Ward <greg-hg@gerg.ca>
parents: 7905
diff changeset
    52
PATH=$BINDIR $PYTHON $BINDIR/hg convert emptydir 2>&1 | sed 's,file://.*/emptydir,.../emptydir,g'
9962
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 8674
diff changeset
    53
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 8674
diff changeset
    54
echo % convert with imaginary source type
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 8674
diff changeset
    55
hg convert --source-type foo a a-foo
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 8674
diff changeset
    56
echo % convert with imaginary sink type
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 8674
diff changeset
    57
hg convert --dest-type foo a a-foo
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 8674
diff changeset
    58
a7178eccf2dc convert: better error on invalid repository type
Patrick Mezard <pmezard@gmail.com>
parents: 8674
diff changeset
    59
true