Patchwork [1,of,7,V2] test-revset: fix test vector for ordering issue of matching()

login
register
mail settings
Submitter Yuya Nishihara
Date June 3, 2016, 3:02 p.m.
Message ID <d200ad9058574d91a2b2.1464966144@mimosa>
Download mbox | patch
Permalink /patch/15372/
State Accepted
Commit de4a80a2b45c6fcae0948ac12872dd8a61ced26a
Headers show

Comments

Yuya Nishihara - June 3, 2016, 3:02 p.m.
# HG changeset patch
# User Yuya Nishihara <yuya@tcha.org>
# Date 1464958166 -32400
#      Fri Jun 03 21:49:26 2016 +0900
# Node ID d200ad9058574d91a2b2b7a438602cb34b03ddbe
# Parent  9ac309946df9e69bb73ded75f2fc5b84a4e785c2
test-revset: fix test vector for ordering issue of matching()

592e0beee8b0 fixed matching() to preserve the order of the input set, but
the test was incorrect. Given "A and B", "A" should be the input set to "B".
But thanks to our optimizer, the test expression was rewritten as
"(2 or 3 or 1) and matching(1 or 2 or 3)", therefore it was working well.

Since I'm going to fix the overall ordering issue, the test needs to be
adjusted to do the right thing.
Augie Fackler - June 6, 2016, 4:22 p.m.
On Sat, Jun 04, 2016 at 12:02:24AM +0900, Yuya Nishihara wrote:
> # HG changeset patch
> # User Yuya Nishihara <yuya@tcha.org>
> # Date 1464958166 -32400
> #      Fri Jun 03 21:49:26 2016 +0900
> # Node ID d200ad9058574d91a2b2b7a438602cb34b03ddbe
> # Parent  9ac309946df9e69bb73ded75f2fc5b84a4e785c2
> test-revset: fix test vector for ordering issue of matching()

I've taken this one, thanks.

>
> 592e0beee8b0 fixed matching() to preserve the order of the input set, but
> the test was incorrect. Given "A and B", "A" should be the input set to "B".
> But thanks to our optimizer, the test expression was rewritten as
> "(2 or 3 or 1) and matching(1 or 2 or 3)", therefore it was working well.
>
> Since I'm going to fix the overall ordering issue, the test needs to be
> adjusted to do the right thing.
>
> diff --git a/tests/test-revset.t b/tests/test-revset.t
> --- a/tests/test-revset.t
> +++ b/tests/test-revset.t
> @@ -1566,7 +1566,10 @@ we can use patterns when searching for t
>    0
>    $ log '4::8 - 8'
>    4
> -  $ log 'matching(1 or 2 or 3) and (2 or 3 or 1)'
> +
> +matching() should preserve the order of the input set:
> +
> +  $ log '(2 or 3 or 1) and matching(1 or 2 or 3)'
>    2
>    3
>    1
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Patch

diff --git a/tests/test-revset.t b/tests/test-revset.t
--- a/tests/test-revset.t
+++ b/tests/test-revset.t
@@ -1566,7 +1566,10 @@  we can use patterns when searching for t
   0
   $ log '4::8 - 8'
   4
-  $ log 'matching(1 or 2 or 3) and (2 or 3 or 1)'
+
+matching() should preserve the order of the input set:
+
+  $ log '(2 or 3 or 1) and matching(1 or 2 or 3)'
   2
   3
   1