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) {