#!/bin/bash set -e CLIENT=../samples/client SERVER=../samples/server test -n "$1" && CLIENT="$1" test -n "$2" && SERVER="$2" # # ASAN and valgrind, understandably, don't get along. # if [ "$WITH_ASAN" = 1 ]; then valgrind="" else valgrind="valgrind --quiet --trace-children=yes --error-exitcode=1 --leak-check=full --read-inline-info=yes --read-var-info=yes --track-origins=yes" fi sock="/tmp/vfio-user.sock" rm -f ${sock}* ${valgrind} $SERVER -v ${sock} & while [ ! -S ${sock} ]; do sleep 0.1 done ${valgrind} $CLIENT ${sock} || { kill $(jobs -p) exit 1 } wait