# Copyright 2018 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/package.gni")
import("//build/test/test_package.gni")
import("//topaz/runtime/chromium/chromium.gni")

executable("bin") {
  testonly = true
  output_name = "web_runner_smoke_tests"

  sources = [
    "test_server.cc",
    "test_server.h",
    "web_runner_smoke_tests.cc",
  ]

  deps = [
    "//garnet/public/fidl/fuchsia.sys",
    "//garnet/public/lib/component/cpp/testing",
    "//garnet/public/lib/fxl",
    "//third_party/googletest:gtest_main",
  ]
}

package("web_runner_smoke_tests") {
  testonly = true

  deps = [
    ":bin",
  ]

  # This test only works with the chromium based web runner
  if (enable_chromium) {
    tests = [
      {
        name = "web_runner_smoke_tests"
      },
    ]
  }
}
