Age | Commit message (Collapse) | Author |
|
... as test meta data. Tests are executed in an unspecified directory,
assuming pass or fail is independent of the location where the test
is run. While this generally is true, test logs often contain the
working directory. So, in order to more easily compare different
execution orders of a potential race condition, it can be desirable
to compare logs "up to the execution directory". This, however,
requires that this directory is recored in the first place. Do so.
For consistency of the output format, also have a (fixed) artifact
pwd in the summary report.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If a test is run several times (as set by RUNS_PER_TEST), a summary of
the individual test runs is computed using a summarizer as configured
in the target layer of the rules. As the inputs for computing that
test summary are all the individual test runs, that action has a
large number of files as input, including a large number of identical
files, e.g., the ones indicating the outcome of an individual run.
Therefore, allow setting additional remote-execution properties
allowing to dispatch that action to a suitable end point.
|
|
|
|
... by running a shell prolog with the provided shell to set
PATH to the absolut paths of the shell-provided bin dirs.
|
|
|
|
|
|
... as we need to copy a file, as not all versions of patch accept the file to patch
as argument.
|
|
|
|
|
|
|
|
|
|
|
|
This ensures that one can inspect, e.g., generated protobuf source
files (.pb.cc) or standard library headers while debugging proto
libraries or general C++ libraries and binaries, respectively.
|
|
|
|
|
|
|
|
|
|
|
|
...to pass required variables belonging to the current rules under
testing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When setting CC, etc, in foreign rules, it is often useful to have it
set as absolute path. This originally was achieved using realpath(1).
This, however, implies that symbolic links are followed as well,
which confuses some compilers if they are not called with correct
argv[0]. Therefore, 4e86f756bddca8db402502be47c0825e1e2aeb0d tries
to replace this by concatenation with $(pwd), which, however, is
only correct for tools brought locally by the toolchain. Hence fix
the test by not evaluating it in the shell at all and rather using
the knowledge about toolchain versus system tools that the rules
have anyway.
|
|
When setting CC, etc, in foreign rules, it is often useful to have it
set as absolute path. This originally was achieved using realpath(1).
This, however, implies that symbolic links are followed as well,
which confuses some compilers if they are not called with correct
argv[0]. Therefore, 4e86f756bddca8db402502be47c0825e1e2aeb0d tries
to replace this by concatenation with $(pwd), which, however, is
only correct for tools brought locally by the toolchain. Hence fix
the test by not evaluating it in the shell at all and rather using
the knowledge about toolchain versus system tools that the rules
have anyway.
|
|
|
|
|
|
|
|
|
|
The config vars ENV, ARCH, HOST_ARCH, TARGET_ARCH, BUILD_ARCH, OS have been added.
This allows to test the rules with different configurations and/or set
required values via the "defaults" target of the rules under testing.
|
|
...in both release and debug modes.
Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com>
|
|
... so one can also directly build the test_cases.
|
|
|
|
|
|
|
|
|
|
For libraries the headers of private dependencies were wrongly
skipped from staging. For binaries, no headers were passed at all
in the provides map. To fix these issues, an additional field is
added in the provides map to ensure we collect, and then properly
stage, all needed headers for both libraries and binaries.
|
|
For libraries the headers of private dependencies were wrongly
skipped from staging. For binaries, no headers were passed at all
in the provides map. To fix these issues, an additional field is
added in the provides map to ensure we collect, and then properly
stage, all needed headers for both libraries and binaries.
|
|
This is useful when we want to install targets built in debug mode,
but do not want to stage all the additional source and header files
if no debugging is being performed, e.g., in tests.
|
|
This is useful when we want to install targets built in debug mode,
but do not want to stage all the additional source and header files
if no debugging is being performed, e.g., in tests.
|
|
For libraries the headers of private dependencies were wrongly
skipped from staging. For binaries, no headers were passed at all
in the provides map. To fix these issues, an additional field is
added in the provides map to ensure we collect, and then properly
stage, all needed headers for both libraries and binaries.
|