tests/test-tools.t
changeset 23860 bead0c7b4f68
child 23867 049a9e3a078d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-tools.t	Wed Jan 14 01:15:26 2015 +0100
@@ -0,0 +1,87 @@
+Tests of the file helper tool
+
+  $ f -h
+  Usage: f [options] [filenames]
+  
+  Options:
+    -h, --help            show this help message and exit
+    -t, --type            show file type (file or directory)
+    -m, --mode            show file mode
+    -l, --links           show number of links
+    -s, --size            show size of file
+    -n NEWER, --newer=NEWER
+                          check if file is newer (or same)
+    -r, --recurse         recurse into directories
+    -S, --sha1            show sha1 hash of the content
+    -M, --md5             show md5 hash of the content
+    -D, --dump            dump file content
+    -H, --hexdump         hexdump file content
+    -B BYTES, --bytes=BYTES
+                          number of characters to dump
+    -L LINES, --lines=LINES
+                          number of lines to dump
+    -q, --quiet           no default output
+
+  $ mkdir dir
+  $ cd dir
+
+  $ f --size
+  size=0
+
+  $ echo hello | f --md5 --size
+  size=6, md5=b1946ac92492d2347c6235b4d2611184
+
+  $ f foo
+  foo: file not found
+
+  $ echo foo > foo
+  $ f foo
+  foo:
+
+  $ f foo --mode
+  foo: mode=644
+
+  $ seq 10 > bar
+  $ chmod +x bar
+  $ f bar --newer foo --mode --type --size --dump --links --bytes 7
+  bar: file, size=21, mode=755, links=1, newer than foo
+  >>>
+  1
+  2
+  3
+  4
+  <<< no trailing newline
+
+  $ ln bar baz
+  $ f bar -n baz -l --hexdump -t --sha1 --lines=9 -B 20
+  bar: file, links=2, newer than baz, sha1=612ca68d0305c821750a
+  0000: 31 0a 32 0a 33 0a 34 0a 35 0a 36 0a 37 0a 38 0a |1.2.3.4.5.6.7.8.|
+  0010: 39 0a                                           |9.|
+
+  $ ln -s yadda l
+  $ f . --recurse -MStmsB4
+  .: directory with 4 files, size=120, mode=755
+  ./bar: file, size=21, mode=755, md5=3b03, sha1=612c
+  ./baz: file, size=21, mode=755, md5=3b03, sha1=612c
+  ./foo: file, size=4, mode=644, md5=d3b0, sha1=f1d2
+  ./l: link, size=5, mode=777, md5=2faa, sha1=af93
+
+  $ f --quiet bar -DL 3
+  1
+  2
+  3
+
+  $ cd ..
+
+  $ f -qr dir -HB 17
+  dir: directory with 4 files
+  dir/bar:
+  0000: 31 0a 32 0a 33 0a 34 0a 35 0a 36 0a 37 0a 38 0a |1.2.3.4.5.6.7.8.|
+  0010: 39                                              |9|
+  dir/baz:
+  0000: 31 0a 32 0a 33 0a 34 0a 35 0a 36 0a 37 0a 38 0a |1.2.3.4.5.6.7.8.|
+  0010: 39                                              |9|
+  dir/foo:
+  0000: 66 6f 6f 0a                                     |foo.|
+  dir/l:
+  0000: 79 61 64 64 61                                  |yadda|