Merge pull request #7775 from github/nickrolfe/graph_test_ordering

Ruby/C#: more stable graph test ordering
This commit is contained in:
Nick Rolfe
2022-01-28 11:16:02 +00:00
committed by GitHub
6 changed files with 4356 additions and 4354 deletions

View File

@@ -894,7 +894,7 @@ module TestOutput {
p
order by
l.getFile().getBaseName(), l.getFile().getAbsolutePath(), l.getStartLine(),
l.getStartColumn()
l.getStartColumn(), l.getEndLine(), l.getEndColumn(), p.toString()
)
).toString()
}

View File

@@ -894,7 +894,7 @@ module TestOutput {
p
order by
l.getFile().getBaseName(), l.getFile().getAbsolutePath(), l.getStartLine(),
l.getStartColumn()
l.getStartColumn(), l.getEndLine(), l.getEndColumn(), p.toString()
)
).toString()
}

File diff suppressed because it is too large Load Diff

View File

@@ -10,34 +10,34 @@ regexp.rb:
# 5| [RegExpConstant, RegExpNormalChar] c
# 8| [RegExpConstant, RegExpNormalChar] a
# 8| [RegExpStar] a*
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
# 8| [RegExpConstant, RegExpNormalChar] a
# 8| [RegExpSequence] a*b+c?d
#-----| 0 -> [RegExpStar] a*
#-----| 1 -> [RegExpPlus] b+
#-----| 2 -> [RegExpOpt] c?
#-----| 3 -> [RegExpConstant, RegExpNormalChar] d
# 8| [RegExpConstant, RegExpNormalChar] b
# 8| [RegExpPlus] b+
#-----| 0 -> [RegExpConstant, RegExpNormalChar] b
# 8| [RegExpConstant, RegExpNormalChar] b
# 8| [RegExpConstant, RegExpNormalChar] c
# 8| [RegExpOpt] c?
#-----| 0 -> [RegExpConstant, RegExpNormalChar] c
# 8| [RegExpConstant, RegExpNormalChar] c
# 8| [RegExpConstant, RegExpNormalChar] d
# 9| [RegExpConstant, RegExpNormalChar] a
# 9| [RegExpRange] a{4,8}
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
# 9| [RegExpConstant, RegExpNormalChar] a
# 9| [RegExpNormalChar] 4
# 9| [RegExpNormalChar] ,
@@ -46,41 +46,37 @@ regexp.rb:
# 9| [RegExpNormalChar] }
# 10| [RegExpConstant, RegExpNormalChar] a
# 10| [RegExpRange] a{,8}
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
# 10| [RegExpConstant, RegExpNormalChar] a
# 10| [RegExpNormalChar] ,
# 10| [RegExpNormalChar] 8
# 10| [RegExpNormalChar] }
# 11| [RegExpConstant, RegExpNormalChar] a
# 11| [InfiniteRepetitionQuantifier, RegExpRange] a{3,}
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
# 11| [RegExpConstant, RegExpNormalChar] a
# 11| [RegExpNormalChar] 3
# 11| [RegExpNormalChar] ,
# 11| [RegExpNormalChar] }
# 12| [RegExpConstant, RegExpNormalChar] a
# 12| [RegExpRange] a{7}
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
# 12| [RegExpConstant, RegExpNormalChar] a
# 12| [RegExpNormalChar] 7
# 12| [RegExpNormalChar] }
# 15| [RegExpAlt] foo|bar
#-----| 0 -> [RegExpSequence] foo
#-----| 1 -> [RegExpSequence] bar
# 15| [RegExpConstant, RegExpNormalChar] f
# 15| [RegExpSequence] foo
@@ -88,6 +84,10 @@ regexp.rb:
#-----| 1 -> [RegExpConstant, RegExpNormalChar] o
#-----| 2 -> [RegExpConstant, RegExpNormalChar] o
# 15| [RegExpAlt] foo|bar
#-----| 0 -> [RegExpSequence] foo
#-----| 1 -> [RegExpSequence] bar
# 15| [RegExpConstant, RegExpNormalChar] o
# 15| [RegExpConstant, RegExpNormalChar] o
@@ -120,28 +120,28 @@ regexp.rb:
#-----| 2 -> [RegExpCharacterRange] 0-9
#-----| 3 -> [RegExpConstant, RegExpNormalChar] _
# 19| [RegExpConstant, RegExpNormalChar] a
# 19| [RegExpCharacterRange] a-f
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
#-----| 1 -> [RegExpConstant, RegExpNormalChar] f
# 19| [RegExpConstant, RegExpNormalChar] a
# 19| [RegExpConstant, RegExpNormalChar] f
# 19| [RegExpConstant, RegExpNormalChar] A
# 19| [RegExpCharacterRange] A-F
#-----| 0 -> [RegExpConstant, RegExpNormalChar] A
#-----| 1 -> [RegExpConstant, RegExpNormalChar] F
# 19| [RegExpConstant, RegExpNormalChar] A
# 19| [RegExpConstant, RegExpNormalChar] F
# 19| [RegExpConstant, RegExpNormalChar] 0
# 19| [RegExpCharacterRange] 0-9
#-----| 0 -> [RegExpConstant, RegExpNormalChar] 0
#-----| 1 -> [RegExpConstant, RegExpNormalChar] 9
# 19| [RegExpConstant, RegExpNormalChar] 0
# 19| [RegExpConstant, RegExpNormalChar] 9
# 19| [RegExpConstant, RegExpNormalChar] _
@@ -164,11 +164,11 @@ regexp.rb:
# 20| [RegExpConstant, RegExpNormalChar] -
# 20| [RegExpCharacterClassEscape] \d
# 20| [RegExpPlus] \d+
#-----| 0 -> [RegExpCharacterClassEscape] \d
# 20| [RegExpCharacterClassEscape] \d
# 21| [RegExpCharacterClass] [\w]
#-----| 0 -> [RegExpCharacterClassEscape] \w
@@ -200,12 +200,12 @@ regexp.rb:
# 23| [RegExpCharacterClass] [^A-Z]
#-----| 0 -> [RegExpCharacterRange] A-Z
# 23| [RegExpConstant, RegExpNormalChar] A
# 23| [RegExpCharacterRange] A-Z
#-----| 0 -> [RegExpConstant, RegExpNormalChar] A
#-----| 1 -> [RegExpConstant, RegExpNormalChar] Z
# 23| [RegExpConstant, RegExpNormalChar] A
# 23| [RegExpConstant, RegExpNormalChar] Z
# 24| [RegExpCharacterClass] []]
@@ -236,12 +236,12 @@ regexp.rb:
# 29| [RegExpConstant, RegExpNormalChar] [
# 29| [RegExpConstant, RegExpNormalChar] a
# 29| [RegExpCharacterRange] a-f
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
#-----| 1 -> [RegExpConstant, RegExpNormalChar] f
# 29| [RegExpConstant, RegExpNormalChar] a
# 29| [RegExpConstant, RegExpNormalChar] f
# 29| [RegExpConstant, RegExpNormalChar] A
@@ -252,21 +252,21 @@ regexp.rb:
# 29| [RegExpConstant, RegExpNormalChar] ]
# 32| [RegExpStar] .*
#-----| 0 -> [RegExpDot] .
# 32| [RegExpDot] .
# 33| [RegExpStar] .*
# 32| [RegExpStar] .*
#-----| 0 -> [RegExpDot] .
# 33| [RegExpDot] .
# 34| [RegExpPlus] \w+
#-----| 0 -> [RegExpCharacterClassEscape] \w
# 33| [RegExpStar] .*
#-----| 0 -> [RegExpDot] .
# 34| [RegExpCharacterClassEscape] \w
# 34| [RegExpPlus] \w+
#-----| 0 -> [RegExpCharacterClassEscape] \w
# 34| [RegExpSequence] \w+\W
#-----| 0 -> [RegExpPlus] \w+
#-----| 1 -> [RegExpCharacterClassEscape] \W
@@ -336,12 +336,12 @@ regexp.rb:
# 42| [RegExpSpecialChar] \B
# 45| [RegExpStar] (foo)*
#-----| 0 -> [RegExpGroup] (foo)
# 45| [RegExpGroup] (foo)
#-----| 0 -> [RegExpSequence] foo
# 45| [RegExpStar] (foo)*
#-----| 0 -> [RegExpGroup] (foo)
# 45| [RegExpSequence] (foo)*bar
#-----| 0 -> [RegExpStar] (foo)*
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
@@ -379,12 +379,12 @@ regexp.rb:
# 46| [RegExpGroup] (o|b)
#-----| 0 -> [RegExpAlt] o|b
# 46| [RegExpConstant, RegExpNormalChar] o
# 46| [RegExpAlt] o|b
#-----| 0 -> [RegExpConstant, RegExpNormalChar] o
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
# 46| [RegExpConstant, RegExpNormalChar] o
# 46| [RegExpConstant, RegExpNormalChar] b
# 46| [RegExpConstant, RegExpNormalChar] a
@@ -398,13 +398,13 @@ regexp.rb:
#-----| 0 -> [RegExpGroup] (a|b|cd)
#-----| 1 -> [RegExpConstant, RegExpNormalChar] e
# 47| [RegExpConstant, RegExpNormalChar] a
# 47| [RegExpAlt] a|b|cd
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
#-----| 1 -> [RegExpConstant, RegExpNormalChar] b
#-----| 2 -> [RegExpSequence] cd
# 47| [RegExpConstant, RegExpNormalChar] a
# 47| [RegExpConstant, RegExpNormalChar] b
# 47| [RegExpConstant, RegExpNormalChar] c
@@ -424,21 +424,21 @@ regexp.rb:
#-----| 0 -> [RegExpGroup] (?::+)
#-----| 1 -> [RegExpCharacterClassEscape] \w
# 48| [RegExpConstant, RegExpNormalChar] :
# 48| [RegExpPlus] :+
#-----| 0 -> [RegExpConstant, RegExpNormalChar] :
# 48| [RegExpConstant, RegExpNormalChar] :
# 48| [RegExpCharacterClassEscape] \w
# 51| [RegExpGroup] (?<id>\w+)
#-----| 0 -> [RegExpPlus] \w+
# 51| [RegExpCharacterClassEscape] \w
# 51| [RegExpPlus] \w+
#-----| 0 -> [RegExpCharacterClassEscape] \w
# 51| [RegExpCharacterClassEscape] \w
# 52| [RegExpGroup] (?'foo'fo+)
#-----| 0 -> [RegExpSequence] fo+
@@ -448,11 +448,11 @@ regexp.rb:
#-----| 0 -> [RegExpConstant, RegExpNormalChar] f
#-----| 1 -> [RegExpPlus] o+
# 52| [RegExpConstant, RegExpNormalChar] o
# 52| [RegExpPlus] o+
#-----| 0 -> [RegExpConstant, RegExpNormalChar] o
# 52| [RegExpConstant, RegExpNormalChar] o
# 55| [RegExpGroup] (a+)
#-----| 0 -> [RegExpPlus] a+
@@ -461,16 +461,16 @@ regexp.rb:
#-----| 1 -> [RegExpPlus] b+
#-----| 2 -> [RegExpBackRef] \1
# 55| [RegExpConstant, RegExpNormalChar] a
# 55| [RegExpPlus] a+
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
# 55| [RegExpConstant, RegExpNormalChar] a
# 55| [RegExpConstant, RegExpNormalChar] b
# 55| [RegExpPlus] b+
#-----| 0 -> [RegExpConstant, RegExpNormalChar] b
# 55| [RegExpConstant, RegExpNormalChar] b
# 55| [RegExpBackRef] \1
# 56| [RegExpGroup] (?<qux>q+)
@@ -481,16 +481,16 @@ regexp.rb:
#-----| 1 -> [RegExpPlus] \s+
#-----| 2 -> [RegExpPlus] \k<qux>+
# 56| [RegExpConstant, RegExpNormalChar] q
# 56| [RegExpPlus] q+
#-----| 0 -> [RegExpConstant, RegExpNormalChar] q
# 56| [RegExpConstant, RegExpNormalChar] q
# 56| [RegExpCharacterClassEscape] \s
# 56| [RegExpPlus] \s+
#-----| 0 -> [RegExpCharacterClassEscape] \s
# 56| [RegExpCharacterClassEscape] \s
# 56| [RegExpBackRef] \k<qux>
# 56| [RegExpPlus] \k<qux>+
@@ -526,12 +526,12 @@ regexp.rb:
# 62| [RegExpPlus] [a-f\p{Digit}]+
#-----| 0 -> [RegExpCharacterClass] [a-f\p{Digit}]
# 62| [RegExpConstant, RegExpNormalChar] a
# 62| [RegExpCharacterRange] a-f
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
#-----| 1 -> [RegExpConstant, RegExpNormalChar] f
# 62| [RegExpConstant, RegExpNormalChar] a
# 62| [RegExpConstant, RegExpNormalChar] f
# 62| [RegExpNamedCharacterProperty] \p{Digit}
@@ -563,22 +563,22 @@ regexp.rb:
#-----| 1 -> [RegExpNamedCharacterProperty] [:digit:]
#-----| 2 -> [RegExpCharacterRange] a-f
# 71| [RegExpConstant, RegExpNormalChar] A
# 71| [RegExpCharacterRange] A-F
#-----| 0 -> [RegExpConstant, RegExpNormalChar] A
#-----| 1 -> [RegExpConstant, RegExpNormalChar] F
# 71| [RegExpConstant, RegExpNormalChar] A
# 71| [RegExpConstant, RegExpNormalChar] F
# 71| [RegExpNamedCharacterProperty] [:digit:]
# 71| [RegExpConstant, RegExpNormalChar] a
# 71| [RegExpCharacterRange] a-f
#-----| 0 -> [RegExpConstant, RegExpNormalChar] a
#-----| 1 -> [RegExpConstant, RegExpNormalChar] f
# 71| [RegExpConstant, RegExpNormalChar] a
# 71| [RegExpConstant, RegExpNormalChar] f
# 74| [RegExpNamedCharacterProperty] [:digit:]

View File

@@ -13,10 +13,10 @@ query predicate nodes(RETV::RegExpTerm n, string attr, string val) {
val =
any(int i |
n =
rank[i](RETV::RegExpTerm t, string fp, int sl, int sc |
t.hasLocationInfo(fp, sl, sc, _, _)
rank[i](RETV::RegExpTerm t, string fp, int sl, int sc, int el, int ec |
t.hasLocationInfo(fp, sl, sc, el, ec)
|
t order by fp, sl, sc
t order by fp, sl, sc, el, ec, t.toString()
)
).toString()
}