nixos/tests/overlayfs: Use individual commands
This reverts the test to be similar to its original Perl version, where the test steps were performed as individual commands instead of what we have now, where commands are sent to the machine as one giant string. While this change doesn't seem like it would make a big difference, it makes a huge difference if the test fails because you then get an error about which command has failed exactly instead of just knowing that "something in there" has failed. I also switched 2 spaces indentation, because it is more in line with Nix coding conventions. Signed-off-by: aszlig <aszlig@nix.build>
This commit is contained in:
parent
9ecde9d165
commit
c55e00d8ff
|
@ -15,36 +15,33 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
|||
|
||||
# Test ext4 + overlayfs
|
||||
machine.succeed(
|
||||
"""
|
||||
mkfs.ext4 -F -L overlay-ext4 /dev/vdb
|
||||
mount -t ext4 /dev/vdb /tmp/mnt
|
||||
mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged
|
||||
# Setup some existing files
|
||||
echo 'Replace' > /tmp/mnt/lower/replace.txt
|
||||
echo 'Append' > /tmp/mnt/lower/append.txt
|
||||
echo 'Overwrite' > /tmp/mnt/lower/overwrite.txt
|
||||
mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged
|
||||
# Test new
|
||||
echo 'New' > /tmp/mnt/merged/new.txt
|
||||
[[ "$(cat /tmp/mnt/merged/new.txt)" == "New" ]]
|
||||
# Test replace
|
||||
[[ "$(cat /tmp/mnt/merged/replace.txt)" == "Replace" ]]
|
||||
echo 'Replaced' > /tmp/mnt/merged/replace-tmp.txt
|
||||
mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt
|
||||
[[ "$(cat /tmp/mnt/merged/replace.txt)" == "Replaced" ]]
|
||||
# Overwrite
|
||||
[[ "$(cat /tmp/mnt/merged/overwrite.txt)" == "Overwrite" ]]
|
||||
echo 'Overwritten' > /tmp/mnt/merged/overwrite.txt
|
||||
[[ "$(cat /tmp/mnt/merged/overwrite.txt)" == "Overwritten" ]]
|
||||
# Test append
|
||||
[[ "$(cat /tmp/mnt/merged/append.txt)" == "Append" ]]
|
||||
echo 'ed' >> /tmp/mnt/merged/append.txt
|
||||
#"cat /tmp/mnt/merged/append.txt && exit 1
|
||||
[[ "$(cat /tmp/mnt/merged/append.txt)" == "Append\ned" ]]
|
||||
umount /tmp/mnt/merged
|
||||
umount /tmp/mnt
|
||||
udevadm settle
|
||||
"""
|
||||
'mkfs.ext4 -F -L overlay-ext4 /dev/vdb',
|
||||
'mount -t ext4 /dev/vdb /tmp/mnt',
|
||||
'mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged',
|
||||
# Setup some existing files
|
||||
'echo Replace > /tmp/mnt/lower/replace.txt',
|
||||
'echo Append > /tmp/mnt/lower/append.txt',
|
||||
'echo Overwrite > /tmp/mnt/lower/overwrite.txt',
|
||||
'mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged',
|
||||
# Test new
|
||||
'echo New > /tmp/mnt/merged/new.txt',
|
||||
'[[ "$(cat /tmp/mnt/merged/new.txt)" == New ]]',
|
||||
# Test replace
|
||||
'[[ "$(cat /tmp/mnt/merged/replace.txt)" == Replace ]]',
|
||||
'echo Replaced > /tmp/mnt/merged/replace-tmp.txt',
|
||||
'mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt',
|
||||
'[[ "$(cat /tmp/mnt/merged/replace.txt)" == Replaced ]]',
|
||||
# Overwrite
|
||||
'[[ "$(cat /tmp/mnt/merged/overwrite.txt)" == Overwrite ]]',
|
||||
'echo Overwritten > /tmp/mnt/merged/overwrite.txt',
|
||||
'[[ "$(cat /tmp/mnt/merged/overwrite.txt)" == Overwritten ]]',
|
||||
# Test append
|
||||
'[[ "$(cat /tmp/mnt/merged/append.txt)" == Append ]]',
|
||||
'echo ed >> /tmp/mnt/merged/append.txt',
|
||||
'[[ "$(cat /tmp/mnt/merged/append.txt)" == "Append\ned" ]]',
|
||||
'umount /tmp/mnt/merged',
|
||||
'umount /tmp/mnt',
|
||||
'udevadm settle',
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue