ref: fb209003a8b9f1c52b2512391a74004b898e749c
parent: ce3f4ade670cf02e05998f4ca50e08736802f5e7
author: James Zern <[email protected]>
date: Fri Sep 25 16:31:45 EDT 2015
invalid_file_test: loosen error check w/tile-threading The serial decode check is too strict for tile-threaded decoding as there is no guarantee on the decode order nor which specific error will take precedence. Currently a tile-level error is not forwarded so the frame will simply be marked corrupt. Change-Id: I51cf1e39e44bedeac93746154b36a4ccb2f059b1
--- a/test/invalid_file_test.cc
+++ b/test/invalid_file_test.cc
@@ -63,9 +63,22 @@
EXPECT_NE(res, EOF) << "Read result data failed";
// Check results match.
- EXPECT_EQ(expected_res_dec, res_dec)
- << "Results don't match: frame number = " << video.frame_number()
- << ". (" << decoder->DecodeError() << ")";
+ const DecodeParam input = GET_PARAM(1);
+ if (input.threads > 1) {
+ // The serial decode check is too strict for tile-threaded decoding as
+ // there is no guarantee on the decode order nor which specific error
+ // will take precedence. Currently a tile-level error is not forwarded so
+ // the frame will simply be marked corrupt.
+ EXPECT_TRUE(res_dec == expected_res_dec ||
+ res_dec == VPX_CODEC_CORRUPT_FRAME)
+ << "Results don't match: frame number = " << video.frame_number()
+ << ". (" << decoder->DecodeError() << "). Expected: "
+ << expected_res_dec << " or " << VPX_CODEC_CORRUPT_FRAME;
+ } else {
+ EXPECT_EQ(expected_res_dec, res_dec)
+ << "Results don't match: frame number = " << video.frame_number()
+ << ". (" << decoder->DecodeError() << ")";
+ }
return !HasFailure();
}