DatarateTestPsnr: Fix CONFIG_INTERNAL_STATS check CONFIG_INTERNAL_STATS is always defined (as 0 or 1), so the !defined(CONFIG_INTERNAL_STATS) check is not checking what is intended. We should check !CONFIG_INTERNAL_STATS instead. Add the expect_psnr_ boolean data member to indicate whether we expect had_psnr to be true or false in PostEncodeFrameHook(). Change-Id: I91366131d90fe6a68a3a4a8195495a459094ec6f
diff --git a/test/datarate_test.cc b/test/datarate_test.cc index 6a94cd5..22c10b2 100644 --- a/test/datarate_test.cc +++ b/test/datarate_test.cc
@@ -772,15 +772,20 @@ InitializeConfig(libaom_test::kRealTime); ResetModel(); frame_flags_ = AOM_EFLAG_CALCULATE_PSNR; + expect_psnr_ = true; } void PreEncodeFrameHook(::libaom_test::VideoSource *video, ::libaom_test::Encoder *encoder) override { DatarateTest::PreEncodeFrameHook(video, encoder); -#if !defined(CONFIG_INTERNAL_STATS) frame_flags_ ^= AOM_EFLAG_CALCULATE_PSNR; +#if CONFIG_INTERNAL_STATS + // CONFIG_INTERNAL_STATS unconditionally generates PSNR. + expect_psnr_ = true; +#else + expect_psnr_ = (frame_flags_ & AOM_EFLAG_CALCULATE_PSNR) != 0; #endif // CONFIG_INTERNAL_STATS if (video->img() == nullptr) { - frame_flags_ = 0; + expect_psnr_ = false; } } void PostEncodeFrameHook(::libaom_test::Encoder *encoder) override { @@ -791,9 +796,11 @@ if (pkt->kind == AOM_CODEC_PSNR_PKT) had_psnr = true; } - EXPECT_EQ(had_psnr, (frame_flags_ & AOM_EFLAG_CALCULATE_PSNR) == - AOM_EFLAG_CALCULATE_PSNR); + EXPECT_EQ(had_psnr, expect_psnr_); } + + private: + bool expect_psnr_; }; TEST_P(DatarateTestPsnr, PerFramePsnr) {