syntax: Replace -a and -o with && and || for portability.
[libguestfs.git] / regressions / test-copy.sh
1 #!/bin/bash -
2 # libguestfs
3 # Copyright (C) 2010 Red Hat Inc.
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18
19 # Test guestfish copy-in and copy-out commands.
20
21 set -e
22
23 rm -f test1.img
24 rm -rf copy
25
26 output=$(
27 ../fish/guestfish -N fs -m /dev/sda1 <<EOF
28 mkdir /data
29 # This creates a directory /data/images/
30 copy-in ../images /data
31 is-file /data/images/known-1
32 is-file /data/images/known-3
33 is-file /data/images/known-5
34 is-symlink /data/images/abssymlink
35 is-file /data/known-1
36 is-file /known-1
37 EOF
38 )
39
40 if [ "$output" != \
41 "true
42 true
43 true
44 true
45 false
46 false" ]; then
47     echo "$0: error: output of guestfish after copy-in command did not match expected output"
48     echo "$output"
49     exit 1
50 fi
51
52 mkdir copy
53
54 ../fish/guestfish --ro -a test1.img -m /dev/sda1 <<EOF
55 copy-out /data/images copy
56 EOF
57
58 if test ! -f copy/images/known-1 || \
59    test ! -f copy/images/known-3 || \
60    test ! -f copy/images/known-5 || \
61    test ! -L copy/images/abssymlink || \
62    test -f copy/known-1 || \
63    test -f known-1
64 then
65     echo "$0: error: copy-out command failed"
66     exit 1
67 fi
68
69 rm -f test1.img
70 rm -rf copy