~ecryptfs/ecryptfs/trunk

« back to all changes in this revision

Viewing changes to tests/kernel/lp-872905.sh

  • Committer: Dustin Kirkland
  • Date: 2016-02-27 00:00:23 UTC
  • Revision ID: kirkland@ubuntu.com-20160227000023-h0e4oui5y1vbaurd
openingĀ 112

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/bash
 
2
#
 
3
# lp-872905: Test for https://launchpad.net/bugs/872905
 
4
# Author: Colin Ian King <colin.king@canonical.com>
 
5
#
 
6
# Copyright (C) 2012 Canonical, Ltd.
 
7
#
 
8
# This program is free software; you can redistribute it and/or
 
9
# modify it under the terms of the GNU General Public License
 
10
# as published by the Free Software Foundation; either version 2
 
11
# of the License, or (at your option) any later version.
 
12
#
 
13
# This program is distributed in the hope that it will be useful,
 
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
16
# GNU General Public License for more details.
 
17
#
 
18
# You should have received a copy of the GNU General Public License
 
19
# along with this program; if not, write to the Free Software
 
20
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
 
21
 
 
22
test_script_dir=$(dirname $0)
 
23
rc=1
 
24
test_dir=""
 
25
 
 
26
. ${test_script_dir}/../lib/etl_funcs.sh
 
27
 
 
28
test_cleanup()
 
29
{
 
30
        etl_remove_test_dir $test_dir
 
31
        etl_umount
 
32
        etl_lumount
 
33
        etl_unlink_keys
 
34
        exit $rc
 
35
}
 
36
trap test_cleanup 0 1 2 3 15
 
37
 
 
38
etl_add_keys || exit
 
39
etl_lmount || exit
 
40
etl_mount_i || exit
 
41
test_dir=$(etl_create_test_dir) || exit
 
42
test_file="${test_dir}/test_file"
 
43
 
 
44
lower_test_dir=$(etl_find_lower_path $test_dir)
 
45
if [ $? -ne 0 ]; then
 
46
        exit
 
47
fi
 
48
 
 
49
#
 
50
# Fill the lower
 
51
#
 
52
dd if=/dev/zero of=${lower_test_dir}/filler bs=4K > /dev/null 2>&1
 
53
 
 
54
#
 
55
# Now attempt to create an upper and see how big it is
 
56
#
 
57
touch $test_file >& /dev/null
 
58
if [ $? -ne 0 ]; then
 
59
        rc=0
 
60
        exit
 
61
fi
 
62
 
 
63
lower_test_file=$(etl_find_lower_path $test_file)
 
64
if [ $? -ne 0 ]; then
 
65
        exit
 
66
fi
 
67
 
 
68
#
 
69
# If xattr metadata is not enabled, we shouldn't have a zero length lower file.
 
70
# If xattr metadata is enabled, the expected lower file size is 0.
 
71
 
72
sz=$(stat -c%s $lower_test_file)
 
73
if ! etl_is_mount_opt_set "ecryptfs_xattr_metadata" && [ $sz -ne 0 ]; then
 
74
        rc=0
 
75
elif etl_is_mount_opt_set "ecryptfs_xattr_metadata" && [ $sz -eq 0 ]; then
 
76
        rc=0
 
77
fi
 
78
 
 
79
exit