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

group("tests") {
  testonly = true

  deps = [ ":lib_test($host_toolchain)" ]
}

if (is_host) {
  python_library("dataparse") {
    sources = [
      "__init__.py",
      "dataparse.py",
    ]
  }

  python_host_test("lib_test") {
    main_source = "tests/dataparse_test.py"
    main_callable = "unittest.main"
    extra_args = [ "-v" ]
    libraries = [ ":dataparse" ]
  }
}
