# Copyright 2022 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")

if (is_host) {
  python_host_test("mem_digest_test") {
    main_source = "mem_digest_test.py"

    #TODO(b/361301238): Either delete these scripts or add type annotation.
    enable_mypy = false
    sources = [
      "digest.py",
      "mem_digest.py",
      "snapshot.py",
    ]
    extra_args = [
      "--test_dir_path",
      rebase_path("testdata", root_build_dir),
    ]
  }
}

group("tests") {
  testonly = true
  public_deps = [
    ":mem_digest_test($host_toolchain)",
    "dataclasses_json_lite:tests",
    "debug_json:tests",
    "images_json:tests",
    "multidict:tests",
    "smaps:tests",
    "snapshots:tests",
  ]
}
