// 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.

mod accessibility_tests;
mod agent_tests;
mod audio_tests;
mod bluetooth_earcons_tests;
mod device_tests;
mod display_tests;
mod do_not_disturb_tests;
mod event_tests;
mod fakes;
mod hanging_get_tests;
mod input_tests;
mod intl_tests;
mod light_sensor_tests;
mod light_tests;
mod message_tests;
mod night_mode_tests;
mod privacy_tests;
mod registry_tests;
mod restore_agent_tests;
mod scaffold;
mod service_configuration_tests;
mod setting_handler_tests;
mod setup_tests;
mod system_tests;
mod test_failure_utils;
mod volume_change_earcons_tests;
