tests/test-admin-commands.t
author Georges Racinet <georges.racinet@octobus.net>
Sun, 29 Oct 2023 10:47:54 +0100
changeset 51262 578c049f0408
parent 50997 752c5a5b73c6
permissions -rw-r--r--
rust-index: using `hg::index::Index` in `hg-cpython::dagops` Hooking `headrevs` to the Rust index is straightforward as long as we go the `PySharedRef` way. Direct attempts of obtaining a reference to the inner `hg::index::Index` fail for lifetime reasons: the reference is bound to the GIL, yet the `as_set` local variable is considered to be static (the borrow checker clearly does not realize or care that this set only stores `Revision` values). In `rank()`, the chosen solution is the simplest as far as `hg-cpython` is concerned, but it has the defect of removing an implementation that would be easily adaptable if the core index did implement `RankedGraph` (returning the same error as long as only `REVLOGV1` is supported), but that would introduce a direct dependency of `hg-core` on the ``vcsgraph` crate.

Test admin::verify

  $ hg init admin-verify
  $ cd admin-verify

Test normal output

  $ hg admin::verify -c dirstate
  running 1 checks
  running working-copy.dirstate
  checking dirstate

Quiet works

  $ hg admin::verify -c dirstate --quiet

Test no check no options

  $ hg admin::verify
  abort: `checks` required
  [255]

Test single check without options

  $ hg admin::verify -c working-copy.dirstate
  running 1 checks
  running working-copy.dirstate
  checking dirstate

Test single check (alias) without options

  $ hg admin::verify -c dirstate
  running 1 checks
  running working-copy.dirstate
  checking dirstate

Test wrong check name without options

  $ hg admin::verify -c working-copy.dir
  abort: unknown check working-copy.dir
  (did you mean working-copy.dirstate?)
  [10]

Test wrong alias without options

  $ hg admin::verify -c dir
  abort: unknown check dir
  [10]