BUILD.gn 10.3 KB
Newer Older
machenbach's avatar
machenbach committed
1 2 3 4 5 6
# Copyright 2016 The V8 project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("../../gni/v8.gni")

7
v8_executable("unittests") {
machenbach's avatar
machenbach committed
8 9
  testonly = true

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
  # TODO(machenbach): Translate from gyp.
  #['OS=="aix"', {
  #  'ldflags': [ '-Wl,-bbigtoc' ],
  #}],

  deps = [
    ":unittests_sources",
    "../..:v8_for_testing",
    "../..:v8_libbase",
    "../..:v8_libplatform",
    "//build/win:default_exe_manifest",
    "//testing/gmock",
    "//testing/gtest",
  ]

25 26 27 28 29 30 31 32 33
  data_deps = [
    "../../tools:v8_testrunner",
  ]

  data = [
    "testcfg.py",
    "unittests.status",
  ]

34 35 36 37 38
  configs = [
    "../..:external_config",
    "../..:internal_config_base",
  ]
}
39

40 41 42
v8_source_set("unittests_sources") {
  testonly = true

jochen's avatar
jochen committed
43
  sources = [
44
    "../../test/common/assembler-tester.h",
45
    "../../test/common/wasm/wasm-macro-gen.h",
46 47
    "../../testing/gmock-support.h",
    "../../testing/gtest-support.h",
48
    "allocation-unittest.cc",
49
    "api/access-check-unittest.cc",
50
    "api/exception-unittest.cc",
51
    "api/interceptor-unittest.cc",
52
    "api/isolate-unittest.cc",
53
    "api/remote-object-unittest.cc",
54
    "api/v8-object-unittest.cc",
55
    "asmjs/asm-scanner-unittest.cc",
56
    "asmjs/asm-types-unittest.cc",
57
    "background-compile-task-unittest.cc",
58
    "base/address-region-unittest.cc",
jochen's avatar
jochen committed
59 60 61 62 63 64 65 66
    "base/atomic-utils-unittest.cc",
    "base/bits-unittest.cc",
    "base/cpu-unittest.cc",
    "base/division-by-constant-unittest.cc",
    "base/flags-unittest.cc",
    "base/functional-unittest.cc",
    "base/ieee754-unittest.cc",
    "base/iterator-unittest.cc",
67
    "base/list-unittest.cc",
jochen's avatar
jochen committed
68
    "base/logging-unittest.cc",
69
    "base/macros-unittest.cc",
70
    "base/ostreams-unittest.cc",
jochen's avatar
jochen committed
71 72 73 74 75
    "base/platform/condition-variable-unittest.cc",
    "base/platform/mutex-unittest.cc",
    "base/platform/platform-unittest.cc",
    "base/platform/semaphore-unittest.cc",
    "base/platform/time-unittest.cc",
76
    "base/region-allocator-unittest.cc",
jochen's avatar
jochen committed
77
    "base/sys-info-unittest.cc",
78
    "base/template-utils-unittest.cc",
79
    "base/threaded-list-unittest.cc",
jochen's avatar
jochen committed
80
    "base/utils/random-number-generator-unittest.cc",
81
    "bigint-unittest.cc",
jochen's avatar
jochen committed
82 83
    "cancelable-tasks-unittest.cc",
    "char-predicates-unittest.cc",
84 85
    "code-stub-assembler-unittest.cc",
    "code-stub-assembler-unittest.h",
86
    "compiler-dispatcher/compiler-dispatcher-unittest.cc",
87
    "compiler-dispatcher/optimizing-compile-dispatcher-unittest.cc",
88 89 90 91 92
    "compiler/backend/instruction-selector-unittest.cc",
    "compiler/backend/instruction-selector-unittest.h",
    "compiler/backend/instruction-sequence-unittest.cc",
    "compiler/backend/instruction-sequence-unittest.h",
    "compiler/backend/instruction-unittest.cc",
jochen's avatar
jochen committed
93
    "compiler/branch-elimination-unittest.cc",
94
    "compiler/bytecode-analysis-unittest.cc",
jochen's avatar
jochen committed
95
    "compiler/checkpoint-elimination-unittest.cc",
96 97
    "compiler/code-assembler-unittest.cc",
    "compiler/code-assembler-unittest.h",
jochen's avatar
jochen committed
98 99 100
    "compiler/common-operator-reducer-unittest.cc",
    "compiler/common-operator-unittest.cc",
    "compiler/compiler-test-utils.h",
101
    "compiler/constant-folding-reducer-unittest.cc",
jochen's avatar
jochen committed
102 103 104 105 106 107 108 109 110 111 112
    "compiler/control-equivalence-unittest.cc",
    "compiler/control-flow-optimizer-unittest.cc",
    "compiler/dead-code-elimination-unittest.cc",
    "compiler/diamond-unittest.cc",
    "compiler/effect-control-linearizer-unittest.cc",
    "compiler/graph-reducer-unittest.cc",
    "compiler/graph-reducer-unittest.h",
    "compiler/graph-trimmer-unittest.cc",
    "compiler/graph-unittest.cc",
    "compiler/graph-unittest.h",
    "compiler/int64-lowering-unittest.cc",
113
    "compiler/js-call-reducer-unittest.cc",
jochen's avatar
jochen committed
114 115
    "compiler/js-create-lowering-unittest.cc",
    "compiler/js-intrinsic-lowering-unittest.cc",
116
    "compiler/js-native-context-specialization-unittest.cc",
jochen's avatar
jochen committed
117 118 119 120 121 122 123 124 125 126 127 128 129 130
    "compiler/js-operator-unittest.cc",
    "compiler/js-typed-lowering-unittest.cc",
    "compiler/linkage-tail-call-unittest.cc",
    "compiler/load-elimination-unittest.cc",
    "compiler/loop-peeling-unittest.cc",
    "compiler/machine-operator-reducer-unittest.cc",
    "compiler/machine-operator-unittest.cc",
    "compiler/node-cache-unittest.cc",
    "compiler/node-matchers-unittest.cc",
    "compiler/node-properties-unittest.cc",
    "compiler/node-test-utils.cc",
    "compiler/node-test-utils.h",
    "compiler/node-unittest.cc",
    "compiler/opcodes-unittest.cc",
131
    "compiler/persistent-unittest.cc",
132
    "compiler/redundancy-elimination-unittest.cc",
133 134 135
    "compiler/regalloc/live-range-unittest.cc",
    "compiler/regalloc/move-optimizer-unittest.cc",
    "compiler/regalloc/register-allocator-unittest.cc",
jochen's avatar
jochen committed
136 137 138
    "compiler/schedule-unittest.cc",
    "compiler/scheduler-rpo-unittest.cc",
    "compiler/scheduler-unittest.cc",
139
    "compiler/simplified-lowering-unittest.cc",
jochen's avatar
jochen committed
140 141 142 143 144 145
    "compiler/simplified-operator-reducer-unittest.cc",
    "compiler/simplified-operator-unittest.cc",
    "compiler/state-values-utils-unittest.cc",
    "compiler/typed-optimization-unittest.cc",
    "compiler/typer-unittest.cc",
    "compiler/value-numbering-reducer-unittest.cc",
146
    "compiler/zone-stats-unittest.cc",
147
    "conversions-unittest.cc",
jochen's avatar
jochen committed
148
    "counters-unittest.cc",
149
    "detachable-vector-unittest.cc",
jochen's avatar
jochen committed
150 151
    "eh-frame-iterator-unittest.cc",
    "eh-frame-writer-unittest.cc",
152
    "heap/barrier-unittest.cc",
153
    "heap/bitmap-test-utils.h",
jochen's avatar
jochen committed
154
    "heap/bitmap-unittest.cc",
155
    "heap/embedder-tracing-unittest.cc",
jochen's avatar
jochen committed
156 157
    "heap/gc-idle-time-handler-unittest.cc",
    "heap/gc-tracer-unittest.cc",
158
    "heap/heap-controller-unittest.cc",
jochen's avatar
jochen committed
159
    "heap/heap-unittest.cc",
160
    "heap/item-parallel-job-unittest.cc",
jochen's avatar
jochen committed
161 162
    "heap/marking-unittest.cc",
    "heap/memory-reducer-unittest.cc",
163
    "heap/object-stats-unittest.cc",
jochen's avatar
jochen committed
164 165
    "heap/scavenge-job-unittest.cc",
    "heap/slot-set-unittest.cc",
166
    "heap/spaces-unittest.cc",
167
    "heap/unmapper-unittest.cc",
168
    "heap/worklist-unittest.cc",
jochen's avatar
jochen committed
169 170
    "interpreter/bytecode-array-builder-unittest.cc",
    "interpreter/bytecode-array-iterator-unittest.cc",
171
    "interpreter/bytecode-array-random-iterator-unittest.cc",
172
    "interpreter/bytecode-array-writer-unittest.cc",
jochen's avatar
jochen committed
173
    "interpreter/bytecode-decoder-unittest.cc",
174
    "interpreter/bytecode-node-unittest.cc",
175
    "interpreter/bytecode-operands-unittest.cc",
jochen's avatar
jochen committed
176 177
    "interpreter/bytecode-register-allocator-unittest.cc",
    "interpreter/bytecode-register-optimizer-unittest.cc",
178
    "interpreter/bytecode-source-info-unittest.cc",
179
    "interpreter/bytecode-utils.h",
jochen's avatar
jochen committed
180 181 182 183 184 185 186 187
    "interpreter/bytecodes-unittest.cc",
    "interpreter/constant-array-builder-unittest.cc",
    "interpreter/interpreter-assembler-unittest.cc",
    "interpreter/interpreter-assembler-unittest.h",
    "libplatform/default-platform-unittest.cc",
    "libplatform/task-queue-unittest.cc",
    "libplatform/worker-thread-unittest.cc",
    "locked-queue-unittest.cc",
188
    "microtask-queue-unittest.cc",
189
    "object-unittest.cc",
190
    "parser/ast-value-unittest.cc",
191
    "parser/preparser-unittest.cc",
jochen's avatar
jochen committed
192 193 194
    "register-configuration-unittest.cc",
    "run-all-unittests.cc",
    "source-position-table-unittest.cc",
195
    "strings-storage-unittest.cc",
196 197
    "test-helpers.cc",
    "test-helpers.h",
jochen's avatar
jochen committed
198 199
    "test-utils.cc",
    "test-utils.h",
200
    "torque/earley-parser-unittest.cc",
201
    "torque/torque-unittest.cc",
202
    "unicode-unittest.cc",
203
    "utils-unittest.cc",
jochen's avatar
jochen committed
204 205 206
    "value-serializer-unittest.cc",
    "wasm/control-transfer-unittest.cc",
    "wasm/decoder-unittest.cc",
207
    "wasm/function-body-decoder-unittest.cc",
jochen's avatar
jochen committed
208 209 210
    "wasm/leb-helper-unittest.cc",
    "wasm/loop-assignment-analysis-unittest.cc",
    "wasm/module-decoder-unittest.cc",
211
    "wasm/streaming-decoder-unittest.cc",
212
    "wasm/wasm-code-manager-unittest.cc",
213
    "wasm/wasm-compiler-unittest.cc",
jochen's avatar
jochen committed
214
    "wasm/wasm-macro-gen-unittest.cc",
215
    "wasm/wasm-module-builder-unittest.cc",
216
    "wasm/wasm-opcodes-unittest.cc",
217
    "zone/segmentpool-unittest.cc",
218
    "zone/zone-allocator-unittest.cc",
219
    "zone/zone-chunk-list-unittest.cc",
220
    "zone/zone-unittest.cc",
jochen's avatar
jochen committed
221
  ]
machenbach's avatar
machenbach committed
222

223 224 225 226 227 228 229 230 231
  if (use_jumbo_build) {
    jumbo_excluded_sources = [
      # TODO(mostynb@opera.com): figure out how to make this build in both
      # modes.  Template issues on windows if we add a functional_unittest
      # namespace as with the other files.
      "base/functional-unittest.cc",
    ]
  }

232
  if (v8_current_cpu == "arm") {
233 234 235 236
    sources += [
      "assembler/turbo-assembler-arm-unittest.cc",
      "compiler/arm/instruction-selector-arm-unittest.cc",
    ]
237
  } else if (v8_current_cpu == "arm64") {
238 239 240 241
    sources += [
      "assembler/turbo-assembler-arm64-unittest.cc",
      "compiler/arm64/instruction-selector-arm64-unittest.cc",
    ]
242
  } else if (v8_current_cpu == "x86") {
243 244 245 246
    sources += [
      "assembler/turbo-assembler-ia32-unittest.cc",
      "compiler/ia32/instruction-selector-ia32-unittest.cc",
    ]
247
  } else if (v8_current_cpu == "mips" || v8_current_cpu == "mipsel") {
248 249 250 251
    sources += [
      "assembler/turbo-assembler-mips-unittest.cc",
      "compiler/mips/instruction-selector-mips-unittest.cc",
    ]
252
  } else if (v8_current_cpu == "mips64" || v8_current_cpu == "mips64el") {
253 254 255 256
    sources += [
      "assembler/turbo-assembler-mips64-unittest.cc",
      "compiler/mips64/instruction-selector-mips64-unittest.cc",
    ]
257
  } else if (v8_current_cpu == "x64") {
258 259 260
    sources += [
      "assembler/turbo-assembler-x64-unittest.cc",
      "compiler/x64/instruction-selector-x64-unittest.cc",
261
      "wasm/trap-handler-x64-unittest.cc",
262
    ]
263
  } else if (v8_current_cpu == "ppc" || v8_current_cpu == "ppc64") {
264 265 266 267
    sources += [
      "assembler/turbo-assembler-ppc-unittest.cc",
      "compiler/ppc/instruction-selector-ppc-unittest.cc",
    ]
268
  } else if (v8_current_cpu == "s390" || v8_current_cpu == "s390x") {
269 270 271 272
    sources += [
      "assembler/turbo-assembler-s390-unittest.cc",
      "compiler/s390/instruction-selector-s390-unittest.cc",
    ]
machenbach's avatar
machenbach committed
273 274
  }

275 276 277 278 279 280 281 282
  if (is_posix) {
    sources += [ "wasm/trap-handler-posix-unittest.cc" ]
  }

  if (is_win) {
    sources += [ "wasm/trap-handler-win-unittest.cc" ]
  }

283
  configs = [
machenbach's avatar
machenbach committed
284 285 286 287 288
    "../..:external_config",
    "../..:internal_config_base",
  ]

  deps = [
289
    "..:common_test_headers",
290
    "../..:v8_for_testing",
291
    "../..:v8_libbase",
machenbach's avatar
machenbach committed
292 293 294 295 296 297
    "../..:v8_libplatform",
    "//build/win:default_exe_manifest",
    "//testing/gmock",
    "//testing/gtest",
  ]

298 299 300 301 302 303
  if (is_win) {
    # This warning is benignly triggered by the U16 and U32 macros in
    # bytecode-utils.h.
    # C4309: 'static_cast': truncation of constant value
    cflags = [ "/wd4309" ]
  }
machenbach's avatar
machenbach committed
304
}