blob: 485d1f35b7122c3ccae14755468494262ea6891e [file] [log] [blame]
# 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("//chromecast/chromecast.gni")
import("//testing/test.gni")
# Crash reporting is not support on Fuchsia yet
# TODO(crbug.com/753619): Enable crash reporting on Fuchsia.
assert(!is_fuchsia)
cast_source_set("crash") {
sources = [
"app_state_tracker.cc",
"app_state_tracker.h",
"cast_crash_keys.cc",
"cast_crash_keys.h",
"cast_crashdump_uploader.cc",
"cast_crashdump_uploader.h",
"linux/crash_util.cc",
"linux/crash_util.h",
"linux/dummy_minidump_generator.cc",
"linux/dummy_minidump_generator.h",
"linux/dump_info.cc",
"linux/dump_info.h",
"linux/minidump_generator.h",
"linux/minidump_params.cc",
"linux/minidump_params.h",
"linux/minidump_uploader.cc",
"linux/minidump_uploader.h",
"linux/minidump_writer.cc",
"linux/minidump_writer.h",
"linux/synchronized_minidump_manager.cc",
"linux/synchronized_minidump_manager.h",
]
deps = [
"//base",
"//chromecast/base",
"//chromecast/base:cast_version",
"//components/crash/core/common",
"//components/metrics",
"//components/prefs",
"//third_party/breakpad:client",
]
if (chromecast_branding == "public") {
deps += [ "//chromecast/base:cast_sys_info" ]
} else {
deps += [ "//chromecast/base:cast_sys_info_shlib" ]
}
}
cast_executable("crash_uploader") {
sources = [
"linux/crash_uploader.cc",
]
deps = [
":crash",
"//base",
"//chromecast/base",
"//chromecast/base:cast_sys_info",
"//chromecast/public",
"//chromecast/system/reboot:reboot_util",
]
if (chromecast_branding != "public") {
deps += [ "//chromecast/base:cast_sys_info_shlib" ]
}
}
cast_source_set("test_support") {
sources = [
"linux/crash_testing_utils.cc",
"linux/crash_testing_utils.h",
]
deps = [
":crash",
"//base",
"//chromecast/base",
]
}
if (is_linux) {
test("cast_crash_unittests") {
sources = [
"cast_crashdump_uploader_unittest.cc",
"linux/dummy_minidump_generator_unittest.cc",
"linux/dump_info_unittest.cc",
"linux/minidump_uploader_unittest.cc",
"linux/minidump_writer_unittest.cc",
"linux/synchronized_minidump_manager_unittest.cc",
]
deps = [
":crash",
":test_support",
"//base",
"//base/test:run_all_unittests",
"//base/test:test_support",
"//chromecast/base:cast_sys_info",
"//chromecast/base:test_support",
"//components/metrics",
"//components/prefs:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/breakpad:client",
]
}
}