# Copyright 2016 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("//remoting/build/config/remoting_build.gni")

group("all_tests") {
  testonly = true
}

group("all") {
  testonly = true

  deps = []

  if (is_win) {
    deps += [ ":remoting_breakpad_tester" ]
  }
}

if (is_win) {
  executable("remoting_breakpad_tester") {
    deps = [
      "//base",
      "//build/win:default_exe_manifest",
      "//remoting/host",
    ]

    configs += [ "//build/config/compiler:wexit_time_destructors" ]

    sources = [ "breakpad_tester_win.cc" ]
  }
}
