OSDN Git Service

* tests/lha-test8: test MS-DOS timestamp `ftime' structure.
[lha/lha.git] / tests / lha-test8
index 2b863fb..615d6ca 100644 (file)
 # -*- shell-script -*-
+FILENAME=lha-test8
 message testing timestamp
-$lha c test-tmp.lzh test-[abc]
-                                                       check $?
+# level 0 header
+$lha c0 test-tmp-h0.lzh test-[abc]
+                                                       check $? $LINENO
 # show time stamp
-$lha v test-tmp.lzh
+$lha vv test-tmp-h0.lzh
 ls -l test-[abc]
 
-$lha xw=test-tmp test-tmp.lzh
-                                                       check $?
-diff -r test-1 test-tmp
-                                                       check $?
-test test-a -nt test-tmp/test-a ||
-test test-a -ot test-tmp/test-a ||
-test test-b -nt test-tmp/test-b ||
-test test-b -ot test-tmp/test-b ||
-test test-c -nt test-tmp/test-c ||
-test test-c -ot test-tmp/test-c
+$lha xw=test-tmp-h0 test-tmp-h0.lzh
+                                                       check $? $LINENO
+diff -r test-1 test-tmp-h0
+                                                       check $? $LINENO
+test test-a -nt test-tmp-h0/test-a ||
+test test-a -ot test-tmp-h0/test-a ||
+test test-b -nt test-tmp-h0/test-b ||
+test test-b -ot test-tmp-h0/test-b ||
+test test-c -nt test-tmp-h0/test-c ||
+test test-c -ot test-tmp-h0/test-c
 test $? -ne 0
-                                                       check $?
+                                                       check $? $LINENO
+
+# level 1 header
+$lha c1 test-tmp-h1.lzh test-[abc]
+                                                       check $? $LINENO
+# show time stamp
+$lha vv test-tmp-h1.lzh
+ls -l test-[abc]
+
+$lha xw=test-tmp-h1 test-tmp-h1.lzh
+                                                       check $? $LINENO
+diff -r test-1 test-tmp-h1
+                                                       check $? $LINENO
+test test-a -nt test-tmp-h1/test-a ||
+test test-a -ot test-tmp-h1/test-a ||
+test test-b -nt test-tmp-h1/test-b ||
+test test-b -ot test-tmp-h1/test-b ||
+test test-c -nt test-tmp-h1/test-c ||
+test test-c -ot test-tmp-h1/test-c
+test $? -ne 0
+                                                       check $? $LINENO
+
+# level 2 header
+$lha c1 test-tmp-h2.lzh test-[abc]
+                                                       check $? $LINENO
+# show time stamp
+$lha vv test-tmp-h2.lzh
+ls -l test-[abc]
+
+$lha xw=test-tmp-h2 test-tmp-h2.lzh
+                                                       check $? $LINENO
+diff -r test-1 test-tmp-h2
+                                                       check $? $LINENO
+test test-a -nt test-tmp-h2/test-a ||
+test test-a -ot test-tmp-h2/test-a ||
+test test-b -nt test-tmp-h2/test-b ||
+test test-b -ot test-tmp-h2/test-b ||
+test test-c -nt test-tmp-h2/test-c ||
+test test-c -ot test-tmp-h2/test-c
+test $? -ne 0
+                                                       check $? $LINENO
+
+# Note: level 0, 1 header (generic) format use the MS-DOS `ftime'
+# structure, so it cannot save odd seconds.
+
+# set even seconds timestamp
+cp test-a test-tmp-a &&
+cp test-b test-tmp-b &&
+cp test-c test-tmp-c &&
+change_timestamp 01020304.02 test-tmp-a &&
+change_timestamp 01020304.04 test-tmp-b &&
+change_timestamp 01020304.06 test-tmp-c
+                                                       check $? $LINENO
+
+# level 0 header (generic)
+$lha cg0 test-tmp-hg0.lzh test-tmp-[abc]
+                                                       check $? $LINENO
+# show time stamp
+$lha vv test-tmp-hg0.lzh
+ls -l test-tmp-[abc]
+
+$lha xw=test-tmp-hg0 test-tmp-hg0.lzh
+                                                       check $? $LINENO
+diff test-tmp-a test-tmp-hg0/test-tmp-a &&
+diff test-tmp-b test-tmp-hg0/test-tmp-b &&
+diff test-tmp-c test-tmp-hg0/test-tmp-c
+                                                       check $? $LINENO
+test test-tmp-a -nt test-tmp-hg0/test-tmp-a ||
+test test-tmp-a -ot test-tmp-hg0/test-tmp-a ||
+test test-tmp-b -nt test-tmp-hg0/test-tmp-b ||
+test test-tmp-b -ot test-tmp-hg0/test-tmp-b ||
+test test-tmp-c -nt test-tmp-hg0/test-tmp-c ||
+test test-tmp-c -ot test-tmp-hg0/test-tmp-c
+test $? -ne 0
+                                                       check $? $LINENO
+
+# level 1 header (generic)
+$lha cg1 test-tmp-hg1.lzh test-tmp-[abc]
+                                                       check $? $LINENO
+# show time stamp
+$lha vv test-tmp-hg1.lzh
+ls -l test-tmp-[abc]
+
+$lha xw=test-tmp-hg1 test-tmp-hg1.lzh
+                                                       check $? $LINENO
+diff test-tmp-a test-tmp-hg0/test-tmp-a &&
+diff test-tmp-b test-tmp-hg0/test-tmp-b &&
+diff test-tmp-c test-tmp-hg0/test-tmp-c
+                                                       check $? $LINENO
+test test-tmp-a -nt test-tmp-hg1/test-tmp-a ||
+test test-tmp-a -ot test-tmp-hg1/test-tmp-a ||
+test test-tmp-b -nt test-tmp-hg1/test-tmp-b ||
+test test-tmp-b -ot test-tmp-hg1/test-tmp-b ||
+test test-tmp-c -nt test-tmp-hg1/test-tmp-c ||
+test test-tmp-c -ot test-tmp-hg1/test-tmp-c
+test $? -ne 0
+                                                       check $? $LINENO