summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
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-24test: Remove unnecessary taintedness for archive_usage targetPaul Cristian Sarbu
2023-02-22cleanup: Fix typos in code line comments and logging messagesPaul Cristian Sarbu
2023-02-22test: Remove unnecessary line of code in run_test_server.pyPaul Cristian Sarbu
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.
2023-02-22ExecutionApi: Retrieve to correct CAS directlyOliver Reiche
... by keeping track of each blob being a file or executable and storing it to the correct local physical CAS directory. The new flag is merely a hint and only used by the local execution API. Leaving it out will still correctly transfer the blob but may cause unnecessary duplicates in file CAS.
2023-02-17tests: Add tests for extended Git repo class with remote operationsPaul Cristian Sarbu
Only tests pertaining to methods not covered in the tests of the inherited class were added.
2023-02-17structure cleanup: move remote operations of GitRepo to other_tools...Paul Cristian Sarbu
...in order to not include unwanted dependencies in just proper. The new class extends the GitRepo class used for just's Git tree operations and gets used in all of just-mr's async maps.
2023-02-17structure cleanup: move libcurl utilities to other_tools...Paul Cristian Sarbu
...in order to not include unwanted dependencies in just proper. As the whole other_tools folder is meant to be excluded from bootstrapping, also remove the bootstrap guards.
2023-02-17structure cleanup: move libarchive utilities to other_tools...Paul Cristian Sarbu
...in order to not include unwanted dependencies in just proper. As the whole other_tools folder is meant to be excluded from bootstrapping, also remove the bootstrap guards.
2023-02-17tests: Add proper quoting when system calling the shellPaul Cristian Sarbu
2023-02-14Test bootstrapping in the presence of symbolic linksKlaus Aehlig
2023-02-14targets: fix missing staging of individual testsPaul Cristian Sarbu
2023-02-09Add test for mixed boot strappingKlaus Aehlig
2023-02-02execution-service: add end-to-end testAlberto Sartori
Co-authored by: Klaus Aehlig <klaus.aehlig@huawei.com>
2023-01-26test/bootstrap: fix typo in environemt variableKlaus Aehlig
... and also fix the test if we reached the fixed point; of course, that has to use the same configuration as we do not expect different tool chains to produce bit-by-bit identical output.
2023-01-26test/bootstrap: also test bootstrapping with the gnu compiler familyKlaus Aehlig
2023-01-24FileSystemManager: Do not follow symlinksOliver Reiche
... and ensure that cascades of checks are performed with only a single filesystem stat per method.
2023-01-24bin/boostrap.py: support dropping of repositoriesKlaus Aehlig
Not all repositories mentioned in the repository configuration are needed to boostrap just (e.g., because they are used for testing). Support dropping dependencies for bootstrapping by replacing them by a reference to an empty directory and in this way have less files that need to be fetched.
2023-01-24Just-MR: Remove obsolete GET_BRANCH_REFNAME critical Git operationPaul Cristian Sarbu
As now all remote Git operations in GitRepo require at most just the branch name, there is no more need to inquire the repository about branch refspecs.
2023-01-24GitRepo: Remove refspec argument in retrieving commit from remote...Paul Cristian Sarbu
...and use instead the branch name. A valid direct refspec (as those retrieved by a remote_ls call) will always end in the branch name, so checking the last path component ('/'-delimited substring) of a retrieved refspec is enough.
2023-01-24GitRepo: Change FetchFromRemote to fetch based on branch namePaul Cristian Sarbu
This also removes the need to call the GET_BRANCH_REFNAME critical operation.
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.