|
1 #!/bin/sh |
|
2 # |
|
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
|
4 # |
|
5 # Copyright 2019 Olaf Wintermann. All rights reserved. |
|
6 # |
|
7 # Redistribution and use in source and binary forms, with or without |
|
8 # modification, are permitted provided that the following conditions are met: |
|
9 # |
|
10 # 1. Redistributions of source code must retain the above copyright |
|
11 # notice, this list of conditions and the following disclaimer. |
|
12 # |
|
13 # 2. Redistributions in binary form must reproduce the above copyright |
|
14 # notice, this list of conditions and the following disclaimer in the |
|
15 # documentation and/or other materials provided with the distribution. |
|
16 # |
|
17 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|
18 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
19 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
20 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
|
21 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
|
22 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
|
23 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
|
24 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
25 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
|
26 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
|
27 # POSSIBILITY OF SUCH DAMAGE. |
|
28 # |
|
29 |
|
30 if [ $# -lt 2 ]; |
|
31 then |
|
32 echo "usage:" $0 "<dav-binary> <dav-sync-binary>" |
|
33 exit 1 |
|
34 fi |
|
35 |
|
36 # check if binaries exist |
|
37 which $1 > /dev/null |
|
38 if [ $? -ne 0 ]; |
|
39 then |
|
40 exit 1 |
|
41 fi |
|
42 which $2 > /dev/null |
|
43 if [ $? -ne 0 ]; |
|
44 then |
|
45 exit 1 |
|
46 fi |
|
47 |
|
48 DAV_BIN=$1 |
|
49 DAV_SYNC_BIN=$2 |
|
50 export DAV_BIN |
|
51 export DAV_SYNC_BIN |
|
52 |
|
53 # create config |
|
54 rm -Rf .dav |
|
55 cp -R $HOME/.dav/ .dav/ |
|
56 cp dav-home/sync.xml .dav/sync.xml |
|
57 export HOME=`pwd` |
|
58 |
|
59 # tmp sync dir |
|
60 rm -Rf tmp-sync |
|
61 mkdir tmp-sync |
|
62 mkdir tmp-sync/test1a |
|
63 mkdir tmp-sync/test1b |
|
64 |
|
65 # check if config works |
|
66 TEST1_DIR=`$DAV_SYNC_BIN list-dirs | grep test1a | tail -n 1` |
|
67 if [ -z $TEST1_DIR ]; |
|
68 then |
|
69 echo "Config not working" |
|
70 rm -Rf .dav |
|
71 rm -Rf tmp-sync |
|
72 exit 1 |
|
73 fi |
|
74 |
|
75 # clean test repo and files |
|
76 $DAV_BIN rm -N dav-test-repo/tests/ 2> /dev/null |
|
77 $DAV_BIN rm -N dav-test-repo/sync/ 2> /dev/null |
|
78 |
|
79 do_test() |
|
80 { |
|
81 printf "TEST: $1 ... " |
|
82 ./$2 |
|
83 if [ $? -ne 0 ]; then |
|
84 rm -Rf .dav |
|
85 exit 2 |
|
86 fi |
|
87 echo ok |
|
88 } |
|
89 |
|
90 # |
|
91 # ok, begin the tests |
|
92 # |
|
93 do_test "dav-sync push (1)" test-dav-sync-push1.sh |
|
94 |
|
95 # cleanup |
|
96 rm -Rf .dav |
|
97 rm -Rf tmp-sync |
|
98 |