Commit Graph

30 Commits

Author SHA1 Message Date
Edward Thomson
0e04726866 opts: test GIT_OPT_SET_SSL_CERT_LOCATIONS
Include a self-signed certificate for test.libgit2.org:1443 that we can
use to verify that GIT_OPT_SET_SSL_CERT_LOCATIONS works.
2021-08-29 21:52:30 -04:00
Edward Thomson
a5d6a5768f ci: stop on test failure 2021-08-29 21:01:49 -04:00
Edward Thomson
3d6b90359d ci: stop using deprecated set-env in GitHub Actions
(And move the ci scripts into the `ci` directory.)
2020-11-18 18:08:23 +00:00
Patrick Steinhardt
ffac520e83 azure: move build scripts into "azure-pipelines" 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.
2019-07-20 19:10:10 +02:00
Patrick Steinhardt
d827b11b67 tests: execute leak checker via CTest directly
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.
2019-07-20 19:10:10 +02:00
Patrick Steinhardt
86ecd6008d fuzzers: provide test targets
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.
2019-07-20 19:10:10 +02:00
Edward Thomson
6d8a34ad33 ci: add flaky test re-execution on Unix
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.
2019-06-24 22:54:10 +01:00
Edward Thomson
4c2ca1ba4a ci: test NTLM proxy authentication on Unix 2019-06-10 19:58:22 +01:00
Edward Thomson
c9d9e25fb1 ci: update poxyproxy, run in quiet mode
Update the proxy so that we can enable a quiet mode.
2019-01-20 17:35:50 +00:00
Edward Thomson
1ebf3a7dec ci: only run invasive tests during nightly runs 2019-01-19 01:16:45 +00:00
Etienne Samson
1b4ba8443f ci: enable some of the invasive testcases 2019-01-11 11:53:54 +01:00
Edward Thomson
de60d9b4c6 tests: PROXY_URL is more accurately PROXY_HOST
Change the `GITTEST_REMOTE_PROXY_URL` environment variable to be
`GITTEST_REMOTE_PROXY_HOST`, since it is a host:port combination, not an
actual URL.  (We cannot use a URL here since we may want to include the
username:password combination in the constructed URL.)
2018-11-28 15:10:02 +00:00
Edward Thomson
b5ae83bfac Merge pull request #4860 from tiennou/ci/macos-leaks
CI: Fix macOS leak detection
2018-10-31 08:47:10 +00:00
Etienne Samson
8c49b3bf26 tests: use CLAR_AT_EXIT to check for leaks on macOS 2018-10-30 22:32:57 +01:00
Etienne Samson
0e69485efd clar: provide a way to run some shell before exiting 2018-10-30 22:32:23 +01:00
Edward Thomson
f22521efe2 ci: fail if requested test name is not found (unix)
POSIX: the CMakeLists.txt configures the test names; when we query
ctest for the test command-line to run, fail if the tests are not
found.
2018-10-26 14:40:09 +01:00
Etienne Samson
fa274f7f08 ci: redirect the malloc debugging output to /dev/null 2018-10-23 22:34:45 +02:00
Edward Thomson
f195395ab1 ci: bind specifically to localhost for proxy
Bind the proxy specifically to 127.0.0.1 instead of all addresses.  This
is not strictly necessary for operations, but having a potentially open
proxy on a network is not a good idea.
2018-10-21 10:37:26 +01:00
Edward Thomson
429c7f1141 ci: don't stop on failure
Don't stop on test failures; run all the tests, even when a test fails.
2018-09-29 18:11:37 +01:00
Edward Thomson
fff33a1b65 ci: write test result XML
Add the clar flags to produce JUnit-style XML output before invocation.
2018-09-11 22:38:50 +01:00
Edward Thomson
7e353b7a14 ci: only run the exact named test
Our CI test system invokes ctest with the name of the given tests it
wishes to invoke.  ctest (with the `-R` flag) treats this name as a
regular expression.  Provide anchors in the regular expression to avoid
matching additional tests in this search.
2018-09-10 12:27:24 +01:00
Patrick Steinhardt
835d604320 ci: fix location of fuzzer corpora on VSTS
When using VSTS-based builds, we are in a different location than when
doing Travis builds. Due to this, the relative path to our fuzzer
corpora does not work on VSTS. Fix it by using `${SOURCE_DIR}` instead.
2018-08-03 10:01:59 +02:00
Patrick Steinhardt
59328ed84e fuzzers: rename "fuzz" directory to match our style
Our layout uses names like "examples" or "tests" which is why the "fuzz"
directory doesn't really fit in here. Rename the directory to be called
"fuzzers" instead. Furthermore, we rename the fuzzer "fuzz_packfile_raw"
to "packfile_raw_fuzzer", which is also in line with the already
existing fuzzer at google/oss-fuzz.

While at it, rename the "packfile_raw" fuzzer to instead just be called
"packfile" fuzzer.
2018-08-03 09:50:35 +02:00
lhchavez
60e610a236 fuzzers: add build support and instructions
This change adds support for building a fuzz target for exercising the
packfile parser, as well as documentation. It also runs the fuzzers in
Travis to avoid regressions.
2018-08-03 09:48:15 +02:00
Edward Thomson
6eb97b6ba9 ci: dissociate test from leaks process
The leaks process is not good about handling children.  Ensure that its
child is `nohup`ed so that the grandparent shell won't wait for it to
exit.
2018-07-26 15:34:53 +01:00
Edward Thomson
230eeda8e4 ci: some additional debugging 2018-07-26 15:34:53 +01:00
Edward Thomson
7f12c12394 ci: xcode leaks leak-checking 2018-07-26 15:34:53 +01:00
Edward Thomson
6d6700d238 ci: valgrind leak-checking 2018-07-26 15:34:53 +01:00
Edward Thomson
451b001725 ci: improved flexibility for citest.sh
Refactor citest.sh to enable local testing by developers.
2018-07-26 14:07:00 +01:00
Edward Thomson
bf418f09ce ci: refactor unix ci build/test scripts 2018-07-26 14:07:00 +01:00