Mercurial > hg
annotate tests/test-eol-clone.t @ 33116:6c113a7dec52
tests: use the system hg for examining the local repository
Most test scripts use "hg" to interact with a temporary test repository.
However a few tests also want to run hg commands to interact with the local
repository containing the mercurial source code. Notably, many of the
test-check-* tests want to check local files and commit messages.
These tests were previously using the version of hg being tested to query the
source repository. However, this will fail if the source repository requires
extensions or other settings not supported by the version of mercurial being
tested. The source repository was typically initially cloned using the system
hg installation, so we should use the system hg installation to query it.
There was already a helpers-testrepo.sh script designed to help cope with
different requirements for the source repository versus the test repositories.
However, it only handled the evolve extension. This new behavior works with
any extensions that are different between the system installation and the test
installation.
author | Adam Simpkins <simpkins@fb.com> |
---|---|
date | Tue, 27 Jun 2017 17:24:31 -0700 |
parents | f2719b387380 |
children | eb586ed5d8ce |
rev | line source |
---|---|
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
1 Testing cloning with the EOL extension |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
2 |
13519
43b3b761d9d1
tests: don't overwrite HGRCPATH
Martin Geisler <mg@aragost.com>
parents:
12943
diff
changeset
|
3 $ cat >> $HGRCPATH <<EOF |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
4 > [extensions] |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
5 > eol = |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
6 > |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
7 > [eol] |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
8 > native = CRLF |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
9 > EOF |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
10 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
11 setup repository |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
12 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
13 $ hg init repo |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
14 $ cd repo |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
15 $ cat > .hgeol <<EOF |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
16 > [patterns] |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
17 > **.txt = native |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
18 > EOF |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
19 $ printf "first\r\nsecond\r\nthird\r\n" > a.txt |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
20 $ hg commit --addremove -m 'checkin' |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
21 adding .hgeol |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
22 adding a.txt |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
23 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
24 Clone |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
25 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
26 $ cd .. |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
27 $ hg clone repo repo-2 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
28 updating to branch default |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
29 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
30 $ cd repo-2 |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
31 $ cat a.txt |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
32 first\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
33 second\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
34 third\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
35 $ hg cat a.txt |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
36 first |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
37 second |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
38 third |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
39 $ hg remove .hgeol |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
40 $ hg commit -m 'remove eol' |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
41 $ hg push --quiet |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
42 $ cd .. |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
43 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
44 Test clone of repo with .hgeol in working dir, but no .hgeol in tip |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
45 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
46 $ hg clone repo repo-3 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
47 updating to branch default |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
48 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
49 $ cd repo-3 |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
50 |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
51 $ cat a.txt |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
52 first |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
53 second |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
54 third |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
55 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
56 Test clone of revision with .hgeol |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
57 |
12422
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
58 $ cd .. |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
59 $ hg clone -r 0 repo repo-4 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
60 adding changesets |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
61 adding manifests |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
62 adding file changes |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
63 added 1 changesets with 2 changes to 2 files |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
64 updating to branch default |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
65 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
66 $ cd repo-4 |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
67 $ cat .hgeol |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
68 [patterns] |
4263359f7eac
tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
69 **.txt = native |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
70 |
12943
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
71 $ cat a.txt |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
72 first\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
73 second\r (esc) |
7439ea4146f8
tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents:
12847
diff
changeset
|
74 third\r (esc) |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13521
diff
changeset
|
75 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13521
diff
changeset
|
76 $ cd .. |