# 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/rapidjson",
    "//zircon/public/lib/trace-reader",
  ]
}

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