tests/test-log-exthook.t
author Arseniy Alekseyev <aalekseyev@janestreet.com>
Fri, 26 Apr 2024 19:10:35 +0100
changeset 51626 865efc020c33
parent 48876 42d2b31cee0b
permissions -rw-r--r--
dirstate: remove the python-side whitelist of allowed matchers This whitelist is too permissive because it allows matchers that contain disallowed ones deep inside, for example through `intersectionmatcher`. It is also too restrictive because it doesn't pass through some of the matchers we support, such as `patternmatcher`. It's also unnecessary because unsupported matchers raise `FallbackError` and we fall back anyway. Making this change makes more of the tests use rust code path, and therefore subtly change behavior. For example, rust status in largefiles repos seems to have strange behavior.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33154
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     1
Test hg log changeset printer external hook
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     2
-------------------------------------------
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     3
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
     4
  $ cat > $TESTTMP/logexthook.py <<EOF
39657
2b9f315a4217 py3: use codecs.encode() to encode in rot-13 encoding
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 35888
diff changeset
     5
  > import codecs
33964
bfafd189edd9 tests: update test-log-exthook to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33154
diff changeset
     6
  > from mercurial import (
bfafd189edd9 tests: update test-log-exthook to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33154
diff changeset
     7
  >   commands,
35888
c8e2d6ed1f9e cmdutil: drop aliases for logcmdutil functions (API)
Yuya Nishihara <yuya@tcha.org>
parents: 33964
diff changeset
     8
  >   logcmdutil,
33964
bfafd189edd9 tests: update test-log-exthook to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33154
diff changeset
     9
  >   repair,
bfafd189edd9 tests: update test-log-exthook to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33154
diff changeset
    10
  > )
40441
005bc856e919 py3: port test-log-exthook.t to Python 3
Augie Fackler <augie@google.com>
parents: 39657
diff changeset
    11
  > def brot13(b):
005bc856e919 py3: port test-log-exthook.t to Python 3
Augie Fackler <augie@google.com>
parents: 39657
diff changeset
    12
  >     return codecs.encode(b.decode('utf8'), 'rot-13').encode('utf8')
33154
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    13
  > def rot13description(self, ctx):
40441
005bc856e919 py3: port test-log-exthook.t to Python 3
Augie Fackler <augie@google.com>
parents: 39657
diff changeset
    14
  >     description = ctx.description().strip().splitlines()[0]
005bc856e919 py3: port test-log-exthook.t to Python 3
Augie Fackler <augie@google.com>
parents: 39657
diff changeset
    15
  >     self.ui.write(b"%s:     %s\n" % (brot13(b"summary"),
005bc856e919 py3: port test-log-exthook.t to Python 3
Augie Fackler <augie@google.com>
parents: 39657
diff changeset
    16
  >                                      brot13(description)))
33154
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    17
  > def reposetup(ui, repo):
35888
c8e2d6ed1f9e cmdutil: drop aliases for logcmdutil functions (API)
Yuya Nishihara <yuya@tcha.org>
parents: 33964
diff changeset
    18
  >     logcmdutil.changesetprinter._exthook = rot13description
33154
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    19
  > EOF
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    20
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    21
Prepare the repository
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    22
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    23
  $ hg init empty
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    24
  $ cd empty
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    25
  $ touch ROOT
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    26
  $ hg commit -A -m "Root" ROOT
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    27
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    28
  $ touch a b c
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    29
  $ hg commit -A -m "Add A, B, C" a b c
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    30
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    31
Check the log
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    32
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    33
  $ hg log --config extensions.t=$TESTTMP/logexthook.py
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    34
  changeset:   1:70fc82b23320
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    35
  tag:         tip
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    36
  user:        test
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    37
  date:        Thu Jan 01 00:00:00 1970 +0000
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    38
  fhzznel:     Nqq N, O, P
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    39
  summary:     Add A, B, C
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    40
  
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    41
  changeset:   0:b00443a54871
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    42
  user:        test
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    43
  date:        Thu Jan 01 00:00:00 1970 +0000
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    44
  fhzznel:     Ebbg
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    45
  summary:     Root
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    46
  
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    47
Check that exthook is working with graph log too
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    48
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    49
  $ hg log -G --config extensions.t=$TESTTMP/logexthook.py
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    50
  @  changeset:   1:70fc82b23320
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    51
  |  tag:         tip
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    52
  |  user:        test
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    53
  |  date:        Thu Jan 01 00:00:00 1970 +0000
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    54
  |  fhzznel:     Nqq N, O, P
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    55
  |  summary:     Add A, B, C
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    56
  |
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    57
  o  changeset:   0:b00443a54871
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    58
     user:        test
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    59
     date:        Thu Jan 01 00:00:00 1970 +0000
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    60
     fhzznel:     Ebbg
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    61
     summary:     Root
4ecc6047d45f log: add an extension hook-point in changeset_printer
Boris Feld <boris.feld@octobus.net>
parents:
diff changeset
    62