#!/bin/bash # $HeadURL$ $LastChangedRevision$ PROGNAME=`basename $0` SANDPIT=`pwd` . $(ade-config ade_share_prefix)/include/adetestsupport.sh ############################################################################## # # Purpose of test: to verify the functionality of the 'listobsolete' directive # # Bug id: SOFT-21 # ############################################################################## # Ensure dates are consistently formatted export LC_ALL=C echo "$PROGNAME: setting up environment ..." export PAA_STATE_PREFIX=$SANDPIT/var mkdir -p $SANDPIT/bin echo -e '#!/bin/sh\n\ncat > $1' > $SANDPIT/bin/caton chmod 755 $SANDPIT/bin/caton export EDITOR=$SANDPIT/bin/caton export PAA_RCDIR=$SANDPIT/.paa export PAA_ROOTDIR=$SANDPIT echo "$PROGNAME: creating a repo of each type ..." paa repo m deb mirrored true # Accesses are too difficult to test because requires knowledge of this # machine architecture and setting up corresponding repos. We define # the repo here and it should immediately therefore be unaccessed. paa repo a deb accessed true paa repo o deb owned true echo "$PROGNAME: configuring repos properly ..." for REPO in m a o; do { echo "_RELEASES=\"wheezy\"" echo "_PORTS=\"amd64\"" echo "_SECTIONS=\"main\"" echo "for _RELEASE in \$_RELEASES; do" echo " release \$_RELEASE" echo " for _PORT in \$_PORTS; do" echo " port \$_RELEASE \$_PORT" echo " done" echo " for _SECTION in \$_SECTIONS; do" echo " section \$_RELEASE \$_SECTION" echo " done" echo "done" echo "distro debian" echo "url \"http://install.pasta.net/./\"" [ $REPO = a ] || echo "mirror_dir \"$SANDPIT/mirrors/\"" [ $REPO = a ] || echo "freeze_dir \"$SANDPIT/freezes/.\"" [ $REPO = a ] || echo "indirect_dir \"$SANDPIT/indirects/.\"" [ $REPO = a ] || [ $REPO = o ] || echo "mirror_cmd \"true\"" [ $REPO = m ] || [ $REPO = a ] || echo "path \"$SANDPIT/packages\"" [ $REPO = m ] || [ $REPO = a ] || echo "origin \"Acme Origin\"" [ $REPO = m ] || [ $REPO = a ] || echo "label \"Acme Label\"" [ $REPO = m ] || [ $REPO = a ] || echo "signer \"Fred Bloggs\"" } | paa editrepo $REPO done echo "$PROGNAME: building references ..." paa host h deb debian wheezy amd64 #paa listhosts paa mirror m #paa listmirrors paa freeze m #paa listfreezes paa indirect m h NEWEST-FREEZE #paa listindirects # Don't share; it requires knowledge of apache configuration on this system. #paa share m h #paa listshares echo "$PROGNAME: listing obsoletes (expect a is obsolete repo and m/h is obsolete indirect) ..." paa listobsolete echo "$PROGNAME: removing one obsolete thing and relisting (expect m/h is obsolete indirect) ..." paa unrepo a paa listobsolete echo "$PROGNAME: removing one obsolete thing and relisting (expect m/timestamp is obsolete freeze and h is obsolete host) ..." paa unindirect m h paa listobsolete 2>&1 | sed 's/[0-9]\{14\}/99999999999999/' echo "$PROGNAME: removing one obsolete thing and relisting (expect m is obsolete mirror and h is obsolete host) ..." paa --force unfreeze m ALL-FREEZES paa listobsolete echo "$PROGNAME: removing one obsolete thing and relisting (expect m is obsolete repo and h is obsolete host) ..." paa unmirror m paa listobsolete echo "$PROGNAME: removing one obsolete thing and relisting (expect h is obsolete host) ..." paa unrepo m paa listobsolete echo "$PROGNAME: removing one obsolete thing and relisting (expect nothing) ..." paa unhost h paa listobsolete echo "$PROGNAME: end of test"