Commit Graph

38 Commits

Author SHA1 Message Date
Patrick Steinhardt
5874e151d7 tests: create new test target for all SSH-based tests
Some tests shall be run against our own SSH server we spin up in Travis.
As those need to be run separate from our previous tests which run
against git-daemon, we have to do this in a separate step. Instead of
bundling all that knowledge in the CI script, move it into the test
build instructions by creating a new test target.
2018-01-03 11:50:39 +00:00
Patrick Steinhardt
54a1bf057a tests: online::clone: inline creds-test with nonexistent URL
Right now, we test our credential callback code twice, once via SSH on
localhost and once via a non-existent GitHub repository. While the first
URL makes sense to be configurable, it does not make sense to hard-code
the non-existing repository, which requires us to call tests multiple
times. Instead, we can just inline the URL into another set of tests.
2018-01-03 11:50:39 +00:00
Patrick Steinhardt
fea6092079 tests: online::clone: construct credential-URL from environment
We support two types of passing credentials to the proxy, either via the
URL or explicitly by specifying user and password. We test these types
by modifying the proxy URL and executing the tests twice, which is
in fact unnecessary and requires us to maintain the list of environment
variables and test executions across multiple CI infrastructures.

To fix the situation, we can just always pass the host, port, user and
password to the tests. The tests can then assemble the complete URL
either with or without included credentials, allowing us to test both
cases in-process.
2018-01-03 11:50:39 +00:00
Carlos Martín Nieto
71ba464435 travis: let's try a 5GB ramdisk 2017-10-31 14:43:28 +01:00
Carlos Martín Nieto
37bb15122e travis: put clar's sandbox in a ramdisk on macOS
The macOS tests are by far the slowest right now. This attempts to remedy the
situation somewhat by asking clar to put its test data on a ramdisk.
2017-10-31 11:08:09 +01:00
Edward Thomson
697583ea3a travis: only kill our own sshd 2017-07-24 17:38:39 +01:00
Patrick Steinhardt
06619904a2 travis: cibuild: set up our own sshd server
Some tests of ours require to be running against an SSH server.
Currently, we simply run against the SSH server provided and started by
Travis itself. As our Linux tests run in a sudo-less environment, we
have no control over its configuration and startup/shutdown procedure.
While this has been no problem until now, it will become a problem as
soon as we migrate over to newer Precise images, as the SSH server does
not have any host keys set up. Luckily, we can simply set up our own
unpriviledged SSH server. This has the benefit of us being able to
modify its configuration even in a sudo-less environment.

This commit sets up the unpriviledged SSH server on port 2222.
2017-06-21 08:05:13 +02:00
Patrick Steinhardt
ec3f5a9c20 script: cibuild: build examples 2016-10-10 09:04:42 +02:00
Carlos Martín Nieto
db357667bc travis: take the newer ssh-keygen format into account
The Mac machines have updated their SSH version and so the ssh-keygen
format has changed. Ask it for MD5, which is the one that is output as
hex.
2016-10-05 20:23:58 +02:00
Carlos Martín Nieto
94d565b957 cibuild: set -x
This lets us see the details of what we're doing instead of just seeing the
output of unknown commands in the build output.
2016-10-05 18:52:43 +02:00
Edward Thomson
0239eff354 ci: install homebrew's curl on mac 2016-07-24 14:54:40 -04:00
Edward Thomson
08556e6db3 ci: install homebrew's zlib on mac 2016-07-22 21:10:25 -04:00
Carlos Martín Nieto
db01724fd9 CI: start the proxy before the build so it's ready
It takes a bit for the propxy to get ready to accept connections, so
start it before the build so we can be reasonably sure that it's going
to be ready in time.
2016-04-19 13:54:19 +02:00
Carlos Martín Nieto
2f3f1ee085 proxy: test proxy support on Travis 2016-04-19 13:54:19 +02:00
Carlos Martín Nieto
ba9bb664f3 tests: create a ctest target for cred_callback 2016-03-03 19:31:02 +01:00
Carlos Martín Nieto
2520573778 test: make sure we retry the auth callback on all platforms
We were missing this test on Windows, which meant we didn't notice that
we never fixed the single authentication attempt it tries, nor its wrong
return code.

Enable this for the unix platforms as well over HTTP. We previously were
doing it locally but disabled it on OS X due to issues with its sshd not
accepting password authentication.
2016-03-03 11:18:03 +01:00
Arthur Schreiber
51f8799903 Don't try to start ssh. 2015-06-26 18:05:17 +02:00
Carlos Martín Nieto
6042a050f9 travis: fail if we fail the push tests
These tests were not being taken into consideration for the failure of
the test. They've been failing for a while now, but we hadn't noticed as
Travis was reporting the builds successful.
2015-06-12 12:17:03 +02:00
Philip Kelley
8f426d7dd2 Win32: Enable WinHTTP for MinGW 2015-03-16 12:59:55 -07:00
Edward Thomson
3e32986114 Revert "Implement fail-fast for Travis as well"
This reverts commit ba6c53b91b.
2015-03-10 16:08:34 -04:00
Tony Kelman
ba6c53b91b Implement fail-fast for Travis as well 2015-03-04 11:29:44 -08:00
Edward Thomson
6f4461763e Merge pull request #2710 from Therzok/shellcheckScripts
Run shell scripts through shellcheck
2014-11-21 10:59:20 -05:00
Ungureanu Marius
a4fccbbf9d Run shell scripts through shellcheck 2014-11-20 23:17:19 +02:00
Carlos Martín Nieto
aa5a06c37d travis: disable the cert callback on OSX
The sshd on OSX has stopped responding to the setting which this test
assumes is there, so let's disable it until we can figure out what's
happening.
2014-11-20 00:52:52 +01:00
Carlos Martín Nieto
ebda097076 script: use a parallel build on Travis 2014-09-16 17:02:32 +02:00
Carlos Martín Nieto
0fef38999a Merge remote-tracking branch 'upstream/master' into cmn/host-cert-info 2014-09-16 17:02:28 +02:00
Carlos Martín Nieto
bf8756d6a2 ssh: add test for host key
Test that the certificate check callback gets the right fingerprint from
the host we're connecting to.
2014-09-16 17:01:32 +02:00
Carlos Martín Nieto
26bf3a5346 travis: no need to clean out the test repository
This was added to avoid the remote's default branch to be considered to
the be notes one which the first network test leaves behind.
2014-08-29 15:28:10 +02:00
Carlos Martín Nieto
6a0d2b43ee Merge remote-tracking branch 'upstream/master' into cmn/ssh-retry 2014-08-27 15:09:07 +02:00
Carlos Martín Nieto
d4256ed554 ssh: provide a factory function for setting ssh paths
git allows you to set which paths to use for the git server programs
when connecting over ssh; and we want to provide something similar.

We do this by providing a factory function which can be set as the
remote's transport callback which will set the given paths upon
creation.
2014-07-07 14:51:51 +02:00
Carlos Martín Nieto
8733993599 travis: enable password authentication on OSX
Our ssh tests assume that the server supports password authentication
in a few places. This is convenient as we're not testing authentication
methods, but what happens around them.

Tell sshd on OSX to accept this form of authentication.
2014-06-26 22:58:39 +02:00
Carlos Martín Nieto
d7f962f408 ssh: request credentials again on authentication failure
Instead of completely giving up on the first failure, ask for
credentials as long as we fail to authenticate.
2014-06-26 22:58:38 +02:00
Carlos Martín Nieto
039e354b7d ciscript: don't use an empty string as a number
An empty string is not a valid number, and some shells complain.

Check instead if $COVERITY is non-empty, which is a common convention
and what we're doing anyway.
2014-04-30 12:02:10 +02:00
Ben Straub
5dae3ffe25 Only run clone-failure test on private repo 2014-02-05 19:27:27 -08:00
Ben Straub
9bf17d2cf5 Add coverity-scan script 2014-01-13 14:11:14 -08:00
Carlos Martín Nieto
5875e8d21a travis: exit on failure for anything related to building 2013-08-19 18:50:03 +02:00
Carlos Martín Nieto
6818080871 travis: really fail if the tests fail
When implementing the ssh testing, the move to the script made it so
the first test suite's exit code was ignored. Check whether the main
tests fail and exit with an error in that case.
2013-08-19 10:50:28 +02:00
Carlos Martín Nieto
5be622fb56 Test SSH in travis
Set up the ssh credentials so we are able to talk to localhost and
issue git commands. Move to use a script, as the command list is
getting somewhat long.

While here, delay installing valgrind until we need it, as it and its
dependencies are by far the largest downloads and this allows us to
start compiling (and failing) faster and we only incur this cost when
the test suite runs successfully.
2013-08-14 10:49:10 +02:00