![Jouni Malinen](/assets/img/avatar_default.png)
It looks like the 128M default memory size for the hwsim test setup was not large enough to cover all the needs anymore. Some of the test cases using tshark could hit OOM with that size. Increase the default allocation to 192M to avoid this type of issues. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
126 lines
3 KiB
Bash
Executable file
126 lines
3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
cd "$(dirname $0)"
|
|
|
|
if [ -z "$TESTDIR" ] ; then
|
|
TESTDIR=$(pwd)/../
|
|
fi
|
|
|
|
LOGS=/tmp/hwsim-test-logs
|
|
|
|
# increase the memory size if you want to run with valgrind, 512 MB works
|
|
MEMORY=192
|
|
|
|
# Some ubuntu systems (notably 12.04) have issues with this - since the guest
|
|
# mounts as read-only it should be safe to not specify ,readonly. Override in
|
|
# vm-config if needed (see below)
|
|
ROTAG=,readonly
|
|
|
|
# set this to ttyS0 to see kvm messages (if something doesn't work)
|
|
KVMOUT=ttyS1
|
|
|
|
# you can set EPATH if you need anything extra in $PATH inside the VM
|
|
#EPATH=/some/dir
|
|
|
|
# extra KVM arguments, e.g., -s for gdbserver
|
|
#KVMARGS=-s
|
|
|
|
# number of channels each hwsim device supports
|
|
CHANNELS=1
|
|
|
|
test -f vm-config && . vm-config
|
|
test -f ~/.wpas-vm-config && . ~/.wpas-vm-config
|
|
|
|
if [ -z "$KERNEL" ] && [ -z "$KERNELDIR" ] ; then
|
|
echo "You need to set a KERNEL or KERNELDIR (in the environment or vm-config)"
|
|
exit 2
|
|
fi
|
|
if [ -z "$KERNEL" ] ; then
|
|
KERNEL=$KERNELDIR/arch/x86_64/boot/bzImage
|
|
fi
|
|
|
|
|
|
CMD=$TESTDIR/vm/inside.sh
|
|
|
|
unset RUN_TEST_ARGS
|
|
TIMESTAMP=$(date +%s)
|
|
DATE=$TIMESTAMP
|
|
CODECOV=no
|
|
TIMEWARP=0
|
|
DELAY=0
|
|
CODECOV_DIR=
|
|
while [ "$1" != "" ]; do
|
|
case $1 in
|
|
--timestamp ) shift
|
|
TIMESTAMP=$1
|
|
shift
|
|
;;
|
|
--ext ) shift
|
|
DATE=$TIMESTAMP.$1
|
|
shift
|
|
;;
|
|
--codecov ) shift
|
|
CODECOV=yes
|
|
;;
|
|
--codecov_dir ) shift
|
|
CODECOV_DIR=$1
|
|
shift
|
|
;;
|
|
--timewrap ) shift
|
|
TIMEWARP=1
|
|
;;
|
|
--delay ) shift
|
|
DELAY=$1
|
|
shift
|
|
;;
|
|
* )
|
|
RUN_TEST_ARGS="$RUN_TEST_ARGS$1 "
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
LOGDIR=$LOGS/$DATE
|
|
mkdir -p $LOGDIR
|
|
|
|
if [ -n "$CODECOV_DIR" ]; then
|
|
cp -a $CODECOV_DIR/alt-wpa_supplicant $LOGDIR
|
|
cp -a $CODECOV_DIR/alt-hostapd $LOGDIR
|
|
cp -a $CODECOV_DIR/alt-hostapd-as $LOGDIR
|
|
cp -a $CODECOV_DIR/alt-hlr_auc_gw $LOGDIR
|
|
elif [ $CODECOV = "yes" ]; then
|
|
./build-codecov.sh $LOGDIR || exit 1
|
|
else
|
|
CODECOV=no
|
|
fi
|
|
|
|
if [ $DELAY -gt 0 ]; then
|
|
echo "Wait $DELAY seconds before starting VM"
|
|
sleep $DELAY
|
|
fi
|
|
|
|
echo "Starting test run in a virtual machine"
|
|
|
|
kvm \
|
|
-kernel $KERNEL -smp 4 \
|
|
$KVMARGS -m $MEMORY -nographic \
|
|
-fsdev local,security_model=none,id=fsdev-root,path=/$ROTAG \
|
|
-device virtio-9p-pci,id=fs-root,fsdev=fsdev-root,mount_tag=/dev/root \
|
|
-fsdev local,security_model=none,id=fsdev-logs,path="$LOGDIR",writeout=immediate \
|
|
-device virtio-9p-pci,id=fs-logs,fsdev=fsdev-logs,mount_tag=logshare \
|
|
-monitor null -serial stdio -serial file:$LOGDIR/console \
|
|
-append "mac80211_hwsim.support_p2p_device=0 mac80211_hwsim.channels=$CHANNELS mac80211_hwsim.radios=6 init=$CMD testdir=$TESTDIR timewarp=$TIMEWARP console=$KVMOUT root=/dev/root rootflags=trans=virtio,version=9p2000.u ro rootfstype=9p EPATH=$EPATH ARGS=$RUN_TEST_ARGS"
|
|
|
|
if [ $CODECOV = "yes" ]; then
|
|
echo "Preparing code coverage reports"
|
|
./process-codecov.sh $LOGDIR "" restore
|
|
./combine-codecov.sh $LOGDIR lcov
|
|
fi
|
|
|
|
echo
|
|
echo "Test run completed"
|
|
echo "Logfiles are at $LOGDIR"
|
|
if [ $CODECOV = "yes" ]; then
|
|
echo "Code coverage report:"
|
|
echo "file://$LOGDIR/lcov/index.html"
|
|
fi
|