Unverified Commit 546405dc authored by Steven Fackler's avatar Steven Fackler Committed by GitHub
Browse files

Merge pull request #1079 from sfackler/new-rustc

Run most tests on a modern rust distribution
parents 487963d1 27494508
Loading
Loading
Loading
Loading
+79 −61
Original line number Diff line number Diff line
@@ -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
+4 −2
Original line number Diff line number Diff line
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
+1 −0
Original line number Diff line number Diff line
@@ -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"));
+1 −1
Original line number Diff line number Diff line
@@ -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']
+1 −1
Original line number Diff line number Diff line
@@ -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" {