Commit graph

111 commits

Author SHA1 Message Date
Rich Salz
ca1574cec2 Disable MDC2 by default.
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-10-31 15:06:06 -04:00
Rich Salz
211bf9f23f Add NPN to an SSL3 build
Reviewed-by: Emilia Käsper <emilia@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1629)
2016-10-24 08:09:43 -04:00
Andy Polyakov
b3943604f5 .travis.yml: minor optimizations:
- make 'pip install --user cpp-coveralls' conditional;
- limit no-stdio to single build per operating environment;
- omit enable-asan duplicate;

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-10-11 09:16:15 +02:00
Andy Polyakov
47d7ede82f .travis.yml: install wine on demand.
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-10-11 09:14:55 +02:00
Richard Levitte
047a5da249 Travis: Do asan and msan with shared libraries
Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-09-08 17:54:56 +02:00
Richard Levitte
ffb261ff19 Add a "config" for verbosity and use it with Travis
Modify VMS config.com to match

Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-08-16 10:38:45 +02:00
Richard Levitte
a4ffbbeef6 Make "make" less verbose in Travis, except for the build only case
Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-08-16 10:38:45 +02:00
Richard Levitte
b4aaf194f0 Travis: add a build with no-stdio
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-08-05 21:18:15 +02:00
Emilia Kasper
cec0a002ff Add --gcov-options '\-lp' to coverage
Should result in more accurate header file coverage, see
https://github.com/eddyxu/cpp-coveralls/issues/54

Reviewed-by: Kurt Roeckx <kurt@openssl.org>
2016-08-05 18:01:39 +02:00
Emilia Kasper
ad0a0a3a99 Add a coverage target
Run tests with coverage and report to coveralls.io

For simplicity, this currently only adds a single target in a
configuration that attempts to maximize coverage. The true CI coverage
from all the various builds may be a little larger.

The coverage run has the following configuration:
- no-asm: since we can't track asm coverage anyway, might as well measure the
  non-asm code coverage.
- Enable various disabled-by-default options:
  - rc5
  - md2
  - ec_nistp_64_gcc_128
  - ssl3
  - ssl3-method
  - weak-ssl-ciphers

Finally, observe that no-pic implies no-shared, and therefore running
both builds in the matrix is redundant.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@openssl.org>
2016-08-05 18:01:39 +02:00
Richard Levitte
262ee9a2c2 Travis: When testing installation, build in separate dir, otherwise in checkout
The rationale is that installation from a tarball is a common task
that everyone performs.  For all other builds, we do specialised
tests, and might as well build them directly in the checkout, which
also gives us fuzz corpora.

Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-08-04 16:49:36 +02:00
Emilia Kasper
29df3061b3 Add memory sanitizer config, and run on travis.
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-28 21:43:27 +02:00
Richard Levitte
941b10bd95 Have the Travis builds do a "make update"
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-07-19 13:04:51 +02:00
Matt Caswell
eb5561cd77 Ensure Travis tests SSLv3
Switch on Travis testing of SSLv3.

Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-07-18 14:30:14 +01:00
Rich Salz
6f60a5a1c6 Restore clang builds in travis.yml
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-06-30 08:51:16 -04:00
Richard Levitte
a3414dc82c Travis: When testing install, install docs as well
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-06-21 14:52:34 +02:00
Rich Salz
6feb3c587e Avoid using latest clang since repo not available
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-06-20 16:28:42 -04:00
Rich Salz
a15cfae656 (Temporarily) don't download clang package
Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-06-14 16:58:37 -04:00
Emilia Kasper
a7cbe963c3 Travis: update sanitizer configs
- Use the new enable-ubsan and enable-asan configuration options.
- Separate ubsan and asan runs.
- In addition, run shared ubsan tests to get more coverage.
  (Shared asan tests need a bit more thought to get them working.)

Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-05-30 18:47:32 +02:00
Richard Levitte
d227a302a3 Try 'make install' with one of the Travis configurations
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-05-03 12:28:49 +02:00
Richard Levitte
9bf6eff7fe Travis: _srcdist, not _srcdir
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-04-20 18:39:01 +02:00
Richard Levitte
45c6e23c97 Remove --classic build entirely
The Unix build was the last to retain the classic build scheme.  The
new unified scheme has matured enough, even though some details may
need polishing.

Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-04-20 16:04:56 +02:00
Matt Caswell
e951eca8b4 Update Travis and Appveyor for change to shared by default
Update the Travis and Appveyor builds to explicitly state no-shared where
applicable.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-14 22:23:12 +01:00
Emilia Kasper
cdbf577973 Disable some sanitizer checks without PEDANTIC
Code without PEDANTIC has intentional "undefined" behaviour. To get best
coverage for both PEDANTIC and non-PEDANTIC codepaths, run the sanitizer
builds in two different configurations:
1) Without PEDANTIC but with alignment checks disabled.
2) With PEDANTIC.

To not overload Travis too much, run one build with clang and the other
with gcc (chosen at random).

Also remove a micro-optimization in CAST code to be able to
-fsanitize=shift. Whether shift sanitization is meaningful for crypto or
an obstacle is debatable but since this appears to be the only offender,
we might as well keep the check for now.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-10 01:50:45 +02:00
Emilia Kasper
b591470700 Adjust --strict-warnings builds in Travis
In Travis, do --strict-warnings on BUILDONLY configurations. This
ensures that the tests run even if --strict-warnings fail, and avoids
hiding unrelated test failures.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-04-10 01:50:16 +02:00
Emilia Kasper
d7a275eee3 Travis: build tests in BUILDONLY mode
Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-14 16:38:48 +01:00
Emilia Kasper
4b8574461b Workaround for false -Warray-bounds in Travis
ccache + clang produces a false strcmp warning, see
https://llvm.org/bugs/show_bug.cgi?id=20144

Since this only happens with ccache and --strict-warnings, and
only with certain versions of glibc / clang, disabling
ccache is a reasonable short-term workaround.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-12 17:57:01 +01:00
Richard Levitte
8cffddc0f2 Travis - add missing semi-colon
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-10 10:00:00 +01:00
Richard Levitte
a70ca74086 Travis - don't use ccache with cross compiles
Although theoretically possible, Configure doesn't treat CC variable
set like this very well: CC="ccache i686-w64-mingw32-gcc"
Also, this Travis script doesn't recognise the possibility either.

Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-03-10 02:53:41 +01:00
Richard Levitte
32e4cc0cde Travis - the source directory is _srcdist, not _srcdir
Reviewed-by: Stephen Henson <steve@openssl.org>
2016-03-10 01:31:06 +01:00
Richard Levitte
64b9d84bfd When grepping something starting with a dash, remember to use -e
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
2016-03-09 22:34:27 +01:00
Richard Levitte
b7aacc3ac3 Restore building out of source with the unified build scheme
Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-09 17:13:56 +01:00
Richard Levitte
9cae86d56f Fix travis builds
Travis doesn't seem to know about 'expr'

Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-03-08 17:38:08 +01:00
Richard Levitte
c9aad4ff4f Only enable ccache if it's available
Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-03-08 16:59:27 +01:00
Richard Levitte
bd5fbfe22b Use ccache for the unified builds
This may speed up our builds considerably

Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-03-08 16:59:27 +01:00
Richard Levitte
de439d4428 For unified builds, make a separate build directory and build there
Reviewed-by: Emilia Käsper <emilia@openssl.org>
2016-03-08 16:59:27 +01:00
Richard Levitte
69633bb4c9 We've switch to unified build scheme by default, reflect it in travis
We want to preserve a couple of classic builds still, the quickest is
to change all --unified to --classic

Reviewed-by: Matt Caswell <matt@openssl.org>
2016-03-08 12:06:44 +01:00
Emilia Kasper
210efa8bad Trim Travis config part 3
- Only build & test two configurations. Make all the
  other build variants buildonly on gcc (clang on osx).
- Don't build with default clang at all on linux.
- Only use gcc-5 and clang-3.6 for the sanitizer builds. Re-running
  e.g. CONFIG_OPTS="shared" with them seems redundant.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-07 22:08:23 +01:00
Emilia Kasper
56cd71b46e Restore some mingw builds
"no-pic" builds have in fact been green (and reasonably fast), so
restore them while we figure out why tests without "no-pic" hang.

Reviewed-by: Andy Polyakov <appro@openssl.org>
2016-03-07 14:53:38 +01:00
Emilia Kasper
b63447c115 Trim Travis config part 2
- Remove Win builds (temporarily). They're slow, allowed to fail,
  and therefore not useful as they are.
- Make the --unified part of the matrix build-only. (This can be
  swapped if --unified becomes the default)
- Only build 'no-engine' once, don't run any tests, but don't allow it
  to fail.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-07 12:46:35 +01:00
Emilia Kasper
3135650970 Trim the Travis config
- Remove no-asm. We've got to cut something, and this is at least
  partially covered by the sanitizer builds.
- Remove enable-crypto-mdebug from sanitizer
  builds. enable-crypto-mdebug has been shown to catch some static
  initialization bugs that the standard leak sanitizer can't so
  perhaps it has _some_ value; but we shouldn't let the two compete.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-03-06 22:37:18 +01:00
Emilia Kasper
875856efd6 Don't build sanitizer builds with --debug
They're too slow.

Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-26 18:35:08 +01:00
FdaSilvaYY
b6a8916102 Add some 'no-engine' builds to travis, for test
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-25 15:23:40 -05:00
Richard Levitte
d5bdf68124 Add a "no-pic" build for Travis
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-22 14:38:31 +01:00
Andy Polyakov
dbf9a33c43 .travis.yml: exclude gcc from MacOS X CI builds.
Contemporary Xcode gcc is a front-end to clang, so that explicit
gcc build is actually redundant on MacOS X.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-02-12 21:47:44 +01:00
Richard Levitte
d1dc699ac6 Now that we have good verbosity, turn it on for Travis
It's nearly impossible to determine what goes wrong in the tests
running there without this.

Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-12 20:56:46 +01:00
Richard Levitte
9c44c29ef2 unified build scheme: add instructions for travis to build with --unified
Reviewed-by: Rich Salz <rsalz@openssl.org>
2016-02-10 14:36:04 +01:00
Rich Salz
1119ddff84 Add more components to build.
Add enable-crypto-mdebug enable-rc5 enable-md2 to any target that was
--strict-warnings.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2016-01-28 14:48:14 -05:00
Richard Levitte
382af61f62 Adapt the OS X build to use the OS X tar
As part of this, move release creation to a script to be called from
.travis.yml.  That makes it much easier to test outside of travis.

Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-12-08 21:04:53 +01:00
Richard Levitte
475fc3d872 In travis, build from a "source release" rather than from the build tree
Reviewed-by: Rich Salz <rsalz@openssl.org>
2015-12-07 16:12:22 +01:00
Alessandro Ghedini
fc47ad3b7f Add no-asm builds to Travis
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-11-21 14:21:28 +01:00
Alessandro Ghedini
c880b3e314 Add Travis builds with undefined behavior sanitizer
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-11-21 14:19:40 +01:00
Rich Salz
1a3ae7883f Run tests on Travis for mingw builds as well
Signed-off-by: Rich Salz <rsalz@akamai.com>
Reviewed-by: Andy Polyakov <appro@openssl.org>
2015-10-16 11:20:22 -04:00
Alessandro Ghedini
6220acf887 Add Clang 3.6 and additional GCC 5 builds to travis
Follow-up to f386742.

Signed-off-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Andy Polyakov <appro@openssl.org>
2015-10-13 16:13:07 -04:00
Alessandro Ghedini
f386742cfb GH429: Add clang to travis
Signed-off-by: Rich Salz <rsalz@akamai.com>
Reviewed-by: Andy Polyakov <appro@openssl.org>
2015-10-13 14:04:53 -04:00
Andy Polyakov
dc8980957b Configurations: move -Wno-pedantic-ms-format to .travis.yml.
The option is not available in older toolchains and would cause breakage.

Reviewed-by: Richard Levitte <levitte@openssl.org>
2015-10-12 12:07:29 +02:00
Alessandro Ghedini
2d28462373 Fix travis builds on master
-Allow mingw debug builds to fail on Travis CI
-Fix Travis email notifications config
-Rename a variable to avoid a bogus warning with old GCC
 error: declaration of ``dup'' shadows a global declaration [-Werror=shadow]
-Disable pedantic ms-format warnings with mingw
-Properly define const DH parameters
-Restore --debug flag in Travis CI builds; -d would get incorrectly passed
 to ./Configure in mingw debug builds.

Signed-off-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
2015-10-06 12:30:47 -04:00
Rich Salz
5db6336dee Fix typo in previous commit.
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-25 11:44:52 -04:00
Rich Salz
1d4ddb4e1a Change --debug to -d for compat with old releases.
Reviewed-by: Tim Hudson <tjh@openssl.org>
2015-09-25 11:38:43 -04:00
Rich Salz
db9defdfe3 GH398: Add mingw cross-compile, etc.
For all release branches.  It adds travis build support. If you don't
have a config file it uses the default (because we enabled travis for the
project), which uses ruby/rake/rakefiles, and you get confusing "build
still failing" messages.

Reviewed-by: Andy Polyakov <appro@openssl.org>
2015-09-22 13:42:03 -04:00
Alessandro Ghedini
66c103bdab Add initial Travis CI configuration
Closes #63

Signed-off-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Ben Laurie <ben@openssl.org>
2015-09-03 09:41:33 -04:00