Home | History | Annotate | Download | only in backup
      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"
     19 source test_backup_common.sh
     20 
     21 # figure out what packages are participating in backup
     22 b_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
     27 for pkg in $b_pkgs; do
     28     a shell bmgr wipe "$pkg"
     29 done
     30 
     31 echo 'Waiting 5 seconds for things to settle...'
     32 sleep 5
     33 
     34 # run adb as root so we can poke at com.android.backuptest's data
     35 adb_root
     36 
     37 # show commands as we go
     38 set -x
     39 
     40 # set the transport
     41 #a shell bmgr transport com.google.android.backup/.BackupTransportService
     42 
     43 # load up the three files
     44 a 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
     61 a shell bmgr backup com.android.backuptest
     62 
     63 # run the backup
     64 a shell bmgr run
     65 
     66