[PATCH v2 compass-ci] src/lib/web_backend.rb: "/compare_candidates" tbox_group regex error

[error info] 1. /\d+$/ will be matched, such as "xxx123". 2. `index = "xxx123".index('--') || "xxx123".rindex('-')` - index equal nil. 3. `r = r[0, nil]` - raise a TypeError. Signed-off-by: Zhang Yuhang <zhangyuhang25@huawei.com> --- src/lib/web_backend.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/web_backend.rb b/src/lib/web_backend.rb index c3f6bef..55c5e4a 100644 --- a/src/lib/web_backend.rb +++ b/src/lib/web_backend.rb @@ -47,7 +47,7 @@ end def filter_tbox_group(es_result) result = Set.new es_result.each do |r| - if r =~ /(^.+--.+$)|(^vm-.*-\d\w*-([a-zA-Z]+)|(\d+)$)/ + if r =~ /(^.+--.+$)|(^vm-.*-\d\w*-(([a-zA-Z]+)|(\d+))$)/ index = r.index('--') || r.rindex('-') r = r[0, index] end -- 2.23.0

Can you use real example? Thanks, Jiaxin On Mon, Nov 02, 2020 at 09:26:35AM +0800, Zhang Yuhang wrote:
[error info] 1. /\d+$/ will be matched, such as "xxx123".
2. `index = "xxx123".index('--') || "xxx123".rindex('-')` - index equal nil.
3. `r = r[0, nil]` - raise a TypeError.
Signed-off-by: Zhang Yuhang <zhangyuhang25@huawei.com> --- src/lib/web_backend.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/web_backend.rb b/src/lib/web_backend.rb index c3f6bef..55c5e4a 100644 --- a/src/lib/web_backend.rb +++ b/src/lib/web_backend.rb @@ -47,7 +47,7 @@ end def filter_tbox_group(es_result) result = Set.new es_result.each do |r| - if r =~ /(^.+--.+$)|(^vm-.*-\d\w*-([a-zA-Z]+)|(\d+)$)/ + if r =~ /(^.+--.+$)|(^vm-.*-\d\w*-(([a-zA-Z]+)|(\d+))$)/ index = r.index('--') || r.rindex('-') r = r[0, index] end -- 2.23.0

On Mon, Nov 02, 2020 at 09:35:23AM +0800, Lin Jiaxin wrote:
Can you use real example?
Thanks, Jiaxin
For example, "tcmub1804". Thanks, Zhang Yuhang
On Mon, Nov 02, 2020 at 09:26:35AM +0800, Zhang Yuhang wrote:
[error info] 1. /\d+$/ will be matched, such as "xxx123".
2. `index = "xxx123".index('--') || "xxx123".rindex('-')` - index equal nil.
3. `r = r[0, nil]` - raise a TypeError.
Signed-off-by: Zhang Yuhang <zhangyuhang25@huawei.com> --- src/lib/web_backend.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/web_backend.rb b/src/lib/web_backend.rb index c3f6bef..55c5e4a 100644 --- a/src/lib/web_backend.rb +++ b/src/lib/web_backend.rb @@ -47,7 +47,7 @@ end def filter_tbox_group(es_result) result = Set.new es_result.each do |r| - if r =~ /(^.+--.+$)|(^vm-.*-\d\w*-([a-zA-Z]+)|(\d+)$)/ + if r =~ /(^.+--.+$)|(^vm-.*-\d\w*-(([a-zA-Z]+)|(\d+))$)/ index = r.index('--') || r.rindex('-') r = r[0, index] end -- 2.23.0

On Mon, Nov 02, 2020 at 09:26:35AM +0800, Zhang Yuhang wrote:
[error info] 1. /\d+$/ will be matched, such as "xxx123".
2. `index = "xxx123".index('--') || "xxx123".rindex('-')` - index equal nil.
3. `r = r[0, nil]` - raise a TypeError.
Signed-off-by: Zhang Yuhang <zhangyuhang25@huawei.com> --- src/lib/web_backend.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/web_backend.rb b/src/lib/web_backend.rb index c3f6bef..55c5e4a 100644 --- a/src/lib/web_backend.rb +++ b/src/lib/web_backend.rb @@ -47,7 +47,7 @@ end def filter_tbox_group(es_result) result = Set.new es_result.each do |r| - if r =~ /(^.+--.+$)|(^vm-.*-\d\w*-([a-zA-Z]+)|(\d+)$)/ + if r =~ /(^.+--.+$)|(^vm-.*-\d\w*-(([a-zA-Z]+)|(\d+))$)/
you'd better to give some comments, explain the meaning of the the rule. Thanks, Liushaofei
index = r.index('--') || r.rindex('-') r = r[0, index] end -- 2.23.0

On Mon, Nov 02, 2020 at 03:31:17PM +0800, Liu Shaofei wrote:
On Mon, Nov 02, 2020 at 09:26:35AM +0800, Zhang Yuhang wrote:
[error info] 1. /\d+$/ will be matched, such as "xxx123".
2. `index = "xxx123".index('--') || "xxx123".rindex('-')` - index equal nil.
3. `r = r[0, nil]` - raise a TypeError.
Signed-off-by: Zhang Yuhang <zhangyuhang25@huawei.com> --- src/lib/web_backend.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lib/web_backend.rb b/src/lib/web_backend.rb index c3f6bef..55c5e4a 100644 --- a/src/lib/web_backend.rb +++ b/src/lib/web_backend.rb @@ -47,7 +47,7 @@ end def filter_tbox_group(es_result) result = Set.new es_result.each do |r| - if r =~ /(^.+--.+$)|(^vm-.*-\d\w*-([a-zA-Z]+)|(\d+)$)/ + if r =~ /(^.+--.+$)|(^vm-.*-\d\w*-(([a-zA-Z]+)|(\d+))$)/
you'd better to give some comments, explain the meaning of the the rule. Thanks, Liushaofei
Above the function header has example comments. Thanks, Zhang Yuhang
index = r.index('--') || r.rindex('-') r = r[0, index] end -- 2.23.0
participants (3)
-
Lin Jiaxin
-
Liu Shaofei
-
Zhang Yuhang