summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2024-08-29test just-mr: Add symlink cycle detection checks for repository rootsv1.4.0-alpha+20240829Paul Cristian Sarbu
2024-08-28Add basic sanity check on the default outputKlaus Aehlig
2024-08-27bytestream API: verify that invalid digests are rejectedKlaus Aehlig
2024-08-27test/utils: CC test with remote: also log remote outputKlaus Aehlig
2024-08-27Reformat code to comply with clang-format 18Klaus Aehlig
... while keeping our .clang-format file.
2024-08-26Add test to check that we ignore Git magic names in treesPaul Cristian Sarbu
2024-08-26install-cas --archive: Fix empty directories not added to archivePaul Cristian Sarbu
Also add empty directory in test script to ensure we don't regress in the future. While there, fix some typos.
2024-08-26GitOps: Pass source directory to GitInitialCommit operationPaul Cristian Sarbu
While there, ensure optional Git operation parameters are checked before use for the operations that require them.
2024-08-26GitRepo: Change logic that creates commits to explicitly give directoryPaul Cristian Sarbu
In preparation for subsequent changes, specify the directory path containing the tree content to be committed explicitly. This change will allow eventually to be able to specify paths that are different from the root path of the repository in which the commit is created. This commit renames and refactors StageAndCommitAllAnnonymous to allow a directory path to be passed. The just-mr and serve service logic is updated such that current behaviour is otherwise unchanged.
2024-08-26GitOpParams: Remove unneeded branch fieldPaul Cristian Sarbu
The 'branch' field is deprecated, not being used by any of the critical Git operations, thus it can be removed.
2024-08-23Add test verifying that conflicts in the artifacts stage are recognizedKlaus Aehlig
2024-08-23Add a test verifying that out_dirs are normalizedKlaus Aehlig
2024-08-23test gc-repo: forward PATH in launcherKlaus Aehlig
... so that we can run with whatever ambient path is present rather than relying on standard paths pulled in by env.
2024-08-21tests: use newly defined test suiteKlaus Aehlig
... so that linting information gets propagated properly.
2024-08-20["utils/serve_service", "CC test"]: honor LINTKlaus Aehlig
2024-08-20["utils/remote-execution", "CC test"]: honor LINTKlaus Aehlig
2024-08-14expression language: add nub_leftKlaus Aehlig
Originally, the expression lanuage only contained a function to deduplicate a list, keeping only the right-most occurence. The reason was that this is the order needed for linking: a library providing an open symbol has to come on the command line after the library using that symbol (and hence making it an open symbol). However, by now use cases have emerged that require a topological sorting where definition comes before use; also, when composing the value of PATH from fragments, we usually want to keep the first occurrence in order for it to take precedence. Therefore, also add "nub_left" as built-in function, allowing a more condense (and slightly more efficient) description in rules instead of the revserse-nub_right-reverse pattern.
2024-08-07Avoid deep copies of containers in responses.Maksim Denisov
2024-08-07Remove unused code from Artifact::ObjectInfoMaksim Denisov
Deserialization from json is used in a single test only
2024-08-07Replace classic C boolean operators with keywordsMaksim Denisov
! => not; && => and, || => or
2024-08-07Add missing guardMaksim Denisov
2024-08-06analyse: extend provides map when switching to action inputKlaus Aehlig
When switching from a target to the artifacts that are the inputs of a particular action, the provides map is also switched to provide additional (besides the inputs) information about the action, in particular the command. Extend this provides map with the remaining information, in particular the working directory.
2024-08-05Expression language: add expression from_subdirKlaus Aehlig
... allowing to select only the keys in a specific subdir, and move the them to top-level.
2024-08-05expression test: use built-in quotingKlaus Aehlig
... instead of having a custom quoting function in the tests.
2024-08-02End-to-end test: verify unrelated cwdKlaus Aehlig
... also ensuring that the implict empty tree is added as input.
2024-08-02Add end-to-end test verifying that cwd is handled correctlyKlaus Aehlig
2024-08-01Execution API: support cwdKlaus Aehlig
... following the remote-execution standard that all output paths (but none of the input paths) are relative to the working directory. Therefore, the executor has to do the path translation. For our implementation of the API interface - the local API now handles cwd correctly, - the remote API forwards cwd correctly, and - the git API continues to report actions as not implemented.
2024-08-01Add a utility function to rewrite path strings relative to a subdirectoryKlaus Aehlig
2024-08-01Add a test verifying that upwards outputs are rejectedKlaus Aehlig
This is implemented already, however as part of the tree-conflict check.
2024-07-30test executor: Remove unnecessary code duplicationPaul Cristian Sarbu
2024-07-30Pass ExecutionContext to GraphTraverser and Executor/RebuilderPaul Cristian Sarbu
Also update the classes documentation accordingly.
2024-07-30executor: Use ApiBundlePaul Cristian Sarbu
...instead of separate local and remote instances. For tests, where different implementations of the IExecutionApi interface are used, ApiBundle instances are created by explicitly setting the struct fields instead of using ApiBundle::Create.
2024-07-30ApiBundle: Use a creator method instead of constructorPaul Cristian Sarbu
This will allow for ApiBundle to be used together with the TestApi implementation of IExecutionApi in tests. Also rename CreateRemote method to MakeRemote in order to remove any semantical confusion.
2024-07-30Pass RemoteContext to Executor/RebuilderPaul Cristian Sarbu
2024-07-30Pass RemoteContext to GraphTraverserPaul Cristian Sarbu
It is passed as a not_null const pointer, to avoid binding to temporaries, and stored as a const reference to be later passed also to Executor/Rebuilder.
2024-07-30Pass LocalContext and RemoteContext to ServeApiPaul Cristian Sarbu
Also switch to using the fields from RemoteContext instances instead of those from ApiBundle.
2024-07-30Pass RemoteContext to ApiBundlePaul Cristian Sarbu
The CreateRemote method is also updated to receive all remote-related information as arguments, such that it does not have to rely on the ApiBundle internal fields which will eventually be removed.
2024-07-30Use LocalContext in execution and serve servicesPaul Cristian Sarbu
The context is passed by not_null const pointer in order to avoid binding to temporaries, and it or parts of it get stored by const ref where needed.
2024-07-30Pass LocalContext to LocalApiPaul Cristian Sarbu
The context is passed by not_null const pointer to avoid binding to temporaries. The LocalApi also stores the context as const ref for further access and passing it to LocalAction.
2024-07-30Pass LocalContext to ApiBundlePaul Cristian Sarbu
2024-07-26Add quasiquote expressionKlaus Aehlig
2024-07-26expression language: add quotingKlaus Aehlig
2024-07-24Extend gc-repo test to also verify that git-tree repositories are taken from ↵Klaus Aehlig
older generations
2024-07-23Extend gc-repo test to also verify foreign files are taken from old generationsKlaus Aehlig
2024-07-22Rename HashFunction methods and enumsMaksim Denisov
2024-07-22Create Hasher using a static functionMaksim Denisov
2024-07-22Unify tagging logic in HashFunctionMaksim Denisov
2024-07-22Convert HashFunction to a regular classMaksim Denisov
2024-07-22Remove singleton calls to HashFunction in testsMaksim Denisov
2024-07-22Pass HashFunction from StorageConfig to StorageMaksim Denisov