| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
v0.6.0 of poxygit add support for throttling connections to test
timeouts and low-bandwidth situations.
|
|\
| |
| | |
SHA256: more SHA256 support
|
| |
| |
| |
| | |
The git included with xenial is ancient, and lacks sha256 support.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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`.
|
| |
| |
| |
| |
| | |
We provide `BUILD_PATH` to our build script; provide it and mutate
`PATH` when running our tests as well.
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update the new URL for mbedTLS.
|
|
|
|
| |
CentOS 8 is no longer supported; use CentOS stream.
|
|
|
|
|
| |
Use the runner's uid/gid for the containers for sanity when sharing
files across volumes.
|
| |
|
| |
|
|
|
|
|
| |
Allow for options in the `cmake --build` phase, so that callers can
specify (eg) the config type.
|
|
|
|
|
| |
Rename our build setup scripts to include the `build` name so that we
can add additional CI setup scripts with no ambiguity.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
We (thankfully) don't have flaky tests anymore, don't retry them.
|
|
|
|
|
| |
The new version of our test git server adds redirect support. Upgrade
to it.
|
|
|
|
|
| |
libssh2.org and www.libssh2.org were previously identical; now this is a
redirect.
|
|
|
|
|
| |
Include a self-signed certificate for test.libgit2.org:1443 that we can
use to verify that GIT_OPT_SET_SSL_CERT_LOCATIONS works.
|
| |
|
|
|
|
|
| |
Update all the container versions to force a rebuild so that they'll get
tagged with latest (due to changes in the CI scripts).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Omitting an entrypoint.sh to configure the container and instead
depending on docker primitives allows us to be more portable. (If a
distribution uses a different mechanism for adding users, we need not
have multiple entrypoint.sh files or invariants within it; instead we
can configure that in the dockerfile itself along with all the other
distribution specific components.)
|
| |
|
|
|
|
|
|
| |
Ninja is not installed by default on the macOS machines; stop trying to
use it. Instead use `make -j` which should be roughly equivalent in
performance but supported everywhere.
|
| |
|
|
|
|
|
| |
Provide the base to our docker images and run with the QEMU docker
support optionally.
|
| |
|
|
|
|
| |
(And move the ci scripts into the `ci` directory.)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
In order to guarantee that our fuzzers build just fine on the Windows
platform, let's enable building fuzzers on all Powershell-based builds.
|
|
|
|
| |
Build with -Werror's equivalent (/WX) on MSVC
|