diff options
author | Emilio Cobos Álvarez <emilio@crisal.io> | 2019-10-14 17:12:33 +0200 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2019-10-21 23:06:10 +0200 |
commit | c462b63ec4c0f14833e581a698ed870f19a66c61 (patch) | |
tree | e001443d38c0ec53894e3cfbb4ed1b9d61d0167a | |
parent | fac5cbb51985191fff3016dfb12accc44ea856d7 (diff) |
Test the runtime feature and the non-static linking.
We can't test the "static" code-path, since there are no prebuilt binaries in
releases.llvm.org.
-rw-r--r-- | .travis.yml | 45 | ||||
-rwxr-xr-x | ci/script.sh | 19 |
2 files changed, 39 insertions, 25 deletions
diff --git a/.travis.yml b/.travis.yml index 58302008..5f657ecb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,36 +14,55 @@ env: - LLVM_VERSION="3.8" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" - LLVM_VERSION="3.8" BINDGEN_JOB="integration" BINDGEN_PROFILE= - LLVM_VERSION="3.8" BINDGEN_JOB="integration" BINDGEN_PROFILE="--release" - - LLVM_VERSION="3.8" BINDGEN_JOB="nofeatures" BINDGEN_PROFILE= - - LLVM_VERSION="3.8" BINDGEN_JOB="nofeatures" BINDGEN_PROFILE="--release" + - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE= BINDGEN_NO_DEFAULT_FEATURES="1" + - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" BINDGEN_NO_DEFAULT_FEATURES="1" + - LLVM_VERSION="3.9" BINDGEN_JOB="test" BINDGEN_PROFILE= - LLVM_VERSION="3.9" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" - LLVM_VERSION="3.9" BINDGEN_JOB="integration" BINDGEN_PROFILE= - LLVM_VERSION="3.9" BINDGEN_JOB="integration" BINDGEN_PROFILE="--release" - - LLVM_VERSION="3.9" BINDGEN_JOB="nofeatures" BINDGEN_PROFILE= - - LLVM_VERSION="3.9" BINDGEN_JOB="nofeatures" BINDGEN_PROFILE="--release" + - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE= BINDGEN_NO_DEFAULT_FEATURES="1" + - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" BINDGEN_NO_DEFAULT_FEATURES="1" + - LLVM_VERSION="4.0" BINDGEN_JOB="test" BINDGEN_PROFILE= - LLVM_VERSION="4.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" - LLVM_VERSION="4.0" BINDGEN_JOB="integration" BINDGEN_PROFILE= - LLVM_VERSION="4.0" BINDGEN_JOB="integration" BINDGEN_PROFILE="--release" - - LLVM_VERSION="4.0" BINDGEN_JOB="nofeatures" BINDGEN_PROFILE= - - LLVM_VERSION="4.0" BINDGEN_JOB="nofeatures" BINDGEN_PROFILE="--release" + - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE= BINDGEN_NO_DEFAULT_FEATURES="1" + - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" BINDGEN_NO_DEFAULT_FEATURES="1" + - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE= - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" - LLVM_VERSION="5.0" BINDGEN_JOB="integration" BINDGEN_PROFILE= - LLVM_VERSION="5.0" BINDGEN_JOB="integration" BINDGEN_PROFILE="--release" - - LLVM_VERSION="5.0" BINDGEN_JOB="nofeatures" BINDGEN_PROFILE= - - LLVM_VERSION="5.0" BINDGEN_JOB="nofeatures" BINDGEN_PROFILE="--release" + - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE= BINDGEN_NO_DEFAULT_FEATURES="1" + - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" BINDGEN_NO_DEFAULT_FEATURES="1" + + # FIXME: There are no pre-built static libclang libraries, so this is not testable at the moment. + # - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE= BINDGEN_FEATURES="static" BINDGEN_NO_DEFAULT_FEATURES="1" + # - LLVM_VERSION="5.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" BINDGEN_FEATURES="static" BINDGEN_NO_DEFAULT_FEATURES="1" + - LLVM_VERSION="9.0" BINDGEN_JOB="test" BINDGEN_PROFILE= - LLVM_VERSION="9.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" - - LLVM_VERSION="9.0" BINDGEN_JOB="test" BINDGEN_PROFILE= BINDGEN_FEATURES="testing_only_extra_assertions" - - LLVM_VERSION="9.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" BINDGEN_FEATURES="testing_only_extra_assertions" - LLVM_VERSION="9.0" BINDGEN_JOB="integration" BINDGEN_PROFILE= - LLVM_VERSION="9.0" BINDGEN_JOB="integration" BINDGEN_PROFILE="--release" - - LLVM_VERSION="9.0" BINDGEN_JOB="nofeatures" BINDGEN_PROFILE= - - LLVM_VERSION="9.0" BINDGEN_JOB="nofeatures" BINDGEN_PROFILE="--release" + - LLVM_VERSION="9.0" BINDGEN_JOB="test" BINDGEN_PROFILE= BINDGEN_NO_DEFAULT_FEATURES="1" + - LLVM_VERSION="9.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" BINDGEN_NO_DEFAULT_FEATURES="1" + + # FIXME: There are no pre-built static libclang libraries, so this is not testable at the moment. + # - LLVM_VERSION="9.0" BINDGEN_JOB="test" BINDGEN_PROFILE= BINDGEN_FEATURES="static" BINDGEN_NO_DEFAULT_FEATURES="1" + # - LLVM_VERSION="9.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" BINDGEN_FEATURES="static" BINDGEN_NO_DEFAULT_FEATURES="1" + + # Testing with extra asserts enabled + - LLVM_VERSION="9.0" BINDGEN_JOB="test" BINDGEN_PROFILE= BINDGEN_FEATURES="testing_only_extra_assertions" + - LLVM_VERSION="9.0" BINDGEN_JOB="test" BINDGEN_PROFILE="--release" BINDGEN_FEATURES="testing_only_extra_assertions" + + + # Test the expectations build and pass tests. - LLVM_VERSION="9.0" BINDGEN_JOB="expectations" BINDGEN_PROFILE= - LLVM_VERSION="9.0" BINDGEN_JOB="expectations" BINDGEN_PROFILE="--release" + + # Miscellaneous tests. - LLVM_VERSION="9.0" BINDGEN_JOB="misc" - LLVM_VERSION="9.0" BINDGEN_JOB="quickchecking" @@ -60,7 +79,7 @@ cache: before_install: . ./ci/before_install.sh script: - - BINDGEN_JOB="$BINDGEN_JOB" BINDGEN_PROFILE="$BINDGEN_PROFILE" BINDGEN_FEATURES="$BINDGEN_FEATURES" ./ci/script.sh + - BINDGEN_JOB="$BINDGEN_JOB" BINDGEN_PROFILE="$BINDGEN_PROFILE" BINDGEN_FEATURES="$BINDGEN_FEATURES" BINDGEN_NO_DEFAULT_FEATURES="$BINDGEN_NO_DEFAULT_FEATURES" ./ci/script.sh after_success: - test "$TRAVIS_PULL_REQUEST" == "false" && diff --git a/ci/script.sh b/ci/script.sh index 9aec9c66..b3a0675a 100755 --- a/ci/script.sh +++ b/ci/script.sh @@ -9,6 +9,11 @@ cd "$(dirname "$0")/.." export RUST_BACKTRACE=1 +NO_DEFAULT_FEATURES="" +if [ ! -z $BINDGEN_NO_DEFAULT_FEATURES ]; then + NO_DEFAULT_FEATURES=--no-default-features +fi + case "$BINDGEN_JOB" in "test") # Need rustfmt to compare the test expectations. @@ -17,23 +22,13 @@ case "$BINDGEN_JOB" in rustup component add --toolchain nightly rustfmt RUSTFMT="$(rustup which rustfmt)" export RUSTFMT - cargo test "$BINDGEN_PROFILE" --features "$BINDGEN_FEATURES" + cargo test "$BINDGEN_PROFILE" $NO_DEFAULT_FEATURES --features "$BINDGEN_FEATURES" ./ci/assert-no-diff.sh ;; "integration") cd ./bindgen-integration - cargo test "$BINDGEN_PROFILE" --features "$BINDGEN_FEATURES" - ;; - - "nofeatures") - rustup update nightly - rustup component add rustfmt - rustup component add --toolchain nightly rustfmt - RUSTFMT="$(rustup which rustfmt)" - export RUSTFMT - cargo test "$BINDGEN_PROFILE" --no-default-features - ./ci/assert-no-diff.sh + cargo test "$BINDGEN_PROFILE" $NO_DEFAULT_FEATURES --features "$BINDGEN_FEATURES" ;; "expectations") |