From 2b8bab380b6910406b58a673df2f73d54f88f6cd Mon Sep 17 00:00:00 2001 From: Maximilien Riehl Date: Mon, 26 Mar 2018 08:47:01 +0200 Subject: [PATCH] [test][chore] add travis config and use git2 dependency in test cc @bomgar --- .travis.yml | 15 +++++++++++++++ test-image | 19 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..3d79cb9 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,15 @@ +language: rust + +services: + - docker + +os: + - linux + +script: +- bash ./test-image + +notifications: + email: + on_success: never + on_failure: always diff --git a/test-image b/test-image index 6bdd4d2..ef34a11 100755 --- a/test-image +++ b/test-image @@ -19,7 +19,26 @@ set -euo pipefail export USER=rust cargo new --vcs none --bin testme cd testme +# depending on git2 (and using it) makes the test much better, because git2 links against openssl and libz-sys among others +sed -i 's/\[dependencies\]/\[dependencies\]\ngit2 = \"0.6\"/' Cargo.toml +echo ' +extern crate git2; +use git2::Repository; +fn main() { +let _local = Repository::init(\"fkbr\"); +println!(\"Hello, world!\"); +}' > src/main.rs cargo build + +# ldd will not die if the file does not exist, we need to check that too +if [ ! -f target/x86_64-unknown-linux-musl/debug/testme ]; then + echo 'binary was not created by cargo build or has unexpected name. Heres whats in target:' 1>&2 + # no tree in image, but this also works + set -x + ls -l target && ls -l target/x86_64-unknown-linux-musl && ls -l target/x86_64-unknown-linux-musl/debug + exit 1 +fi + echo 'Checking to make sure it is not a dynamic executable' if ldd target/x86_64-unknown-linux-musl/debug/testme; then echo 'Executable is not static!' 1>&2