2 from pysize
.core
import pysize_fs_node
3 from pysize
.core
.pysize_global_fs_cache
import drop_caches
8 checksum
+= n
.compute_height()
9 checksum
+= n
.compute_depth()
10 checksum
+= n
.minimum_real_size()
11 checksum
+= len(n
.get_dirname())
12 checksum
+= n
.is_dir() and 1 or 2
13 checksum
+= n
.is_real() and 3 or 5
14 checksum
+= len(n
.get_fullname())
15 checksum
+= len(",".join(n
.get_fullpaths()))
16 checksum
+= len(n
.get_name())
19 class TestFsNode(unittest
.TestCase
):
22 node
= pysize_fs_node
.create_node(None, '/tmp/pysize_example_dir', 10,
24 self
.assertEqual(node
.get_fullname(), '/tmp/pysize_example_dir')
25 self
.assertEqual(node
.compute_height(), 5)
26 self
.assertEqual(node
.compute_depth(), 1)
27 self
.assertEqual(node
.minimum_real_size(), 12288)
28 self
.assertEqual(node
.get_dirname(), '/tmp')
29 self
.assert_(node
.is_dir())
30 self
.assertEqual(checksum(node
), 5139172)
31 child
= node
.children
[0]
32 self
.assertEqual(child
.get_fullname(),
33 '/tmp/pysize_example_dir/bad_dirname$)\x0c\x02\xb5AUg\xdf\xda')
34 self
.assertEqual(child
.get_name(),
35 'bad_dirname$)\x0c\x02\xb5AUg\xdf\xda/')
40 paths
= ['/tmp/pysize_example_dir/dir_symlink/hardlinks/0/%d' % i
for i
42 node
= pysize_fs_node
.create_node(None, paths
, 10, 1000)
43 self
.assertEqual(node
.get_fullname(),
44 '/tmp/pysize_example_dir/dir_symlink/hardlinks/0/{0,1,2,3,4,5,6,7,8,9}')
45 self
.assertEqual(node
.compute_height(), 3)
46 self
.assertEqual(node
.compute_depth(), 1)
47 self
.assertEqual(node
.minimum_real_size(), 4096)
48 self
.assertEqual(node
.get_dirname(),
49 '/tmp/pysize_example_dir/dir_symlink/hardlinks/0')
50 self
.failIf(node
.is_dir())
51 self
.assertEqual(checksum(node
), 502156)
52 child
= node
.children
[0]
53 self
.assertEqual(child
.get_fullname(),
54 '/tmp/pysize_example_dir/dir_symlink/hardlinks/0/0')
55 self
.assertEqual(child
.get_name(), '0/')
59 node
= pysize_fs_node
.create_node(None,
60 ['/tmp/pysize_example_dir/unreadable_file'], 10, 10000)
61 self
.assertEqual(node
.get_name(),
62 '/tmp/pysize_example_dir/unreadable_file')
63 self
.assertEqual(checksum(node
), 12434)
67 node
= pysize_fs_node
.create_node(None, None, None, None)
68 self
.assertEqual(node
.get_fullname(), '')