1a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root#!/bin/bash 2a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# 3a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# Copyright 2011, The Android Open Source Project 4a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# 5a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# Licensed under the Apache License, Version 2.0 (the "License"); 6a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# you may not use this file except in compliance with the License. 7a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# You may obtain a copy of the License at 8a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# 9a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# http://www.apache.org/licenses/LICENSE-2.0 10a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# 11a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# Unless required by applicable law or agreed to in writing, software 12a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# distributed under the License is distributed on an "AS IS" BASIS, 13a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# See the License for the specific language governing permissions and 15a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root# limitations under the License. 16a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 17a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootset -e 18a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 19a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootprefix=$0 20a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootlog_file=$prefix.log 21a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootbaseline_file=$prefix.baseline 22a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 23a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction cleanup_output() { 24a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root rm -f $log_file 25a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root rm -f $baseline_file 26a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 27a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 28a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction log() { 29a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root echo "$@" 30a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root append $log_file \# "$@" 31a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root append $baseline_file \# "$@" 32a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 33a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 34a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction expect() { 35a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root append $baseline_file "$@" 36a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 37a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 38a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction append() { 39a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root declare -r file=$1 40a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root shift 41a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root echo "$@" >> $file 42a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 43a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 44a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction run() { 45a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # strip out carriage returns from adb 46a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # strip out date/time from ls -l 47a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root "$@" | tr --delete '\r' | sed -E 's/[0-9]{4}-[0-9]{2}-[0-9]{2} +[0-9]{1,2}:[0-9]{2} //' >> $log_file 48a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 49a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 50a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction keystore() { 51a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root declare -r user=$1 52a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root shift 53a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root run adb shell su $user keystore_cli "$@" 54a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 55a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 56a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction list_keystore_directory() { 57a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root run adb shell ls -al /data/misc/keystore 58a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 59a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 60a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction compare() { 61a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "comparing $baseline_file and $log_file" 62a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root diff $baseline_file $log_file || (log $tag FAILED && exit 1) 63a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 64a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 65a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction test_basic() { 66a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 67a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 68a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # reset 69a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 70a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "reset keystore as system user" 71a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system r 72a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 73a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root list_keystore_directory 74a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 75a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 76a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # basic tests as system/root 77a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 78a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "root does not have permission to run test" 79a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore root t 80a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "6 Permission denied" 81a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 82a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "but system user does" 83a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system t 84a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "3 Uninitialized" 85a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root list_keystore_directory 86a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 87a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "password is now bar" 88a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system p bar 89a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 90a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root list_keystore_directory 91a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "-rw------- keystore keystore 84 .masterkey" 92a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 93a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "no error implies initialized and unlocked" 94a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system t 95a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 96a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 97a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "saw with no argument" 98a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system s 99a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "5 Protocol error" 100a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 101a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "saw nothing" 102a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system s "" 103a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 104a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 105a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "add key baz" 106a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system i baz quux 107a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 108a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 109a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "1000 is uid of system" 110a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root list_keystore_directory 111a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "-rw------- keystore keystore 84 .masterkey" 112a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "-rw------- keystore keystore 52 1000_baz" 113a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 114a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "saw baz" 115a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system s "" 116a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 117a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "baz" 118a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 119a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "get baz" 120a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system g baz 121a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 122a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "quux" 123a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 124a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "root can read system user keys (as can wifi or vpn users)" 125a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore root g baz 126a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 127a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "quux" 128a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 129a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 130a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # app user tests 131a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 132a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 133a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # app_0 has uid 10000, as seen below 134a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "other uses cannot see the system keys" 135a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 g baz 136a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "7 Key not found" 137a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 138a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "app user cannot use reset, password, lock, unlock" 139a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 r 140a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "6 Permission denied" 141a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 p 142a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "6 Permission denied" 143a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 l 144a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "6 Permission denied" 145a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 u 146a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "6 Permission denied" 147a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 148a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "install app_0 key" 149a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 i 0x deadbeef 150a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect 1 No error 151a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root list_keystore_directory 152a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "-rw------- keystore keystore 84 .masterkey" 153a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "-rw------- keystore keystore 52 10000_0x" 154a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "-rw------- keystore keystore 52 1000_baz" 155a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 156a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "get with no argument" 157a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 g 158a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "5 Protocol error" 159a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 160a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 g 0x 161a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 162a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "deadbeef" 163a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 164a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 i fred barney 165a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 166a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 167a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 s "" 168a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 169a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "0x" 170a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "fred" 171a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 172a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "note that saw returns the suffix of prefix matches" 173a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 s fr # fred 174a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 175a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "ed" # fred 176a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 177a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 178a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # lock tests 179a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 180a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "lock the store as system" 181a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system l 182a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 183a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system t 184a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "2 Locked" 185a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 186a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "saw works while locked" 187a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 s "" 188a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 189a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "0x" 190a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "fred" 191a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 192a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "...but cannot read keys..." 193a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 g 0x 194a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "2 Locked" 195a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 196a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "...but they can be deleted." 197a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 e 0x 198a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 199a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 d 0x 200a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 201a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore app_0 e 0x 202a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "7 Key not found" 203a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 204a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 205a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # password 206a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 207a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "wrong password" 208a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system u foo 209a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "13 Wrong password (4 tries left)" 210a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "right password" 211a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system u bar 212a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 213a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 214a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "make the password foo" 215a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system p foo 216a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 217a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 218a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 219a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # final reset 220a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # 221a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "reset wipes everything for all users" 222a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system r 223a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 224a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root list_keystore_directory 225a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 226a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system t 227a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "3 Uninitialized" 228a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 229a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 230a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 231a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction test_4599735() { 232a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root # http://b/4599735 233a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "start regression test for b/4599735" 234a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system r 235a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 236a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 237a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system p foo 238a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 239a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 240a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system i baz quux 241a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 242a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 243a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore root g baz 244a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 245a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "quux" 246a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 247a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system l 248a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 249a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 250a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system p foo 251a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 252a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 253a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "after unlock, regression led to result of '8 Value corrupted'" 254a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore root g baz 255a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 256a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "quux" 257a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 258a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root keystore system r 259a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root expect "1 No error" 260a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log "end regression test for b/4599735" 261a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 262a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 263a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootfunction main() { 264a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root cleanup_output 265a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log $tag START 266a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root test_basic 267a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root test_4599735 268a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root compare 269a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root log $tag PASSED 270a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root cleanup_output 271a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root} 272a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Root 273a91203b08350b2fc7efda5b1eab39e7541476b3aKenny Rootmain 274