Merge pull request #1079 from sfackler/new-rustc

Run most tests on a modern rust distribution
This commit is contained in:
Steven Fackler 2019-03-11 21:44:29 -07:00 committed by GitHub
commit 546405dc58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 86 additions and 65 deletions

View File

@ -17,8 +17,14 @@ jobs:
no_run:
type: boolean
default: false
image:
type: string
default: 1.33.0
minimal_build:
type: boolean
default: false
docker:
- image: rust:1.24.1
- image: rust:<< parameters.image >>
environment:
RUST_BACKTRACE: 1
OPENSSL_DIR: /opt/openssl
@ -50,6 +56,9 @@ jobs:
esac
rustup target add << parameters.target >>
- unless:
condition: << parameters.vendored >>
steps:
- restore_cache:
key: openssl-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>
- run: |
@ -64,9 +73,6 @@ jobs:
"openssl")
URL="https://openssl.org/source/openssl-<< parameters.version >>.tar.gz"
;;
"")
exit 0
;;
esac
case "<< parameters.target >>" in
@ -114,7 +120,10 @@ jobs:
paths:
- /usr/local/cargo/registry/index
- restore_cache:
key: deps-1.24.1-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>-{{ checksum "Cargo.lock" }}
key: deps-<< parameters.image >>-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>-{{ checksum "Cargo.lock" }}
- unless:
condition: << parameters.minimal_build >>
steps:
- run: |
cargo run \
--manifest-path=systest/Cargo.toml \
@ -129,7 +138,7 @@ jobs:
--target << parameters.target >> \
<<# parameters.no_run >>--no-run<</ parameters.no_run >>
- save_cache:
key: deps-1.24.1-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>-{{ checksum "Cargo.lock" }}
key: deps-<< parameters.image >>-<< parameters.target >>-<< parameters.library >>-<< parameters.version >>-{{ checksum "Cargo.lock" }}
paths:
- /usr/local/cargo/registry/cache
- target
@ -147,6 +156,9 @@ jobs:
vendored:
type: boolean
default: false
image:
type: string
default: 1.33.0
macos:
xcode: "9.0"
environment:
@ -155,11 +167,11 @@ jobs:
- checkout
- run: sudo mkdir /opt
- run: sudo chown -R $USER /usr/local/ /opt
- run: curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain 1.24.1
- run: curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain << parameters.image >>
- run: sudo ln -s ~/.cargo/bin/* /usr/local/bin
- run: cargo generate-lockfile
- restore_cache:
key: deps-1.24.1-macos-<< parameters.vendored >>-{{ checksum "Cargo.lock" }}
key: deps-<< parameters.image >>-macos-<< parameters.vendored >>-{{ checksum "Cargo.lock" }}
- run: |
cargo run \
--manifest-path=systest/Cargo.toml \
@ -170,7 +182,7 @@ jobs:
--manifest-path=openssl/Cargo.toml \
<<# parameters.vendored >> --features vendored <</ parameters.vendored >>
- save_cache:
key: deps-1.24.1-macos-<< parameters.vendored >>-{{ checksum "Cargo.lock" }}
key: deps-<< parameters.image >>-macos-<< parameters.vendored >>-{{ checksum "Cargo.lock" }}
paths:
- ~/.cargo/registry/cache
- target
@ -191,6 +203,12 @@ openssl_101: &openssl_101
workflows:
test:
jobs:
- linux:
name: mimimal-version
target: x86_64-unknown-linux-musl
vendored: true
image: 1.24.1
minimal_build: true
- linux:
name: musl-vendored
target: x86_64-unknown-linux-musl

View File

@ -1,10 +1,10 @@
environment:
SSL_CERT_FILE: "C:\\OpenSSL\\cacert.pem"
matrix:
# 1.1.0, 64/32 bit
# 1.1.1, 64 bit
- TARGET: x86_64-pc-windows-msvc
BITS: 64
OPENSSL_VERSION: 1_1_0j
OPENSSL_VERSION: 1_1_1b
OPENSSL_DIR: C:\OpenSSL
# 1.0.2, 64/32 bit
@ -16,6 +16,8 @@ environment:
BITS: 32
OPENSSL_VERSION: 1_0_2r
OPENSSL_DIR: C:\OpenSSL
# vcpkg
- TARGET: x86_64-pc-windows-msvc
VCPKG_DEFAULT_TRIPLET: x64-windows
VCPKGRS_DYNAMIC: 1

View File

@ -247,6 +247,7 @@ due to this version mismatch.
}
// parses a string that looks like "0x100020cfL"
#[allow(deprecated)] // trim_right_matches is now trim_end_matches
fn parse_version(version: &str) -> u64 {
// cut off the 0x prefix
assert!(version.starts_with("0x"));

View File

@ -8,7 +8,7 @@ libc = "0.2"
openssl-sys = { path = "../openssl-sys" }
[build-dependencies]
ctest = "0.1"
ctest = "0.2"
[features]
vendored = ['openssl-sys/vendored']

View File

@ -67,7 +67,7 @@ fn main() {
cfg.header("openssl/cms.h");
}
cfg.type_name(|s, is_struct| {
cfg.type_name(|s, is_struct, _is_union| {
// Add some `*` on some callback parameters to get function pointer to
// typecheck in C, especially on MSVC.
if s == "PasswordCallback" {