From 091f7a070d58e1f8de6bbfdc5b60e1cef84e58c3 Mon Sep 17 00:00:00 2001 From: Wei Li Date: Mon, 9 Nov 2015 12:09:55 -0800 Subject: Merge to XFA: Add path service to retrieve test data directory at run time so tests can be run from any directory. Previously the tests which read test files assume the current directory is under pdfium. Running from any other directory will break the build. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1408003014 . (cherry picked from commit c0e93a9a942fe7d99800502a61d2fbb58cf9276f) Conflicts: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp fpdfsdk/src/fpdfdoc_embeddertest.cpp testing/embedder_test.cpp testing/embedder_test.h Review URL: https://codereview.chromium.org/1411403012 . --- core/src/fpdfapi/fpdf_page/fpdf_page_func_embeddertest.cpp | 4 ++-- core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp | 9 +++++---- core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_unittest.cpp | 7 +++++-- .../src/fpdfapi/fpdf_render/fpdf_render_pattern_embeddertest.cpp | 4 ++-- 4 files changed, 14 insertions(+), 10 deletions(-) (limited to 'core') diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_func_embeddertest.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_func_embeddertest.cpp index af04b4aebb..2892036882 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_func_embeddertest.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_func_embeddertest.cpp @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "../../../testing/embedder_test.h" +#include "testing/embedder_test.h" #include "testing/gtest/include/gtest/gtest.h" class FPDFPageFuncEmbeddertest : public EmbedderTest {}; @@ -11,7 +11,7 @@ TEST_F(FPDFPageFuncEmbeddertest, Bug_551460) { // Should not crash under ASan. // Tests that the number of inputs is not simply calculated from the domain // and trusted. The number of inputs has to be 1. - EXPECT_TRUE(OpenDocument("testing/resources/bug_551460.pdf")); + EXPECT_TRUE(OpenDocument("bug_551460.pdf")); FPDF_PAGE page = LoadPage(0); EXPECT_NE(nullptr, page); FPDF_BITMAP bitmap = RenderPage(page); diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp index ed2863bcf3..8737566619 100644 --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp @@ -2,19 +2,20 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "../../../testing/embedder_test.h" +#include "testing/embedder_test.h" #include "testing/gtest/include/gtest/gtest.h" class FPDFParserEmbeddertest : public EmbedderTest {}; TEST_F(FPDFParserEmbeddertest, LoadError_454695) { // Test trailer dictionary with $$ze instead of Size. - EXPECT_FALSE(OpenDocument("testing/resources/bug_454695.pdf")); + // Verify that the defective pdf shouldn't be opened correctly. + EXPECT_FALSE(OpenDocument("bug_454695.pdf")); } TEST_F(FPDFParserEmbeddertest, Bug_481363) { // Test colorspace object with malformed dictionary. - EXPECT_TRUE(OpenDocument("testing/resources/bug_481363.pdf")); + EXPECT_TRUE(OpenDocument("bug_481363.pdf")); FPDF_PAGE page = LoadPage(0); EXPECT_NE(nullptr, page); UnloadPage(page); @@ -22,7 +23,7 @@ TEST_F(FPDFParserEmbeddertest, Bug_481363) { TEST_F(FPDFParserEmbeddertest, Bug_544880) { // Test self referencing /Pages object. - EXPECT_TRUE(OpenDocument("testing/resources/bug_544880.pdf")); + EXPECT_TRUE(OpenDocument("bug_544880.pdf")); // Shouldn't crash. We don't check the return value here because we get the // the count from the "/Count 1" in the testcase (at the time of writing) // rather than the actual count (0). diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_unittest.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_unittest.cpp index 73b46b52c2..b86c20e9da 100644 --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_unittest.cpp +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_unittest.cpp @@ -6,6 +6,7 @@ #include "../../../include/fpdfapi/fpdf_parser.h" #include "../../../include/fxcrt/fx_stream.h" +#include "testing/utils/path_service.h" class CPDF_TestParser : public CPDF_Parser { public: @@ -193,8 +194,10 @@ TEST(fpdf_parser_parser, ReadHexString) { TEST(fpdf_parser_parser, RebuildCrossRefCorrectly) { CPDF_TestParser parser; - ASSERT_TRUE( - parser.InitTest("testing/resources/parser_rebuildxref_correct.pdf")); + std::string test_file; + ASSERT_TRUE(PathService::GetTestFilePath("parser_rebuildxref_correct.pdf", + &test_file)); + ASSERT_TRUE(parser.InitTest(test_file.c_str())) << test_file; ASSERT_TRUE(parser.RebuildCrossRef()); const FX_FILESIZE offsets[] = {0, 15, 61, 154, 296, 374, 450}; diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_pattern_embeddertest.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_pattern_embeddertest.cpp index 30d7a416be..744c4e5ea9 100644 --- a/core/src/fpdfapi/fpdf_render/fpdf_render_pattern_embeddertest.cpp +++ b/core/src/fpdfapi/fpdf_render/fpdf_render_pattern_embeddertest.cpp @@ -2,14 +2,14 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "../../../testing/embedder_test.h" +#include "testing/embedder_test.h" #include "testing/gtest/include/gtest/gtest.h" class FPDFRenderPatternEmbeddertest : public EmbedderTest {}; TEST_F(FPDFRenderPatternEmbeddertest, LoadError_547706) { // Test shading where object is a dictionary instead of a stream. - EXPECT_TRUE(OpenDocument("testing/resources/bug_547706.pdf")); + EXPECT_TRUE(OpenDocument("bug_547706.pdf")); FPDF_PAGE page = LoadPage(0); RenderPage(page); UnloadPage(page); -- cgit v1.2.3