Revision control
Copy as Markdown
Other Tools
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
//! This integration test should model how the RLB is used when embedded in another Rust application
//! (e.g. FOG/Firefox Desktop).
//!
//! We write a single test scenario per file to avoid any state keeping across runs
//! (different files run as different processes).
mod common;
use glean::{Configuration, ConfigurationBuilder};
use std::path::PathBuf;
fn cfg_new(tmpname: PathBuf) -> Configuration {
ConfigurationBuilder::new(true, tmpname, "firefox-desktop")
.with_server_endpoint("invalid-test-host")
.with_delay_ping_lifetime_io(true)
.build()
}
/// Test scenario: `persist_ping_lifetime_data` called after shutdown.
#[test]
fn delayed_ping_data() {
common::enable_test_logging();
// Create a custom configuration to delay ping-lifetime io
let dir = tempfile::tempdir().unwrap();
let tmpname = dir.path().to_path_buf();
common::initialize(cfg_new(tmpname));
glean::persist_ping_lifetime_data();
glean::shutdown();
glean::persist_ping_lifetime_data();
}