tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit cefcc4a840eab813b8a4c436b7358562a7d8f313
parent 93abf1e4dc5f507a89fc22f915a06f3572583c70
Author: Charlie Humphreys <chumphreys@mozilla.com>
Date:   Mon,  1 Dec 2025 16:40:36 +0000

Bug 2001545: Fix permanent artifact build test failure by skipping Labeled metric JS test on artifact builds. r=chutten,toolkit-telemetry-reviewers

Differential Revision: https://phabricator.services.mozilla.com/D274601

Diffstat:
Mtoolkit/components/glean/tests/xpcshell/test_Glean.js | 232+++++++++++++++++++++++++++++++++++++++++--------------------------------------
1 file changed, 120 insertions(+), 112 deletions(-)

diff --git a/toolkit/components/glean/tests/xpcshell/test_Glean.js b/toolkit/components/glean/tests/xpcshell/test_Glean.js @@ -983,134 +983,142 @@ add_task(function test_dual_labeled_counter_works() { ); }); -add_task(async function test_labeled_metrics_test_get_value_works() { - Services.fog.testResetFOG(); +add_task( + { + skip_if: () => + Services.prefs.getBoolPref("telemetry.fog.artifact_build", true), + }, + async function test_labeled_metrics_test_get_value_works() { + Services.fog.testResetFOG(); - // LabeledBoolean - Glean.testOnly.mabelsLikeBalloons.test1.set(true); - Glean.testOnly.mabelsLikeBalloons.test2.set(false); + // LabeledBoolean + Glean.testOnly.mabelsLikeBalloons.test1.set(true); + Glean.testOnly.mabelsLikeBalloons.test2.set(false); - const booleanValue = Glean.testOnly.mabelsLikeBalloons.testGetValue(); - Assert.deepEqual( - { - test1: true, - test2: false, - }, - booleanValue - ); + const booleanValue = Glean.testOnly.mabelsLikeBalloons.testGetValue(); + Assert.deepEqual( + { + test1: true, + test2: false, + }, + booleanValue + ); - // LabeledCounter - Glean.testOnly.mabelsLabeledCounters.clean.add(1); + // LabeledCounter + Glean.testOnly.mabelsLabeledCounters.clean.add(1); - const counterValue = Glean.testOnly.mabelsLabeledCounters.testGetValue(); - Assert.deepEqual( - { - clean: 1, - }, - counterValue - ); + const counterValue = Glean.testOnly.mabelsLabeledCounters.testGetValue(); + Assert.deepEqual( + { + clean: 1, + }, + counterValue + ); - // LabeledString - Glean.testOnly.mabelsBalloonStrings.test.set("string!"); + // LabeledString + Glean.testOnly.mabelsBalloonStrings.test.set("string!"); - const stringValue = Glean.testOnly.mabelsBalloonStrings.testGetValue(); - Assert.deepEqual( - { - test: "string!", - }, - stringValue - ); + const stringValue = Glean.testOnly.mabelsBalloonStrings.testGetValue(); + Assert.deepEqual( + { + test: "string!", + }, + stringValue + ); - // LabeledQuantity - Glean.testOnly.buttonJars.up.set(1); - Glean.testOnly.buttonJars.curling.set(10); + // LabeledQuantity + Glean.testOnly.buttonJars.up.set(1); + Glean.testOnly.buttonJars.curling.set(10); - const quantityValue = Glean.testOnly.buttonJars.testGetValue(); - Assert.deepEqual( - { - up: 1, - curling: 10, - }, - quantityValue - ); + const quantityValue = Glean.testOnly.buttonJars.testGetValue(); + Assert.deepEqual( + { + up: 1, + curling: 10, + }, + quantityValue + ); - // LabeledCustomDistribution - Glean.testOnly.mabelsCustomLabelLengths.monospace.accumulateSamples([1, 42]); - Glean.testOnly.mabelsCustomLabelLengths.sanserif.accumulateSingleSample(13); + // LabeledCustomDistribution + Glean.testOnly.mabelsCustomLabelLengths.monospace.accumulateSamples([ + 1, 42, + ]); + Glean.testOnly.mabelsCustomLabelLengths.sanserif.accumulateSingleSample(13); - const customDistributionValue = - Glean.testOnly.mabelsCustomLabelLengths.testGetValue(); - Assert.deepEqual( - { - monospace: { - count: 2, - sum: 43, - values: { - 1: 2, + const customDistributionValue = + Glean.testOnly.mabelsCustomLabelLengths.testGetValue(); + Assert.deepEqual( + { + monospace: { + count: 2, + sum: 43, + values: { + 1: 2, + }, }, - }, - sanserif: { - count: 1, - sum: 13, - values: { - 1: 1, + sanserif: { + count: 1, + sum: 13, + values: { + 1: 1, + }, }, }, - }, - customDistributionValue - ); + customDistributionValue + ); - // LabeledMemoryDistribution - Glean.testOnly.whatDoYouRemember.twenty_years_ago.accumulate(7); - Glean.testOnly.whatDoYouRemember.twenty_years_ago.accumulate(17); + // LabeledMemoryDistribution + Glean.testOnly.whatDoYouRemember.twenty_years_ago.accumulate(7); + Glean.testOnly.whatDoYouRemember.twenty_years_ago.accumulate(17); - const memoryDistributionValue = - Glean.testOnly.whatDoYouRemember.testGetValue(); - const [first, second] = Object.keys( - memoryDistributionValue.twenty_years_ago.values - ); - Assert.deepEqual( - { - twenty_years_ago: { - count: 2, - sum: 24 * 1024 * 1024, - values: { - [first]: 1, - [second]: 1, + const memoryDistributionValue = + Glean.testOnly.whatDoYouRemember.testGetValue(); + const [first, second] = Object.keys( + memoryDistributionValue.twenty_years_ago.values + ); + Assert.deepEqual( + { + twenty_years_ago: { + count: 2, + sum: 24 * 1024 * 1024, + values: { + [first]: 1, + [second]: 1, + }, }, }, - }, - memoryDistributionValue - ); - - // LabeledTimingDistribution - let t1 = Glean.testOnly.whereHasTheTimeGone.west.start(); - let t2 = Glean.testOnly.whereHasTheTimeGone.west.start(); - await sleep(5); - let t3 = Glean.testOnly.whereHasTheTimeGone.west.start(); - Glean.testOnly.whereHasTheTimeGone.west.cancel(t1); - await sleep(5); - Glean.testOnly.whereHasTheTimeGone.west.stopAndAccumulate(t2); // 10ms - Glean.testOnly.whereHasTheTimeGone.west.stopAndAccumulate(t3); // 5ms - - const timingDistributionValue = - Glean.testOnly.whereHasTheTimeGone.testGetValue(); - const NANOS_IN_MILLIS = 1e6; - // bug 1701949 - Sleep gets close, but sometimes doesn't wait long enough. - const EPSILON = 40000; + memoryDistributionValue + ); - // Variance in timing makes getting the sum impossible to know. - const sum = timingDistributionValue.west.sum; - Assert.greater(sum, 15 * NANOS_IN_MILLIS - EPSILON); - Assert.equal(2, Object.keys(timingDistributionValue.west.values).length); - Assert.deepEqual( - { - west: { - sum, - count: 2, - values: timingDistributionValue.west.values, + // LabeledTimingDistribution + let t1 = Glean.testOnly.whereHasTheTimeGone.west.start(); + let t2 = Glean.testOnly.whereHasTheTimeGone.west.start(); + await sleep(5); + let t3 = Glean.testOnly.whereHasTheTimeGone.west.start(); + Glean.testOnly.whereHasTheTimeGone.west.cancel(t1); + await sleep(5); + Glean.testOnly.whereHasTheTimeGone.west.stopAndAccumulate(t2); // 10ms + Glean.testOnly.whereHasTheTimeGone.west.stopAndAccumulate(t3); // 5ms + + const timingDistributionValue = + Glean.testOnly.whereHasTheTimeGone.testGetValue(); + const NANOS_IN_MILLIS = 1e6; + // bug 1701949 - Sleep gets close, but sometimes doesn't wait long enough. + const EPSILON = 40000; + + // Variance in timing makes getting the sum impossible to know. + const sum = timingDistributionValue.west.sum; + Assert.greater(sum, 15 * NANOS_IN_MILLIS - EPSILON); + Assert.equal(2, Object.keys(timingDistributionValue.west.values).length); + Assert.deepEqual( + { + west: { + sum, + count: 2, + values: timingDistributionValue.west.values, + }, }, - }, - timingDistributionValue - ); -}); + timingDistributionValue + ); + } +);