mirror of
https://fuchsia.googlesource.com/third_party/pigweed.googlesource.com/pigweed/pigweed
synced 2024-09-21 14:16:26 +00:00
d0b2d48782
This change adds a pw_test_server module which implements a gRPC server for queueing and distributing unit tests across multiple test runners. The server is implemented as a Go library which can be imported and used by developers to build a custom unit test running infrastructure. To use the server, a UnitTestRunner interface that processes requests to run unit tests must be implemented and registered with the server. An implementation of this interface which runs unit test executables through an external command is provided alongside the server. An example program that uses the server library to run a unit test server is also provided within the module. This program uses the command-based test runners to run unit tests on a local machine. It is configurable through a config file, allowing multiple workers to be registered with the server. The program additionally doubles as a gRPC client for the server which can be invoked with the path to a unit test executable to schedule it to be run. Change-Id: I347d230370620395de09e277f9763d7df1c4abad
40 lines
1.6 KiB
Plaintext
40 lines
1.6 KiB
Plaintext
# Copyright 2019 The Pigweed 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
|
|
#
|
|
# https://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.
|
|
|
|
# This file defines a directory variable for each of Pigweed's modules. This
|
|
# allows modules to be moved or swapped out without breaking existing builds.
|
|
# All module variables are prefixed with dir_.
|
|
|
|
declare_args() {
|
|
# Location of the Pigweed modules directory (defaults to the directory of
|
|
# this file).
|
|
dir_pigweed = get_path_info(get_path_info("BUILD.gn", "abspath"), "dir")
|
|
}
|
|
|
|
dir_pw_bloat = "$dir_pigweed/pw_bloat"
|
|
dir_pw_build = "$dir_pigweed/pw_build"
|
|
dir_pw_docgen = "$dir_pigweed/pw_docgen"
|
|
dir_pw_dumb_io = "$dir_pigweed/pw_dumb_io"
|
|
dir_pw_dumb_io_baremetal_stm32f429 =
|
|
"$dir_pigweed/pw_dumb_io_baremetal_stm32f429"
|
|
dir_pw_dumb_io_stdio = "$dir_pigweed/pw_dumb_io_stdio"
|
|
dir_pw_preprocessor = "$dir_pigweed/pw_preprocessor"
|
|
dir_pw_span = "$dir_pigweed/pw_span"
|
|
dir_pw_status = "$dir_pigweed/pw_status"
|
|
dir_pw_string = "$dir_pigweed/pw_string"
|
|
dir_pw_test_server = "$dir_pigweed/pw_test_server"
|
|
dir_pw_toolchain = "$dir_pigweed/pw_toolchain"
|
|
dir_pw_unit_test = "$dir_pigweed/pw_unit_test"
|
|
dir_pw_varint = "$dir_pigweed/pw_varint"
|