From fb209003a8b9f1c52b2512391a74004b898e749c Mon Sep 17 00:00:00 2001 From: James Zern Date: Fri, 25 Sep 2015 20:31:45 -0700 Subject: 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 --- test/invalid_file_test.cc | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/test/invalid_file_test.cc b/test/invalid_file_test.cc index 129cd786f..f4241eb82 100644 --- a/test/invalid_file_test.cc +++ b/test/invalid_file_test.cc @@ -63,9 +63,22 @@ class InvalidFileTest 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(); } -- cgit v1.2.1