#!/bin/sh


# When udevd (from eudev) is running most eject/mount tests will fail because
# of automount. We need to stop udevd before executing util-linux's tests.
# The systemd-udevd daemon doesn't change the outcome of util-linux's tests.
UDEV_PID="`pidof "@base_sbindir@/udevd"`"
if [ "x$UDEV_PID" != "x" ]; then
    /etc/init.d/udev stop
fi

current_path=$(readlink -f $0)
export bindir=$(dirname $current_path)
export PATH=$bindir/bin:$PATH

cd tests || exit 1                                                          

comps=$(find ts/ -type f -perm -111 -regex ".*/[^\.~]*" |  sort)


echo
echo "-------------------- util-linux regression tests --------------------"
echo
echo "                    For development purpose only.                    "
echo "                 Don't execute on production system!                 "
echo

res=0
count=0
for ts in $comps; 
do 
   $ts | sed -u '{        
      s/^\(.*\):\(.*\) \.\.\. OK$/PASS: \1:\2/                              
      s/^\(.*\):\(.*\) \.\.\. FAILED \(.*\)$/FAIL: \1:\2 \3/                
      s/^\(.*\):\(.*\) \.\.\. SKIPPED \(.*\)$/SKIP: \1:\2 \3/               
   }' 
done


if [ "x$UDEV_PID" != "x" ]; then
    /etc/init.d/udev start
fi

