blob: d8b026127dce663b5c9d8ee894c57ffcc7b6a31f [file] [log] [blame]
#!/bin/sh
# Check uid decoding.
. "${srcdir=.}/init.sh"
check_prog gawk
s="${uid_syscall_suffix-}"
w="${uid_t_size-}"
uid="uid$s$w"
./"$uid" || {
if [ $? -eq 77 ]; then
framework_skip_ "some uid$s or uid${w}_t syscalls are not available"
else
fail_ "$uid failed"
fi
}
syscalls="getuid$s,setuid$s,getresuid$s,setreuid$s,setresuid$s,fchown$s,getgroups$s"
args="-e trace=$syscalls"
$STRACE -o "$LOG" $args ./"$uid"|| {
cat "$LOG"
fail_ "$STRACE $args ./$uid failed"
}
gawk -f "$srcdir"/uid.awk -v suffix="$s" "$LOG" || {
cat "$LOG"
fail_ 'unexpected output'
}
exit 0