tests/test-status-eacces.t
author Matt Harbison <matt_harbison@yahoo.com>
Sun, 20 Aug 2023 17:05:52 -0400
changeset 50905 75b90a8eb168
parent 50295 86d2a28c018e
child 51989 fdb1971bf634
permissions -rw-r--r--
narrow: hoist a variable to a higher level to avoid use-before-init warning In practice, this shouldn't generate an IOError, so there wouldn't have been a problem. But PyCharm didn't know that.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
50293
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     1
#testcases dirstate-v1 dirstate-v2
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     2
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     3
#if dirstate-v2
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     4
  $ cat >> $HGRCPATH << EOF
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     5
  > [format]
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     6
  > use-dirstate-v2=1
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     7
  > [storage]
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     8
  > dirstate-v2.slow-path=allow
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
     9
  > EOF
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    10
#endif
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    11
50294
bae51b50a5cf dirstate-v2: fix an incorrect handling of readdir errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50293
diff changeset
    12
50293
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    13
The proliferation of status implementations can be confusing:
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    14
- The pure python implementation:
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    15
(no-rhg pure !)
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    16
- The C implementation:
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    17
(no-rhg no-rust no-pure !)
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    18
- The two rust implementations:
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    19
(rhg !)
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    20
(no-rhg rust !)
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    21
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    22
  $ hg init repo1
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    23
  $ cd repo1
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    24
  $ mkdir d1
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    25
  $ touch d1/x
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    26
  $ hg commit -Am.
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    27
  adding d1/x
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    28
  $ touch d1/y
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    29
  $ chmod -r d1
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    30
  $ hg status
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    31
  d1: $EACCES$
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    32
  ! d1/x (rhg !)
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    33
  ! d1/x (no-rhg rust !)
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    34
  $ hg status
50295
86d2a28c018e tests: simplify a bit
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50294
diff changeset
    35
  d1: $EACCES$
50294
bae51b50a5cf dirstate-v2: fix an incorrect handling of readdir errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50293
diff changeset
    36
  ! d1/x (rust !)
bae51b50a5cf dirstate-v2: fix an incorrect handling of readdir errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50293
diff changeset
    37
  ! d1/x (no-rust rhg !)
50293
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    38
  $ chmod +r d1
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    39
  $ hg status
50295
86d2a28c018e tests: simplify a bit
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents: 50294
diff changeset
    40
  ? d1/y
50293
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    41
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    42
  $ touch d1/z
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    43
  $ hg status
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    44
  ? d1/y
f1f3a8eb93a1 tests: demonstrate a bug in dirstate-v2 handling of errors
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
diff changeset
    45
  ? d1/z