Commit Graph

57 Commits

Author SHA1 Message Date
Darren Tucker
7394ed80c4 Add clang sanitizer tests. 2022-07-03 22:53:44 +10:00
Darren Tucker
c71a1442d0 Update OpenSSL tests to the most recent releases. 2022-06-29 18:28:47 +10:00
Darren Tucker
1781f507c1 Test against OpenSSL 1.1.1o and 3.0.3. 2022-05-27 18:19:48 +10:00
Darren Tucker
c53906e0c5 Test against LibreSSL 3.5.3. 2022-05-27 18:18:31 +10:00
Darren Tucker
4835544d2d Add Mac OS X 12 test target. 2022-04-30 11:00:02 +10:00
Darren Tucker
97a6a8b8c1 Only run tests when source files change.
Also run tests on changes to V_9_0 branch.
2022-04-29 18:34:38 +10:00
Darren Tucker
3913c93552 Update OpenSSL and LibreSSL versions in tests. 2022-04-25 17:21:24 +10:00
Darren Tucker
3016ba4703 Add tests for latest releases of {Libre,Open}SSL. 2022-02-25 11:39:34 +11:00
Darren Tucker
63bf4f49ed Add test configs for MUSL C library. 2022-02-18 12:12:21 +11:00
Darren Tucker
bbf285164d Always save config.h as build artifact.
Should allow better comparison between failing and succeeding test
platforms.
2022-01-05 11:48:58 +11:00
Darren Tucker
e665ed2d0c Switch from LibreSSL 3.4.0 to 3.4.1.
The LibreSSL 3.4.0 release has an OPENBSD_BRANCH that points to
"master" and that branch no longer has the files LibreSSL expects
and thus it will no longer build, breaking the test.
2021-11-12 22:57:51 +11:00
Darren Tucker
4ae39cada2 Test both MIT KRB5 and Heimdal. 2021-10-22 22:54:33 +11:00
Darren Tucker
5a7a468750 Build with -Werror on most recent gcc and clang. 2021-10-21 15:18:34 +11:00
Darren Tucker
d4b38144c0 Add tcmalloc test target. 2021-10-12 23:01:40 +11:00
Darren Tucker
c8d92d3d4f Add make clean step to tests. 2021-09-29 13:28:56 +10:00
Darren Tucker
360fb41ef8 Test all available clang and gcc versions. 2021-09-29 12:05:50 +10:00
Darren Tucker
8a7a06ee50 Test against LibreSSL 3.2.6, 3.3.4, 3.4.0. 2021-09-17 13:03:31 +10:00
Darren Tucker
c4565e69ff Really fix test on OpenSSL 1.1.1 stable. 2021-09-08 21:09:49 +10:00
Darren Tucker
79f1bb5f56 Correct OpenSSL 1.1.1 stable identifier. 2021-09-08 18:51:39 +10:00
Darren Tucker
a3e92a6794 Tests for OpenSSL 3.0.0 release & 1.1.1 branch. 2021-09-08 13:45:10 +10:00
Darren Tucker
65bb011113 Test against OpenSSL 3 branch as well as dev.
Now that OpenSSL development has moved to 3.1, test against the most
recent version of the openssl-3.0 branch too.
2021-09-05 19:43:13 +10:00
Darren Tucker
b467cf1370 Remove deprecated ubuntu-16.04 test targets.
Github has deprecated ubuntu-16.04 and it will be removed on 20
September.
2021-08-16 11:32:23 +10:00
Darren Tucker
1b8108ebd1 Test against OpenSSL 1.1.0h instead of 1.1.0g.
1.1.0g requires a perl glob module that's not installed by default.
2021-04-27 14:22:20 +10:00
Darren Tucker
9bc20efd39 Use the default VM type for libcrypto ver tests. 2021-04-27 12:37:59 +10:00
Darren Tucker
da9d59f526 Add test against OpenSSL w/out ECC. 2021-04-26 15:34:23 +10:00
Darren Tucker
29e194a752 Ensure we can still build with C89. 2021-04-26 14:50:58 +10:00
Darren Tucker
095b0307a7 Support testing against arbitary libcrytpo vers.
Add tests against various LibreSSL and OpenSSL versions.
2021-04-26 14:50:44 +10:00
Darren Tucker
c039a6bf79 Re-add macos-11.0 test target. 2021-04-23 11:08:23 +10:00
Darren Tucker
f57fbfe5eb Don't always set SUDO.
Rely on sourcing configs to set as appropriate.
2021-04-22 22:29:33 +10:00
Darren Tucker
19e5344627 Run unit tests under valgrind.
Run a separate build for the unit tests under Valgrind.  They take long
enough that running in parallel with the other Valgrind tests helps.
2021-04-08 13:35:14 +10:00
Darren Tucker
3674e33fa7 Further split Valgrind tests.
Even split in two, the Valgrind tests take by far the longest to run,
so split them four ways to further increase parallelism.
2021-04-07 17:02:27 +10:00
Darren Tucker
7cd262c1c5 Save config.h and config.log on failure too. 2021-04-03 16:59:10 +11:00
Darren Tucker
867a7dcf00 Don't install moduli during tests.
Now that we have TEST_SSH_MODULI_FILE pointing to the moduli in the
soure directory we don't need to install the file to prevent warnings
about it being missing.
2021-03-13 13:52:53 +11:00
Darren Tucker
24a3a67bd7 Remove macos-11.00 PAM test target too.
These are failing apparently due to some kind of infrastructure problem,
making it look like every commit is busted.
2021-02-26 11:50:37 +11:00
Darren Tucker
fd9fa76a34 Remove macos-11.0 from the test target list.
It has been consistently failing for the past few days with a github
actions internal error.
2021-02-26 01:15:10 +11:00
Darren Tucker
ffcdd3d90e Valgrind test: split and move up list.
Since the valgrind test takes so long it approaches the limit allowed by
github, move it to the head of the list so it's the first one started and
split the longest tests out into a second instance that runs concurrently
with the first.
2021-02-23 11:18:49 +11:00
Darren Tucker
bb0b9bf453 Upload valgrind logs on failure. 2021-02-20 13:29:41 +11:00
Darren Tucker
76c0be0fe0 Upload regress failure logs in c-cpp too. 2021-02-19 22:19:38 +11:00
Darren Tucker
41d232e226 Add test against Valgrind. 2021-02-19 10:16:56 +11:00
Darren Tucker
1c293868e4 Always intall moduli.
Allows us to run tests without falling back to a fixed modulus.  Ensure that
the directory exists.
2021-02-18 10:05:03 +11:00
Darren Tucker
4653116c1f Fix labels on targets (dots vs underscores). 2021-02-18 09:51:18 +11:00
Darren Tucker
4582612e61 Merge macos and ubuntu tests. 2021-02-17 20:46:03 +11:00
Darren Tucker
09f4b84654 Convert most github hosted tests to new config structure. 2021-02-17 20:46:03 +11:00
Darren Tucker
f031366535 Add self-hosted runners for VMs of other platforms.
Github only hosts a limited number of platforms, and the runner code
is only supported on slightly wider range of platforms.  To increase
our test coverage beyond that, we run the runner natively on a VM host,
where it runs a jobs that boot VMs of other platforms, waits for them
to come up then runs the build and test by ssh'ing into the guest.
This means that the minimum dependencies for the guests are quite low
(basically just sshd, a compiler and make).

The interface to the VM host is fairly simple (basically 3 scripts:
vmstartup, vmrun and vmshutdown), but those are specific to the VM host
so are not in the public repo.  We also mount the working directory on the
host via sshfs, so things like artifact upload by the runner also work.

As part of this we are moving the per-test-target configs into a single
place (.github/configs) where there will be referenced by a single short
"config" key.  I plan to make the github-hosted runners use this too.

The self-hosted runners are run off a private repo on github since that
prevents third parties from accessing them[0], and since runner quota is
limited on private repos, we avoid running the tests we run on the public
repo.

[0] https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories
2021-02-17 18:20:40 +11:00
Darren Tucker
3d59e88c0e make with -j2 to use available CPUs. 2021-01-28 20:55:16 +11:00
Darren Tucker
66dd9ddb5d Add test against openssl head and libressl head. 2021-01-28 15:04:01 +11:00
Darren Tucker
237dbb34e2 Remove whitespace. 2021-01-28 14:35:41 +11:00
Darren Tucker
bba229b6f3 Install moduli file before tests.
Reduces warnings during test runs.
2021-01-27 12:34:07 +11:00
Darren Tucker
1b83185593 Run one test with -Werror to catch warnings. 2021-01-27 11:58:26 +11:00
Darren Tucker
8635e7df7e Merge Mac OS X targets into a single config. 2021-01-13 18:00:57 +11:00