summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2023-10-20with_serve_test_runner.py: terminate serve process at the endAlberto Sartori
2023-09-28Avoid conflicts on case-insensitive file systemsKlaus Aehlig
... by renaming test/end-to-end/targets.
2023-09-22Add regression test that --fetch-absent does not store a subtreeKlaus Aehlig
... as tree for the whole commit, and thus pollutes subsequent builds.
2023-09-20Add end-to-end test for the absent configuration of just-mrKlaus Aehlig
2023-09-15just-mr: ensure that after --fetch-absent a local build is possibleKlaus Aehlig
... by also keeping the map of commit to tree locally.
2023-09-15Add an end-to-end test for fetching absent rootsKlaus Aehlig
2023-09-15Add infrastructure for end-to-end tests using just serveKlaus Aehlig
2023-09-15just serve: add remote execution endpoint and --fetch-absent optionPaul Cristian Sarbu
The serve service will communicate with this endpoint when needed, as well as ensure artifacts it provides are synced with the remote execution CAS, if requested by the client. If just-mr is given the --fetch-absent option, it Always produce present roots irrespective of the 'absent' pragma. For Git repositories marked with the 'absent' pragma, first try to fetch any commit trees provided by the serve endpoint from the execution endpoint CAS, before reverting to a network fetch. Co-authored-by: Klaus Aehlig <klaus.aehlig@huawei.com> Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
2023-09-13test: Check that just-mr creates correct absent rootsPaul Cristian Sarbu
2023-09-13test: Add initial checks for serve service clientPaul Cristian Sarbu
2023-09-13test: Add test environment running 'just serve'Paul Cristian Sarbu
2023-09-01Update fmt to 10.1.1Klaus Aehlig
2023-09-01add basic test for deduplicationKlaus Aehlig
... verifying that deduplication does not modify the analysis result.
2023-08-29python: Add type hints and fix style in test scriptsPaul Cristian Sarbu
For maximum compatibility, we use the uppercase types from the typing package instead of the built-in types, therefore compliant with PEP 484 and PEP 526.
2023-08-28Add end-to-end test that the shell is settable in "generic"Klaus Aehlig
2023-08-25test: Check that just-mr interacts correctly with a remote endpointPaul Cristian Sarbu
The argument --backup-to-remote of just-mr and, thus, also this test can only be run in native mode.
2023-08-24tests: Improve error reporting in scriptsOliver Reiche
2023-08-24tests: Fix equal operator type mismatchOliver Reiche
... causing an error with gcc 13.2.0.
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-16Introduce configuration variable TOOLCHAIN_CONFIGOliver Reiche
... to pass along toolchain settings for current and future toolchain definitions. Configuration variable COMPILER_FAMILY is replaced by TOOLCHAIN_CONFIG["FAMILY"].
2023-08-14just-mr archives: Add 7zip support via autodetection optionPaul Cristian Sarbu
Similarly to tarballs, an autodetection option for zip-like archives is added to enable a unified handling of both traditional zip and 7zip formats. Thus, for "zip" archives just-mr uses now this autodetection option.
2023-08-14ArchiveOps: Add handling of 7zip archivesPaul Cristian Sarbu
Also updates the archive usage tests accordingly.
2023-08-14test: Add checks for tarballs with lzip and lzma compressionPaul Cristian Sarbu
2023-08-14ArchiveOps: Add proper autodetection option for tarballsPaul Cristian Sarbu
We shouldn't exclude the possibility of receiving uncompressed tarballs as repositories in just-mr. Therefore, we introduce an explicit type that performs the autodetection (default behaviour in just-mr). This is done to also be more in line with our implementation which allows the granular handling of various archive types (currently used only for testing purposes).
2023-08-14test: Refactoring the archive usage testsPaul Cristian Sarbu
Tests for various archive types are by design repetitive and thus can be streamlined to avoid excessive code duplication. As a positive consequence, this change also adds previously missing .xz archive usage checks.
2023-08-14ArchiveOps: reduce verbosity in archive type enumPaul Cristian Sarbu
2023-08-14expression: add new built in "reverse"Klaus Aehlig
While a foldl is enough to implement a reverse functionality, adding it as a built in allows doing so in linear time.
2023-08-14expression: add new built in "set"Klaus Aehlig
... to obtain from a list of strings a map with those entries as keys and true as value. In this way, repeated membership tests in lists can be implemented more efficiently.
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-09Update fmt libraryKlaus Aehlig
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-07test: Add check for reading objects by path from a Git treePaul Cristian Sarbu
2023-08-07utils: Add function to check for confined pathsPaul Cristian Sarbu
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-08-07test: Fix typo in script generating test_repo_symlinks bundlePaul Cristian Sarbu
2023-07-27install-cas test: also verify the -P optionKlaus Aehlig
2023-07-27Execution API: support fetching a single artifact to memoryKlaus 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-11filesystem: Avoid unwanted indirections...Paul Cristian Sarbu
...that std::filesystem::* calls produce. This is because existence and type checks use almost exclusively std::filesystem::status, which follows symbolic links, when being called with path arguments. Instead, one should instead use these methods with the value returned by a call of std::filesystem::symlink_status. This commit also streamlines the FileSystemManager tests, as well as replace bare calls to std::filesystem with their FileSystemManager counterparts (where suitable).
2023-07-11test: Extend coverage for symlinks and ignore_special rootsPaul Cristian Sarbu
2023-07-11bootstrap-test: Increase the timeout scalePaul Cristian Sarbu
When running on a busy machine, bootstrap tests can sometimes surpass the current timeout.
2023-07-10test: Extend cas-independent check with .gitignore filePaul Cristian Sarbu
2023-07-10FileSystemManager: Add recursive directory entries reader...Paul Cristian Sarbu
...allowing the skipping of certain subtrees if needed. This is useful, e.g., in simulating what a 'git add' call would do, which ignores all '.git' subdirectories. Also adds a corresponding test for the new method.
2023-07-05Test dispatch functionality of justKlaus Aehlig