mirror of
https://github.com/vgough/encfs.git
synced 2024-11-21 23:43:26 +01:00
tests: check if the second mount works as well
Should prevent things like https://github.com/vgough/encfs/issues/343 from happening again.
This commit is contained in:
parent
c8ff1f94e8
commit
64b01a0869
10
test.sh
Executable file
10
test.sh
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash -eu
|
||||||
|
|
||||||
|
./build/checkops &> /dev/null
|
||||||
|
|
||||||
|
for i in $(mount | grep -e "/tmp/encfs-reverse-tests-\|/tmp/encfs-tests-" | cut -f3 -d" "); do
|
||||||
|
echo "Warning: unmounting leftover filesystem: $i"
|
||||||
|
fusermount -u $i
|
||||||
|
done
|
||||||
|
|
||||||
|
perl -MTest::Harness -e '$$Test::Harness::debug=1; runtests @ARGV;' tests/*.t.pl
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Test EncFS normal and paranoid mode
|
# Test EncFS normal and paranoid mode
|
||||||
|
|
||||||
use Test::More tests => 106;
|
use Test::More tests => 116;
|
||||||
use File::Path;
|
use File::Path;
|
||||||
use File::Copy;
|
use File::Copy;
|
||||||
use File::Temp;
|
use File::Temp;
|
||||||
@ -47,6 +47,7 @@ sub runTests
|
|||||||
&internalModification;
|
&internalModification;
|
||||||
&grow;
|
&grow;
|
||||||
&umask0777;
|
&umask0777;
|
||||||
|
&create_unmount_remount;
|
||||||
|
|
||||||
&configFromPipe;
|
&configFromPipe;
|
||||||
&cleanup;
|
&cleanup;
|
||||||
@ -196,7 +197,7 @@ sub fileCreation
|
|||||||
# ensure there is an encrypted version.
|
# ensure there is an encrypted version.
|
||||||
my $c = encName("df.txt");
|
my $c = encName("df.txt");
|
||||||
cmp_ok( length($c), '>', 8, "encrypted name ok" );
|
cmp_ok( length($c), '>', 8, "encrypted name ok" );
|
||||||
ok( -f "$raw/$c", "encrypted file created" );
|
ok( -f "$raw/$c", "encrypted file $raw/$c created" );
|
||||||
|
|
||||||
# check contents
|
# check contents
|
||||||
my $count = qx(grep -c crypt-$$ "$crypt/df.txt");
|
my $count = qx(grep -c crypt-$$ "$crypt/df.txt");
|
||||||
@ -360,3 +361,33 @@ sub configFromPipe
|
|||||||
waitpid($child, 0);
|
waitpid($child, 0);
|
||||||
ok( 0 == $?, "encfs mount with named pipe based config failed");
|
ok( 0 == $?, "encfs mount with named pipe based config failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub create_unmount_remount
|
||||||
|
{
|
||||||
|
my $crypt = "$workingDir/create_remount.crypt";
|
||||||
|
my $mnt = "$workingDir/create_remount.mnt";
|
||||||
|
mkdir($crypt) || BAIL_OUT($!);
|
||||||
|
mkdir($mnt) || BAIL_OUT($!);
|
||||||
|
|
||||||
|
system("./build/encfs --standard --extpass=\"echo test\" $crypt $mnt 2>&1");
|
||||||
|
ok( $? == 0, "encfs command returns 0") || return;
|
||||||
|
ok( -f "$crypt/.encfs6.xml", "created control file") || return;
|
||||||
|
|
||||||
|
# Write some text
|
||||||
|
my $contents = "hello world\n";
|
||||||
|
ok( open(OUT, "> $mnt/test_file_1"), "write content");
|
||||||
|
print OUT $contents;
|
||||||
|
close OUT;
|
||||||
|
|
||||||
|
# Unmount
|
||||||
|
portable_unmount($mnt);
|
||||||
|
|
||||||
|
# Mount again
|
||||||
|
system("./build/encfs --extpass=\"echo test\" $crypt $mnt 2>&1");
|
||||||
|
ok( $? == 0, "encfs command returns 0") || return;
|
||||||
|
|
||||||
|
# Check if content is still there
|
||||||
|
checkContents("$mnt/test_file_1", $contents);
|
||||||
|
|
||||||
|
portable_unmount($mnt);
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user