# Copyright 2018 The Chromium 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("//testing/libfuzzer/fuzzer_test.gni")

component("apdu") {
  sources = [
    "apdu_command.cc",
    "apdu_command.h",
    "apdu_response.cc",
    "apdu_response.h",
  ]

  defines = [ "IS_APDU_IMPL" ]

  deps = [
    "//base",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "apdu_unittest.cc",
  ]

  deps = [
    ":apdu",
    "//base",
    "//testing/gmock",
    "//testing/gtest",
  ]
}

fuzzer_test("apdu_fuzzer") {
  sources = [
    "apdu_fuzzer.cc",
  ]
  deps = [
    ":apdu",
    "//base",
  ]
  libfuzzer_options = [ "max_len=65535" ]
}
