# Copyright 2016 The Fuchsia 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("//build/components.gni")
import("//build/test.gni")

group("trace_converters") {
  deps = [ ":chromium" ]
}

source_set("chromium") {
  sources = [
    "chromium_exporter.cc",
    "chromium_exporter.h",
  ]

  deps = [ "//src/lib/fxl" ]

  public_deps = [
    "//garnet/lib/perfmon",
    "//sdk/lib/stdcompat",
    "//third_party/modp_b64",
    "//third_party/rapidjson",
    "//zircon/system/ulib/trace-reader",
  ]
  configs += [
    # TODO(fxbug.dev/58162): delete the below and fix compiler warnings
    "//build/config:Wno-conversion",
  ]
}

test("chromium_unittests") {
  output_name = "chromium_exporter_unittests"

  sources = [ "chromium_exporter_unittest.cc" ]

  deps = [
    ":chromium",
    "//src/lib/fxl/test:gtest_main",
    "//third_party/googletest:gtest",
  ]
}

fuchsia_unittest_package("trace_converter_tests") {
  deps = [ ":chromium_unittests" ]
}
