summaryrefslogtreecommitdiff
path: root/test/end-to-end
AgeCommit message (Collapse)Author
2022-06-09Disallow upwards-facing inputs in actions and tree constructorsKlaus Aehlig
2022-05-12Ensure we also correctly handle tree conflicts between filesKlaus Aehlig
Not only trees, but also regular files can disallow paths reaching into them. If we have a file at a/b then another file at a/b/c is a staging conflict as well. Make our tool recognize this.
2022-05-10Document built-in rulesKlaus Aehlig
2022-05-09Verify conflict-freeness in inputs, artifacts, and runfilesKlaus Aehlig
Our maps serve two purposes: on the one hand, they can be a generic key-value association with arbitrary strings as keys. On the other hand, we use them to describe arrangements of files (inputs to actions, artifacts or runfiles generated). In this function, certain keys refer to the same path and hence have to be identifed. Therefore, at places where the keys clearly have to be paths in the file system, implicitly normalize them and check for conflicts.
2022-04-27use kebab-case for all cmd line argsAlberto Sartori
2022-04-25expression: add "msg" argument to "to_subdir"Klaus Aehlig
... allowing to provide additional information in case of conflict during flat staging.
2022-04-04Add a new log level for progress updatesKlaus Aehlig
2022-03-09Add a test demonstrating nested treesKlaus Aehlig
2022-03-03Add end-to-end test executing compiled binariesKlaus Aehlig
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.
2022-03-03Add end-to-end test using built shell scripts to generate filesKlaus Aehlig
2022-02-28action-equality test: improve conditionsKlaus Aehlig
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.
2022-02-25Add end-to-end test verifying repository-name resolvingKlaus Aehlig
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.
2022-02-25Add end-to-end test about target namingKlaus Aehlig
... in particular verifying that relative references cannot go outside a repository and explict file ferences cannot go upwards.
2022-02-23Add a first end-to-end test for action equalityKlaus Aehlig
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.