1*3ac0a46fSAndroid Build Coastguard Worker // Copyright 2018 The PDFium Authors 2*3ac0a46fSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*3ac0a46fSAndroid Build Coastguard Worker // found in the LICENSE file. 4*3ac0a46fSAndroid Build Coastguard Worker 5*3ac0a46fSAndroid Build Coastguard Worker #include "build/build_config.h" 6*3ac0a46fSAndroid Build Coastguard Worker #include "core/fxcrt/fx_memory.h" 7*3ac0a46fSAndroid Build Coastguard Worker #include "testing/embedder_test_environment.h" 8*3ac0a46fSAndroid Build Coastguard Worker #include "testing/gmock/include/gmock/gmock.h" 9*3ac0a46fSAndroid Build Coastguard Worker #include "testing/gtest/include/gtest/gtest.h" 10*3ac0a46fSAndroid Build Coastguard Worker 11*3ac0a46fSAndroid Build Coastguard Worker #ifdef PDF_ENABLE_V8 12*3ac0a46fSAndroid Build Coastguard Worker #include "testing/v8_test_environment.h" 13*3ac0a46fSAndroid Build Coastguard Worker #endif // PDF_ENABLE_V8 14*3ac0a46fSAndroid Build Coastguard Worker 15*3ac0a46fSAndroid Build Coastguard Worker #if defined(PDF_USE_PARTITION_ALLOC) 16*3ac0a46fSAndroid Build Coastguard Worker #include "testing/allocator_shim_config.h" 17*3ac0a46fSAndroid Build Coastguard Worker #endif 18*3ac0a46fSAndroid Build Coastguard Worker 19*3ac0a46fSAndroid Build Coastguard Worker // Can't use gtest-provided main since we need to create our own 20*3ac0a46fSAndroid Build Coastguard Worker // testing environment which needs the executable path in order to 21*3ac0a46fSAndroid Build Coastguard Worker // find the external V8 binary data files. main(int argc,char ** argv)22*3ac0a46fSAndroid Build Coastguard Workerint main(int argc, char** argv) { 23*3ac0a46fSAndroid Build Coastguard Worker #if defined(PDF_USE_PARTITION_ALLOC) 24*3ac0a46fSAndroid Build Coastguard Worker pdfium::ConfigurePartitionAllocShimPartitionForTest(); 25*3ac0a46fSAndroid Build Coastguard Worker #endif 26*3ac0a46fSAndroid Build Coastguard Worker 27*3ac0a46fSAndroid Build Coastguard Worker FX_InitializeMemoryAllocators(); 28*3ac0a46fSAndroid Build Coastguard Worker 29*3ac0a46fSAndroid Build Coastguard Worker #ifdef PDF_ENABLE_V8 30*3ac0a46fSAndroid Build Coastguard Worker // The env will be deleted by gtest. 31*3ac0a46fSAndroid Build Coastguard Worker AddGlobalTestEnvironment(new V8TestEnvironment(argv[0])); 32*3ac0a46fSAndroid Build Coastguard Worker #endif // PDF_ENABLE_V8 33*3ac0a46fSAndroid Build Coastguard Worker 34*3ac0a46fSAndroid Build Coastguard Worker // The env will be deleted by gtest. 35*3ac0a46fSAndroid Build Coastguard Worker AddGlobalTestEnvironment(new EmbedderTestEnvironment); 36*3ac0a46fSAndroid Build Coastguard Worker 37*3ac0a46fSAndroid Build Coastguard Worker testing::InitGoogleTest(&argc, argv); 38*3ac0a46fSAndroid Build Coastguard Worker testing::InitGoogleMock(&argc, argv); 39*3ac0a46fSAndroid Build Coastguard Worker 40*3ac0a46fSAndroid Build Coastguard Worker // Anything remaining in argc/argv is an embedder_tests flag. 41*3ac0a46fSAndroid Build Coastguard Worker EmbedderTestEnvironment::GetInstance()->AddFlags(argc, argv); 42*3ac0a46fSAndroid Build Coastguard Worker 43*3ac0a46fSAndroid Build Coastguard Worker return RUN_ALL_TESTS(); 44*3ac0a46fSAndroid Build Coastguard Worker } 45