Age | Commit message (Collapse) | Author |
|
Our rule names can be arbitrary strings, so improve readability of
error message by properly quoting the rule name; while there, also
properly quote the module name, resulting in better readability if
the module is "".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add a test that compiles many C binaries and runs them. The main
purpose of the test is to detect any race conditions in this
scenario.
|
|
|
|
|
|
Given a number or number representation, return a list of that
length consisting of representations of the lower numbers. In this
way, repeated non-pure actions can be generated (e.g., repetitions
of a test to detect flakyness).
|
|
In this way the user gets an early feedback about the target that
was requested and can check if that was the target they had in
mind, especially in the case of fall back to the alphabetically
first one (according to native byte order). As a nice side effect,
we have a timestap on when the analysis started.
|
|
|
|
|
|
On the one hand, this message is after an important step in the
build process, to giving the user a better insight into what is
going on. On the other hand, the size of the discovered graph is
useful information, e.g., when comparing with the number of actions
actually traversed when building the requested artifacts.
|
|
... to avoid unnecessary copying and moving of larger objects.
|
|
In this way, the user has a slightly better insight into the stage
the tool currently works on. While there, also move the first report
of taintedness to the earliest possible moment.
|
|
|
|
|
|
Use the log functionality instead of relying on stderr being
precisely the log. Also check for the number of processed
actions instead of any number of actions that might be
reported in the log. While there, redirect stderr to stdout
to have a unified cronological log.
|
|
... and therefore produces linker warnings.
|
|
|
|
|
|
|
|
... instead of relying on the filesystem preventing us from
writing to a read-only file, which wont happen if the user
is root.
|
|
|
|
|
|
|
|
Repositories are indentified by free names that are bound,
in a per-repository way, in a global configuration. Add
a test verifying this: the name "other" refers to differnt
repositories in the repositories "A" and "B" and chains
of depending on "other" can be followed.
|
|
... in particular verifying that relative references cannot go
outside a repository and explict file ferences cannot go upwards.
|
|
|
|
|
|
... and remove unused CC proto library target.
|
|
... to manually request the generation of headers for CC
proto bindings. This is useful for IDEs and needed as
implicitly generating those bindings via the `proto` field
of CC libraries does not expose the produced headers.
|
|
This test also demonstrates the notion of equality used in our
action graph: actions are considered equal, if they are defined in
the same way (regardless of where they are defined); when looking up
actions in cache, however, the inputs are considered extensionally.
The test also verifies that if one dumps the action graph, the
origins of an action (as the same action can be defined in many
places) are reported correctly.
|
|
... allowing to run simple tests given by a shell script.
|
|
... by asserting that "stage_singleton_field" return a non-empty
map and providing a meaningful message in the "disjoint_map_union"
contained in it.
|
|
This is the initial version of our tool that is able to
build itself. In can be bootstrapped by
./bin/bootstrap.py
Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com>
Co-authored-by: Victor Moreno <victor.moreno1@huawei.com>
|