| #!/bin/bash | |
| # | |
| # Copyright (C) 2019 The Android Open Source Project | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| # | |
| function _log() | |
| { | |
| echo -e "$*" >&2 | |
| } | |
| function _eval() | |
| { | |
| local label="$1" | |
| local cmd="$2" | |
| local red="\e[31m" | |
| local green="\e[32m" | |
| local reset="\e[0m" | |
| local output | |
| _log "${green}[ RUN ]${reset} ${label}" | |
| output="$(eval "$cmd" 2>&1)" | |
| if [[ $? -eq 0 ]]; then | |
| _log "${green}[ OK ]${reset} ${label}" | |
| return 0 | |
| else | |
| echo "${output}" | |
| _log "${red}[ FAILED ]${reset} ${label}" | |
| errors=$((errors + 1)) | |
| return 1 | |
| fi | |
| } | |
| errors=0 | |
| script="$(readlink -f "$BASH_SOURCE")" | |
| prefix="$(dirname "$script")" | |
| target_path="${prefix}/tests/data/target/target.apk" | |
| overlay_path="${prefix}/tests/data/overlay/overlay.apk" | |
| idmap_path="/tmp/a.idmap" | |
| valgrind="valgrind --error-exitcode=1 -q --track-origins=yes --leak-check=full" | |
| _eval "idmap2 create" "$valgrind idmap2 create --policy public --target-apk-path $target_path --overlay-apk-path $overlay_path --idmap-path $idmap_path" | |
| _eval "idmap2 dump" "$valgrind idmap2 dump --idmap-path $idmap_path" | |
| _eval "idmap2 lookup" "$valgrind idmap2 lookup --idmap-path $idmap_path --config '' --resid test.target:string/str1" | |
| _eval "idmap2_tests" "$valgrind $ANDROID_HOST_OUT/nativetest64/idmap2_tests/idmap2_tests" | |
| exit $errors |