@@ -147,48 +147,18 @@ def concat_multi_lines(f):
147
147
print_err (lineno , line , "Trailing backslash at the end of the file" )
148
148
149
149
150
- def get_known_directive_names ():
151
- def filter_line (line ):
152
- line = line .strip ()
153
- return line .startswith ('"' ) and (line .endswith ('",' ) or line .endswith ('"' ))
154
-
155
- # Equivalent to `src/tools/compiletest/src/header.rs` constant of the same name.
156
- with open (
157
- os .path .join (
158
- # We go back to `src`.
159
- os .path .dirname (os .path .dirname (__file__ )),
160
- "tools/compiletest/src/directive-list.rs" ,
161
- ),
162
- "r" ,
163
- encoding = "utf8" ,
164
- ) as fd :
165
- content = fd .read ()
166
- return [
167
- line .strip ().replace ('",' , "" ).replace ('"' , "" )
168
- for line in content .split ("\n " )
169
- if filter_line (line )
170
- ]
171
-
172
-
173
- # To prevent duplicating the list of commmands between `compiletest` and `htmldocck`, we put
174
- # it into a common file which is included in rust code and parsed here.
175
- # FIXME: This setup is temporary until we figure out how to improve this situation.
176
- # See <https://github.com/rust-lang/rust/issues/125813#issuecomment-2141953780>.
177
- KNOWN_DIRECTIVE_NAMES = get_known_directive_names ()
178
-
179
150
LINE_PATTERN = re .compile (
180
151
r"""
181
152
//@\s+
182
- (?P<negated>!?)(?P<cmd>[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*)
153
+ (?P<negated>!?)(?P<cmd>.+?)
154
+ [\s:]
183
155
(?P<args>.*)$
184
156
""" ,
185
157
re .X | re .UNICODE ,
186
158
)
187
159
188
160
DEPRECATED_LINE_PATTERN = re .compile (
189
- r"""
190
- //\s+@
191
- """ ,
161
+ r"//\s+@" ,
192
162
re .X | re .UNICODE ,
193
163
)
194
164
@@ -209,12 +179,7 @@ def get_commands(template):
209
179
210
180
cmd = m .group ("cmd" )
211
181
negated = m .group ("negated" ) == "!"
212
- if not negated and cmd in KNOWN_DIRECTIVE_NAMES :
213
- continue
214
182
args = m .group ("args" )
215
- if args and not args [:1 ].isspace ():
216
- print_err (lineno , line , "Invalid template syntax" )
217
- continue
218
183
try :
219
184
args = shlex .split (args )
220
185
except UnicodeEncodeError :
@@ -632,14 +597,10 @@ def check_command(c, cache):
632
597
else :
633
598
raise InvalidCheck ("Invalid number of {} arguments" .format (c .cmd ))
634
599
635
- elif c .cmd == "valid-html" :
636
- raise InvalidCheck ("Unimplemented valid-html" )
637
-
638
- elif c .cmd == "valid-links" :
639
- raise InvalidCheck ("Unimplemented valid-links" )
640
-
641
600
else :
642
- raise InvalidCheck ("Unrecognized {}" .format (c .cmd ))
601
+ # Ignore unknown directives, they might be compiletest directives.
602
+ # In any case, compiletest rejects unknown directives for us.
603
+ return
643
604
644
605
if ret == c .negated :
645
606
raise FailedCheck (cerr )
0 commit comments