2019-12-03 14:33:02 -08:00

140 lines
3.1 KiB
Plaintext

# 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.cc",
"$flutter_root/testing/assertions_skia.h",
"$flutter_root/testing/canvas_test.h",
"$flutter_root/testing/mock_canvas.cc",
"$flutter_root/testing/mock_canvas.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 = [
"mock_canvas_unittests.cc",
"test_metal_surface_unittests.cc",
]
deps = [
":dart",
":metal",
":opengl",
":skia",
":testing",
":testing_fixtures",
":testing_lib",
]
}
}