diff options
| author | Alex Crichton <[email protected]> | 2016-09-30 00:43:05 -0700 |
|---|---|---|
| committer | Alex Crichton <[email protected]> | 2016-10-12 22:49:55 -0700 |
| commit | 43c951f743e68fac5f45119eda7c994882a1d489 (patch) | |
| tree | 45169f1b92858a3ba2ad0287de1bf1ecb395804b /openssl/test/run.sh | |
| parent | Rename NoPadding to None (diff) | |
| download | rust-openssl-43c951f743e68fac5f45119eda7c994882a1d489.tar.xz rust-openssl-43c951f743e68fac5f45119eda7c994882a1d489.zip | |
Add support for OpenSSL 1.1.0
This commit is relatively major refactoring of the `openssl-sys` crate as well
as the `openssl` crate itself. The end goal here was to support OpenSSL 1.1.0,
and lots of other various tweaks happened along the way. The major new features
are:
* OpenSSL 1.1.0 is supported
* OpenSSL 0.9.8 is no longer supported (aka all OSX users by default)
* All FFI bindings are verified with the `ctest` crate (same way as the `libc`
crate)
* CI matrixes are vastly expanded to include 32/64 of all platforms, more
OpenSSL version coverage, as well as ARM coverage on Linux
* The `c_helpers` module is completely removed along with the `gcc` dependency.
* The `openssl-sys` build script was completely rewritten
* Now uses `OPENSSL_DIR` to find the installation, not include/lib env vars.
* Better error messages for mismatched versions.
* Better error messages for failing to find OpenSSL on a platform (more can be
done here)
* Probing of OpenSSL build-time configuration to inform the API of the `*-sys`
crate.
* Many Cargo features have been removed as they're now enabled by default.
As this is a breaking change to both the `openssl` and `openssl-sys` crates this
will necessitate a major version bump of both. There's still a few more API
questions remaining but let's hash that out on a PR!
Closes #452
Diffstat (limited to 'openssl/test/run.sh')
| -rwxr-xr-x | openssl/test/run.sh | 33 |
1 files changed, 8 insertions, 25 deletions
diff --git a/openssl/test/run.sh b/openssl/test/run.sh index 2c2473b1..eed7ebac 100755 --- a/openssl/test/run.sh +++ b/openssl/test/run.sh @@ -1,32 +1,15 @@ #!/bin/bash set -e -MAIN_TARGETS=https://static.rust-lang.org/dist - -if [ "$TEST_FEATURES" == "true" ]; then - FEATURES="tlsv1_2 tlsv1_1 dtlsv1 dtlsv1_2 sslv3 aes_xts aes_ctr npn alpn rfc5114 ecdh_auto pkcs5_pbkdf2_hmac x509_clone ssl_context_clone x509_generator_request hmac hmac_clone dh_from_params x509_expiry" -fi - -if [ "$TRAVIS_OS_NAME" != "osx" ]; then - export OPENSSL_LIB_DIR=$HOME/openssl/lib - export OPENSSL_INCLUDE_DIR=$HOME/openssl/include - export LD_LIBRARY_PATH=$HOME/openssl/lib:$LD_LIBRARY_PATH +if [ "$BUILD_OPENSSL_VERSION" != "" ]; then + FEATURES="aes_xts aes_ctr npn alpn rfc5114 ecdh_auto" fi -if [ -n "$TARGET" ]; then - FLAGS="--target=$TARGET" - COMMAND="build" - - # Download the rustlib folder from the relevant portion of main distribution's - # tarballs. - dir=rust-std-$TARGET - pkg=rust-std - curl -s $MAIN_TARGETS/$pkg-$TRAVIS_RUST_VERSION-$TARGET.tar.gz | \ - tar xzf - -C $HOME/rust/lib/rustlib --strip-components=4 \ - $pkg-$TRAVIS_RUST_VERSION-$TARGET/$dir/lib/rustlib/$TARGET -else - COMMAND="test" +if [ -d "$HOME/openssl/lib" ]; then + export OPENSSL_DIR=$HOME/openssl + export PATH=$HOME/openssl/bin:$PATH fi -export PATH=$HOME/openssl/bin:$PATH -(cd openssl && RUST_BACKTRACE=1 cargo $COMMAND $FLAGS --features "$FEATURES") +cargo run --manifest-path systest/Cargo.toml --target $TARGET +exec cargo test --manifest-path openssl/Cargo.toml --target $TARGET \ + --features "$FEATURES" |