summaryrefslogtreecommitdiff
path: root/test/end-to-end
AgeCommit message (Collapse)Author
2024-04-10end-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. (cherry picked from commit ddd2f5937a9016f5ff2f6bf659ba459129e49826)
2023-10-17Avoid conflicts on case-insensitive file systemsKlaus Aehlig
... by renaming test/end-to-end/targets. (cherry-picked from d95d8121199e2519aa441cb1a471cf5aec69574d)
2023-08-24test: verify that actions with incompelete outputs are requestedKlaus Aehlig
... on next invocation, instead of being taken from cache.
2023-08-17["shell/test", "script"] Rename implicit dependenciesKlaus Aehlig
... and document at the appropriate places what can be overwritten by setting those targets.
2023-08-14ArchiveOps: reduce verbosity in archive type enumPaul Cristian Sarbu
2023-08-11Add basic end-to-end test for build -PKlaus Aehlig
... also verifying that we can look into tree outputs
2023-08-10test: Add checks for the 'symlink' built-in rulePaul Cristian Sarbu
2023-08-08Add a test verifying the overwrite property of install and install-casKlaus Aehlig
Verify that install and install-cas do not overwrite and instead replace existing files. This behaviour is less surprising for the user in the presence of hard links.
2023-08-07test: Add checks for 'special' pragma in just-mrPaul Cristian Sarbu
Checks that the new 'special' pragma works for all supported repository types. In particular, checks that symlinks get resolved as expected and that resolved trees add their unresolved counterparts to the CAS for 'file' and 'archive' type repositories. Splits install-roots test into a basic check which works with the bootstrappable just-mr, and a new check focusing on the newly introduced 'special' pragma.
2023-08-07just-mr: Set ignore-special roots via a pragma...Paul Cristian Sarbu
...instead of a regular field. Also removes the ignore-special logic from distdir repositories, as those will never contain symlinks, so no entries would be ignored.
2023-07-27install-cas test: also verify the -P optionKlaus Aehlig
2023-07-27link install-cas test to test suiteKlaus Aehlig
While there, fix a typo in the setup.
2023-07-26Add basic test for install-casKlaus Aehlig
... verifying the consistency of the representation of trees between local and remote CAS.
2023-07-25test_server: avoid racesKlaus Aehlig
... by creating a file only once the server is ready and waiting for that file instead of waiting a fixed period of time.
2023-07-21bugfix: stage symlinks as symlinks when creating an action directoryAlberto Sartori
Before this patch, when creating an action directory, symlinks were staged as regular files.
2023-07-11test: Extend coverage for symlinks and ignore_special rootsPaul Cristian Sarbu
2023-07-10test: Extend cas-independent check with .gitignore filePaul Cristian Sarbu
2023-07-05Test dispatch functionality of justKlaus Aehlig
2023-07-05["@", "test", "end-to-end", "with remote"] rule: fix documentationKlaus Aehlig
Besides stdout and stderr of the test, the output of the remote-execution server are also artifacts of that rule.
2023-07-05["end-to-end/target-cache", "artifacts-sync"]: add more checks...Alberto Sartori
...that the expected objects are correctly uploaded to the remote cas
2023-07-03Simplify artifacts-sync end-to-end testSascha Roloff
2023-06-22Extend action-equality-properties test to also test the generic ruleKlaus Aehlig
2023-06-22Extend action-equality-timeout test to also test the generic ruleKlaus Aehlig
2023-06-15Add basic test for properties as part of action equalityKlaus Aehlig
2023-06-05Add a test verifying that no working directory is neededKlaus Aehlig
2023-05-31Add basic test that the timeout is taken into account for action equalityKlaus Aehlig
2023-05-30tests: Used installed just/just-mr in remote testsOliver Reiche
... as those binaries might need run-libs.
2023-05-30tests: Support run deps for tools-under-testOliver Reiche
2023-05-24Split off tests into a separate logical repositoryKlaus Aehlig
This allows better separation and, in particular, repositories needed only for tests do not have to be provided for building the tools. This also better documents which dependencies are only needed for testing.
2023-05-09end-to-end tests: be independent of the user's home directoryKlaus Aehlig
... and, in particular, do not read any rc files for just-mr the user might have.
2023-04-21["test/end-to-end", "with remote"]: allow for the usage of a given remote ↵Alberto Sartori
endpoint This can be useful, for example, to test if justbuild can successfully communicate with the specified remote execution service.
2023-04-14just-mr support -D optionKlaus Aehlig
Make just-mr unconditionally support an option -D that collects a configuration overlay and forwards it to the invocation of a just subcommand that supports this option. This syntax-switching facility makes it easy to embedd dynamic parts of the configuration (like the head commit to be part of a version string) as those information can unconditionally be the first argument to just-mr.
2023-04-04Add basic test that roots are available via install-casKlaus Aehlig
2023-03-30Improve error messages on reading invalid target filesKlaus Aehlig
... by including the details of the parse error.
2023-03-27MR Tests: Separate git init and branch creationOliver Reiche
... as `git init -b ...` is a rather recent git feature.
2023-03-27TC Tests: Fix shell variable assignmentOliver Reiche
2023-03-24Extend install test to also verify the --remember optionKlaus Aehlig
2023-03-23Add basic test for install-casKlaus Aehlig
... also verifying that the local CAS is used, even in the presence of remote execution.
2023-03-22Add basic test for just-mr defaultsKlaus Aehlig
2023-03-21Move end-to-end tests to a common placeKlaus Aehlig
While for unit tests it is best practice to replicate the layout of the source tree, for end-to-end tests, this is less so. This is particularly true, as the distinction between the tests for two tools is a bit blurry; some tests for just still use just-mr as a launcher, and, e.g., the fetch test for just-mr uses just to carry out the garbage collection. Therefore, move all end-to-end tests together so that we also have a joinded target for precisely the end-to-end tests. In this reorganisation also indicate more explicitly which tests are also available for the bootstrap multi-repo tool. That information was so far hidden by the fact that in the other directory the tool dependency would not dispatch on TEST_BOOTSTRAP_JUST_MR.
2023-03-20just-mr fetch: Add test for interaction with garbage collectionKlaus Aehlig
2023-03-13Test: Add GC test for export targetsOliver Reiche
2023-03-13Test: Extend basic GC test by link count checkOliver Reiche
2023-03-13Test: Extend basic GC test for compatibleOliver Reiche
2023-03-13Remote Tests: Dump server output to fileOliver Reiche
... instead of using pipes that are prone to get full. Also increase log level to Trace.
2023-03-10tests: get rid of credentials repo since tests now use just execute as a ↵Alberto Sartori
remote endpoint
2023-03-06Switch shell tests to use just as remote execution endpointKlaus Aehlig
... and, in this way, ensure the test also tests properly in absence of an external remote execution system.
2023-03-06Add rule for shell tests with remote executionKlaus Aehlig
... similar to ["@", "rules", "shell/test", "script"], but implicitly starting a remote execution in the background, passing the information about that endpoint to the test via an environment variable.
2023-02-27Tests: Fix stderr printout bug in just-mr usagePaul Cristian Sarbu
All desired outputs of just-mr (e.g., the config file after a setup call) are printed to stdout, while all logging messages are printed to stderr. Therefore, one should avoid explicitly piping stderr to stdout, as this can break the intended use of just-mr.
2023-02-22test: Check CAS directory directly for artifacts sync testOliver Reiche
... instead of only using the "install-cas" subcommand, which considers the file and executable CAS as one single logical instance. Rather also check the CAS directories directly to verify that files and executables are actually downloaded to the correct CAS. Furthermore, added "main" as an export target to produce an executable file for running the test.