tests/test-censor2.t
author Arseniy Alekseyev <aalekseyev@janestreet.com>
Thu, 11 Apr 2024 19:57:36 +0100
branchstable
changeset 51564 f5c367dc6541
parent 51270 ceeb8fa23cc8
permissions -rw-r--r--
tests: add tests and document expectations from visit_children_set in rust The tests this patch are adding have the form of formal spec in invariants::visit_children_set::holds, and then a series of checks that all examples must satisfy this formal spec. I tried to make the spec consistent with how this function is used and how it was originally conceived. This is in conflict with how it's documented in Rust. Some of the implementations also fail to implement this spec, which leads to bugs, in particular when complicated patterns are used with `hg status`.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49165
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     2
  > [censor]
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     3
  > policy=ignore
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     4
  > EOF
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     5
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     6
  $ mkdir r
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     7
  $ cd r
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     8
  $ hg init
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     9
  $ echo secret > target
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    10
  $ hg commit -Am "secret"
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    11
  adding target
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    12
  $ touch bystander
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    13
  $ hg commit -Am "innocent"
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    14
  adding bystander
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    15
  $ echo erased-secret > target
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    16
  $ hg commit -m "erased secret"
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    17
  $ hg censor target --config extensions.censor= -r ".^^"
51267
195ab99cf791 censor: inform the user that we are spending time checking heads
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 49166
diff changeset
    18
  checking for the censored content in 1 heads
51269
db121ddd171e censor: be more verbose about the other steps too
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51267
diff changeset
    19
  checking for the censored content in the working directory
51270
ceeb8fa23cc8 censor: accept multiple revision in a single call
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51269
diff changeset
    20
  censoring 1 file revisions
49165
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    21
  $ hg update ".^"
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    22
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    23
  $ cat target
72936be2a21b censor: demonstrate a bug
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    24
  $ hg update tip
49166
77b5a190571c censor: fix [hg update] away from a revision with censored files
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 49165
diff changeset
    25
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved