tests: add an end-to-end test to show a bug in `visit_children_set` stable
authorArseniy Alekseyev <aalekseyev@janestreet.com>
Fri, 12 Apr 2024 13:48:38 +0100
branchstable
changeset 51565 95c083d21ac6
parent 51564 f5c367dc6541
child 51566 529a655874fb
tests: add an end-to-end test to show a bug in `visit_children_set` Concretely, `rootfilesin` is completely broken with respect to `visit_children_set` optimization.
tests/test-status.t
--- a/tests/test-status.t	Thu Apr 11 19:57:36 2024 +0100
+++ b/tests/test-status.t	Fri Apr 12 13:48:38 2024 +0100
@@ -842,6 +842,12 @@
   C clean
   C subdir/clean
 
+  $ hg status path:subdir
+  M subdir/modified
+  R subdir/removed
+  ! subdir/deleted
+  ? subdir/unknown
+
 FIXME: it's a bug in rhg that the status below is empty:
 
   $ hg status 'glob:subdir/*'
@@ -850,6 +856,14 @@
   ! subdir/deleted (no-rhg !)
   ? subdir/unknown (no-rhg !)
 
+FIXME: it's a bug (both in rhg and in Python) that the status below is wrong,
+in rhg it's empty, in Python it's missing the unknown file:
+
+  $ hg status rootfilesin:subdir
+  M subdir/modified (no-rhg !)
+  R subdir/removed (no-rhg !)
+  ! subdir/deleted (no-rhg !)
+
 Note: `hg status some-name` creates a patternmatcher which is not supported
 yet by the Rust implementation of status, but includematcher is supported.
 --include is used below for that reason