1#!/bin/bash
2
3# Copyright (C) 2009 The Android Open Source Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#      http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17# uncomment for debugging
18#export DRY_RUN="echo"
19source test_backup_common.sh
20
21# figure out what packages are participating in backup
22b_pkgs=$(a shell dumpsys backup | \
23         ruby -e 'p_stanza = STDIN.read.match(/Participants:.*?(?=Ever)/m)[0]
24                  puts p_stanza.scan(/^    (.+?)\s*$/).flatten.join(" ")')
25
26# wipe data for the package participating in backup
27for pkg in $b_pkgs; do
28    a shell bmgr wipe "$pkg"
29done
30
31echo 'Waiting 5 seconds for things to settle...'
32sleep 5
33
34# run adb as root so we can poke at com.android.backuptest's data
35adb_root
36
37# show commands as we go
38set -x
39
40# set the transport
41#a shell bmgr transport com.google.android.backup/.BackupTransportService
42
43# load up the three files
44a shell \
45   "rm /data/data/com.android.backuptest/files/file.txt ; \
46    rm /data/data/com.android.backuptest/files/another_file.txt ; \
47    rm /data/data/com.android.backuptest/files/empty.txt ; \
48    mkdir /data/data/com.android.backuptest ; \
49    mkdir /data/data/com.android.backuptest/files ; \
50    mkdir /data/data/com.android.backuptest/shared_prefs ; \
51    echo -n \"<map><int name=\\\"pref\\\" value=\\\"1\\\" /></map>\" \
52            > /data/data/com.android.backuptest/shared_prefs/raw.xml ; \
53    echo -n first file > /data/data/com.android.backuptest/files/file.txt ; \
54    echo -n asdf > /data/data/com.android.backuptest/files/another_file.txt ; \
55    echo -n "" > /data/data/com.android.backuptest/files/empty.txt ; \
56    date >> /data/data/com.android.backuptest/files/3.txt ; \
57"
58#    echo -n 3 > /data/data/com.android.backuptest/files/3.txt ; \
59
60# say that the data has changed
61a shell bmgr backup com.android.backuptest
62
63# run the backup
64a shell bmgr run
65
66