| # Copyright 2013 The Flutter 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("//flutter/shell/config.gni") |
| import("//flutter/testing/testing.gni") |
| |
| source_set("testing_lib") { |
| testonly = true |
| |
| sources = [ |
| "$flutter_root/testing/assertions.h", |
| "$flutter_root/testing/testing.cc", |
| "$flutter_root/testing/testing.h", |
| "$flutter_root/testing/thread_test.cc", |
| "$flutter_root/testing/thread_test.h", |
| ] |
| |
| public_deps = [ |
| "$flutter_root/fml", |
| "//third_party/googletest:gtest", |
| ] |
| public_configs = [ "$flutter_root:config" ] |
| } |
| |
| source_set("testing") { |
| testonly = true |
| |
| sources = [ |
| "$flutter_root/testing/run_all_unittests.cc", |
| ] |
| |
| public_deps = [ |
| ":testing_lib", |
| ] |
| } |
| |
| source_set("dart") { |
| testonly = true |
| |
| sources = [ |
| "$flutter_root/testing/test_dart_native_resolver.cc", |
| "$flutter_root/testing/test_dart_native_resolver.h", |
| ] |
| |
| public_deps = [ |
| ":testing", |
| "$flutter_root/runtime:libdart", |
| "//third_party/tonic", |
| ] |
| } |
| |
| source_set("skia") { |
| testonly = true |
| |
| sources = [ |
| "$flutter_root/testing/assertions_skia.h", |
| ] |
| |
| public_deps = [ |
| ":testing_lib", |
| "//third_party/skia", |
| ] |
| } |
| |
| if (current_toolchain == host_toolchain) { |
| source_set("opengl") { |
| testonly = true |
| |
| configs += [ "//third_party/swiftshader_flutter:swiftshader_config" ] |
| |
| sources = [ |
| "$flutter_root/testing/test_gl_surface.cc", |
| "$flutter_root/testing/test_gl_surface.h", |
| ] |
| |
| deps = [ |
| ":skia", |
| "$flutter_root/fml", |
| "//third_party/swiftshader_flutter:swiftshader", |
| ] |
| } |
| |
| # All targets on all platforms should be able to use the Metal utilities. On |
| # platforms where Metal is not available, the tests must be skipped or |
| # implemented to use another available client rendering API. This is usually |
| # either OpenGL which is portably implemented via SwiftShader or the software |
| # backend. This way, all tests compile on all platforms but the Metal backend |
| # is exercised on platforms where Metal itself is available. |
| source_set("metal") { |
| testonly = true |
| |
| sources = [ |
| "$flutter_root/testing/test_metal_surface.cc", |
| "$flutter_root/testing/test_metal_surface.h", |
| ] |
| |
| defines = [] |
| |
| if (shell_enable_metal) { |
| sources += [ "$flutter_root/testing/test_metal_surface_impl.mm" ] |
| defines += [ "TESTING_ENABLE_METAL" ] |
| } |
| |
| deps = [ |
| ":skia", |
| "$flutter_root/fml", |
| ] |
| } |
| |
| test_fixtures("testing_fixtures") { |
| fixtures = [] |
| } |
| |
| # The //flutter/testing library provides utility methods to other test targets. |
| # This test target tests the testing utilities. |
| executable("testing_unittests") { |
| testonly = true |
| |
| sources = [ |
| "$flutter_root/testing/test_metal_surface_unittests.cc", |
| ] |
| |
| deps = [ |
| ":dart", |
| ":metal", |
| ":opengl", |
| ":skia", |
| ":testing", |
| ":testing_fixtures", |
| ":testing_lib", |
| ] |
| } |
| } |