# 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/test.gni")
import("//src/sys/build/components.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" ]
}
