summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2019-10-14 17:12:33 +0200
committerEmilio Cobos Álvarez <emilio@crisal.io>2019-10-21 23:06:10 +0200
commitc462b63ec4c0f14833e581a698ed870f19a66c61 (patch)
treee001443d38c0ec53894e3cfbb4ed1b9d61d0167a
parentfac5cbb51985191fff3016dfb12accc44ea856d7 (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.yml45
-rwxr-xr-xci/script.sh19
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")