1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#!/usr/bin/env bats
load helpers
@test "applydiff" {
# The checkdiffs function needs "tar".
if test -z "$(which tar 2> /dev/null)" ; then
skip "need tar"
fi
# Create and populate three interesting layers.
populate
# Extract the layers.
storage diff -u -f $TESTDIR/lower.tar $lowerlayer
storage diff -c -f $TESTDIR/middle.tar $midlayer
storage diff -u -f $TESTDIR/upper.tar $upperlayer
# Delete the layers.
storage delete-layer $upperlayer
storage delete-layer $midlayer
storage delete-layer $lowerlayer
# Create new layers and populate them using the layer diffs.
run storage --debug=false create-layer
[ "$status" -eq 0 ]
[ "$output" != "" ]
lowerlayer="$output"
storage applydiff -f $TESTDIR/lower.tar "$lowerlayer"
run storage --debug=false create-layer "$lowerlayer"
[ "$status" -eq 0 ]
[ "$output" != "" ]
midlayer="$output"
storage applydiff -f $TESTDIR/middle.tar "$midlayer"
run storage --debug=false create-layer "$midlayer"
[ "$status" -eq 0 ]
[ "$output" != "" ]
upperlayer="$output"
storage applydiff -f $TESTDIR/upper.tar "$upperlayer"
# The contents of these new layers should match what the old ones had.
checkchanges
checkdiffs
}
|