summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2023-01-20["test/end-to-end/just-mr", "fetch"]: fix destination directoryKlaus Aehlig
By default, just-mr fetches to the first existing distribution directory; by default, the first distribution directory to consider is ~/.distfiles. If an explicit destination is desired, it should be specified with the -o option. Fix the invocation of just-mr in the end-to-end test to use the specified destination; this also makes local execution of te test hermetic (as was originally intended), even if the user has a directory ~/.distfiles.
2023-01-20Add basic end-to-end test for just gcKlaus Aehlig
Run build and garbage collection end to end and verify two basic properties. - A target used after the the last gc is still available after another gc, and so are all its parts, even if the output is a single tree. - A target not used between to gc is purged from disk and disk space is not used any more.
2023-01-20Add local garbage collectionSascha Roloff
2023-01-20Cleanup local CAS dependency for repository configSascha Roloff
2023-01-20Test: Add tests for file locking utility classPaul Cristian Sarbu
2023-01-20tests: pass tls certificates and keyAlberto Sartori
2023-01-16just-mr fetch: fix overwriting distfilesKlaus Aehlig
Both, the python script as well as the compiled variant of just-mr fetch try to overwrite already existing distfiles in the distdir. While it is unclear if overwriting existing distfiles or not copying to distdir if a file with that name already exists is the better behaviour, we at least should not error out, as the compiled just-mr currently does as it sets permission to 444 and hence cannot overwrite later; fix this by addwing owner write permissions before overwriting.
2023-01-16Add test to verify just-mr fetch functionalityKlaus Aehlig
2023-01-16test/end-to-end: stage git-import tests to their own directoryKlaus Aehlig
... to avoid potential staging conflicts. Having them staged to just-mr was a copy-and-paste error in the first place anyway.
2023-01-10Add basic test for git-importKlaus Aehlig
2023-01-10Tests: Add TEST_BOOTSTRAP_JUST_MR config var to decide which just-mr is used ↵Paul Cristian Sarbu
in the end-to-end tests
2022-12-23Test that just-mr does not rely on CASKlaus Aehlig
... and, instead, stores all needed information in git and CAS-independent index files.
2022-12-23end-to-end tests: go through a single target for just-mrKlaus Aehlig
... so that we can switch in one go and have all tests use a new just-mr tool, e.g., once we consider the C++ implementation fully ready. This single point of switch will be relevant as the next commit will add the first end-to-end test for just-mr itself.
2022-12-21Test: Add basic test for just-mrPaul Cristian Sarbu
2022-12-21Test: Upd libarchive tests with wrapper classPaul Cristian Sarbu
2022-12-21Test: Add basic tests for libarchiveOliver Reiche
2022-12-21Test: Add tests for libcurlPaul Cristian Sarbu
2022-12-21Crypto: Add SHA512 hasherPaul Cristian Sarbu
Needed by the content-in-CAS git map to check fetched archives' checksums. SHA1 and SHA256 hashers are already implemented.
2022-12-21FS Manager: Add CopyDirectoryImpl methodPaul Cristian Sarbu
2022-12-21Test: Add tests for critical git opsPaul Cristian Sarbu
2022-12-21Test: Add tests for git repo classPaul Cristian Sarbu
2022-12-21Git CAS: Move Git tree ops to fake repo wrapper classPaul Cristian Sarbu
2022-12-14Test: Remove git bundle dependency from base_maps testsPaul Cristian Sarbu
2022-12-14Test: Remove git bundle dependency from file_system testsPaul Cristian Sarbu
2022-12-09rules: Refactoring and minor improvementsOliver Reiche
Compared to the previous commit, the action graphs for just and its unit tests are unchanged. - Git hash of action graph for ["",""]: c6e75f17abd7ffaab6ff9bb725ad67ec0bf6c973 - Git hash of action graph for ["test/buildtool","TESTS"]: 8063dfb3dd7daa9ae01d95c177e14946f785c57e Refactor: - "local cflags" to "private-cflags" - "local defines" to "private-defines" - "link externals" to "private-ldflags" - "deps" to "private-deps" for (test) binaries - "proto" to "private-proto" for binaries Improvements: - consistent variable declaration order: OS, ARCH, HOST_ARCH, TARGET_ARCH, CC, CXX, CFLAGS, CXXFLAGS, ADD_CFLAGS, ADD_CXXFLAGS, AR, ENV, PATH - use fields close to their definition (in RULES) - use common expression for binaries and test binaries - split expression "flags" and "compiler" ... to separate ones for CC and CXX. - rename "transition" to "deps-transition" ... to avoid conflicts with other transitions. - support "defaults-transition" for CC expressions Implement: - "cflags" for libraries - "private-cflags" for (test) binaries - "private-defines" for test binaries - "private-ldflags" for test binaries - (public) "defines" for libraries
2022-12-09rules: Drop the ["CC", "header directory"]Oliver Reiche
... in favor of the "tree" built-in rule.
2022-12-07Built-in rules: add a tree ruleKlaus Aehlig
... so that for every construct supported in rules there is an analogous one as a built-in rule to allow ad-hoc constructions without having to write a rule (even though writing a rule is recommended for everything occuring more than once): - the "generic" rule allows an ad-hoc ACTION, - the "file_gen" rule allows an ad-hoc BLOB, - the "tree" rule allows an an ad-hoc TREE, and - the "configure" rule allows an ad-hoc configuration transition.
2022-12-07file_gen rule: fix computation of effective configurationKlaus Aehlig
The dependencies requested in order to read their "outs" or "runfiles" also contribute to the effective configuration.
2022-11-24Fix root directory upload to honor tree invariant.Sascha Roloff
2022-11-21Use the newly-added concept of private-depsKlaus Aehlig
While there, also add all direct dependencies explicitly; using directly dependencies that are pulled in only indireclty causes problems from a maintainability point of view.
2022-11-16Fix effective configuration computation in configureKlaus Aehlig
While the built-in "configure" rule is forwarding the result of the configured target, its own effective configuration is not that of the configured target. The effective configuration is defined to be that part of the incoming configuration that can potentially influence the result of that target; in particular, this includes variables read in defining the configuration transition.
2022-11-16Make "config" accept a computed targetKlaus Aehlig
... and thus allowing the "business logic" in the configuration target (e.g., setting defaults and derived options) to be shared by many targets.
2022-11-02Improved test case for target-level cached artifacts synchronizationSascha Roloff
This commit extends the test case for target-level cached artifacts synchronization to include all locations of a target-cache entry where known artifacts can be mentioned. These locations are the 'artifacts', 'runfiles', and 'provides' map and all are considered now as part of the test.
2022-10-24fix position of just-mr setup subcommandAlberto Sartori
2022-10-24do no use late optionsAlberto Sartori
2022-10-19Add generation directory as part of the just cache root.Sascha Roloff
This change is introduced to be prepared for future changes such as garbage collection. It is an incompatible change compared to earlier just versions since it modifies the local path to the just cache directory, where among others the CASes, action cache, target-level cache are located.
2022-10-14Remove default value of ArtifactDigest::Create template parameterSascha Roloff
This enforces the explicit specification, which object type, either file or tree, should be used to create an artifact digest. This also avoids subtile errors at locations as in the previous commit, where files as well as trees are supposed to be handled, but digest creation mistakenly defaults to file object type.
2022-10-13bootstrap: by default, bootstrap in parallelKlaus Aehlig
Only if the environment variable DEBUG is set, fall back to sequentially executing the graph generated by the bootstrap version of just.
2022-10-12Add copyright and license notice to all source and header filesKlaus Aehlig
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
2022-10-11Add tree upload end-to-end testSascha Roloff
2022-10-10Replace CC/configure rule by builtin configureOliver Reiche
2022-10-07LocalTreeMap: Drop the use of the map entirelyOliver Reiche
... as for remote execution, the map entries are only used for the `install` subcommand. For local execution, much less tree objects are read from CAS when using this map. However, the performance benefit is barely measurable and therefore we rather remove this map entirely to reduce complexity.
2022-10-05Test: Add tests for 'configure' built-inOliver Reiche
2022-10-05Test: Add tests for 'env' expressionOliver Reiche
2022-10-05AnalysedTarget: Make shared pointer's content immutableOliver Reiche
... while technically not required, it makes it harder to run into nasty errors.
2022-09-13Just: Set default TARGET_ARCH and COMPILER_FAMILYOliver Reiche
2022-09-13Fix build with gcc/g++Oliver Reiche
2022-09-12Added end-to-end test for the synchronization of target-level cached ↵Sascha Roloff
artifacts between remote and local CAS
2022-09-12Adapted Executor to upload known artifacts from local CAS to remote CAS in ↵Sascha Roloff
case they got pruned
2022-09-12Introduced RetrieveToCas function in IExecutionApi to synchronize artifacts ↵Sascha Roloff
between different CASes