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

static_library("upload_list") {
  sources = [
    "crash_upload_list.cc",
    "crash_upload_list.h",
    "text_log_upload_list.cc",
    "text_log_upload_list.h",
    "upload_list.cc",
    "upload_list.h",
  ]

  deps = [
    "//base",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "text_log_upload_list_unittest.cc",
  ]

  deps = [
    ":upload_list",
    "//base",
    "//base/test:test_support",
    "//testing/gtest",
  ]
}
