| #!/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 |