aboutsummaryrefslogtreecommitdiff
path: root/testing/embedder_test_main.cpp
blob: 53049b69434ddcf38722eb6b3ba7966063748999 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// 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.

#include "build/build_config.h"
#include "core/fxcrt/fx_memory.h"
#include "testing/embedder_test_environment.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"

#ifdef PDF_ENABLE_V8
#include "testing/v8_test_environment.h"
#endif  // PDF_ENABLE_V8

// Can't use gtest-provided main since we need to create our own
// testing environment which needs the executable path in order to
// find the external V8 binary data files.
int main(int argc, char** argv) {
  FX_InitializeMemoryAllocators();

#ifdef PDF_ENABLE_V8
  // The env will be deleted by gtest.
  AddGlobalTestEnvironment(new V8TestEnvironment(argv[0]));
#endif  // PDF_ENABLE_V8

  // The env will be deleted by gtest.
  AddGlobalTestEnvironment(new EmbedderTestEnvironment);

  testing::InitGoogleTest(&argc, argv);
  testing::InitGoogleMock(&argc, argv);

  // Anything remaining in argc/argv is an embedder_tests flag.
  EmbedderTestEnvironment::GetInstance()->AddFlags(argc, argv);

  return RUN_ALL_TESTS();
}