Blame test/testmod/doit.sh

Packit Service ac8aad
#!/bin/bash
Packit Service ac8aad
Packit Service ac8aad
#set -x
Packit Service ac8aad
Packit Service ac8aad
# If testing on a remote machine, set it here
Packit Service ac8aad
# Probably want to use preshared keys.
Packit Service ac8aad
Packit Service ac8aad
unset REMOTE
Packit Service ac8aad
#REMOTE="192.168.100.150"
Packit Service ac8aad
Packit Service ac8aad
cd ../../ || exit 1
Packit Service ac8aad
make clean || exit 1
Packit Service ac8aad
make || exit 1
Packit Service ac8aad
cd test/testmod || exit 1
Packit Service ac8aad
make || exit 1
Packit Service ac8aad
../../kpatch-build/create-diff-object testmod_drv.o.orig testmod_drv.o.patched testmod.ko output.o || exit 1
Packit Service ac8aad
cd ../../kmod/patch || exit 1
Packit Service ac8aad
make clean || exit 1
Packit Service ac8aad
cp ../../test/testmod/output.o . || exit 1
Packit Service ac8aad
md5sum output.o | awk '{printf "%s\0", $1}' > checksum.tmp || exit 1
Packit Service ac8aad
objcopy --add-section .kpatch.checksum=checksum.tmp --set-section-flags .kpatch.checksum=alloc,load,contents,readonly output.o || exit 1
Packit Service ac8aad
rm -f checksum.tmp
Packit Service ac8aad
KBUILD_EXTRA_SYMBOLS="$(readlink -e ../../kmod/core/Module.symvers)" make || exit 1
Packit Service ac8aad
cd ../../test/testmod
Packit Service ac8aad
Packit Service ac8aad
if [[ -z "$REMOTE" ]]
Packit Service ac8aad
then
Packit Service ac8aad
	cp ../../kmod/core/kpatch.ko .
Packit Service ac8aad
	cp ../../kmod/patch/kpatch-patch.ko .
Packit Service ac8aad
	sudo ./doit-client.sh
Packit Service ac8aad
else
Packit Service ac8aad
	scp ../../kmod/core/kpatch.ko root@$REMOTE:~/. || exit 1
Packit Service ac8aad
	scp ../../kmod/patch/kpatch-patch.ko root@$REMOTE:~/. || exit 1
Packit Service ac8aad
	scp testmod.ko root@$REMOTE:~/. || exit 1
Packit Service ac8aad
	scp doit-client.sh root@$REMOTE:~/. || exit 1
Packit Service ac8aad
	ssh root@$REMOTE ./doit-client.sh
Packit Service ac8aad
fi