test/mult-install.sh
changeset 388 6a6462ce8a08
child 389 4aac72ec4537
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/test/mult-install.sh	Thu Oct 01 20:02:12 2009 +0100
     1.3 @@ -0,0 +1,75 @@
     1.4 +#!/bin/sh
     1.5 +fs_check_file()
     1.6 +{
     1.7 +    if [ ! -e "$RAZOR_ROOT$1" ]; then 
     1.8 +	echo $1: Not in filesystem >&2
     1.9 +	ls -R "$RAZOR_ROOT" >&2
    1.10 +	exit 1
    1.11 +    fi
    1.12 +}
    1.13 +fs_check_file_contents()
    1.14 +{
    1.15 +    fs_check_file "$1"
    1.16 +    if [ `cat "$RAZOR_ROOT$1"` != "$2" ]; then
    1.17 +	echo $1: Unexpected contents >&2
    1.18 +	cat "$RAZOR_ROOT$1" >&2
    1.19 +	exit 1
    1.20 +    fi
    1.21 +}
    1.22 +fs_check_no_file()
    1.23 +{
    1.24 +    if [ -e "$RAZOR_ROOT$1" ]; then 
    1.25 +	echo $1: Still in filesystem >&2
    1.26 +	exit 1
    1.27 +    fi
    1.28 +}
    1.29 +check_file()
    1.30 +{
    1.31 +    ../src/razor list-files | grep -x "$1" > /dev/null
    1.32 +    if [ $? -ne 0 ]; then
    1.33 +	echo $1: Not in database >&2
    1.34 +	../src/razor list-files >&2
    1.35 +	exit 1
    1.36 +    fi
    1.37 +    ../src/razor list-files "$1" | grep -x "$1" > /dev/null
    1.38 +    if [ $? -ne 0 ]; then
    1.39 +	echo $1: Not seen by patterned list >&2
    1.40 +	../src/razor list-files "$1" >&2
    1.41 +	exit 1
    1.42 +    fi
    1.43 +    pkgs=`../src/razor list-file-packages "$1"`
    1.44 +    if [ -z "$pkgs" ]; then
    1.45 +	echo $1: Not owned by any package >&2
    1.46 +	../src/razor list-file-packages "$1"
    1.47 +	exit 1
    1.48 +    fi
    1.49 +    for nevra in "$pkgs"; do
    1.50 +	name=`echo $nevra | sed 's/\-.*$//'`
    1.51 +	../src/razor list-package-files "$name" | grep -x "$1" > /dev/null
    1.52 +	if [ $? -ne 0 ]; then
    1.53 +	    echo $1: Not in database for package $name >&2
    1.54 +	    ../src/razor list-package-files "$name"
    1.55 +	    exit 1
    1.56 +	fi
    1.57 +    done
    1.58 +    fs_check_file $1
    1.59 +}
    1.60 +check_no_file()
    1.61 +{
    1.62 +    ../src/razor list-files | grep -x "$1" > /dev/null
    1.63 +    if [ $? -eq 0 ]; then
    1.64 +	echo $1: Still in database >&2
    1.65 +	exit 1
    1.66 +    fi
    1.67 +    fs_check_no_file $1
    1.68 +}
    1.69 +export RAZOR_ROOT=`mktemp -dt` || exit 1
    1.70 +../src/razor init || exit 1
    1.71 +export YUM_URL="file://localhost/`pwd`"
    1.72 +../src/razor import-yum || exit 1
    1.73 +../src/razor install --relocate /usr=/opt zip || exit 1
    1.74 +fs_check_file_contents /opt/bin/zip zip-1-1
    1.75 +fs_check_file /opt/var/lib/zip/data.zap
    1.76 +../src/razor install --relocate /usr=/opt zip || exit 1
    1.77 +../src/razor install --relocate /usr=/opt zip || exit 1
    1.78 +rm -rf "$RAZOR_ROOT"