tint->dawn: Move src/dawn_tests -> src/dawn/tests

Bug: dawn:1275
Change-Id: I79f2aeb0c54a74dd5becd90c46792705a28e87da
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/79100
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
This commit is contained in:
Austin Eng 2022-02-09 14:54:31 +00:00 committed by Dawn LUCI CQ
parent 962c4ea5d5
commit 189b0cec37
248 changed files with 935 additions and 888 deletions

View File

@ -19,8 +19,9 @@ group("all") {
deps = [
"src/dawn/fuzzers",
"src/dawn/native:webgpu_dawn",
"src/dawn/tests",
"src/fuzzers/dawn:dawn_fuzzers",
"src/tests:dawn_tests",
"src/tests", # TODO(crbug.com/dawn/1275) - remove
]
if (dawn_standalone) {
deps += [ "samples/dawn:samples" ]

View File

@ -18,16 +18,16 @@ This repository contains the implementation of Dawn, which is itself composed of
- [`fuzzers`](../src/dawn/fuzzers): various fuzzers for Dawn that are running in [Clusterfuzz](https://google.github.io/clusterfuzz/).
- [`native`](../src/dawn/native): code for the implementation of WebGPU on top of graphics APIs. Files in this folder are the "frontend" while subdirectories are "backends".
- `<backend>`: code for the implementation of the backend on a specific graphics API, for example `d3d12`, `metal` or `vulkan`.
- [`tests`](../src/dawn/tests):
- [`end2end`](../src/dawn/tests/end2end): tests for the execution of the WebGPU API and require a GPU to run.
- [`perf_tests`](../src/dawn/tests/perf_tests): benchmarks for various aspects of Dawn.
- [`unittests`](../src/dawn/tests/unittests): code unittests of internal classes, but also by extension WebGPU API tests that don't require a GPU to run.
- [`validation`](../src/dawn/tests/unittests/validation): WebGPU validation tests not using the GPU (frontend tests)
- [`white_box`](../src/dawn/tests/white_box): tests using the GPU that need to access the internals of `dawn_native` or `dawn_wire`.
- [`wire`](../src/dawn/wire): code for an implementation of WebGPU as a client-server architecture.
- [`utils`](../src/dawn/utils): helper code to use Dawn used by tests and samples but disallowed for `dawn_native` and `dawn_wire`.
- [`platform`](../src/dawn/platform): definition of interfaces for dependency injection in `dawn_native` or `dawn_wire`.
- [`include`](../src/include): public headers with subdirectories for each library. Note that some headers are auto-generated and not present directly in the directory.
- [`tests`](../src/tests):
- [`end2end`](../src/tests/end2end): tests for the execution of the WebGPU API and require a GPU to run.
- [`perf_tests`](../src/tests/perf_tests): benchmarks for various aspects of Dawn.
- [`unittests`](../src/tests/unittests): code unittests of internal classes, but also by extension WebGPU API tests that don't require a GPU to run.
- [`validation`](../src/tests/unittests/validation): WebGPU validation tests not using the GPU (frontend tests)
- [`white_box`](../src/tests/white_box): tests using the GPU that need to access the internals of `dawn_native` or `dawn_wire`.
- [`third_party`](../third_party): directory where dependencies live as well as their buildfiles.
## Dawn Native (`dawn_native`)

View File

@ -19,7 +19,7 @@ A Chromium checkout is required for the highest optimization flags. It is possib
- Step: A group of Iterations run together. The number of `iterationsPerStep` is provided to the constructor of `DawnPerfTestBase`.
- Trial: A group of Steps run consecutively. `kNumTrials` are run for each test. A Step in a Trial is run repetitively for approximately `kCalibrationRunTimeSeconds`. Metrics are accumlated per-trial and reported as the total time divided by `numSteps * iterationsPerStep`. `maxStepsInFlight` is passed to the `DawnPerfTestsBase` constructor to limit the number of Steps pipelined.
(See [`//src/tests/perf_tests/DawnPerfTest.h`](https://cs.chromium.org/chromium/src/third_party/dawn/src/tests/perf_tests/DawnPerfTest.h) for the values of the constants).
(See [`//src/dawn/tests/perf_tests/DawnPerfTest.h`](https://cs.chromium.org/chromium/src/third_party/dawn/src/dawn/tests/perf_tests/DawnPerfTest.h) for the values of the constants).
### Metrics

View File

@ -86,8 +86,8 @@ config("internal_config") {
# this BUILD.gn file and related subdirs.
visibility = [
"${dawn_root}/samples/dawn/*",
"${dawn_root}/src/*",
"${dawn_root}/src/dawn/*",
"${dawn_root}/src/tests/*", # TODO(crbug.com/dawn/1275) - remove this
]
cflags = []

View File

@ -60,7 +60,7 @@ namespace dawn::native::d3d12 {
// counterparts. These arguments should strictly conform to particular invariants. Otherwise,
// D3D12 driver may report validation errors when we call CopyTextureRegion. Some important
// invariants are listed below. For more details
// of these invariants, see src/tests/unittests/d3d12/CopySplitTests.cpp.
// of these invariants, see src/dawn/tests/unittests/d3d12/CopySplitTests.cpp.
// - Inside each copy region: 1) its buffer offset plus copy size should be less than its
// buffer size, 2) its buffer offset on y-axis should be less than copy format's
// blockInfo.height, 3) its buffer offset on z-axis should be 0.

644
src/dawn/tests/BUILD.gn Normal file
View File

@ -0,0 +1,644 @@
# Copyright 2012 The Dawn Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import("../../../scripts/dawn_overrides_with_defaults.gni")
import("//testing/test.gni")
import("${dawn_root}/generator/dawn_generator.gni")
import("${dawn_root}/scripts/dawn_features.gni")
group("tests") {
testonly = true
deps = [
":dawn_end2end_tests",
":dawn_perf_tests",
":dawn_unittests",
]
}
###############################################################################
# Gtest Gmock - Handle building inside and outside of Chromium.
###############################################################################
# When building outside of Chromium we need to define our own targets for GTest
# and GMock. However when compiling inside of Chromium we need to reuse the
# existing targets, both because Chromium has a special harness for swarming
# and because otherwise the "gn check" fails.
if (!build_with_chromium) {
# When we aren't in Chromium we define out own targets based on the location
# of the googletest repo.
googletest_dir = dawn_googletest_dir
config("gtest_config") {
include_dirs = [
"${googletest_dir}/googletest",
"${googletest_dir}/googletest/include",
]
}
static_library("gtest") {
testonly = true
sources = [ "${googletest_dir}/googletest/src/gtest-all.cc" ]
public_configs = [ ":gtest_config" ]
}
config("gmock_config") {
include_dirs = [
"${googletest_dir}/googlemock",
"${googletest_dir}/googlemock/include",
"${googletest_dir}/googletest/include",
]
}
static_library("gmock") {
testonly = true
sources = [ "${googletest_dir}/googlemock/src/gmock-all.cc" ]
public_configs = [ ":gmock_config" ]
}
group("gmock_and_gtest") {
testonly = true
public_deps = [
":gmock",
":gtest",
]
}
} else {
# When we are in Chromium we reuse its targets, and also add some deps that
# are needed to launch the test in swarming mode.
group("gmock_and_gtest") {
testonly = true
public_deps = [
"//base",
"//base/test:test_support",
"//testing/gmock",
"//testing/gtest",
]
}
}
###############################################################################
# Wrapping of Chromium targets
###############################################################################
# These targets are separated because they are Chromium sources files that
# can't use the dawn_internal config, otherwise Dawn's warning flags get
# applied while compiling a bunch of Chromium's //base (via header inclusion)
if (build_with_chromium) {
source_set("unittests_main") {
testonly = true
deps = [ ":gmock_and_gtest" ]
sources = [ "//gpu/dawn_unittests_main.cc" ]
}
source_set("end2end_tests_main") {
testonly = true
deps = [ ":gmock_and_gtest" ]
sources = [ "//gpu/dawn_end2end_tests_main.cc" ]
}
source_set("perf_tests_main") {
testonly = true
deps = [ ":gmock_and_gtest" ]
sources = [ "//gpu/dawn_perf_tests_main.cc" ]
}
}
###############################################################################
# Dawn test template
###############################################################################
template("dawn_test") {
test(target_name) {
# Copy all variables except "configs", which has a default value
forward_variables_from(invoker, "*", [ "configs" ])
if (defined(invoker.configs)) {
configs += invoker.configs
}
configs += [ "${dawn_root}/src/dawn/common:internal_config" ]
}
}
###############################################################################
# Dawn unittests
###############################################################################
dawn_json_generator("mock_webgpu_gen") {
target = "mock_api"
outputs = [
"src/dawn/mock_webgpu.h",
"src/dawn/mock_webgpu.cpp",
]
}
# Source code for mocks used for unit testing are separated from the rest of
# sources so that they aren't included in non-test builds.
source_set("native_mocks_sources") {
testonly = true
deps = [
":gmock_and_gtest",
"${dawn_root}/src/dawn/native:sources",
"${dawn_root}/src/dawn/native:static",
"${dawn_root}/src/dawn/utils",
]
# Add internal dawn native config for internal unittests.
configs += [ "${dawn_root}/src/dawn/native:internal" ]
sources = [
"unittests/native/mocks/BindGroupLayoutMock.h",
"unittests/native/mocks/BindGroupMock.h",
"unittests/native/mocks/CommandBufferMock.h",
"unittests/native/mocks/ComputePipelineMock.h",
"unittests/native/mocks/DeviceMock.h",
"unittests/native/mocks/ExternalTextureMock.h",
"unittests/native/mocks/PipelineLayoutMock.h",
"unittests/native/mocks/QuerySetMock.h",
"unittests/native/mocks/RenderPipelineMock.h",
"unittests/native/mocks/SamplerMock.h",
"unittests/native/mocks/ShaderModuleMock.cpp",
"unittests/native/mocks/ShaderModuleMock.h",
"unittests/native/mocks/SwapChainMock.h",
"unittests/native/mocks/TextureMock.h",
]
}
dawn_test("dawn_unittests") {
deps = [
":gmock_and_gtest",
":mock_webgpu_gen",
":native_mocks_sources",
"${dawn_root}/src/dawn:cpp",
"${dawn_root}/src/dawn:proc",
"${dawn_root}/src/dawn/common",
"${dawn_root}/src/dawn/native:sources",
"${dawn_root}/src/dawn/native:static",
"${dawn_root}/src/dawn/utils",
"${dawn_root}/src/dawn/wire",
]
# Add internal dawn native config for internal unittests.
configs = [ "${dawn_root}/src/dawn/native:internal" ]
sources = get_target_outputs(":mock_webgpu_gen")
sources += [
"${dawn_root}/src/dawn/wire/client/ClientMemoryTransferService_mock.cpp",
"${dawn_root}/src/dawn/wire/client/ClientMemoryTransferService_mock.h",
"${dawn_root}/src/dawn/wire/server/ServerMemoryTransferService_mock.cpp",
"${dawn_root}/src/dawn/wire/server/ServerMemoryTransferService_mock.h",
"DawnNativeTest.cpp",
"DawnNativeTest.h",
"MockCallback.h",
"ToggleParser.cpp",
"ToggleParser.h",
"unittests/AsyncTaskTests.cpp",
"unittests/BitSetIteratorTests.cpp",
"unittests/BuddyAllocatorTests.cpp",
"unittests/BuddyMemoryAllocatorTests.cpp",
"unittests/ChainUtilsTests.cpp",
"unittests/CommandAllocatorTests.cpp",
"unittests/ConcurrentCacheTests.cpp",
"unittests/EnumClassBitmasksTests.cpp",
"unittests/EnumMaskIteratorTests.cpp",
"unittests/ErrorTests.cpp",
"unittests/FeatureTests.cpp",
"unittests/GPUInfoTests.cpp",
"unittests/GetProcAddressTests.cpp",
"unittests/ITypArrayTests.cpp",
"unittests/ITypBitsetTests.cpp",
"unittests/ITypSpanTests.cpp",
"unittests/ITypVectorTests.cpp",
"unittests/LimitsTests.cpp",
"unittests/LinkedListTests.cpp",
"unittests/MathTests.cpp",
"unittests/ObjectBaseTests.cpp",
"unittests/PerStageTests.cpp",
"unittests/PerThreadProcTests.cpp",
"unittests/PlacementAllocatedTests.cpp",
"unittests/RefBaseTests.cpp",
"unittests/RefCountedTests.cpp",
"unittests/ResultTests.cpp",
"unittests/RingBufferAllocatorTests.cpp",
"unittests/SerialMapTests.cpp",
"unittests/SerialQueueTests.cpp",
"unittests/SlabAllocatorTests.cpp",
"unittests/StackContainerTests.cpp",
"unittests/SubresourceStorageTests.cpp",
"unittests/SystemUtilsTests.cpp",
"unittests/ToBackendTests.cpp",
"unittests/TypedIntegerTests.cpp",
"unittests/native/CommandBufferEncodingTests.cpp",
"unittests/native/DestroyObjectTests.cpp",
"unittests/native/DeviceCreationTests.cpp",
"unittests/validation/BindGroupValidationTests.cpp",
"unittests/validation/BufferValidationTests.cpp",
"unittests/validation/CommandBufferValidationTests.cpp",
"unittests/validation/ComputeIndirectValidationTests.cpp",
"unittests/validation/ComputeValidationTests.cpp",
"unittests/validation/CopyCommandsValidationTests.cpp",
"unittests/validation/CopyTextureForBrowserTests.cpp",
"unittests/validation/DebugMarkerValidationTests.cpp",
"unittests/validation/DeviceValidationTests.cpp",
"unittests/validation/DrawIndirectValidationTests.cpp",
"unittests/validation/DrawVertexAndIndexBufferOOBValidationTests.cpp",
"unittests/validation/DynamicStateCommandValidationTests.cpp",
"unittests/validation/ErrorScopeValidationTests.cpp",
"unittests/validation/ExternalTextureTests.cpp",
"unittests/validation/GetBindGroupLayoutValidationTests.cpp",
"unittests/validation/IndexBufferValidationTests.cpp",
"unittests/validation/InternalUsageValidationTests.cpp",
"unittests/validation/LabelTests.cpp",
"unittests/validation/MinimumBufferSizeValidationTests.cpp",
"unittests/validation/MultipleDeviceTests.cpp",
"unittests/validation/OverridableConstantsValidationTests.cpp",
"unittests/validation/PipelineAndPassCompatibilityTests.cpp",
"unittests/validation/QueryValidationTests.cpp",
"unittests/validation/QueueOnSubmittedWorkDoneValidationTests.cpp",
"unittests/validation/QueueSubmitValidationTests.cpp",
"unittests/validation/QueueWriteBufferValidationTests.cpp",
"unittests/validation/QueueWriteTextureValidationTests.cpp",
"unittests/validation/RenderBundleValidationTests.cpp",
"unittests/validation/RenderPassDescriptorValidationTests.cpp",
"unittests/validation/RenderPipelineValidationTests.cpp",
"unittests/validation/ResourceUsageTrackingTests.cpp",
"unittests/validation/SamplerValidationTests.cpp",
"unittests/validation/ShaderModuleValidationTests.cpp",
"unittests/validation/StorageTextureValidationTests.cpp",
"unittests/validation/TextureSubresourceTests.cpp",
"unittests/validation/TextureValidationTests.cpp",
"unittests/validation/TextureViewValidationTests.cpp",
"unittests/validation/ToggleValidationTests.cpp",
"unittests/validation/UnsafeAPIValidationTests.cpp",
"unittests/validation/ValidationTest.cpp",
"unittests/validation/ValidationTest.h",
"unittests/validation/VertexBufferValidationTests.cpp",
"unittests/validation/VertexStateValidationTests.cpp",
"unittests/validation/VideoViewsValidationTests.cpp",
"unittests/validation/WriteBufferTests.cpp",
"unittests/wire/WireAdapterTests.cpp",
"unittests/wire/WireArgumentTests.cpp",
"unittests/wire/WireBasicTests.cpp",
"unittests/wire/WireBufferMappingTests.cpp",
"unittests/wire/WireCreatePipelineAsyncTests.cpp",
"unittests/wire/WireDestroyObjectTests.cpp",
"unittests/wire/WireDisconnectTests.cpp",
"unittests/wire/WireErrorCallbackTests.cpp",
"unittests/wire/WireExtensionTests.cpp",
"unittests/wire/WireInjectDeviceTests.cpp",
"unittests/wire/WireInjectInstanceTests.cpp",
"unittests/wire/WireInjectSwapChainTests.cpp",
"unittests/wire/WireInjectTextureTests.cpp",
"unittests/wire/WireInstanceTests.cpp",
"unittests/wire/WireMemoryTransferServiceTests.cpp",
"unittests/wire/WireOptionalTests.cpp",
"unittests/wire/WireQueueTests.cpp",
"unittests/wire/WireShaderModuleTests.cpp",
"unittests/wire/WireTest.cpp",
"unittests/wire/WireTest.h",
"unittests/wire/WireWGPUDevicePropertiesTests.cpp",
]
if (is_win) {
sources += [ "unittests/WindowsUtilsTests.cpp" ]
}
if (dawn_enable_d3d12) {
sources += [ "unittests/d3d12/CopySplitTests.cpp" ]
}
# When building inside Chromium, use their gtest main function because it is
# needed to run in swarming correctly.
if (build_with_chromium) {
deps += [ ":unittests_main" ]
} else {
sources += [ "UnittestsMain.cpp" ]
}
}
###############################################################################
# Dawn end2end tests targets
###############################################################################
source_set("end2end_tests_sources") {
configs += [ "${dawn_root}/src/dawn/common:internal_config" ]
testonly = true
deps = [
":gmock_and_gtest",
"${dawn_root}/src/dawn:cpp",
"${dawn_root}/src/dawn:proc",
"${dawn_root}/src/dawn/common",
# Statically linked because the end2end white_box tests use Dawn internals.
"${dawn_root}/src/dawn/native:static",
"${dawn_root}/src/dawn/utils",
"${dawn_root}/src/dawn/wire",
]
sources = [
"DawnTest.h",
"MockCallback.h",
"ParamGenerator.h",
"ToggleParser.cpp",
"ToggleParser.h",
"end2end/AdapterDiscoveryTests.cpp",
"end2end/BasicTests.cpp",
"end2end/BindGroupTests.cpp",
"end2end/BufferTests.cpp",
"end2end/BufferZeroInitTests.cpp",
"end2end/ClipSpaceTests.cpp",
"end2end/ColorStateTests.cpp",
"end2end/CommandEncoderTests.cpp",
"end2end/CompressedTextureFormatTests.cpp",
"end2end/ComputeCopyStorageBufferTests.cpp",
"end2end/ComputeDispatchTests.cpp",
"end2end/ComputeLayoutMemoryBufferTests.cpp",
"end2end/ComputeSharedMemoryTests.cpp",
"end2end/ComputeStorageBufferBarrierTests.cpp",
"end2end/CopyTests.cpp",
"end2end/CopyTextureForBrowserTests.cpp",
"end2end/CreatePipelineAsyncTests.cpp",
"end2end/CullingTests.cpp",
"end2end/DebugMarkerTests.cpp",
"end2end/DeprecatedAPITests.cpp",
"end2end/DepthBiasTests.cpp",
"end2end/DepthStencilCopyTests.cpp",
"end2end/DepthStencilLoadOpTests.cpp",
"end2end/DepthStencilSamplingTests.cpp",
"end2end/DepthStencilStateTests.cpp",
"end2end/DestroyTests.cpp",
"end2end/DeviceInitializationTests.cpp",
"end2end/DeviceLostTests.cpp",
"end2end/DrawIndexedIndirectTests.cpp",
"end2end/DrawIndexedTests.cpp",
"end2end/DrawIndirectTests.cpp",
"end2end/DrawTests.cpp",
"end2end/DynamicBufferOffsetTests.cpp",
"end2end/EntryPointTests.cpp",
"end2end/ExternalTextureTests.cpp",
"end2end/FirstIndexOffsetTests.cpp",
"end2end/GpuMemorySynchronizationTests.cpp",
"end2end/IndexFormatTests.cpp",
"end2end/MaxLimitTests.cpp",
"end2end/MemoryAllocationStressTests.cpp",
"end2end/MultisampledRenderingTests.cpp",
"end2end/MultisampledSamplingTests.cpp",
"end2end/NonzeroBufferCreationTests.cpp",
"end2end/NonzeroTextureCreationTests.cpp",
"end2end/ObjectCachingTests.cpp",
"end2end/OpArrayLengthTests.cpp",
"end2end/PipelineLayoutTests.cpp",
"end2end/PrimitiveStateTests.cpp",
"end2end/PrimitiveTopologyTests.cpp",
"end2end/QueryTests.cpp",
"end2end/QueueTests.cpp",
"end2end/QueueTimelineTests.cpp",
"end2end/ReadOnlyDepthStencilAttachmentTests.cpp",
"end2end/RenderAttachmentTests.cpp",
"end2end/RenderBundleTests.cpp",
"end2end/RenderPassLoadOpTests.cpp",
"end2end/RenderPassTests.cpp",
"end2end/SamplerFilterAnisotropicTests.cpp",
"end2end/SamplerTests.cpp",
"end2end/ScissorTests.cpp",
"end2end/ShaderFloat16Tests.cpp",
"end2end/ShaderTests.cpp",
"end2end/StorageTextureTests.cpp",
"end2end/SubresourceRenderAttachmentTests.cpp",
"end2end/Texture3DTests.cpp",
"end2end/TextureFormatTests.cpp",
"end2end/TextureSubresourceTests.cpp",
"end2end/TextureViewTests.cpp",
"end2end/TextureZeroInitTests.cpp",
"end2end/VertexFormatTests.cpp",
"end2end/VertexOnlyRenderPipelineTests.cpp",
"end2end/VertexStateTests.cpp",
"end2end/ViewportOrientationTests.cpp",
"end2end/ViewportTests.cpp",
]
# Validation tests that need OS windows live in end2end tests.
sources += [
"unittests/validation/ValidationTest.cpp",
"unittests/validation/ValidationTest.h",
]
libs = []
if (dawn_enable_d3d12) {
sources += [
"end2end/D3D12CachingTests.cpp",
"end2end/D3D12ResourceWrappingTests.cpp",
"end2end/VideoViewsTests_win.cpp",
]
libs += [
"d3d11.lib",
"dxgi.lib",
]
}
if (dawn_enable_metal) {
sources += [ "end2end/IOSurfaceWrappingTests.cpp" ]
frameworks = [ "IOSurface.framework" ]
}
if (dawn_enable_opengl) {
assert(dawn_supports_glfw_for_windowing)
}
if (dawn_supports_glfw_for_windowing) {
sources += [
"end2end/SwapChainTests.cpp",
"end2end/SwapChainValidationTests.cpp",
"end2end/WindowSurfaceTests.cpp",
]
deps += [ "${dawn_root}/src/dawn/utils:glfw" ]
}
if (dawn_enable_d3d12 || (dawn_enable_vulkan && is_chromeos)) {
sources += [
"end2end/VideoViewsTests.cpp",
"end2end/VideoViewsTests.h",
]
}
if (dawn_enable_vulkan && is_chromeos) {
sources += [ "end2end/VideoViewsTests_gbm.cpp" ]
}
}
source_set("white_box_tests_sources") {
configs += [ "${dawn_root}/src/dawn/native:internal" ]
testonly = true
deps = [
":gmock_and_gtest",
"${dawn_root}/src/dawn:cpp",
"${dawn_root}/src/dawn:proc",
"${dawn_root}/src/dawn/common",
"${dawn_root}/src/dawn/native:sources",
# Statically linked because the end2end white_box tests use Dawn internals.
"${dawn_root}/src/dawn/native:static",
"${dawn_root}/src/dawn/utils",
"${dawn_root}/src/dawn/wire",
]
sources = [
"DawnTest.h",
"ParamGenerator.h",
"ToggleParser.h",
]
if (dawn_enable_vulkan) {
deps += [ "${dawn_root}/third_party/khronos:vulkan_headers" ]
if (is_chromeos) {
sources += [
"white_box/VulkanImageWrappingTests.cpp",
"white_box/VulkanImageWrappingTests.h",
"white_box/VulkanImageWrappingTests_DmaBuf.cpp",
]
} else if (is_linux) {
sources += [
"white_box/VulkanImageWrappingTests.cpp",
"white_box/VulkanImageWrappingTests.h",
"white_box/VulkanImageWrappingTests_OpaqueFD.cpp",
]
}
if (dawn_enable_error_injection) {
sources += [ "white_box/VulkanErrorInjectorTests.cpp" ]
}
}
sources += [
"white_box/BufferAllocatedSizeTests.cpp",
"white_box/InternalResourceUsageTests.cpp",
"white_box/InternalStorageBufferBindingTests.cpp",
"white_box/QueryInternalShaderTests.cpp",
]
if (dawn_enable_d3d12) {
sources += [
"white_box/D3D12DescriptorHeapTests.cpp",
"white_box/D3D12ResidencyTests.cpp",
"white_box/D3D12ResourceHeapTests.cpp",
]
}
if (dawn_enable_metal) {
sources += [ "white_box/MetalAutoreleasePoolTests.mm" ]
}
if (dawn_enable_opengl) {
deps += [ "${dawn_root}/src/dawn/utils:glfw" ]
}
if (dawn_enable_opengles) {
sources += [ "white_box/EGLImageWrappingTests.cpp" ]
deps += [ "//third_party/angle:libEGL" ]
}
libs = []
}
dawn_test("dawn_end2end_tests") {
deps = [
":end2end_tests_sources",
":gmock_and_gtest",
":white_box_tests_sources",
"${dawn_root}/src/dawn:cpp",
"${dawn_root}/src/dawn:proc",
"${dawn_root}/src/dawn/common",
"${dawn_root}/src/dawn/native:static",
"${dawn_root}/src/dawn/utils",
"${dawn_root}/src/dawn/wire",
]
sources = [
"DawnTest.cpp",
"DawnTest.h",
]
libs = []
# When building inside Chromium, use their gtest main function because it is
# needed to run in swarming correctly.
if (build_with_chromium) {
deps += [ ":end2end_tests_main" ]
} else {
sources += [ "End2EndTestsMain.cpp" ]
}
if (dawn_enable_opengl) {
deps += [ "${dawn_root}/src/dawn/utils:glfw" ]
}
if (is_chromeos) {
libs += [ "gbm" ]
}
}
###############################################################################
# Dawn perf tests
###############################################################################
dawn_test("dawn_perf_tests") {
deps = [
":gmock_and_gtest",
"${dawn_root}/src/dawn:cpp",
"${dawn_root}/src/dawn:proc",
"${dawn_root}/src/dawn/common",
"${dawn_root}/src/dawn/native",
"${dawn_root}/src/dawn/platform",
"${dawn_root}/src/dawn/utils",
"${dawn_root}/src/dawn/wire",
]
sources = [
"DawnTest.cpp",
"DawnTest.h",
"ParamGenerator.h",
"ToggleParser.cpp",
"ToggleParser.h",
"perf_tests/BufferUploadPerf.cpp",
"perf_tests/DawnPerfTest.cpp",
"perf_tests/DawnPerfTest.h",
"perf_tests/DawnPerfTestPlatform.cpp",
"perf_tests/DawnPerfTestPlatform.h",
"perf_tests/DrawCallPerf.cpp",
"perf_tests/ShaderRobustnessPerf.cpp",
"perf_tests/SubresourceTrackingPerf.cpp",
]
libs = []
# When building inside Chromium, use their gtest main function and the
# other perf test scaffolding in order to run in swarming correctly.
if (build_with_chromium) {
deps += [ ":perf_tests_main" ]
data_deps = [ "//testing:run_perf_test" ]
} else {
sources += [ "PerfTestsMain.cpp" ]
}
if (dawn_enable_metal) {
frameworks = [ "IOSurface.framework" ]
}
if (dawn_enable_opengl) {
deps += [ "${dawn_root}/src/dawn/utils:glfw" ]
}
}

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnNativeTest.h"
#include "dawn/tests/DawnNativeTest.h"
#include "absl/strings/str_cat.h"
#include "dawn/common/Assert.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Assert.h"
#include "dawn/common/GPUInfo.h"

View File

@ -20,14 +20,14 @@
#include "dawn/common/Preprocessor.h"
#include "dawn/dawn_proc_table.h"
#include "dawn/native/DawnNative.h"
#include "dawn/tests/ParamGenerator.h"
#include "dawn/tests/ToggleParser.h"
#include "dawn/utils/ScopedAutoreleasePool.h"
#include "dawn/utils/TextureUtils.h"
#include "dawn/webgpu_cpp.h"
#include "dawn/webgpu_cpp_print.h"
#include "tests/ParamGenerator.h"
#include "tests/ToggleParser.h"
#include <dawn_platform/DawnPlatform.h>
#include <dawn/platform/DawnPlatform.h>
#include <gmock/gmock.h>
#include <gtest/gtest.h>

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
int main(int argc, char** argv) {
InitDawnEnd2EndTestEnvironment(argc, argv);

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/perf_tests/DawnPerfTest.h"
#include "dawn/tests/perf_tests/DawnPerfTest.h"
int main(int argc, char** argv) {
InitDawnPerfTestEnvironment(argc, argv);

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/ToggleParser.h"
#include "dawn/tests/ToggleParser.h"
#include <cstring>
#include <sstream>

View File

@ -18,8 +18,8 @@
#include "dawn/common/SystemUtils.h"
#include "dawn/dawn_proc.h"
#include "dawn/native/DawnNative.h"
#include "dawn/tests/MockCallback.h"
#include "dawn/webgpu_cpp.h"
#include "tests/MockCallback.h"
#if defined(DAWN_ENABLE_BACKEND_VULKAN)
# include "dawn/native/VulkanBackend.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -15,9 +15,9 @@
#include "dawn/common/Assert.h"
#include "dawn/common/Constants.h"
#include "dawn/common/Math.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"
#include "tests/DawnTest.h"
constexpr static uint32_t kRTSize = 8;

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include <array>
#include <cstring>

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Math.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -16,7 +16,7 @@
#include <array>
#include <cmath>
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Assert.h"
#include "dawn/common/Constants.h"

View File

@ -12,8 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/WGPUHelpers.h"
#include "tests/DawnTest.h"
class CommandEncoderTests : public DawnTest {};

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Assert.h"
#include "dawn/common/Constants.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Math.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include <array>
#include "dawn/common/Constants.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Constants.h"
#include "dawn/common/Math.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include <d3d11.h>
#include <d3d12.h>

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -17,7 +17,7 @@
// a deprecation warning is emitted when the "old" behavior is used, and tests that an error is
// emitted when both the old and the new behavior are used (when applicable).
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Constants.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"

View File

@ -14,10 +14,10 @@
#include "dawn/common/Constants.h"
#include "dawn/common/Math.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/TextureUtils.h"
#include "dawn/utils/WGPUHelpers.h"
#include "tests/DawnTest.h"
constexpr static unsigned int kRTSize = 2;

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include <array>
#include "dawn/common/Constants.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -13,9 +13,9 @@
// limitations under the License.
#include "dawn/common/Assert.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"
#include "tests/DawnTest.h"
namespace {
using TextureFormat = wgpu::TextureFormat;

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Assert.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -13,9 +13,9 @@
// limitations under the License.
#include "dawn/dawn_proc.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/SystemUtils.h"
#include "dawn/utils/WGPUHelpers.h"
#include "tests/DawnTest.h"
class DeviceInitializationTest : public testing::Test {
void SetUp() override {

View File

@ -12,12 +12,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include <gmock/gmock.h>
#include "dawn/tests/MockCallback.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"
#include "tests/MockCallback.h"
#include <cstring>

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderBundleEncoderDescriptor.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Math.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,9 +12,9 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"
#include "tests/DawnTest.h"
namespace {

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include <sstream>
#include <vector>

View File

@ -15,9 +15,9 @@
#include "dawn/common/Assert.h"
#include "dawn/common/Constants.h"
#include "dawn/common/Math.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"
#include "tests/DawnTest.h"
class GpuMemorySyncTests : public DawnTest {
protected:

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/native/MetalBackend.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Assert.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Math.h"
#include "dawn/common/Platform.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
class MemoryAllocationStressTests : public DawnTest {};

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Assert.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Math.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include <array>
#include <vector>

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Constants.h"
#include "dawn/common/Math.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"
#include "dawn/utils/WGPUHelpers.h"

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include "dawn/common/Assert.h"
#include "dawn/utils/ComboRenderPipelineDescriptor.h"

View File

@ -13,7 +13,7 @@
// limitations under the License.
#include "dawn/common/Constants.h"
#include "tests/DawnTest.h"
#include "dawn/tests/DawnTest.h"
#include <vector>