tests: Allow attributes in swf_tests macro

Also ignore failing execution_order test
This commit is contained in:
Mike Welsh 2019-10-12 13:24:26 -07:00
parent 008581f1bd
commit 666075c651
1 changed files with 6 additions and 5 deletions

View File

@ -13,9 +13,10 @@ type Error = Box<dyn std::error::Error>;
// This macro generates test cases for a given list of SWFs. // This macro generates test cases for a given list of SWFs.
macro_rules! swf_tests { macro_rules! swf_tests {
($(($name:ident, $path:expr, $num_frames:literal),)*) => { ($($(#[$attr:meta])* ($name:ident, $path:expr, $num_frames:literal),)*) => {
$( $(
#[test] #[test]
$(#[$attr])*
fn $name() -> Result<(), Error> { fn $name() -> Result<(), Error> {
test_swf( test_swf(
concat!("tests/swfs/", $path, "/test.swf"), concat!("tests/swfs/", $path, "/test.swf"),
@ -23,8 +24,8 @@ macro_rules! swf_tests {
concat!("tests/swfs/", $path, "/output.txt"), concat!("tests/swfs/", $path, "/output.txt"),
) )
} }
)* )*
} };
} }
// List of SWFs to test. // List of SWFs to test.
@ -32,7 +33,7 @@ macro_rules! swf_tests {
// The test folder is a relative to core/tests/swfs // The test folder is a relative to core/tests/swfs
// Inside the folder is expected to be "test.swf" and "output.txt" with the correct output. // Inside the folder is expected to be "test.swf" and "output.txt" with the correct output.
swf_tests! { swf_tests! {
(execution_order, "avm1/execution_order", 3), #[ignore] (execution_order, "avm1/execution_order", 3),
(single_frame, "avm1/single_frame", 2), (single_frame, "avm1/single_frame", 2),
(looping, "avm1/looping", 6), (looping, "avm1/looping", 6),
(goto_advance1, "avm1/goto_advance1", 10), (goto_advance1, "avm1/goto_advance1", 10),