Commit a75aa75b authored by John Delaney's avatar John Delaney Committed by Commit Bot

Reland "[conversions] Do not use a noise provider in debug_mode"

This is a reland of 87691864

This change was reverted on https://crrev.com/c/2199924 as it introduced
a flaky test. This was due to a simple error of passing "false" as
debug_mode to a test which expects "true".

This change fixes that and modifies the test a bit so that it is more
likely to flake. This is not much better, but the function being tested
is cheap so running it a bit more is not problematic.

Original change's description:
> [conversions] Do not use a noise provider in debug_mode
>
> Fixes flakes in ConversionsBrowsertest caused by a real noise
> provider being used on conversiondata.
>
> The ternary used to allocate a noise provider is backwards, and should
> use a null NoiseProvider in debug mode.
>
> Bug: 1082236,1082168,1082134
> Change-Id: Ibaa23ed16aaed1a80aa90f9e25a9ba8fd211f4bf
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2198367
> Reviewed-by: Charlie Harrison <csharrison@chromium.org>
> Commit-Queue: John Delaney <johnidel@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#768354}

Bug: 1082236, 1082168, 1082134
Change-Id: I04dcdf69cec5a1e18c0982ef63a0b013f6104e84
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2199925Reviewed-by: default avatarCharlie Harrison <csharrison@chromium.org>
Commit-Queue: John Delaney <johnidel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#768484}
parent 557cd0cf
......@@ -42,8 +42,8 @@ std::unique_ptr<ConversionPolicy> ConversionPolicy::CreateForTesting(
ConversionPolicy::ConversionPolicy(bool debug_mode)
: debug_mode_(debug_mode),
noise_provider_(debug_mode ? std::make_unique<NoiseProvider>()
: nullptr) {}
noise_provider_(debug_mode ? nullptr
: std::make_unique<NoiseProvider>()) {}
ConversionPolicy::ConversionPolicy(
std::unique_ptr<ConversionPolicy::NoiseProvider> noise_provider)
......
......@@ -73,6 +73,16 @@ TEST_F(ConversionPolicyTest, SantizizeConversionData_OutputHasNoise) {
->GetSanitizedConversionData(4UL));
}
// This test will fail flakily if noise is used.
TEST_F(ConversionPolicyTest, DebugMode_ConversionDataNotNoised) {
uint64_t conversion_data = 0UL;
for (int i = 0; i < 100; i++) {
EXPECT_EQ(base::NumberToString(conversion_data),
ConversionPolicy(true /* debug_mode */)
.GetSanitizedConversionData(conversion_data));
}
}
TEST_F(ConversionPolicyTest, NoExpiryForImpression_DefaultUsed) {
base::Time impression_time = base::Time::Now();
EXPECT_EQ(impression_time + base::TimeDelta::FromDays(30),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment