blob: 78686693745901befaf1c986219ec992dc8cccc8 [file] [log] [blame]
# Copyright 2020 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/components.gni")
import("//build/dist/resource.gni")
import("//build/fuzz.gni")
import("//build/host.gni")
import("//build/test.gni")
source_set("chunked-compression") {
sources = [
"chunked-archive.cc",
"chunked-archive.h",
"chunked-compressor.cc",
"chunked-compressor.h",
"chunked-decompressor.cc",
"chunked-decompressor.h",
"compression-params.cc",
"compression-params.h",
"multithreaded-chunked-compressor.cc",
"multithreaded-chunked-compressor.h",
"status.h",
"streaming-chunked-compressor.cc",
"streaming-chunked-compressor.h",
]
public_deps = [
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/zx",
]
deps = [
"//sdk/lib/syslog/cpp",
"//src/lib/fxl",
"//third_party/zstd",
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/zx",
"//zircon/third_party/ulib/cksum",
]
if (is_fuchsia) {
deps += [ "//sdk/lib/syslog/cpp" ]
public_deps += [ "//zircon/system/ulib/zx" ]
}
}
executable("chunked-compress") {
sources = [ "main.cc" ]
deps = [
":chunked-compression",
"//zircon/system/ulib/fbl",
]
# TODO(https://fxbug.dev/42136089): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}
install_host_tools("chunked-compress-host-tool") {
deps = [ ":chunked-compress" ]
outputs = [ "chunked-compress" ]
}
source_set("chunked-compression-testutils") {
testonly = true
visibility = [ ":*" ]
sources = [
"test-utils.cc",
"test-utils.h",
]
public_deps = [
":chunked-compression",
"//zircon/system/ulib/fbl",
]
deps = [ "//zircon/third_party/ulib/cksum" ]
}
test("chunked-compression-unittests") {
testonly = true
output_name = "chunked-compression-unittests"
sources = [
"chunked-compressor-test.cc",
"chunked-decompressor-test.cc",
"compression-params-test.cc",
"header-reader-test.cc",
"header-writer-test.cc",
"multithreaded-chunked-compressor-test.cc",
"seek-table-test.cc",
"streaming-chunked-compressor-test.cc",
]
deps = [
":chunked-compression",
":chunked-compression-testutils",
"//zircon/system/ulib/zxtest",
"//zircon/third_party/ulib/cksum",
]
# TODO(https://fxbug.dev/42136089): delete the below and fix compiler warnings
configs += [ "//build/config:Wno-conversion" ]
}
fuchsia_unittest_package("chunked-compression-unittests-package") {
package_name = "chunked-compression-unittests"
deps = [ ":chunked-compression-unittests" ]
test_specs = {
log_settings = {
max_severity = "ERROR"
}
}
}
resource("header-reader-fuzzer-dictionary") {
sources = [ "test_data/archive.dict" ]
outputs = [ "data/{{source_file_part}}" ]
}
fuchsia_library_fuzzer("header-reader-fuzzer") {
sources = [ "header-reader-fuzztest.cc" ]
deps = [
":chunked-compression",
":chunked-compression-testutils",
"//sdk/lib/syslog/cpp",
"//src/lib/fxl",
]
}
resource("decompressor-fuzzer-dictionary") {
sources = [ "test_data/archive.dict" ]
outputs = [ "data/{{source_file_part}}" ]
}
fuchsia_library_fuzzer("decompressor-fuzzer") {
sources = [ "decompressor-fuzztest.cc" ]
deps = [
":chunked-compression",
":chunked-compression-testutils",
"//sdk/lib/syslog/cpp",
"//src/lib/fxl",
]
}
fuchsia_library_fuzzer("compress-decompress-fuzzer") {
sources = [ "compress-decompress-fuzztest.cc" ]
deps = [
":chunked-compression",
":chunked-compression-testutils",
]
}
fuchsia_library_fuzzer("compress-fuzzer") {
sources = [ "compress-fuzztest.cc" ]
deps = [
":chunked-compression",
":chunked-compression-testutils",
]
}
fuchsia_fuzzer_component("compress-decompress-fuzzer-component") {
manifest = "meta/compress-decompress-fuzzer.cml"
deps = [ ":compress-decompress-fuzzer" ]
}
fuchsia_fuzzer_component("compress-fuzzer-component") {
manifest = "meta/compress-fuzzer.cml"
deps = [ ":compress-fuzzer" ]
}
fuchsia_fuzzer_component("decompressor-fuzzer-component") {
manifest = "meta/decompressor-fuzzer.cml"
deps = [
":decompressor-fuzzer",
".:decompressor-fuzzer-dictionary",
]
}
fuchsia_fuzzer_component("header-reader-fuzzer-component") {
manifest = "meta/header-reader-fuzzer.cml"
deps = [
":header-reader-fuzzer",
".:header-reader-fuzzer-dictionary",
]
}
fuchsia_fuzzer_package("chunked-compression-fuzzers-package") {
package_name = "chunked-compression-fuzzers"
cpp_fuzzer_components = [
":compress-decompress-fuzzer-component",
":compress-fuzzer-component",
":decompressor-fuzzer-component",
":header-reader-fuzzer-component",
]
}
group("tests") {
testonly = true
deps = [
":chunked-compression-fuzzers-package",
":chunked-compression-unittests-package",
]
}