This change adds a GN template for defining unit test executables.
The template, called pw_test, defines the executable and outputs a JSON
metadata file for the test.
A new build argument is added. This argument determines whether unit
test run targets are supported by the current build target. If this is
set, the pw_test template additionally creates a run target for its test
executable which invokes the executable through a script.
A basic test runner script is added to the pw_unit_test module. This
script currently only runs a single test executable directly.
The unit tests in the pw_preprocessor module are updated to use the
pw_test template.
Change-Id: I3cbde9c19440276dbab80dd2bab5fec87abe6d7e
This change adds two Pigweed modules: pw_preprocessor and pw_unit_test.
The preprocessor module contains header files providing helpful macros
for the C preprocessor. The unit test module contains a starter
implementation of a unit testing framework for Pigweed.
Change-Id: I46e1a4cae1fd8ce36d7840a2e92f8013fb489cde