tests/test-no-symlinks.t
author Simon Sapin <simon.sapin@octobus.net>
Wed, 17 Feb 2021 20:49:53 +0100
changeset 47950 6961eca0b3ee
parent 39520 0612e4c6fda0
permissions -rw-r--r--
rhg: Port Python’s `ui.configlist` as `Config::get_list` This new method is not used yet outside of its own unit tests, so this changeset should make no observable change. The Rust parser implementation attempts to exactly replicate the behavior of the Python one, even in edge cases where that behavior is… surprising. New unit tests capture some of these edge cases. This started as a line-by-line port. The main changes are: * Pass around a parser mode enum instead of parser functions * Inline the whole parser into one function * Use `[u8]::get` which returns an `Option`, instead of indexing after explicitly checking the length. Differential Revision: https://phab.mercurial-scm.org/D11389
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 14116
diff changeset
     1
#require no-symlink
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     2
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     3
# The following script was used to create the bundle:
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     4
#
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     5
# hg init symlinks
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     6
# cd symlinks
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     7
# echo a > a
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     8
# mkdir d
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     9
# echo b > d/b
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    10
# ln -s a a.lnk
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    11
# ln -s d/b d/b.lnk
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    12
# hg ci -Am t
5089
9b5ae133bd5a test-no-symlinks: rename .bundle into .hg for consistency.
Patrick Mezard <pmezard@gmail.com>
parents: 5085
diff changeset
    13
# hg bundle --base null ../test-no-symlinks.hg
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    14
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    15
Extract a symlink on a platform not supporting them
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    16
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    17
  $ hg init t
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    18
  $ cd t
14116
cd3032437064 tests: move test bundles in a bundles/ subdirectory
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12917
diff changeset
    19
  $ hg pull -q "$TESTDIR/bundles/test-no-symlinks.hg"
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    20
  $ hg update
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    21
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    22
  $ cat a.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    23
  a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    24
  $ cat d/b.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    25
  d/b
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    26
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    27
Copy a symlink and move another
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    28
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    29
  $ hg copy a.lnk d/a2.lnk
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    30
  $ hg mv d/b.lnk b2.lnk
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    31
  $ hg ci -Am copy
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    32
  $ cat d/a2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    33
  a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    34
  $ cat b2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    35
  d/b
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    36
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    37
Bundle and extract again
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    38
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    39
  $ hg bundle --base null ../symlinks.hg
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    40
  2 changesets found
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    41
  $ cd ..
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    42
  $ hg init t2
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    43
  $ cd t2
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    44
  $ hg pull ../symlinks.hg
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    45
  pulling from ../symlinks.hg
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    46
  requesting all changes
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    47
  adding changesets
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    48
  adding manifests
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    49
  adding file changes
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    50
  added 2 changesets with 6 changes to 6 files
39520
0612e4c6fda0 tests: stabilize test-no-symlink
Matt Harbison <matt_harbison@yahoo.com>
parents: 34814
diff changeset
    51
  new changesets d326ae2d01ee:71d85cf3ba90 (2 drafts)
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    52
  (run 'hg update' to get a working copy)
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    53
  $ hg update
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    54
  5 files updated, 0 files merged, 0 files removed, 0 files unresolved
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    55
  $ cat a.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    56
  a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    57
  $ cat d/a2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    58
  a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    59
  $ cat b2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    60
  d/b