11#! /bin/bash
2- set -ex
2+ set -eux
33
44# Before running this, run ./build.sh
55# TODO We need a bit more tests. Perhaps using something like Python would make
@@ -28,22 +28,24 @@ sudo bash -c 'echo 0 > /proc/sys/kernel/yama/ptrace_scope'
2828# In the following, we don't need cap_sys_ptrace, but it makes Docker
2929# relax its seccomp filters on kcmp(), which CRIU needs.
3030
31+ # Forget to put cap-add, and get Permission Denied
3132docker run \
3233 --rm \
3334 --user nobody \
3435 --cap-add=cap_sys_ptrace \
3536 --name ff \
36- --mount type=bind,source=$IMAGE_DIR ,target=/images \
37- --env FF_METRICS_RECORDER=/images /show_metrics.sh \
37+ --mount type=bind,source=$IMAGE_DIR ,target=$IMAGE_DIR \
38+ --env FF_METRICS_RECORDER=$IMAGE_DIR /show_metrics.sh \
3839 fastfreeze-test:latest \
3940 fastfreeze run -v \
40- --image-url file:/images/test-1 \
41- --passphrase-file /images/encryption_key -- sleep 30d &
42- sleep 2 # wait for app started
41+ --image-url $IMAGE_DIR /test-image \
42+ --on-app-ready " touch $IMAGE_DIR /run1.ready" \
43+ --passphrase-file $IMAGE_DIR /encryption_key -- \
44+ sleep 30d &
4345
44- # Forget to put cap-add, and get Permission Denied
46+ timeout 10 bash -c " while [ ! -e $IMAGE_DIR /run1.ready ]; do sleep 0.1; done "
4547
46- docker exec --env FF_METRICS_RECORDER=/images /show_metrics.sh ff fastfreeze checkpoint -v
48+ docker exec --env FF_METRICS_RECORDER=$IMAGE_DIR /show_metrics.sh ff fastfreeze checkpoint -v
4749
4850wait
4951
@@ -52,13 +54,18 @@ docker run \
5254 --user nobody \
5355 --cap-add=cap_sys_ptrace \
5456 --name ff \
55- --mount type=bind,source=$IMAGE_DIR ,target=/images \
56- --env FF_METRICS_RECORDER=/images /show_metrics.sh \
57+ --mount type=bind,source=$IMAGE_DIR ,target=$IMAGE_DIR \
58+ --env FF_METRICS_RECORDER=$IMAGE_DIR /show_metrics.sh \
5759 fastfreeze-test:latest \
5860 fastfreeze run -v \
59- --image-url file:/images/test-1 \
60- --passphrase-file /images/encryption_key -- sleep 30d &
61- sleep 2 # wait for app restore
61+ --image-url $IMAGE_DIR /test-image \
62+ --on-app-ready " touch $IMAGE_DIR /run2.ready" \
63+ --passphrase-file $IMAGE_DIR /encryption_key -- \
64+ sleep 30d &
65+
66+ timeout 10 bash -c " while [ ! -e $IMAGE_DIR /run2.ready ]; do sleep 0.1; done"
67+
68+ docker exec --env FF_METRICS_RECORDER=$IMAGE_DIR /show_metrics.sh ff fastfreeze wait -v
6269
6370docker exec ff fastfreeze checkpoint
6471
0 commit comments