# This file contains a list of Mojo gtest unit tests.
# Prepend * to indicate that results shouldn't be cached (e.g., if the test has
# other data dependencies).
# TODO(vtl): Add a way of specifying data dependencies instead.

# System tests:
mojo_system_unittests

# Public tests:
*mojo_public_bindings_unittests
mojo_public_environment_unittests
mojo_public_system_unittests
mojo_public_utility_unittests

# Non-system, non-public tests:
mojo_application_manager_unittests
mojo_common_unittests
mojo_view_manager_lib_unittests
mojo_view_manager_unittests
mojo_surfaces_lib_unittests

# JavaScript tests:
*mojo_apps_js_unittests
*mojo_js_unittests

# Shell integration tests:
*mojo_shell_tests
