From 478596b34b14f401f97cfb6146abd1bb69a1ca06 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 10 Aug 2017 00:13:20 +0200 Subject: [PATCH] travis: verify "make install" Help-by: Jay Satiro Closes #1753 --- .travis.yml | 11 ++++++++++- scripts/installcheck.sh | 27 +++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 scripts/installcheck.sh diff --git a/.travis.yml b/.travis.yml index 43c1e25d4..19f974e61 100644 --- a/.travis.yml +++ b/.travis.yml @@ -111,8 +111,17 @@ script: ./configure make ./maketgz 99.98.97 - (tar xf curl-99.98.97.tar.gz && cd curl-99.98.97 && ./configure && make && make TFLAGS=1 test) + # verify in-tree build - and install it + (tar xf curl-99.98.97.tar.gz && \ + cd curl-99.98.97 && \ + ./configure --prefix=$HOME/temp && \ + make && \ + make TFLAGS=1 test && \ + make install) + # basic check of the installed files + bash scripts/installcheck.sh $HOME/temp rm -rf curl-99.98.97 + # verify out-of-tree build (tar xf curl-99.98.97.tar.gz && mkdir build && cd build && ../curl-99.98.97/configure && make && make TFLAGS=1 test) fi diff --git a/scripts/installcheck.sh b/scripts/installcheck.sh new file mode 100644 index 000000000..b26ba60f6 --- /dev/null +++ b/scripts/installcheck.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +PREFIX=$1 + +# Run this script in the root of the git clone. Point out the install prefix +# where 'make install' has already installed curl. + +if test -z "$1"; then + echo "scripts/installcheck.sh [PREFIX]" + exit +fi + +diff -u <(find docs/libcurl/ -name "*.3" -printf "%f\n" | grep -v template| sort) <(find $PREFIX/share/man/ -name "*.3" -printf "%f\n" | sort) + +if test "$?" -ne "0"; then + echo "ERROR: installed libcurl docs mismatch" + exit 2 +fi + +diff -u <(find include/ -name "*.h" -printf "%f\n" | sort) <(find $PREFIX/include/ -name "*.h" -printf "%f\n" | sort) + +if test "$?" -ne "0"; then + echo "ERROR: installed include files mismatch" + exit 1 +fi + +echo "installcheck: installed libcurl docs and include files look good"