tests/test-status-eacces.t
author Arseniy Alekseyev <aalekseyev@janestreet.com>
Thu, 15 Feb 2024 15:21:43 +0000
branchstable
changeset 51388 cb5175edd225
parent 50295 86d2a28c018e
child 51953 fdb1971bf634
permissions -rw-r--r--
cext: fix potential memory leaks of list items appended with PyList_Append Also reduce the duplication in the tricky code that uses PyList_Append by extracting it into a function `pylist_append_owned`.

#testcases dirstate-v1 dirstate-v2

#if dirstate-v2
  $ cat >> $HGRCPATH << EOF
  > [format]
  > use-dirstate-v2=1
  > [storage]
  > dirstate-v2.slow-path=allow
  > EOF
#endif


The proliferation of status implementations can be confusing:
- The pure python implementation:
(no-rhg pure !)
- The C implementation:
(no-rhg no-rust no-pure !)
- The two rust implementations:
(rhg !)
(no-rhg rust !)

  $ hg init repo1
  $ cd repo1
  $ mkdir d1
  $ touch d1/x
  $ hg commit -Am.
  adding d1/x
  $ touch d1/y
  $ chmod -r d1
  $ hg status
  d1: $EACCES$
  ! d1/x (rhg !)
  ! d1/x (no-rhg rust !)
  $ hg status
  d1: $EACCES$
  ! d1/x (rust !)
  ! d1/x (no-rust rhg !)
  $ chmod +r d1
  $ hg status
  ? d1/y

  $ touch d1/z
  $ hg status
  ? d1/y
  ? d1/z