summaryrefslogtreecommitdiffstats
path: root/testing/gtest/moz.build
blob: 2c54be89370fbaf53f9d7762d3ddc3a78027bd4c (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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

EXPORTS.gtest += [
    "MozGtestFriend.h",
]

with Files("**"):
    BUG_COMPONENT = ("Testing", "GTest")
    SCHEDULES.exclusive = ["gtest"]

if CONFIG["ENABLE_TESTS"]:
    gtest_exports = [
        "benchmark/BlackBox.h",
        "gtest/include/gtest/gtest-death-test.h",
        "gtest/include/gtest/gtest-message.h",
        "gtest/include/gtest/gtest-param-test.h",
        "gtest/include/gtest/gtest-printers.h",
        "gtest/include/gtest/gtest-spi.h",
        "gtest/include/gtest/gtest-test-part.h",
        "gtest/include/gtest/gtest-typed-test.h",
        "gtest/include/gtest/gtest.h",
        "gtest/include/gtest/gtest_pred_impl.h",
        "gtest/include/gtest/gtest_prod.h",
        "mozilla/MozGTestBench.h",
    ]
    EXPORTS.gtest += gtest_exports

    # webrtc.org unit tests use this include path
    EXPORTS.testing.gtest.include.gtest += gtest_exports

    # GTest internal are exposed in gtest.h. See comment in gtest.h
    EXPORTS.gtest.internal += [
        "gtest/include/gtest/internal/gtest-death-test-internal.h",
        "gtest/include/gtest/internal/gtest-filepath.h",
        "gtest/include/gtest/internal/gtest-internal.h",
        "gtest/include/gtest/internal/gtest-linked_ptr.h",
        "gtest/include/gtest/internal/gtest-param-util-generated.h",
        "gtest/include/gtest/internal/gtest-param-util.h",
        "gtest/include/gtest/internal/gtest-port-arch.h",
        "gtest/include/gtest/internal/gtest-port.h",
        "gtest/include/gtest/internal/gtest-string.h",
        "gtest/include/gtest/internal/gtest-tuple.h",
        "gtest/include/gtest/internal/gtest-type-util.h",
    ]

    EXPORTS.gtest.internal.custom += [
        "gtest/include/gtest/internal/custom/gtest-port.h",
        "gtest/include/gtest/internal/custom/gtest-printers.h",
    ]

    gmock_exports = [
        "gmock/include/gmock/gmock-actions.h",
        "gmock/include/gmock/gmock-cardinalities.h",
        "gmock/include/gmock/gmock-generated-actions.h",
        "gmock/include/gmock/gmock-generated-function-mockers.h",
        "gmock/include/gmock/gmock-generated-matchers.h",
        "gmock/include/gmock/gmock-generated-nice-strict.h",
        "gmock/include/gmock/gmock-matchers.h",
        "gmock/include/gmock/gmock-more-actions.h",
        "gmock/include/gmock/gmock-more-matchers.h",
        "gmock/include/gmock/gmock-spec-builders.h",
        "gmock/include/gmock/gmock.h",
    ]
    EXPORTS.gmock += gmock_exports

    # webrtc.org unit tests use this include path
    EXPORTS.testing.gmock.include.gmock += gmock_exports

    # gmock also includes internal interfaces in it's public header
    EXPORTS.gmock.internal += [
        "gmock/include/gmock/internal/gmock-generated-internal-utils.h",
        "gmock/include/gmock/internal/gmock-internal-utils.h",
        "gmock/include/gmock/internal/gmock-port.h",
    ]

    EXPORTS.gmock.internal.custom += [
        "gmock/include/gmock/internal/custom/gmock-generated-actions.h",
        "gmock/include/gmock/internal/custom/gmock-matchers.h",
        "gmock/include/gmock/internal/custom/gmock-port.h",
    ]

    SOURCES += [
        "gmock/src/gmock-all.cc",
        "gtest/src/gtest-all.cc",
    ]

    Library("gtest")

    LOCAL_INCLUDES += [
        "gmock",
        "gmock/include",
        "gtest",
        "gtest/include",
    ]

    if CONFIG["OS_ARCH"] == "WINNT":
        LOCAL_INCLUDES += [
            "/security/sandbox/chromium",
        ]
        DEFINES["UNICODE"] = True

    DIRS += ["benchmark", "mozilla"]

    FINAL_LIBRARY = "xul-gtest"