blob: 3a05532accea56bd3f3bbfbbb7f7fde4a9aac88c [file] [log] [blame]
# Copyright 2021 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
if (is_starboard) {
import("//components/crx_file/testdata/sha1_files.gni")
}
import("//third_party/protobuf/proto_library.gni")
# The accompanying crx_creator target has been left behind during the migration
# from GYP to GN because it introduces some -Wc++11-narrowing compiler errors
# and isn't actually used in Cobalt. If it's at some point needed we can
# likely pull in the narrowing fixes made by the Chromium team in
# https://source.chromium.org/chromium/chromium/src/+/379c52be13901beae4f773fe9e8054ad42a186c4.
static_library("crx_file") {
sources = [
"crx3.pb.cc",
"crx3.pb.h",
"crx_file.h",
"crx_verifier.cc",
"crx_verifier.h",
"id_util.cc",
"id_util.h",
]
deps = [
"//base",
"//crypto",
"//third_party/protobuf:protobuf_lite",
]
}
if (is_starboard) {
action("crx_file_download_test_data") {
install_content = true
script = "//tools/download_from_gcs.py"
sha_sources = []
foreach(sha1_file, sha1_files) {
sha_sources += [ string_join("/",
[
"testdata",
sha1_file,
]) ]
}
sha_outputs = []
subdir = "components/crx_file"
outdir = "$sb_static_contents_output_data_dir/test/$subdir"
foreach(sha_source, sha_sources) {
sha_outputs += [ string_join("/",
[
outdir,
string_replace(sha_source, ".sha1", ""),
]) ]
}
sources = sha_sources
outputs = sha_outputs
sha1_dir = rebase_path("testdata", root_build_dir)
args = [
"--bucket",
"cobalt-static-storage",
"--sha1",
sha1_dir,
"--output",
rebase_path("$outdir/testdata", root_build_dir),
]
}
target(gtest_target_type, "crx_file_test") {
testonly = true
sources = [ "crx_verifier_unittest.cc" ]
deps = [
":crx_file",
"//cobalt/test:run_all_unittests",
"//starboard:starboard_headers_only",
"//testing/gtest",
]
data_deps = [ ":crx_file_download_test_data" ]
}
}