blob: cf3a579cdd664b7df5e91463a80d090b88bb5d97 [file]
# Copyright 2018 The PDFium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/sanitizers/sanitizers.gni")
import("//build_overrides/build.gni")
import("../pdfium.gni")
import("test.gni")
source_set("test_support") {
testonly = true
sources = [
"command_line_helpers.cpp",
"command_line_helpers.h",
"font_renamer.cpp",
"font_renamer.h",
"fx_string_testhelpers.cpp",
"fx_string_testhelpers.h",
"invalid_seekable_read_stream.cpp",
"invalid_seekable_read_stream.h",
"pseudo_retainable.h",
"scoped_set_tz.cpp",
"scoped_set_tz.h",
"string_write_stream.cpp",
"string_write_stream.h",
"test_fonts.cpp",
"test_fonts.h",
"test_loader.cpp",
"test_loader.h",
"test_support.h",
"utils/bitmap_saver.cpp",
"utils/bitmap_saver.h",
"utils/file_util.cpp",
"utils/file_util.h",
"utils/hash.cpp",
"utils/hash.h",
"utils/scoped_time_overrides.cpp",
"utils/scoped_time_overrides.h",
]
data = [ "resources/" ]
public_deps = [
":path_service",
"//third_party/test_fonts",
]
deps = [
"../:pdfium_public_headers",
"../core/fdrm",
"../core/fxcrt",
"../core/fxge",
"../fpdfsdk",
"png_codec",
]
configs += [
"../:pdfium_strict_config",
"../:pdfium_noshorten_config",
":pdfium_test_config",
]
visibility = [ "../*" ]
if (is_posix) {
sources += [
"scoped_locale.cc",
"scoped_locale.h",
]
}
if (pdf_use_partition_alloc) {
sources += [
"allocator_shim_config.cpp",
"allocator_shim_config.h",
]
deps += [ "//base/allocator/partition_allocator/src/partition_alloc" ]
}
if (pdf_enable_v8) {
sources += [
"v8_initializer.cpp",
"v8_initializer.h",
]
deps += [
"//v8",
"//v8:v8_libplatform",
]
configs += [ "//v8:external_startup_data" ]
}
}
if (build_with_chromium && pdf_use_skia) {
source_set("discardable_memory_allocator") {
testonly = true
sources = [
"chromium_support/discardable_memory_allocator.cc",
"chromium_support/discardable_memory_allocator.h",
]
deps = [ "//base/test:test_support" ]
configs += [ "../:pdfium_strict_config" ]
}
}
source_set("pixel_diff_utils") {
testonly = true
sources = [
"utils/pixel_diff_util.cpp",
"utils/pixel_diff_util.h",
]
public_deps = [ "../core/fxcrt" ]
configs += [ "../:pdfium_strict_config" ]
}
pdfium_unittest_source_set("unittests") {
sources = [ "utils/pixel_diff_util_unittest.cpp" ]
deps = [ ":pixel_diff_utils" ]
pdfium_root_dir = "../"
}
source_set("path_service") {
testonly = true
sources = [
"utils/path_service.cpp",
"utils/path_service.h",
]
deps = [ "../core/fxcrt" ]
configs += [
":pdfium_in_chromium_config",
"../:pdfium_strict_config",
"../:pdfium_noshorten_config",
]
visibility = [ "../*" ]
}
source_set("test_environments") {
testonly = true
sources = [
"pdf_test_environment.cpp",
"pdf_test_environment.h",
]
deps = [
":test_support",
"../core/fxcrt",
"../core/fxge",
"//testing/gtest",
]
configs += [
"../:pdfium_strict_config",
"../:pdfium_noshorten_config",
]
if (pdf_enable_v8) {
sources += [
"v8_test_environment.cpp",
"v8_test_environment.h",
]
deps += [
"../fxjs",
"//v8",
"//v8:v8_libplatform",
]
configs += [ "//v8:external_startup_data" ]
}
if (pdf_enable_xfa) {
sources += [
"xfa_test_environment.cpp",
"xfa_test_environment.h",
]
deps += [
"../fxjs:gc",
"../xfa/fgas/font",
]
}
}
source_set("unit_test_support") {
testonly = true
sources = []
deps = [ "//testing/gtest" ]
configs += [
"../:pdfium_strict_config",
"../:pdfium_noshorten_config",
]
public_deps = [
":test_environments",
":test_support",
]
if (is_posix) {
sources += [
"temporary_file_test.cpp",
"temporary_file_test.h",
]
deps += [ "../core/fxcrt" ]
}
if (pdf_enable_v8) {
sources += [
"fxv8_unittest.cpp",
"fxv8_unittest.h",
]
deps += [ "../fxjs" ]
configs += [ "//v8:external_startup_data" ]
if (pdf_enable_xfa) {
sources += [
"fxgc_unittest.cpp",
"fxgc_unittest.h",
]
deps += [ "../fxjs:gc" ]
}
}
}
source_set("embedder_test_support") {
testonly = true
sources = [
"embedder_test.cpp",
"embedder_test.h",
"embedder_test_constants.h",
"embedder_test_environment.cpp",
"embedder_test_environment.h",
"embedder_test_mock_delegate.h",
"embedder_test_timer_handling_delegate.h",
"fake_file_access.cpp",
"fake_file_access.h",
"range_set.cpp",
"range_set.h",
"utils/compare_coordinates.cc",
"utils/compare_coordinates.h",
]
deps = [
":pixel_diff_utils",
"../:pdfium_public_headers",
"../core/fdrm",
"../core/fxge",
"../fpdfsdk",
"png_codec",
"//testing/gmock",
"//testing/gtest",
"//third_party/simdutf",
]
public_deps = [
":test_environments",
":test_support",
"../core/fxcrt",
]
configs += [
"../:pdfium_strict_config",
"../:pdfium_noshorten_config",
]
visibility = [ "../*" ]
if (pdf_enable_v8) {
sources += [
"external_engine_embedder_test.cpp",
"external_engine_embedder_test.h",
"js_embedder_test.cpp",
"js_embedder_test.h",
]
deps += [
"../fxjs",
"//v8",
"//v8:v8_libplatform",
]
configs += [ "//v8:external_startup_data" ]
if (pdf_enable_xfa) {
sources += [
"xfa_js_embedder_test.cpp",
"xfa_js_embedder_test.h",
]
deps += [
"../fpdfsdk",
"../fpdfsdk/fpdfxfa",
"../xfa/fxfa",
"../xfa/fxfa/parser",
]
}
}
}
config("pdfium_in_chromium_config") {
defines = []
if (build_with_chromium) {
defines += [ "BUILD_WITH_CHROMIUM" ]
}
}
config("pdfium_test_config") {
defines = []
include_dirs = [ ".." ]
if (pdf_use_skia) {
defines += [ "PDF_ENABLE_SKIA" ]
}
if (is_asan) {
defines += [ "PDF_ENABLE_ASAN" ]
}
if (pdf_use_partition_alloc) {
defines += [ "PDF_USE_PARTITION_ALLOC" ]
}
if (enable_callgrind) {
defines += [ "ENABLE_CALLGRIND" ]
}
}
executable("pdfium_diff") {
testonly = true
sources = [ "image_diff.cpp" ]
deps = [
":path_service",
":pixel_diff_utils",
"../core/fxcrt",
"png_codec",
"//build/win:default_exe_manifest",
]
configs += [ "../:pdfium_strict_config" ]
}
# Dummy group to keep satisfy references from //build.
group("test_scripts_shared") {
}