tests/test-repo-filters-tiptoe.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Sun, 17 Nov 2019 07:25:14 +0100
changeset 43758 09409a3fc3cc
parent 43756 3082ef682bc2
child 43759 1a415548794a
permissions -rw-r--r--
localrepo: recognize trivial "null" queries in `anyrev` Bypassing the revset logic for trivial "null" queries means we can avoid to trigger the filtering logic in some cases. Differential Revision: https://phab.mercurial-scm.org/D7481
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
43756
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     1
===================================
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     2
Test repository filtering avoidance
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     3
===================================
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     5
This test file is a bit special as he does not check feature, but performance related internal code path.
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     6
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     7
Right now, filtering a repository comes with a cost that might be significant.
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     8
Until this get better, ther are various operation that try hard not to trigger
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     9
a filtering computation. This test file make sure we don't reintroduce code that trigger the filtering for these operation:
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    10
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    11
Setup
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
-----
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    13
  $ hg init test-repo
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
  $ cd test-repo
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
  $ echo "some line" > z
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
  $ echo a > a
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
  $ hg commit -Am a
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    18
  adding a
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    19
  adding z
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    20
  $ echo "in a" >> z
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    21
  $ echo b > b
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    22
  $ hg commit -Am b
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    23
  adding b
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    24
  $ echo "file" >> z
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    25
  $ echo c > c
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    26
  $ hg commit -Am c
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    27
  adding c
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    28
  $ hg rm a
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    29
  $ echo c1 > c
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    30
  $ hg add c
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    31
  c already tracked!
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    32
  $ echo d > d
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    33
  $ hg add d
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    34
  $ rm b
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    35
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    36
  $ cat << EOF >> $HGRCPATH
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    37
  > [devel]
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    38
  > debug.repo-filters = yes
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    39
  > [ui]
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    40
  > debug = yes
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    41
  > EOF
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    42
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    43
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    44
tests
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    45
-----
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    46
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    47
Getting the node of `null`
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    48
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    49
  $ hg init test-repo
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    50
  $ cd test-repo
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    51
  $ hg log -r null -T "{node}\n"
3082ef682bc2 repoview: add a test to track operation not supposed to trigger filtering
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    52
  0000000000000000000000000000000000000000