blob: e5aaced074e31f30ea019850c1752f9e49ad3ed4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const { AppConstants } = ChromeUtils.importESModule(
"resource://gre/modules/AppConstants.sys.mjs"
);
add_setup(
/* on Android FOG is set up through head.js */
{ skip_if: () => AppConstants.platform == "android" },
function test_setup() {
// FOG needs a profile directory to put its data in.
do_get_profile();
// Glean init (via `chrono`) gets the timezone via unprotected write.
// This is being worked around:
// https://github.com/chronotope/chrono/pull/677
// Until that reaches a release and we update to it (bug 1780401), ensure
// local time has been loaded by JS before we kick of Glean init.
new Date().getHours(); // used for its side effect.
// We need to initialize it once, otherwise operations will be stuck in the pre-init queue.
Services.fog.initializeFOG();
}
);
add_task(function test_fog_init_works() {
if (new Date().getHours() >= 3 && new Date().getHours() <= 4) {
// We skip this test if it's too close to 4AM, when we might send a
// "metrics" ping between init and this test being run.
Assert.ok(true, "Too close to 'metrics' ping send window. Skipping test.");
return;
}
Assert.greater(
Glean.fog.initialization.testGetValue(),
0,
"FOG init happened, and its time was measured."
);
});
add_task(function test_fog_initialized_with_correct_rate_limit() {
Assert.greater(
Glean.fog.maxPingsPerMinute.testGetValue(),
0,
"FOG has been initialized with a ping rate limit of greater than 0."
);
});
|