summaryrefslogtreecommitdiff
path: root/test/other_tools
AgeCommit message (Collapse)Author
2025-03-10rc merging: invocation log is merged locallyKlaus Aehlig
2025-02-20Separate off id generation to a separate libraryKlaus Aehlig
... and rename appropriately to reflect contents more precisely than the generic "common". This separation also disentangles dependencies a bit.
2024-11-14tests: Implement IWYU suggestionsMaksim Denisov
2024-11-14clang-format: Update config filePaul Cristian Sarbu
The base style already handles correctly the system includes, so one needs to only add regex expressions to handle third-party and own includes. This fixes also the include formatting of git_config_run.test.cpp.
2024-10-08Name local variables using lower_caseMaksim Denisov
...and private members using lower_case_
2024-10-08Name constexpr variables using kCamelCase.Maksim Denisov
2024-10-07Enable google-* checks.Maksim Denisov
2024-09-26Fix redundant std::optional conversionsMaksim Denisov
...proposed by clang-tidy. Enable bugprone-optional-value-conversion check.
2024-09-23Reorder dependencies and remove duplicates in OSSMaksim Denisov
2024-09-12switch: add default branchesKlaus Aehlig
... to ensure we're not adding new cases without noticing.
2024-08-27Reformat code to comply with clang-format 18Klaus Aehlig
... while keeping our .clang-format file.
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-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-21tests: use newly defined test suiteKlaus Aehlig
... so that linting information gets propagated properly.
2024-07-05Remove HermeticLocalTestFixtureMaksim Denisov
...and create StorageConfig and Storage in place if needed.
2024-07-05Pass StorageConfig to git_repo and git_repo_remoteMaksim Denisov
2024-04-10Add KeepTree to critical Git operationsPaul Cristian Sarbu
Also improves and extends accordingly the Git operations tests.
2024-04-08Use properly included standard library types by defaultPaul Cristian Sarbu
2024-04-08test: Add missing includes and fix depsPaul Cristian Sarbu
2024-03-26third-party: Update libcurl to v8.6.0Paul Cristian Sarbu
Now the curl URL API always fails to parse the empty string, so our test was changed to reflect this.
2024-03-15Clean up more includes and targetsPaul Cristian Sarbu
Some of the more specific issues addressed: - missing log_level target/include - header-only libs wrongly marking deps as private - missing/misplaced gsl includes
2024-03-08Remove dead code for host replacementOliver Reiche
2024-03-08mirrors: Add test for SortByHostnameOliver Reiche
2024-03-08just-mr: Fix shell out executionOliver Reiche
... by avoiding reusing temp dirs for execute. While we are at it, also refactor LocalFetchViaTmpRepo() to create its own empty temp dirs, that cannot be reused by the caller.
2024-02-20git repo fetch: support "inherit env"Klaus Aehlig
When fetching git repositories, just-mr routinely shells out to git. In this case, allow the user to specify via "inherit env", which environment variables from the host environment should be made available in this action. Typical variables to inherit are ones providing credentials, like SSH_AUTH_SOCK. As the repository description specifies the commit that will be taken, and hence the resulting tree, correctness is not affected by the environement leaking in here.
2024-01-30Add library for overlaying just-mr rcsKlaus Aehlig
2023-11-14test: Set a fixed number of retries for starting Python servers...Paul Cristian Sarbu
...to avoid waiting for the test timeout on an internal error.
2023-11-14curl_url_handle: Add method to replace the hostname of a URLPaul Cristian Sarbu
Also adds a section in the curl_url test suite.
2023-11-02ArchiveOps: Move libarchive utilities outside other_toolsPaul Cristian Sarbu
This way they can be used by 'just serve'.
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-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-06-26filesystem: Add logic for handling (non-upwards) symlinksPaul Cristian Sarbu
2023-06-20tests: Add tar.xz and compression auto detectOliver Reiche
2023-06-06style: Use designated initializersPaul Cristian Sarbu
This feature has been introduced with C++20.
2023-05-31test: Extend filesystem tests to git repos with symlinks...Paul Cristian Sarbu
...using the new ignore-special tree variant.
2023-05-31test: Streamline filesystem git test repo...Paul Cristian Sarbu
...by removing unused subfolders and corresponding redundant checks in the tests using it. Also fixes misues in tests of the GetSubtree family of methods.
2023-05-24Split off tests into a separate logical repositoryKlaus Aehlig
This allows better separation and, in particular, repositories needed only for tests do not have to be provided for building the tools. This also better documents which dependencies are only needed for testing.
2023-05-15memcheck: fix race in libgit2...Paul Cristian Sarbu
...caused by incorrectly setting and resetting the library internal state and the misuse of pthreads in libgit2. Normally, git_libgit2_init and git_libgit2_shutdown should span the life of a worker thread in order to be safely used. However, due to an incorrect implementation of libgit2's threadstate with pthreads, on unix systems there is a race condition. Until the use of pthread_key_t is corrected in libgit2, we need to apply a workaround by always ensuring that the main thread is the first thread reaching the GitContext constructor.
2023-03-23test: Clean up target namesPaul Cristian Sarbu
Using "test" in the name of a test target is unnecessary and adds gratuitous inconsistencies.
2023-03-23just-mr: Add git binary optionPaul Cristian Sarbu
In the rare cases that we need to shell out to git, let the user configure what binary to use. Option resolves in the same way as the just executable, including allowing it to be set via just-mrrc. Updates all cases of shelling out to git (fetch and commit update). Update just-mr and just-mrrc docs accordingly.
2023-03-23just-mr: Shell out to system Git for update commit from SSH remote...Paul Cristian Sarbu
...due to limitations in SSH support in libgit2. In this case, we simply execute 'git ls-remote <repo> [<branch>]' and then parse the output. Remote interogation requires no local repository, so it is an asynchronious operation by default.
2023-03-22just-mr: Shell out to system Git for fetches over SSH...Paul Cristian Sarbu
...due to limited SSH support in libgit2. In order to allow the fetches to still be parallel, we execute: git fetch --no-auto-gc --no-write-fetch-head <repo> [<branch>] This only fetches the packs without updating any refs, at the slight cost of sometimes fetching some redundant information, which for our purposes is practically a non-issue. (If really needed, a 'git gc' call can be done eventually to try to compact the fetched packs, although a save in disk space is not actually guaranteed.)
2023-03-21Move end-to-end tests to a common placeKlaus Aehlig
While for unit tests it is best practice to replicate the layout of the source tree, for end-to-end tests, this is less so. This is particularly true, as the distinction between the tests for two tools is a bit blurry; some tests for just still use just-mr as a launcher, and, e.g., the fetch test for just-mr uses just to carry out the garbage collection. Therefore, move all end-to-end tests together so that we also have a joinded target for precisely the end-to-end tests. In this reorganisation also indicate more explicitly which tests are also available for the bootstrap multi-repo tool. That information was so far hidden by the fact that in the other directory the tool dependency would not dispatch on TEST_BOOTSTRAP_JUST_MR.
2023-03-20just-mr: add test for command verbosityKlaus Aehlig
2023-03-15catch2: bump to version 3.3.2Alberto Sartori
tests have been updated accordingly