2021-09-06 00:20:58 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -x
|
2022-04-12 16:40:31 -07:00
|
|
|
# shellcheck source=test/others/env.sh
|
2021-09-06 00:20:58 +01:00
|
|
|
source ../env.sh || exit 1
|
2016-05-21 16:38:31 +03:00
|
|
|
|
|
|
|
function gen_imgs {
|
2021-06-09 08:13:00 +01:00
|
|
|
PID=$(../loop)
|
2021-06-09 07:25:34 +01:00
|
|
|
if ! $CRIU dump -v4 -o dump.log -D ./ -t "$PID"; then
|
|
|
|
echo "Failed to checkpoint process $PID"
|
|
|
|
cat dump.log
|
|
|
|
kill -9 "$PID"
|
|
|
|
exit 1
|
2016-05-21 16:38:31 +03:00
|
|
|
fi
|
|
|
|
|
2021-09-06 00:20:58 +01:00
|
|
|
images_list=$(ls -1 ./*.img)
|
2016-05-21 16:38:31 +03:00
|
|
|
if [ -z "$images_list" ]; then
|
|
|
|
echo "Failed to generate images"
|
2021-06-09 07:25:34 +01:00
|
|
|
exit 1
|
2016-05-21 16:38:31 +03:00
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
function run_test {
|
|
|
|
echo "= Test core dump"
|
|
|
|
|
|
|
|
echo "=== img to core dump"
|
2021-06-09 07:25:34 +01:00
|
|
|
$CRIU_COREDUMP -i ./ -o ./ || exit $?
|
2016-05-21 16:38:31 +03:00
|
|
|
echo "=== done"
|
|
|
|
|
|
|
|
cores=$(ls -1 core.*)
|
|
|
|
if [ -z "$cores" ]; then
|
|
|
|
echo "Failed to generate coredumps"
|
2021-06-09 07:25:34 +01:00
|
|
|
exit 1
|
2016-05-21 16:38:31 +03:00
|
|
|
fi
|
|
|
|
|
|
|
|
for x in $cores
|
|
|
|
do
|
|
|
|
echo "=== try readelf $x"
|
2021-09-06 00:20:58 +01:00
|
|
|
readelf -a "$x" || exit $?
|
2016-05-21 16:38:31 +03:00
|
|
|
echo "=== done"
|
|
|
|
done
|
|
|
|
|
|
|
|
echo "= done"
|
|
|
|
}
|
|
|
|
|
|
|
|
gen_imgs
|
|
|
|
run_test
|