improvement78 Testcase, plus String arg for Error:DefineNoArgs.
This commit is contained in:
parent
81003fe276
commit
f98cb6c5d7
@ -34,7 +34,7 @@ pub enum Error {
|
||||
DefineNotFound(String),
|
||||
|
||||
#[error("Define must have argument")]
|
||||
DefineNoArgs,
|
||||
DefineNoArgs(String), // String is the macro identifier.
|
||||
|
||||
#[error("Exceed recursive limit")]
|
||||
ExceedRecursiveLimit,
|
||||
|
@ -942,7 +942,7 @@ fn resolve_text_macro_usage<T: AsRef<Path>, U: AsRef<Path>>(
|
||||
let mut arg_map = HashMap::new();
|
||||
|
||||
if !define.arguments.is_empty() && no_args {
|
||||
return Err(Error::DefineNoArgs);
|
||||
return Err(Error::DefineNoArgs(define.identifier.clone()));
|
||||
}
|
||||
|
||||
for (i, (arg, default)) in define.arguments.iter().enumerate() {
|
||||
@ -1065,6 +1065,22 @@ mod tests {
|
||||
);
|
||||
} // }}}
|
||||
|
||||
#[test]
|
||||
#[allow(non_snake_case)]
|
||||
fn err_DefineNoArgs() { // {{{
|
||||
match preprocess_usualargs("err_DefineNoArgs.sv").unwrap_err() {
|
||||
Error::DefineNoArgs(identifier) => {
|
||||
assert_eq!(
|
||||
identifier,
|
||||
String::from("A")
|
||||
);
|
||||
}
|
||||
_ => {
|
||||
panic!("Error::DefineNoArgs not raised.");
|
||||
}
|
||||
};
|
||||
} // }}}
|
||||
|
||||
#[test]
|
||||
#[allow(non_snake_case)]
|
||||
fn IEEE18002017_keywords_if2_13642005() { // {{{
|
||||
|
4
sv-parser-pp/testcases/err_DefineNoArgs.sv
Normal file
4
sv-parser-pp/testcases/err_DefineNoArgs.sv
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
`define A(a)
|
||||
`A // Macro called without required argument.
|
||||
|
Loading…
x
Reference in New Issue
Block a user