- 30 Aug, 2023 2 commits
-
-
This helped when troubleshooting issues running the `ci/test.sh` script locally.
Edward Thomson committed -
Callers can specify the ssh command to invoke using `core.sshcommand` or the `GIT_SSH` environment variable. This is useful for specifying alternate configuration, and is particularly useful for our testing environment.
Edward Thomson committed
-
- 23 Aug, 2023 2 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
- 13 May, 2023 2 commits
-
-
Make socket I/O non-blocking and add optional timeouts. Users may now set `GIT_OPT_SET_SERVER_CONNECT_TIMEOUT` to set a shorter connection timeout. (The connect timeout cannot be longer than the operating system default.) Users may also now configure the socket read and write timeouts with `GIT_OPT_SET_SERVER_TIMEOUT`. By default, connects still timeout based on the operating system defaults (typically 75 seconds) and socket read and writes block. Add a test against our custom testing git server that ensures that we can timeout reads against a slow server.
Edward Thomson committed -
v0.6.0 of poxygit add support for throttling connections to test timeouts and low-bandwidth situations.
Edward Thomson committed
-
- 12 Feb, 2023 1 commit
-
-
Edward Thomson committed
-
- 09 Feb, 2023 3 commits
-
-
We provide `BUILD_PATH` to our build script; provide it and mutate `PATH` when running our tests as well. We were previously using `cygpath` to try to convert a _list_ of Windows paths into cygwin / Unix style `PATH` format. This does not work -- it treats the path list as a single path (with semicolons -- understandably as those are allowed characters in a Windows path). For example, `C:\One;C:\Two;C:\Three` is converted to `/c/one;c:/two;c:/three`. Add a new function to convert path lists, so that paths are split by semicolon and fed to `cygpath` independently, then re-joined with a colon. This means that our example `C:\One;C:\Two;C:\Three` is correctly converted to `/c/one:/c/two:/c/three`.
Edward Thomson committed -
We provide `BUILD_PATH` to our build script; provide it and mutate `PATH` when running our tests as well.
Edward Thomson committed -
libgit2 can now isolate its home directory, and our test runner (by default) isolates the home directory. In our CI environment, we want to set up some pieces (like ssh configuration) in a fake homedir. Continue to do so and propagate that to clar.
Edward Thomson committed
-
- 04 Nov, 2022 1 commit
-
-
Currently just the one test needs it. The ssh-rsa makes sure we're asking for the cipher we find in `known_hosts` as that won't be the one selected by default. This will be relevant in later changes.
Carlos Martín Nieto committed
-
- 19 Sep, 2022 2 commits
-
-
Test that we can successfully clone a repository that is namespace scoped on the remote and does not advertise a HEAD. To do this, we must specify the branch to checkout.
Edward Thomson committed -
Test that we can successfully clone a repository that is namespace scoped to a bare repository locally. We need not specify a checkout branch in this case (obviously, since we do not check anything out in a bare clone).
Edward Thomson committed
-
- 16 Sep, 2022 1 commit
-
-
We previously (correctly) cleaned up the git daemon and SSH server, but failed to clean up our bespoke HTTP server and HTTP proxies. Capture their PIDs on process creation and kill them when we shut down.
Edward Thomson committed
-
- 23 Feb, 2022 2 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
- 18 Jan, 2022 1 commit
-
-
Edward Thomson committed
-
- 13 Jan, 2022 4 commits
-
-
Edward Thomson committed
-
Give callers the ability to select how to handle redirects - either supporting redirects during the initial connection (so that, for example, `git.example.com/repo` can redirect to `github.com/example/repo`) or all/no redirects. This is for compatibility with git.
Edward Thomson committed -
We (thankfully) don't have flaky tests anymore, don't retry them.
Edward Thomson committed -
The new version of our test git server adds redirect support. Upgrade to it.
Edward Thomson committed
-
- 30 Aug, 2021 2 commits
-
-
Include a self-signed certificate for test.libgit2.org:1443 that we can use to verify that GIT_OPT_SET_SSL_CERT_LOCATIONS works.
Edward Thomson committed -
Edward Thomson committed
-
- 18 Nov, 2020 1 commit
-
-
(And move the ci scripts into the `ci` directory.)
Edward Thomson committed
-
- 13 Mar, 2020 1 commit
-
-
We currently pass the "--silent" flag to most invocations of curl, but in fact this does not only suppress the progress meter, but also any errors. So let's also pass "--show-error", too.
Patrick Steinhardt committed
-
- 07 Feb, 2020 2 commits
-
-
In order to properly tear down the test environment, we will kill git-daemon(1) if we've exercised it. As git-daemon(1) is spawned as a background process, it is still owned by the shell and thus killing it later on will print a termination message to the shell's stderr, causing Azure to report it as an error. Fix this by disowning the background process.
Patrick Steinhardt committed -
Without the "--silent" parameter, curl will print a progress meter to stderr. Azure has the nice feature of interpreting any output to stderr as errors with a big red warning towards the end of the build. Let's thus silence curl to not generate any misleading messages.
Patrick Steinhardt committed
-
- 04 Feb, 2020 2 commits
-
-
While we already do have logic to re-run flaky tests, the FAILED variable currently does not get reset to "0". As a result, successful reruns will still cause the test to be registered as failed. Fix this by resetting the variable accordingly.
Patrick Steinhardt committed -
The proxy tests regularly fail in our CI environment. Unfortunately, this is expected due to the network layer. Thus, let's re-try the proxy tests up to five times in case they fail.
Patrick Steinhardt committed
-
- 24 Jan, 2020 3 commits
-
-
Download poxygit, a debugging git server, and clone from it using NTLM, both IIS-style (with connection affinity) and Apache-style ("broken", requiring constant reauthentication).
Edward Thomson committed -
Edward Thomson committed
-
Attempt to obtain a Kerberos ticket from LIBGIT2.ORG and then clone the Negotiate-protected site at test.libgit2.org with that ticket.
Edward Thomson committed
-
- 20 Jul, 2019 4 commits
-
-
On Win32 builds, the PID file created by git-daemon contained in invalid PID that we were not able to kill afterwards. Somehow, it seems like the contained PID was wrapped in braces. Consequentially, kill(1) failed and thus caused the build to error. Fix this by directly grabbing the PID of the spawned git-daemon process.
Patrick Steinhardt committed -
Since we have migrated to Azure Pipelines, we have deprecated and subsequentally removed all infrastructure for AppVeyor and Travis. Thus it doesn't make a lot of sense to have the split between "ci/" and "azure-pipelines/" directories anymoer, as "azure-pipelines/" is essentially our only CI. Move all CI scripts into the "azure-pipelines/" directory to have everything centrally located and to remove clutter in the top-level directory.
Patrick Steinhardt committed -
Right now, we have an awful hack in our test CI setup that extracts the test command from CTest's output and then prepends the leak checker. This is dependent on non-machine-parseable output from CMake and also breaks on various ocassions, like for example when we have spaces in the current path or when the path contains backslashes. Both conditions may easily be triggered on Win32 systems, and in fact they do break our Azure Pipelines builds. Remove the awful hack in favour of a new CMake build option "USE_LEAK_CHECKER". If specifying e.g. "-DUSE_LEAK_CHECKER=valgrind", then we will set up all tests to be run under valgrind. Like this, we can again simply execute ctest without needing to rely on evil sourcery.
Patrick Steinhardt committed -
Instead of having to find the fuzzer executables in our Azure test scripts, provide test targets for each of our fuzzers that will run them with the correct paths.
Patrick Steinhardt committed
-
- 24 Jun, 2019 1 commit
-
-
Our online tests are occasionally flaky since they hit real network endpoints. Re-run them up to 5 times if they fail, to allow us to avoid having to fail the whole build.
Edward Thomson committed
-
- 10 Jun, 2019 1 commit
-
-
Edward Thomson committed
-
- 20 Jan, 2019 1 commit
-
-
Update the proxy so that we can enable a quiet mode.
Edward Thomson committed
-
- 19 Jan, 2019 1 commit
-
-
Edward Thomson committed
-