| # 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") |
| |
| 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", |
| ] |
| data = [ "resources/" ] |
| public_deps = [ |
| ":path_service", |
| "//third_party/test_fonts", |
| ] |
| deps = [ |
| "../:pdfium_public_headers", |
| "../core/fdrm", |
| "../core/fxcrt", |
| "../core/fxge", |
| "../fpdfsdk", |
| "image_diff", |
| ] |
| configs += [ |
| "../:pdfium_strict_config", |
| "../:pdfium_noshorten_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" ] |
| } |
| } |
| |
| source_set("path_service") { |
| testonly = true |
| sources = [ |
| "utils/path_service.cpp", |
| "utils/path_service.h", |
| ] |
| deps = [ "../core/fxcrt" ] |
| configs += [ |
| "../: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 = [] |
| configs += [ |
| "../:pdfium_strict_config", |
| "../:pdfium_noshorten_config", |
| ] |
| public_deps = [ |
| ":test_environments", |
| ":test_support", |
| ] |
| if (pdf_enable_v8) { |
| sources += [ |
| "fxv8_unittest.cpp", |
| "fxv8_unittest.h", |
| ] |
| deps += [ |
| "../fxjs", |
| "//testing/gtest", |
| ] |
| configs += [ "//v8:external_startup_data" ] |
| if (pdf_enable_xfa) { |
| sources += [ |
| "fxgc_unittest.cpp", |
| "fxgc_unittest.h", |
| ] |
| deps += [ |
| "../fxjs:gc", |
| "//testing/gtest", |
| ] |
| } |
| } |
| } |
| |
| source_set("embedder_test_support") { |
| testonly = true |
| sources = [ |
| "embedder_test.cpp", |
| "embedder_test.h", |
| "embedder_test_constants.cpp", |
| "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", |
| ] |
| deps = [ |
| "../:pdfium_public_headers", |
| "../core/fdrm", |
| "../core/fxge", |
| "../fpdfsdk", |
| "//testing/gmock", |
| "//testing/gtest", |
| ] |
| 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_test_config") { |
| cflags = [] |
| ldflags = [] |
| 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" ] |
| } |
| if (build_with_chromium) { |
| defines += [ "BUILD_WITH_CHROMIUM" ] |
| } |
| } |
| |
| executable("pdfium_test") { |
| testonly = true |
| sources = [ |
| "helpers/dump.cc", |
| "helpers/dump.h", |
| "helpers/event.cc", |
| "helpers/event.h", |
| "helpers/page_renderer.cc", |
| "helpers/page_renderer.h", |
| "helpers/write.cc", |
| "helpers/write.h", |
| "pdfium_test.cc", |
| ] |
| |
| # Note: One should write programs that depend on ../:pdfium. Whereas this |
| # test program does not set a good example, and depends on PDFium internals, |
| # as well as test support code, for convenience. |
| deps = [ |
| "../:pdfium_public_headers", |
| "../fpdfsdk", |
| "../testing:test_support", |
| "../testing/image_diff", |
| "//build/win:default_exe_manifest", |
| ] |
| configs += [ |
| ":pdfium_test_config", |
| "../:pdfium_common_config", |
| ] |
| |
| if (is_win) { |
| sources += [ |
| "helpers/win32/com_factory.cc", |
| "helpers/win32/com_factory.h", |
| ] |
| } |
| |
| if (pdf_enable_v8) { |
| deps += [ |
| "//v8:v8_headers", |
| "//v8:v8_libplatform", |
| ] |
| include_dirs = [ "//v8" ] |
| configs += [ "//v8:external_startup_data" ] |
| } |
| if (pdf_use_skia) { |
| deps += [ "//skia" ] |
| if (build_with_chromium) { |
| sources += [ |
| "chromium_support/discardable_memory_allocator.cc", |
| "chromium_support/discardable_memory_allocator.h", |
| ] |
| deps += [ "//base/test:test_support" ] |
| } |
| } |
| |
| if (!build_with_chromium) { |
| assert_no_deps = [ "//testing/gtest/*" ] |
| } |
| } |
| |
| # Dummy group to keep satisfy references from //build. |
| group("test_scripts_shared") { |
| } |