@@ -21,6 +21,7 @@ fn metadata() {
21
21
sha256 = { type = "sha256" }
22
22
required = { type = "string", required = true }
23
23
optional = { type = "string" }
24
+ regexp = { type = "string", regexp = "(foo|bar)" }
24
25
"# ,
25
26
)
26
27
. unwrap ( ) ;
@@ -42,14 +43,14 @@ fn metadata() {
42
43
| --- required metadata `required` not found
43
44
|
44
45
warning[text_as_hex]: hex pattern could be written as text literal
45
- --> src/tests/testdata/foo.yar:9 :5
46
- |
47
- 9 | $foo_hex = { 66 6f 6f }
48
- | ---------------------
49
- | |
50
- | this pattern can be written as a text literal
51
- | help: replace with "foo"
52
- |
46
+ --> src/tests/testdata/foo.yar:10 :5
47
+ |
48
+ 10 | $foo_hex = { 66 6f 6f }
49
+ | ---------------------
50
+ | |
51
+ | this pattern can be written as a text literal
52
+ | help: replace with "foo"
53
+ |
53
54
"# ,
54
55
) ;
55
56
@@ -66,6 +67,7 @@ warning[text_as_hex]: hex pattern could be written as text literal
66
67
int = 3.14
67
68
float = "not a float"
68
69
string = true
70
+ regexp = "baz"
69
71
condition:
70
72
true
71
73
}"# ,
@@ -83,23 +85,36 @@ warning[text_as_hex]: hex pattern could be written as text literal
83
85
. stderr ( predicate:: str:: contains (
84
86
"warning[invalid_metadata]: metadata `md5` is not valid" ,
85
87
) )
88
+ . stderr ( predicate:: str:: contains ( "`md5` must be a MD5" ) )
86
89
. stderr ( predicate:: str:: contains (
87
90
"warning[invalid_metadata]: metadata `sha1` is not valid" ,
88
91
) )
92
+ . stderr ( predicate:: str:: contains ( "`sha1` must be a SHA-1" ) )
89
93
. stderr ( predicate:: str:: contains (
90
94
"warning[invalid_metadata]: metadata `sha256` is not valid" ,
91
95
) )
96
+ . stderr ( predicate:: str:: contains ( "`sha256` must be a SHA-256" ) )
92
97
. stderr ( predicate:: str:: contains (
93
98
"warning[invalid_metadata]: metadata `bool` is not valid" ,
94
99
) )
100
+ . stderr ( predicate:: str:: contains ( "`bool` must be a bool" ) )
95
101
. stderr ( predicate:: str:: contains (
96
102
"warning[invalid_metadata]: metadata `int` is not valid" ,
97
103
) )
104
+ . stderr ( predicate:: str:: contains ( "`int` must be an int" ) )
98
105
. stderr ( predicate:: str:: contains (
99
106
"warning[invalid_metadata]: metadata `float` is not valid" ,
100
107
) )
108
+ . stderr ( predicate:: str:: contains ( "`float` must be a float" ) )
101
109
. stderr ( predicate:: str:: contains (
102
110
"warning[invalid_metadata]: metadata `string` is not valid" ,
111
+ ) )
112
+ . stderr ( predicate:: str:: contains ( "`string` must be a string" ) )
113
+ . stderr ( predicate:: str:: contains (
114
+ "warning[invalid_metadata]: metadata `regexp` is not valid" ,
115
+ ) )
116
+ . stderr ( predicate:: str:: contains (
117
+ "`regexp` must be a string that matches `/(foo|bar)/`" ,
103
118
) ) ;
104
119
}
105
120
0 commit comments