Sun, 17 Dec 2023 15:33:50 +0100
fix faulty string to int conversion utilities
Probably it was expected that errno is set to EINVAL when illegal characters are encountered. But this is not standard and does not happen on every system, allowing illegal strings to be parsed as valid integers.
643
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
1 | #!/bin/sh |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
2 | # |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
4 | # |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
5 | # Copyright 2019 Olaf Wintermann. All rights reserved. |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
6 | # |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
7 | # Redistribution and use in source and binary forms, with or without |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
8 | # modification, are permitted provided that the following conditions are met: |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
9 | # |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
10 | # 1. Redistributions of source code must retain the above copyright |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
11 | # notice, this list of conditions and the following disclaimer. |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
12 | # |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
13 | # 2. Redistributions in binary form must reproduce the above copyright |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
14 | # notice, this list of conditions and the following disclaimer in the |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
15 | # documentation and/or other materials provided with the distribution. |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
16 | # |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
17 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
18 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
19 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
20 | # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
21 | # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
22 | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
23 | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
24 | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
25 | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
26 | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
27 | # POSSIBILITY OF SUCH DAMAGE. |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
28 | # |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
29 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
30 | if [ -z "$DAV_BIN" ]; |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
31 | then |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
32 | echo "DAV_BIN variable not set" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
33 | exit 1 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
34 | fi |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
35 | if [ -z "$DAV_SYNC_BIN" ]; |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
36 | then |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
37 | echo "DAV_BIN variable not set" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
38 | exit 1 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
39 | fi |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
40 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
41 | # checks if tmp-sync/out.txt contains a specific text |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
42 | # arg1: pattern |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
43 | # arg2: errormsg |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
44 | check_tmpout() |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
45 | { |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
46 | TEST=`cat tmp-sync/out.txt | grep "$1"` |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
47 | if [ $? -ne 0 ]; |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
48 | then |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
49 | echo "$2" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
50 | exit 2 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
51 | fi |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
52 | } |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
53 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
54 | # do dav-sync push and check return value |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
55 | # arg1: dir |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
56 | # arg2: errormsg |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
57 | dav_sync_push() |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
58 | { |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
59 | $DAV_SYNC_BIN push $1 > tmp-sync/out.txt |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
60 | if [ $? -ne 0 ]; |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
61 | then |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
62 | echo "$2" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
63 | exit 2 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
64 | fi |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
65 | } |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
66 | # do dav-sync pull and check return value |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
67 | # arg1: dir |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
68 | # arg2: errormsg |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
69 | dav_sync_pull() |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
70 | { |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
71 | $DAV_SYNC_BIN pull $1 > tmp-sync/out.txt |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
72 | if [ $? -ne 0 ]; |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
73 | then |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
74 | echo "$2" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
75 | exit 2 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
76 | fi |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
77 | } |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
78 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
79 | rm -f .dav/dav-sync-tests-test2a-db.xml |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
80 | rm -f .dav/dav-sync-tests-test2b-db.xml |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
81 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
82 | $DAV_BIN rm dav-test-repo/sync/test2 2> /dev/null |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
83 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
84 | $DAV_BIN mkcol dav-test-repo/sync/test2 2> /dev/null |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
85 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
86 | # tmp sync dir |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
87 | rm -Rf tmp-sync |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
88 | mkdir tmp-sync |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
89 | mkdir tmp-sync/test2a |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
90 | mkdir tmp-sync/test2b |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
91 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
92 | # ---------------------------------------------------------------------------- |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
93 | # test 1: add 4 files, push, pull (not really an hashing test) |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
94 | # expected result: 4 files pushed, 4 files pulled |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
95 | # same as hashing test 1 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
96 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
97 | mkdir tmp-sync/test2a/dir1/ |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
98 | mkdir tmp-sync/test2a/dir1/subdir1/ |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
99 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
100 | cp synctest/file1 tmp-sync/test2a/ |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
101 | cp synctest/file2 tmp-sync/test2a/dir1/ |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
102 | cp synctest/file3 tmp-sync/test2a/dir1/subdir1 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
103 | cp synctest/file4 tmp-sync/test2a/dir1/subdir1 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
104 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
105 | touch -t 01011205 tmp-sync/test2a/file1 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
106 | touch -t 01021204 tmp-sync/test2a/dir1/file2 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
107 | touch -t 01031203 tmp-sync/test2a/dir1/subdir1/file3 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
108 | touch -t 01041202 tmp-sync/test2a/dir1/subdir1/file4 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
109 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
110 | dav_sync_push test2ah "test 1: push failed" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
111 | check_tmpout "4 files pushed" "test 1: wrong push counter" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
112 | check_tmpout "0 conflicts" "test 1: wrong conflict counter (push)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
113 | check_tmpout "0 errors" "test 1: wrong error counter (push)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
114 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
115 | dav_sync_pull test2bh "test 1: pull failed" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
116 | check_tmpout "4 files pulled" "test 1: wrong pull counter" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
117 | check_tmpout "0 conflicts" "test 1: wrong conflict counter (pull)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
118 | check_tmpout "0 errors" "test 1: wrong error counter (pull)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
119 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
120 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
121 | # ---------------------------------------------------------------------------- |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
122 | # test 2: change content of two files, don't change mtime |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
123 | # expected result: 2 files pushed |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
124 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
125 | echo "test2-change1-f1" >> tmp-sync/test2a/file1 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
126 | echo "test2-change1-f2" >> tmp-sync/test2a/dir1/file2 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
127 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
128 | touch -t 01011205 tmp-sync/test2a/file1 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
129 | touch -t 01021204 tmp-sync/test2a/dir1/file2 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
130 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
131 | dav_sync_push test2ah "test 2: push failed" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
132 | check_tmpout "2 files pushed" "test 2: wrong push counter" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
133 | check_tmpout "0 conflicts" "test 2: wrong conflict counter (push)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
134 | check_tmpout "0 errors" "test 2: wrong error counter (push)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
135 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
136 | dav_sync_pull test2bh "test 2: pull failed" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
137 | check_tmpout "2 files pulled" "test 2: wrong pull counter" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
138 | check_tmpout "0 conflicts" "test 2: wrong conflict counter (pull)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
139 | check_tmpout "0 errors" "test 2: wrong error counter (pull)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
140 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
141 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
142 | # ---------------------------------------------------------------------------- |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
143 | # test 3: touch file3, change file4 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
144 | # expected result: only file4 pushed |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
145 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
146 | touch tmp-sync/test2a/dir1/subdir1/file3 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
147 | echo "test3-change1-f4" >> tmp-sync/test2a/dir1/subdir1/file4 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
148 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
149 | dav_sync_push test2ah "test 3: push failed" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
150 | check_tmpout "1 file pushed" "test 3: wrong push counter" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
151 | check_tmpout "0 conflicts" "test 3: wrong conflict counter (push)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
152 | check_tmpout "0 errors" "test 3: wrong error counter (push)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
153 | check_tmpout "file4" "test 3: file 4 not pushed" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
154 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
155 | dav_sync_pull test2bh "test 3: pull failed" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
156 | check_tmpout "1 file pulled" "test 3: wrong pull counter" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
157 | check_tmpout "0 conflicts" "test 3: wrong conflict counter (pull)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
158 | check_tmpout "0 errors" "test 3: wrong error counter (pull)" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
159 | |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
160 | diff tmp-sync/test2a/dir1/subdir1/file4 tmp-sync/test2b/dir1/subdir1/file4 > /dev/null 2>&1 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
161 | if [ $? -ne 0 ]; then |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
162 | echo "test 4: file4 not equal" |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
163 | exit 2 |
5b8643cf0a2f
implement hash push strategy and add some tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff
changeset
|
164 | fi |