8080: Successfully tests all packages. Produces before/after/diff lists for each...
[arvados.git] / jenkins / test-packages-centos6.sh
index 555b9f1058a6f442a7fbea8286144be29de435ba..9241291ce7025e7c48de4859d485bc4e0ee9f839 100755 (executable)
@@ -1,62 +1,42 @@
-#!/bin/sh
+#!/bin/bash
 
-if test "$1" = --run-test ; then
+set -eu
 
-    if test -z "$WORKSPACE" ; then
-        echo "Must set WORKSPACE"
-        exit 1
-    fi
-
-    self=$(readlink -f $0)
-    base=$(dirname $self)
+yum -q clean all
+touch /var/lib/rpm/*
 
-    createrepo $WORKSPACE/packages/centos6
+rpm -qa | sort > /arvados/packages/centos6/$1.before
 
-    exec docker run \
-         --rm \
-         --volume=$WORKSPACE/packages/centos6:/mnt \
-         --volume=$(readlink -f $0):/root/run-test.sh \
-         --volume=$base/common-test-packages.sh:/root/common-test.sh \
-         --workdir=/mnt \
-         centos:6 \
-         /root/run-test.sh --install-scl
-fi
+yum install --assumeyes $1
 
-if test "$1" = --install-scl ; then
-    yum -q install --assumeyes scl-utils
-    curl -L -O https://www.softwarecollections.org/en/scls/rhscl/python27/epel-6-x86_64/download/rhscl-python27-epel-6-x86_64.noarch.rpm
-    yum -q install --assumeyes rhscl-python27-epel-6-x86_64.noarch.rpm
-    yum -q install --assumeyes python27
-    exec scl enable python27 $0
-fi
+rpm -qa | sort > /arvados/packages/centos6/$1.after
 
-cat >/etc/yum.repos.d/localrepo.repo <<EOF
-[localrepo]
-name=Arvados Test
-baseurl=file:///mnt
-gpgcheck=0
-enabled=1
-EOF
+set +e
+diff /arvados/packages/centos6/$1.before /arvados/packages/centos6/$1.after > /arvados/packages/centos6/$1.diff
+set -e
 
-yum -q clean all
-yum -q update
-if ! yum -q install --assumeyes \
-     python27-python-arvados-python-client python27-python-arvados-fuse arvados-node-manager
-then
-    exit 1
+SCL=""
+if scl enable python27 true 2>/dev/null ; then
+    SCL="scl enable python27"
 fi
 
 mkdir -p /tmp/opts
 cd /tmp/opts
 
-for r in /mnt/python27-python-*x86_64.rpm ; do
-    rpm2cpio $r | cpio -idm
-done
+rpm2cpio /arvados/packages/centos6/$1-*.rpm | cpio -idm 2>/dev/null
 
-for so in $(find . -name "*.so") ; do
-    echo
-    echo "== Packages dependencies for $so =="
-    ldd $so | awk '($3 ~ /^\//){print $3}' | sort -u | xargs rpm -qf | sort -u
-done
+shared=$(find -name '*.so')
+if test -n "$shared" ; then
+    for so in $shared ; do
+        echo
+        echo "== Packages dependencies for $so =="
+        $SCL ldd "$so" \
+            | awk '($3 ~ /^\//){print $3}' | sort -u | xargs rpm -qf | sort -u
+    done
+fi
 
-exec /root/common-test.sh
+if test -n "$SCL" ; then
+    exec $SCL "/jenkins/common-test-packages.sh $1"
+else
+    exec /jenkins/common-test-packages.sh $1
+fi