Skip to main content

src_lib_fuchsia_testing/
lib.rs

1// Copyright 2025 The Fuchsia Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#[doc(hidden)]
6pub use log as __log;
7
8#[derive(argh::FromArgs, Debug)]
9/// Test component.
10pub struct Options {
11    #[argh(switch)]
12    /// test argument that should always be off
13    pub should_be_false: bool,
14}
15
16#[macro_export]
17macro_rules! assert_logger_registered {
18    () => {
19        $crate::__log::set_boxed_logger(Box::new($crate::NoOpLogger {})).unwrap_err()
20    };
21}
22
23#[macro_export]
24macro_rules! assert_no_logger_registered {
25    () => {
26        $crate::__log::set_boxed_logger(Box::new($crate::NoOpLogger {})).unwrap()
27    };
28}
29
30pub struct NoOpLogger {}
31
32impl log::Log for NoOpLogger {
33    fn enabled(&self, _metadata: &log::Metadata<'_>) -> bool {
34        true
35    }
36    fn log(&self, _record: &log::Record<'_>) {}
37    fn flush(&self) {}
38}