forked from mirrors/gecko-dev
60 lines
1.4 KiB
JavaScript
60 lines
1.4 KiB
JavaScript
"use strict";
|
|
|
|
/* import-globals-from trr_common.js */
|
|
|
|
// Allow telemetry probes which may otherwise be disabled for some
|
|
// applications (e.g. Thunderbird).
|
|
Services.prefs.setBoolPref(
|
|
"toolkit.telemetry.testing.overrideProductsCheck",
|
|
true
|
|
);
|
|
|
|
const { TelemetryTestUtils } = ChromeUtils.importESModule(
|
|
"resource://testing-common/TelemetryTestUtils.sys.mjs"
|
|
);
|
|
|
|
function setup() {
|
|
h2Port = trr_test_setup();
|
|
runningODoHTests = false;
|
|
}
|
|
|
|
let TRR_OK = 1;
|
|
|
|
setup();
|
|
registerCleanupFunction(async () => {
|
|
trr_clear_prefs();
|
|
});
|
|
|
|
async function trrLookup(mode, rolloutMode) {
|
|
let hist = TelemetryTestUtils.getAndClearKeyedHistogram(
|
|
"TRR_SKIP_REASON_TRR_FIRST2"
|
|
);
|
|
|
|
if (rolloutMode) {
|
|
info("Testing doh-rollout.mode");
|
|
setModeAndURI(0, "doh?responseIP=2.2.2.2");
|
|
Services.prefs.setIntPref("doh-rollout.mode", rolloutMode);
|
|
} else {
|
|
setModeAndURI(mode, "doh?responseIP=2.2.2.2");
|
|
}
|
|
|
|
Services.dns.clearCache(true);
|
|
await new TRRDNSListener("test.example.com", "2.2.2.2");
|
|
let expectedKey = `(other)_${mode}`;
|
|
if (mode == 0) {
|
|
expectedKey = "(other)";
|
|
}
|
|
TelemetryTestUtils.assertKeyedHistogramValue(hist, expectedKey, TRR_OK, 1);
|
|
}
|
|
|
|
add_task(async function test_trr_lookup_mode_2() {
|
|
await trrLookup(2);
|
|
});
|
|
|
|
add_task(async function test_trr_lookup_mode_3() {
|
|
await trrLookup(3);
|
|
});
|
|
|
|
add_task(async function test_trr_lookup_mode_0() {
|
|
await trrLookup(0, 2);
|
|
});
|