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

executable("io_benchmark") {
  sources = [
    "io_benchmark.cc",
  ]
  deps = [
    "//base",
    "//base/test:test_support",
  ]
  testonly = true
}

executable("compression_benchmark") {
  sources = [
    "compression_benchmark.cc",
  ]
  deps = [
    "//base",
    "//base/test:test_support",
    "//third_party/brotli:dec",
    "//third_party/brotli:enc",
    "//third_party/snappy",
    "//third_party/zlib/google:compression_utils",
  ]
  testonly = true
}
