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