summaryrefslogtreecommitdiff
path: root/test/end-to-end
AgeCommit message (Collapse)Author
2024-06-03test: Use own installed just and just-mr targets...Paul Cristian Sarbu
...which do not stage also the debug source and header files (while in debug mode), as this is unnecessary bloat in the tests. As the tool-under-test and mr-tool-under-test targets should be used instead of the regular install targets also in the various extra rules in end-to-end and utils, move their definition in the outmost test TARGETS file.
2024-06-03test: Fix typos in test runner rulesPaul Cristian Sarbu
2024-05-15test/end-to-end: properly handle multiple key-value pairs in the...Alberto Sartori
...REMOTE_EXECUTION_PROPERTIES env variable.
2024-05-13test runners: Rules in tests should isolate staged artifactsPaul Cristian Sarbu
...that come with installing just. This ensures control on the subdirectories available to the runner, avoiding any possible conflicting paths.
2024-05-03Include environment in action reporting on the command lineKlaus Aehlig
Compared to the command line, the environment usually is quite short. So including it in messages reporting about commands does not introduce a lot of additional noise. However, knowing the environment can help understanding an error message. Therefore, it seems a good trade off to include it. Do so.
2024-04-29test: Actually scale TIMEOUT_SCALE value for long-running tests...Paul Cristian Sarbu
...instead of using absolute values. This was the desidered outcome all along and now it can be done right thanks to the recently added multiplication expression.
2024-04-25Add test verifying pragma in git importsKlaus Aehlig
... in particular that of the absent pragma which is addressed both, in imports as well as in deduplication.
2024-04-25test remote runners: Add timeout for running execute and servePaul Cristian Sarbu
The runners used in tests that rely on execution or serve endpoints to exist can get stuck waiting for these to become online if for some reason they cannot be set up. This commit fixes this issue by setting a reasonable timeout, after which we fail gracefully.
2024-04-25just serve: Paths in config file should be location objectsPaul Cristian Sarbu
Also updates the tests and all relevant documentation accordingly.
2024-04-25Extend serve-many test to also use non-top-level export targetsKlaus Aehlig
2024-04-24just analyse: add --dump-result command line optionAlberto Sartori
The result of the analysis is a JSON object containing the keys `"artifacts"`, `"runfiles"`, and `"provides"`. This JSON object, by default, is logged. However, it might be useful to process the data contained in it, while, for example, developing new rules. This patch adds a new command line option (`--dump-result`), reserved to the subcommand `analyse`, to dump the analysis result to the given file or stdout (if `-` is given).
2024-04-22add end-to-end test executing local binaries remotelyKlaus Aehlig
2024-04-17Compactification: Test storage get reducedMaksim Denisov
... and nothing reconstructed for simple (i.e., non-export) targets.
2024-04-16Add test verifying serve build logs contain error messagesKlaus Aehlig
2024-04-12Target analysis: report short names of targets when describing a conflictKlaus Aehlig
Configured targets, by design, cannot distinguish between a value not occuring in the configuration and occuring there with value null. Therefore, to understand the conflict, we can as well drop all the null values of the target configuration when reporting it.
2024-04-11Error reporting on action failure: give short target nameKlaus Aehlig
... as this is the only thing the user cares about when trying to investigate why that action failed.
2024-04-10Add end-to-end test verifying restricted console loggingKlaus Aehlig
2024-04-10tests with infrastructure: keep remote build rootKlaus Aehlig
Often outputs are only referenced as blobs but not downloaded to the working directory of the test. This can make it hard to understand errors, as the respective artifacts are not available for inspection. This is even more important in case of tests with a provided serve endpoint as then even the error message of a failed serve build is only referenced as blob. Solve this by keeping the local build root of the remote-execution service using the fact that all objects are transferred between the serve endpoint and the client go through the remote-execution endpoint.
2024-04-08test: Add missing includes and fix depsPaul Cristian Sarbu
2024-04-05Add test verifying origin reporting in case of conflictsKlaus Aehlig
2024-04-05Test ["end-to-end/built-in-rules","export_counting"]: avoid unnecessary IO ↵Klaus Aehlig
operations This test creates a "file" repository with pragma "to_git". Move to a subdirectory to avoid including all the tools in that created root.
2024-04-05end-to-end tests: fix tool set upKlaus Aehlig
For historic reasons (as quite some tests date back till before the public name of the build tools was decided), the end-to-end tests assume generic names for the tools. This used to be done by simple staging the artifacts. As soon as we started to support dynamic linking, we also have to allow the runtime dependnecies, as provided by our install-with-deps rule. ae2e515ab84ea3ab08764685f84441c0741f8039 attempted to add those dependencies by replacing the staging by a generic action doing a copy. This, however, made the "lib" dir containing the dependencies an opaque tree - defined by different actions, and, more importantly, - containing only the run-time dependencies of one of the tools. This causes staging conflicts between those two lib dirs (currently hidden by a bug in the computation of the disjoint union) and things only worked because in the canonical configuration used for testing both "lib" dirs are empty anyway. The correct way of adding dependencies while renaming the tool is still staging; fix this.
2024-03-28Add a test verifying the reproducibility of the archiveKlaus Aehlig
2024-03-28End-to-end tests: be independent of local rc filesKlaus Aehlig
2024-03-22Add a test verifying that absent export targets are deduplicated correctlyKlaus Aehlig
2024-03-22Add a test verifying export targets are counted only onceKlaus Aehlig
2024-03-20Extend serve tests to cover both, standalone serve and separate remote executionKlaus Aehlig
2024-03-20Test "serve-query-target-cache-value": adaopt to standaloneKlaus Aehlig
This test tries to demonstrate that even if the remote-execution has forgotten the action, the target-level cache of just serve will allow a successful build without repeating the action. It does it by cleaning the local build root of the remote-execution service. If, however, serve and execute are the same process, they also use the same local build root, so the target-level cache entry needs to be kept alive separately.
2024-03-20with_serve tests: support standalone serveKlaus Aehlig
... i.e., support testing the use case that the serve instance simultaneously acts as remote-execution endpoint.
2024-03-20Add test verifying the main use cases of add-to-casKlaus Aehlig
2024-03-19Add test to check handling of failed serve endpoint buildsPaul Cristian Sarbu
2024-03-15Clean up more includes and targetsPaul Cristian Sarbu
Some of the more specific issues addressed: - missing log_level target/include - header-only libs wrongly marking deps as private - missing/misplaced gsl includes
2024-03-14Add end-to-end test with serve building several targetsKlaus Aehlig
... simultaneously, in order to find race conditions during the build.
2024-03-11Extend gc end-to-end test to cover --no-rotateKlaus Aehlig
... verifying that - emphemeral directories are removed, - left-over remove-me directories are removed, and - the available content of CAS and cache are not affected.
2024-03-08just-mr: Add test for "preferred hostnames"Oliver Reiche
2024-03-08just-mr: Fix "preferred hostnames"Oliver Reiche
... instead of replacing the host name of each mirror, it should only reorder the list of given mirrors.
2024-03-07Improve documentation for the (internal) test rules with infrastructureKlaus Aehlig
... explaining, in particular, which environment variables are provided by the test-runner framework.
2024-03-07Add test verifying that just-mr only uses the network if necessaryKlaus Aehlig
2024-03-07Add test verifying reporting levelsKlaus Aehlig
... in particular, verify that no error is reported on successfull command completion.
2024-03-05end-to-end test: also test foreign-file setup in compatible modeKlaus Aehlig
2024-03-05test distdir serving: verify the generic caseKlaus Aehlig
... where the files are known to serve, but not the resulting directory. We achieve this, by adding an unrealted file to the repository exposed to the serve server.
2024-03-05Add a test verifying that foreign files correctly use serveKlaus Aehlig
... by using the distdir request of the serve API.
2024-03-05Add a test for foreign-file rootsKlaus Aehlig
2024-02-29end-to-end: Print envariables in all just serve testsPaul Cristian Sarbu
...to help with debugging.
2024-02-27["end-to-end/git-import", "annotations"]: propagate PATHKlaus Aehlig
... to generic actions, in order to not rely on "standard paths" being pulled in.
2024-02-27["end-to-end/remote-execution", "split-splice"] set default TIMEOUT_SCALEKlaus Aehlig
As this test takes significantly more time than the other end-to-end tests, set a suitable default value for the configuration variable TIMEOUT_SCALE.
2024-02-27with_{remote,serve}: honor TIMEOUT_SCALEKlaus Aehlig
Especially the end-to-end tests that use "remote" end points can grow large; therefore, honor the configuration variable TIMEOUT_SCALE, to allow the author to specify that this test takes more time.
2024-02-27test just-mr and serve: Check distdir repository root creationPaul Cristian Sarbu
Extends test coverage for the interaction between 'just-mr setup' and the serve endpoint for distdir repositories.
2024-02-27test just-mr and serve: Check git-tree repository root creationPaul Cristian Sarbu
Extends test coverage for the interaction between 'just-mr setup' and the serve endpoint for git-tree repositories.
2024-02-27test just-mr and serve: Check file repository to_git root creationPaul Cristian Sarbu
Extends test coverage for the interaction between 'just-mr setup' and the serve endpoint for file repositories with to_git pragma.