# Copyright 2019 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.

visibility = [ "$cobalt_root/*" ]

import("//build/test.gni")

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

  configs += [ "$cobalt_root:cobalt_config" ]

  deps = [ "//third_party/boringssl" ]
}

source_set("random_test") {
  testonly = true
  sources = [ "random_test.cc" ]

  deps = [
    ":random",
    "//third_party/gflags",
    "//third_party/googletest:gtest",
  ]

  configs += [ "$cobalt_root:cobalt_config" ]
}

source_set("test_secure_random") {
  testonly = true
  sources = [ "test_secure_random.h" ]

  deps = [ ":random" ]

  configs += [ "$cobalt_root:cobalt_config" ]
}

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

  deps = [ ":random" ]

  configs += [ "$cobalt_root:cobalt_config" ]
}

source_set("distributions_test") {
  testonly = true
  sources = [ "distributions_test.cc" ]

  deps = [
    ":distributions",
    ":random",
    "//third_party/gflags",
    "//third_party/googletest:gtest",
  ]

  configs += [ "$cobalt_root:cobalt_config" ]
}

group("tests") {
  testonly = true
  deps = [
    ":distributions_test",
    ":random_test",
  ]

  # Allow src/algorithms:tests to depend on this group.
  visibility = []
  visibility = [ "$cobalt_root/src/algorithms:tests" ]
}
