test/remove.sh
author J. Ali Harlow <ali@juiblex.co.uk>
Fri Jul 08 17:52:02 2016 +0100 (2016-07-08)
changeset 485 5e309e37906e
parent 456 bae5adee8c8c
permissions -rwxr-xr-x
Fix bug setting length in razor_uri_get_contents
ali@363
     1
#!/bin/sh
ali@456
     2
if [ $# -gt 0 ]; then
ali@456
     3
    razor="$1"
ali@456
     4
else
ali@456
     5
    razor=../src/razor
ali@456
     6
fi
ali@369
     7
fs_check_file()
ali@369
     8
{
ali@475
     9
    if [ ! -e "$tmpdir$1" ]; then 
ali@369
    10
	echo $1: Not in filesystem >&2
ali@475
    11
	ls -R "$tmpdir" >&2
ali@369
    12
	exit 1
ali@369
    13
    fi
ali@369
    14
}
ali@369
    15
fs_check_no_file()
ali@369
    16
{
ali@475
    17
    if [ -e "$tmpdir$1" ]; then 
ali@369
    18
	echo $1: Still in filesystem >&2
ali@369
    19
	exit 1
ali@369
    20
    fi
ali@369
    21
}
ali@363
    22
check_file()
ali@363
    23
{
ali@475
    24
    $razor list-files | grep -F -x "$1" > /dev/null
ali@363
    25
    if [ $? -ne 0 ]; then
ali@363
    26
	echo $1: Not in database >&2
ali@456
    27
	$razor list-files >&2
ali@363
    28
	exit 1
ali@363
    29
    fi
ali@475
    30
    $razor list-files "$1" | grep -F -x "$1" > /dev/null
ali@363
    31
    if [ $? -ne 0 ]; then
ali@363
    32
	echo $1: Not seen by patterned list >&2
ali@456
    33
	$razor list-files "$1" >&2
ali@363
    34
	exit 1
ali@363
    35
    fi
ali@456
    36
    pkgs=`$razor list-file-packages "$1"`
ali@363
    37
    if [ -z "$pkgs" ]; then
ali@363
    38
	echo $1: Not owned by any package >&2
ali@456
    39
	$razor list-file-packages "$1"
ali@363
    40
	exit 1
ali@363
    41
    fi
ali@363
    42
    for nevra in "$pkgs"; do
ali@363
    43
	name=`echo $nevra | sed 's/\-.*$//'`
ali@475
    44
	$razor list-package-files "$name" | grep -F -x "$1" > /dev/null
ali@363
    45
	if [ $? -ne 0 ]; then
ali@363
    46
	    echo $1: Not in database for package $name >&2
ali@456
    47
	    $razor list-package-files "$name"
ali@363
    48
	    exit 1
ali@363
    49
	fi
ali@363
    50
    done
ali@369
    51
    fs_check_file $1
ali@363
    52
}
ali@363
    53
check_no_file()
ali@363
    54
{
ali@475
    55
    $razor list-files | grep -F -x "$1" > /dev/null
ali@363
    56
    if [ $? -eq 0 ]; then
ali@363
    57
	echo $1: Still in database >&2
ali@363
    58
	exit 1
ali@363
    59
    fi
ali@369
    60
    fs_check_no_file $1
ali@363
    61
}
ali@475
    62
tmpdir=`mktemp -dt` || exit 1
ali@475
    63
export RAZOR_ROOT="file:$tmpdir"
ali@456
    64
$razor init || exit 1
ali@475
    65
export YUM_URL="file:`pwd`/base"
ali@456
    66
$razor import-yum || exit 1
ali@456
    67
$razor install --relocate /usr=/opt zip || exit 1
ali@372
    68
fs_check_file /opt/var/lib/zip/data.zap
ali@456
    69
$razor remove zip || exit 1
ali@372
    70
check_file /opt/bin/zap
ali@372
    71
check_no_file /opt/bin/zip
ali@372
    72
fs_check_no_file /opt/var/lib/zip/data.zap
ali@456
    73
$razor install --relocate /usr=/opt zsh || exit 1
ali@456
    74
$razor install --relocate /usr=/opt zsh2 || exit 1
ali@456
    75
$razor remove zsh || exit 1
ali@363
    76
check_file /etc/zsh.conf
ali@372
    77
check_no_file /opt/bin/zsh
ali@372
    78
check_no_file /opt/var/lib/zsh/data.zip
ali@410
    79
# Installing a package twice isn't handled very well at present
ali@410
    80
# so just don't do it for now.
ali@456
    81
#$razor install --relocate /usr=/opt zsh2 || exit 1
ali@372
    82
fs_check_file /opt/var/lib/zip/data.zap
ali@456
    83
$razor remove zsh2 zip || exit 1
ali@372
    84
fs_check_no_file /opt/var/lib/zip/data.zap
ali@475
    85
rm -rf "$tmpdir"