# Copyright 2024 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/python/python_host_test.gni")
import("//build/python/python_library.gni")

python_library("multidict") {
  sources = [
    "__init__.py",
    "multidict.py",
  ]
}

if (is_host) {
  python_host_test("multidict_test") {
    main_source = "multidict_test.py"
    libraries = [ ":multidict" ]
  }
}

group("tests") {
  testonly = true
  public_deps = [ ":multidict_test($host_toolchain)" ]
}
