test/bin-test/test-dav-sync-hash-strategy.sh

Sun, 17 Dec 2023 14:25:34 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 17 Dec 2023 14:25:34 +0100
changeset 797
edbb20b1438d
parent 643
5b8643cf0a2f
permissions
-rwxr-xr-x

[Makefile] fix missing rules preventing dry-runs

We have to support dry-runs, because many IDEs are using
dry-runs to collect build information.

Some rules have dependencies that expect certain files or
directories to be just present. We added respective build
rules which invoke the test program. This way, the behavior
when running make normally is exactly the same, but dry-runs
are also not failing now.

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

mercurial