# Copyright 2015 The Chromium 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("//testing/test.gni")

# Target that builders build.
group("all") {
  testonly = true

  deps = [
    ":tests",
    "//components/leveldb",
    "//mash/example",
    "//mash/screenlock",
    "//mash/shell",
    "//mash/task_viewer",
  ]
}

group("tests") {
  testonly = true

  deps = [
    ":mash_unittests",
    "//mash/wm:tests",
  ]
}

test("mash_unittests") {
  deps = [
    "//base",
    "//base/test:run_all_unittests",
    "//base/test:test_config",
    "//base/test:test_support",
    "//mash/wm:unittests",
    "//mojo/platform_handle:platform_handle_impl",
  ]
}
