# Copyright 2017 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("//build/components.gni")
import("//build/testing/environments.gni")

group("test") {
  testonly = true
  deps = [ ":sysmgr-tests" ]
}

executable("app_test") {
  testonly = true
  output_name = "app_test"
  sources = [
    "app_test.cc",
    "config_test.cc",
  ]
  deps = [
    "//sdk/lib/sys/cpp/testing:enclosing_environment",
    "//src/lib/fxl",
    "//src/lib/fxl/test:gtest_main",
    "//src/lib/testing/loop_fixture",
    "//src/sys/sysmgr:lib",
    "//third_party/googletest:gmock",
    "//zircon/system/ulib/async-loop:async-loop-default",
  ]
}

fuchsia_unittest_package("sysmgr-tests") {
  manifest = "meta/app_test.cmx"
  deps = [ ":app_test" ]
  test_specs = {
    log_settings = {
      max_severity = "ERROR"
    }
  }
}
