# Copyright 2019 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.

import("//src/modular/build/tests_package.gni")

group("modular") {
  testonly = true

  deps = [
    ":tests",
    "bin",
    "bundles",
    "lib",
  ]
}

group("tests") {
  testonly = true

  deps = [
    ":modular_lib_tests",
    "tests",  # tests/ directory
    "//sdk/lib/modular/cpp:modular_cpp_tests",
    "//sdk/lib/modular/testing/cpp:modular_testing_cpp_tests",
    "//src/modular/bin/basemgr_launcher:basemgr_launcher_tests",
  ]
}

hermetic_tests_package("modular_lib_tests") {
  deps = [
    "//src/modular/lib:modular_lib_unittests",
  ]
  environments = basic_envs
}
