blob: d92df2d7f58a292adf452a558a3b204da1bbdabf [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/// Macro for generating multiple tests from a common test function
/// # Example
/// ```
/// async_property_test!(test_to_run,
/// case1(0, String::from("abc")),
/// case2(1, String::from("xyz")),
/// );
/// async fn test_to_run(prop1: usize, prop2: String) {
/// assert!(prop1 < 2);
/// assert_eq!(prop2.chars().len(), 3);
/// }
/// ```
#[macro_export]
macro_rules! async_property_test {
(
$test_func:ident => [$( // Test function to call, followed by list of test cases.
$(#[$attr:meta])* // Optional attributes.
$test_name:ident( // Test case name.
$($args:expr),+$(,)? // Arguments for test case.
)
),+$(,)?]
) => {
$(paste::paste!{
#[allow(non_snake_case)]
#[fuchsia_async::run_until_stalled(test)]
$(#[$attr])*
async fn [<$test_func ___ $test_name>]() {
$test_func($($args,)+).await;
}
})+
}
}
mod accessibility_tests;
mod agent_tests;
mod audio_policy_handler_tests;
mod audio_policy_tests;
mod audio_tests;
mod bluetooth_earcons_tests;
mod camera_watcher_agent_tests;
mod device_tests;
mod display_tests;
mod do_not_disturb_tests;
mod environment_tests;
mod event_tests;
mod factory_reset_tests;
pub mod fakes;
mod fidl_processor_tests;
mod hanging_get_tests;
mod input_test_environment;
mod input_tests;
mod intl_tests;
mod light_sensor_tests;
mod light_tests;
mod media_buttons_agent_tests;
mod message_tests;
pub(crate) mod message_utils;
mod night_mode_tests;
mod policy_handler_tests;
mod policy_proxy_tests;
mod privacy_tests;
mod resource_monitor_tests;
mod restore_agent_tests;
mod scaffold;
mod service_configuration_tests;
mod setting_handler_tests;
mod setting_proxy_tests;
mod setup_tests;
mod storage_agent_tests;
mod stream_volume_tests;
mod test_failure_utils;
mod volume_change_earcons_tests;