| # Copyright 2022 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. |
| |
| ################################################################################ |
| # A copy of src/dawn/tests/BUILD.gn |
| # These targets are referenced by external code. We cannot simply alias the |
| # targets in src/dawn/tests/BUILD.gn due to an issue with resolving runtime |
| # dependencies via 'group' aliases. This whole file should be removed once |
| # the external targets are updated to use the new BUILD.gn file. |
| # TODO(crbug.com/dawn/1275) - remove this file. |
| ################################################################################ |
| |
| 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 |
| public_deps = [ |
| ":dawn_end2end_tests_temp_group", |
| ":dawn_perf_tests_temp_group", |
| ":dawn_unittests_temp_group", |
| ] |
| data_deps = [ |
| ":dawn_end2end_tests_temp_group", |
| ":dawn_perf_tests_temp_group", |
| ":dawn_unittests_temp_group", |
| ] |
| } |
| |
| ############################################################################### |
| # Temporary Dawn test targets and groups - crbug.com/dawn/1275 |
| ############################################################################### |
| # Proxy groups so that we can have Chromium point to the group, while we move |
| # the target in Dawn's BUILD.gn files. |
| # However, it is not possible to move a target around with a proxy group without |
| # breaking swarming tests. We also add temporary executables target that is are |
| # duplicates of those in //src/tests that will be used temporarily while we |
| # switch targets. |
| |
| group("dawn_unittests_temp_group") { |
| testonly = true |
| public_deps = [ "${dawn_root}/src/dawn/tests:dawn_unittests" ] |
| data_deps = [ "${dawn_root}/src/dawn/tests:dawn_unittests" ] |
| } |
| |
| group("dawn_end2end_tests_temp_group") { |
| testonly = true |
| public_deps = [ ":dawn_end2end_tests_temp" ] |
| data_deps = [ ":dawn_end2end_tests_temp" ] |
| } |
| |
| group("dawn_perf_tests_temp_group") { |
| testonly = true |
| public_deps = [ ":dawn_perf_tests_temp" ] |
| data_deps = [ ":dawn_perf_tests_temp" ] |
| } |
| |
| test("dawn_end2end_tests_temp") { |
| configs += [ "${dawn_root}/src/dawn/common:internal_config" ] |
| |
| deps = [ |
| "${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/tests:end2end_tests_sources", |
| "${dawn_root}/src/dawn/tests:gmock_and_gtest", |
| "${dawn_root}/src/dawn/tests:white_box_tests_sources", |
| "${dawn_root}/src/dawn/utils", |
| "${dawn_root}/src/dawn/wire", |
| ] |
| |
| sources = [ |
| "${dawn_root}/src/dawn/tests/DawnTest.cpp", |
| "${dawn_root}/src/dawn/tests/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 += [ "${dawn_root}/src/dawn/tests:end2end_tests_main" ] |
| } else { |
| sources += [ "${dawn_root}/src/dawn/tests/End2EndTestsMain.cpp" ] |
| } |
| |
| if (dawn_enable_opengl) { |
| deps += [ "${dawn_root}/src/dawn/utils:glfw" ] |
| } |
| |
| if (is_chromeos) { |
| libs += [ "gbm" ] |
| } |
| } |
| |
| test("dawn_perf_tests_temp") { |
| configs += [ "${dawn_root}/src/dawn/common:internal_config" ] |
| |
| deps = [ |
| "${dawn_root}/src/dawn:cpp", |
| "${dawn_root}/src/dawn:proc", |
| "${dawn_root}/src/dawn/common", |
| "${dawn_root}/src/dawn/native", |
| "${dawn_root}/src/dawn/tests:gmock_and_gtest", |
| "${dawn_root}/src/dawn/utils", |
| "${dawn_root}/src/dawn/wire", |
| "${dawn_root}/src/dawn_platform", |
| ] |
| |
| sources = [ |
| "${dawn_root}/src/dawn/tests/DawnTest.cpp", |
| "${dawn_root}/src/dawn/tests/DawnTest.h", |
| "${dawn_root}/src/dawn/tests/ParamGenerator.h", |
| "${dawn_root}/src/dawn/tests/ToggleParser.cpp", |
| "${dawn_root}/src/dawn/tests/ToggleParser.h", |
| "${dawn_root}/src/dawn/tests/perf_tests/BufferUploadPerf.cpp", |
| "${dawn_root}/src/dawn/tests/perf_tests/DawnPerfTest.cpp", |
| "${dawn_root}/src/dawn/tests/perf_tests/DawnPerfTest.h", |
| "${dawn_root}/src/dawn/tests/perf_tests/DawnPerfTestPlatform.cpp", |
| "${dawn_root}/src/dawn/tests/perf_tests/DawnPerfTestPlatform.h", |
| "${dawn_root}/src/dawn/tests/perf_tests/DrawCallPerf.cpp", |
| "${dawn_root}/src/dawn/tests/perf_tests/ShaderRobustnessPerf.cpp", |
| "${dawn_root}/src/dawn/tests/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 += [ "${dawn_root}/src/dawn/tests:perf_tests_main" ] |
| data_deps = [ "//testing:run_perf_test" ] |
| } else { |
| sources += [ "${dawn_root}/src/dawn/tests/PerfTestsMain.cpp" ] |
| } |
| |
| if (dawn_enable_metal) { |
| frameworks = [ "IOSurface.framework" ] |
| } |
| |
| if (dawn_enable_opengl) { |
| deps += [ "${dawn_root}/src/dawn/utils:glfw" ] |
| } |
| } |