1# Copyright 2019 The Pigweed Authors 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); you may not 4# use this file except in compliance with the License. You may obtain a copy of 5# the License at 6# 7# https://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12# License for the specific language governing permissions and limitations under 13# the License. 14 15import("//build_overrides/pigweed.gni") 16import("$dir_pw_chrono/backend.gni") 17import("$dir_pw_sync/backend.gni") 18import("$dir_pw_thread/backend.gni") 19import("$dir_pw_unit_test/test.gni") 20 21# Creates a test target that tests a FakeDispatcher backend using a common 22# test suite. 23# 24# Parameters 25# 26# backend (required) 27# [target] The FakeDispatcher backend to test. 28template("fake_dispatcher_test") { 29 assert(defined(invoker.backend)) 30 31 pw_test(target_name) { 32 enable_if = pw_chrono_SYSTEM_CLOCK_BACKEND != "" && 33 pw_sync_TIMED_THREAD_NOTIFICATION_BACKEND != "" && 34 pw_thread_THREAD_BACKEND != "" 35 deps = [ 36 "$dir_pw_chrono:system_clock", 37 "$dir_pw_containers:vector", 38 "$dir_pw_string:to_string", 39 "$dir_pw_sync:timed_thread_notification", 40 "$dir_pw_thread:thread", 41 dir_pw_log, 42 invoker.backend, 43 ] 44 sources = [ "$dir_pw_async/fake_dispatcher_test.cc" ] 45 } 46} 47