summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-07-16Set compatibility in testsMaksim Denisov
2024-07-16Check compatibility in the test of large_object_casMaksim Denisov
2024-07-16Check compatibility in the test of cas_serverMaksim Denisov
2024-07-16Check compatibility in the test of file_rootMaksim Denisov
2024-07-16Check compatibility in the test of source_mapMaksim Denisov
2024-07-16Set compatibility in tests for ServeMaksim Denisov
2024-07-16Add a test verifying that reconstructed executables are usableKlaus Aehlig
... ensuring we do not regress on the recently fixed race that allowed file descriptors to reconstructed executables to be kept alive.
2024-07-15Update CHANGELOG with latest fixesKlaus Aehlig
2024-07-12Make end-to-end tests independent of the user's rc fileKlaus Aehlig
Our end-to-end tests involve calling just-mr. When run locally, in order to make then self-contained we need to make sure this test call to just-mr does not pick up the user's .just-mrrc that might contain different setting not overridden at the command line.
2024-07-12Remove redundant ArtifactFactory class used in tests onlyMaksim Denisov
...and move the related tests to artifact_description.test
2024-07-12ArtifactFactory: remove FromDescription methodMaksim Denisov
...since it is used in tests only.
2024-07-12ArtifactFactory: remove Identifier methodMaksim Denisov
...since it is used in tests only. It also duplicated serialization-deserialization of ArtifactDescription.
2024-07-12Use precalculated hash for comparison of ArtifactDescriptionsMaksim Denisov
...instead of comparing raw data.
2024-07-12Use static Create functions to construct ArtifactDescriptionMaksim Denisov
...instead of unobvious ctors relying on overload resolution.
2024-07-12Move implementation details of ArtifactDescription to the cpp fileMaksim Denisov
2024-07-12DAG: remove methods used in tests onlyMaksim Denisov
2024-07-12DAG: remove IsValid since it is used in tests only.Maksim Denisov
2024-07-12DAG: remove unused methodsMaksim Denisov
2024-07-12Capture in TreeReaders by pointer to avoid temporariesMaksim Denisov
2024-07-12Replace IBundle classes family with BazelBlobMaksim Denisov
2024-07-12Return std::nullopt if creation of an action digest failsMaksim Denisov
...instead of dereferencing nullptr.
2024-07-12Pack arguments of CreateActionDigestFromCommandLine to a structMaksim Denisov
2024-07-12Remove unused parameters in CreateDirectoryDigestFromTreeMaksim Denisov
2024-07-12Move BazelMsgFactory reading functions to a separate classMaksim Denisov
2024-07-12Store newly spliced executables as copies.Maksim Denisov
During multithreaded splicing, the main process can be forked (inheriting open file descriptors). In this case, the executable file saved using hardlinking becomes inaccessible. To prevent this, executables must be stored as copies made in a child process.
2024-07-12test summary defaults: use timesKlaus Aehlig
... as the default summarizer can make good use of that, if provided.
2024-07-12Internal test rules: only use in summary action what is necessaryKlaus Aehlig
2024-07-12Internal test rules with infastructure: also record pwdKlaus Aehlig
2024-07-12Test summarizer: also report on average timeKlaus Aehlig
... of passed tests (as only for those, the time is meaningful). Given that we read the timing information anyway, if available, we can as well report more useful information.
2024-07-12Test rules: only provide to the summary action what is neededKlaus Aehlig
... and add a rule allowing the summarizer to specify what it needs.
2024-07-12Tests: also record `pwd`Klaus Aehlig
... as test meta data. Tests are executed in an unspecified directory, assuming pass or fail is independent of the location where the test is run. While this generally is true, test logs often contain the working directory. So, in order to more easily compare different execution orders of a potential race condition, it can be desirable to compare logs "up to the execution directory". This, however, requires that this directory is recored in the first place. Do so. For consistency of the output format, also have a (fixed) artifact pwd in the summary report.
2024-07-11Add test to check correct target-cache shardingPaul Cristian Sarbu
...between local, remote, and served builds.
2024-07-11just: Fix storage instantiation in mainPaul Cristian Sarbu
As the storage instance also instantiates the target cache, we need to ensure that each such instance has at that point all the correct remote endpoint information to ensure the target cache sharding works as expected. In particular, the server-side and client-side operations of just have a slightly different setup for the remote endpoint address, therefore they require the storage instantiation to be done separately.
2024-07-10ParallelRetrieveToCas: process prerequisites in parallelKlaus Aehlig
2024-07-10ParallelRetrieveToCas: avoid duplicated requestsKlaus Aehlig
While no additional blob will be transferred, doing a request for missing blobs is still a request and, in particular, an unnecessary round trip. Therefore avoid this, by remembering what we synchronized already.
2024-07-10Artifact::ObjectInfo: add orderKlaus Aehlig
2024-07-10ArtifactDigest: add orderKlaus Aehlig
2024-07-09Test rules with infrastructure: also honor TEST_SUMMARY_EXECUTION_PROPERTIESKlaus Aehlig
Also for tests that provide infrastructure, it can be desirable to run those tests a large number of times. Therefore, support additional remote-execution properties for the summary action so that a suitable remote-execution endpoint can be chosen.
2024-07-08tutorial on tests: set shell defaultsKlaus Aehlig
... as they will be used in newer versions of rules-cc to set the path for the test-summary action.
2024-07-08Remove hardlink design as implementedKlaus Aehlig
... and mention the fix in CHANGELOG.
2024-07-08CHANGELOG: fix typosKlaus Aehlig
2024-07-05mark split-splice test as IO-heavyKlaus Aehlig
2024-07-05tests: support additional remote-execution properties for summariesKlaus Aehlig
If a test is run several times (as set by RUNS_PER_TEST), a summary of the individual test runs is computed using a summarizer as configured in the target layer of the rules. As the inputs for computing that test summary are all the individual test runs, that action has a large number of files as input, including a large number of identical files, e.g., the ones indicating the outcome of an individual run. Therefore, allow setting additional remote-execution properties allowing to dispatch that action to a suitable end point.
2024-07-05Add test verifying we can handle actions with 200k identical input filesKlaus Aehlig
2024-07-05local action: copy input file on reaching symlink limitKlaus Aehlig
... and continue with the newly created copy as target for the next hard links. In this way, we get rid of the restriction we used to have that the number of identical inputs be not greater than the hardlink limit.
2024-07-05FileSystemManager::CreateFileHardlink: return error code on failureKlaus Aehlig
Instead of returning a plain boolean, return an expected with the same boolean value that in case of an error indicates the error code. In this way, an error-specific handling is possible by consumers. While there, also add proper quoting of the involved file names.
2024-07-05Convert StorageConfig to a general classMaksim Denisov
2024-07-05Remove HermeticLocalTestFixtureMaksim Denisov
...and create StorageConfig and Storage in place if needed.
2024-07-05Convert Storage to a general classMaksim Denisov
2024-07-05Call uplinking via UplinkerMaksim Denisov
... instead of static calls to GarbageCollector