#!/bin/bash # $HeadURL$ $LastChangedRevision$ echo "setting up environment ..." PROGNAME=${0##*/} LOCKDIR=/tmp/$PROGNAME.$$ LOCKFILE=$LOCKDIR/x.lock VERBOSELEVEL=3 ADELANGS=( perl python shell ) echo "defining support functions ..." devariant() { sed -r 's/[1-9][0-9]*/999999/' "$@" } shell_lock() { #echo "adeshf --debug=$VERBOSELEVEL \"ade_lock \\\"\\\$ERRSTACK_REF\" $LOCKFILE\"" adeshf --debug=$VERBOSELEVEL "ade_lock \"\$ERRSTACK_REF\" $LOCKFILE" } perl_lock() { adeperlf --debug=$VERBOSELEVEL "return(ADE::lock(\$errstack_ref, \"$LOCKFILE\"));" } python_lock() { adepyf --debug=$VERBOSELEVEL "import time; import ade; return ade.lock(errstack, \"$LOCKFILE\")" } echo "no-parent locking ..." for ADELANG in "${ADELANGS[@]}"; do echo "$ADELANG ..." ${ADELANG}_lock 2>&1 | sed 's@/tmp/[-a-zA-Z0-9\/._]*@VARIANT_TEXT@' done echo "basic locking ..." for ADELANG in "${ADELANGS[@]}"; do echo "$ADELANG ..." mkdir -p $LOCKDIR ${ADELANG}_lock rm -fr $LOCKDIR done echo "mode test locking ..." for ADELANG in "${ADELANGS[@]}"; do for PERM in {0..7}00; do echo "$ADELANG:$PERM ..." mkdir -p $LOCKDIR chmod $PERM $LOCKDIR ${ADELANG}_lock 2>&1 | sed 's@/tmp/[-a-zA-Z0-9\/._]*@VARIANT_TEXT@' chmod 700 $LOCKDIR rm -fr $LOCKDIR done done echo "all done"