summaryrefslogtreecommitdiffstats
path: root/mfbt/tests/moz.build
blob: 3597222b5438b1b6c808a1c9b6e58e4c7f53aa45 (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
109
110
111
# -*- 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/.

if CONFIG["MOZ_WIDGET_TOOLKIT"]:
    TEST_DIRS += [
        "gtest",
    ]

# Important: for these tests to be run, they also need to be added
# to testing/cppunittest.ini.
CppUnitTests(
    [
        "TestAlgorithm",
        "TestArray",
        "TestArrayUtils",
        "TestAtomicBitfields",
        "TestAtomics",
        "TestBinarySearch",
        "TestBitSet",
        "TestBloomFilter",
        "TestBufferList",
        "TestCasting",
        "TestCeilingFloor",
        "TestCheckedInt",
        "TestCompactPair",
        "TestCountPopulation",
        "TestCountZeroes",
        "TestDefineEnum",
        "TestDoublyLinkedList",
        "TestEndian",
        "TestEnumeratedArray",
        "TestEnumSet",
        "TestEnumTypeTraits",
        "TestFastBernoulliTrial",
        "TestFloatingPoint",
        "TestFunctionRef",
        "TestFunctionTypeTraits",
        "TestHashTable",
        "TestIntegerPrintfMacros",
        "TestIntegerRange",
        "TestJSONWriter",
        "TestLinkedList",
        "TestMacroArgs",
        "TestMacroForEach",
        "TestMathAlgorithms",
        "TestMaybe",
        "TestNonDereferenceable",
        "TestNotNull",
        "TestRandomNum",
        "TestRange",
        "TestRefPtr",
        "TestResult",
        "TestRollingMean",
        "TestSaturate",
        "TestScopeExit",
        "TestSegmentedVector",
        "TestSHA1",
        "TestSmallPointerArray",
        "TestSplayTree",
        "TestSPSCQueue",
        "TestTemplateLib",
        "TestTextUtils",
        "TestThreadSafeWeakPtr",
        "TestTuple",
        "TestTypedEnum",
        "TestTypeTraits",
        "TestUniquePtr",
        "TestVariant",
        "TestVector",
        "TestWeakPtr",
        "TestWrappingOperations",
        "TestXorShift128PlusRNG",
    ]
)

# Not to be unified with the rest, because this test
# sets MOZ_PRETEND_NO_JSRUST, which changes the behavior
# of the included headers.
CppUnitTests(
    [
        "TestUtf8",
    ]
)

if not CONFIG["MOZ_ASAN"]:
    CppUnitTests(
        [
            "TestPoisonArea",
        ]
    )

# Since we link directly with MFBT object files, define IMPL_MFBT
DEFINES["IMPL_MFBT"] = True

DisableStlWrapping()

if CONFIG["CC_TYPE"] == "clang-cl":
    CXXFLAGS += [
        "-wd4275",  # non dll-interface class used as base for dll-interface class
        "-wd4530",  # C++ exception handler used, but unwind semantics are not enabled
    ]

USE_LIBS += [
    "mfbt",
]

if CONFIG["CC_TYPE"] in ("clang", "gcc"):
    CXXFLAGS += ["-Wno-error=shadow"]