# 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("//build/test/test_package.gni")
import("//build/testing/environments.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",
    "//third_party/modp_b64",
    "//zircon/system/ulib/trace-reader",

    # TODO(57392): Move it back to //third_party once unification completes.
    "//zircon/third_party/rapidjson",
  ]
}

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",
  ]
}

test_package("trace_converter_tests") {
  deps = [ ":chromium_unittests" ]

  tests = [
    {
      name = "chromium_exporter_unittests"
      environments = basic_envs
    },
  ]
}
