@@ -51,6 +51,9 @@ run_qemu() {
5151 fi
5252 qemu-system-x86_64 \
5353 -nographic \
54+ -chardev stdio,id=char0,logfile=$1 ,signal=off \
55+ -serial chardev:char0 \
56+ -monitor none \
5457 -enable-kvm \
5558 -cpu host -smp cores=2 \
5659 -m 1G \
@@ -69,13 +72,29 @@ umount $TEMPDIR/mnt
6972losetup -d $DEV
7073
7174curl ' http://localhost:8080/admin/curr_action/all/store'
72- run_qemu
75+ run_qemu $TEMPDIR /store.log
76+
77+ # Check that we restore the original disk image.
7378
7479rm -f $TEMPDIR /disk.img
7580truncate -s 8G $TEMPDIR /disk.img
7681
7782curl ' http://localhost:8080/admin/curr_action/all/flash'
78- run_qemu
83+ run_qemu $TEMPDIR /flash-1.log
84+
85+ DEV=$( losetup --show --find $TEMPDIR /disk.img)
86+ mount -o ro $DEV $TEMPDIR /mnt
87+ if [ " $( md5sum $TEMPDIR /mnt/pixie-server | cut -f 1 -d ' ' ) " != " $( md5sum ./pixie-server/target/debug/pixie-server | cut -f 1 -d ' ' ) " ]; then
88+ echo " pixie-server does not contain the expected content"
89+ exit 1
90+ fi
91+ umount $TEMPDIR /mnt
92+ losetup -d $DEV
93+
94+ # Check that we don't fetch any data if the disk contents have not changed.
95+
96+ curl ' http://localhost:8080/admin/curr_action/all/flash'
97+ run_qemu $TEMPDIR /flash-2.log
7998
8099DEV=$( losetup --show --find $TEMPDIR /disk.img)
81100mount $DEV $TEMPDIR /mnt
@@ -85,3 +104,9 @@ if [ "$(md5sum $TEMPDIR/mnt/pixie-server | cut -f 1 -d ' ')" != "$(md5sum ./pixi
85104fi
86105umount $TEMPDIR /mnt
87106losetup -d $DEV
107+
108+ if ! grep " Disk scanned; 0 chunks to fetch" $TEMPDIR /flash-2.log & > /dev/null
109+ then
110+ echo " Data was re-fetched"
111+ exit 1
112+ fi
0 commit comments