diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/android/build_incremental_dexmanifest_test.sh | 36 | ||||
-rwxr-xr-x | tools/android/strip_resources_test.sh | 45 |
2 files changed, 81 insertions, 0 deletions
diff --git a/tools/android/build_incremental_dexmanifest_test.sh b/tools/android/build_incremental_dexmanifest_test.sh new file mode 100755 index 0000000000..44459ebf03 --- /dev/null +++ b/tools/android/build_incremental_dexmanifest_test.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# +# Copyright 2015 The Bazel Authors. All rights reserved. +# +# 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. + +set -eux + +CUT="$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)/build_incremental_dexmanifest" +ZIPPER=$(pwd)/$1 + +cd $TEST_TMPDIR +echo 1 > 1.dex +echo 2 > 2.dex +echo 3 > 3.dex +echo 4 > 4.dex + +$ZIPPER c 1.zip 1.dex 2.dex +$ZIPPER c 2.zip 3.dex + +$CUT output.manifest 1.zip 2.zip 4.dex +IFS=$'\n' MANIFEST=($(cat output.manifest | cut -d' ' -f1-3)) +[[ ${MANIFEST[0]} == "1.zip 1.dex incremental_classes1.dex" ]] +[[ ${MANIFEST[1]} == "1.zip 2.dex incremental_classes2.dex" ]] +[[ ${MANIFEST[2]} == "2.zip 3.dex incremental_classes3.dex" ]] +[[ ${MANIFEST[3]} == "4.dex - incremental_classes4.dex" ]] diff --git a/tools/android/strip_resources_test.sh b/tools/android/strip_resources_test.sh new file mode 100755 index 0000000000..1a42b880aa --- /dev/null +++ b/tools/android/strip_resources_test.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# +# Copyright 2015 The Bazel Authors. All rights reserved. +# +# 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. +set -eux + +CUT="$(cd $(dirname ${BASH_SOURCE[0]}) && pwd)/strip_resources" +ZIPPER=$(pwd)/$1 + + +# set up input zip +cd $TEST_TMPDIR +mkdir i +echo MANIFEST > i/AndroidManifest.xml +echo CLASSES.DEX > i/classes.dex +echo ARSC > i/resources.arsc +(cd i; $ZIPPER c i.zip *) + +# Invoke code under test +$CUT --input_resource_apk i/i.zip --output_resource_apk o.zip + +# Unpack output zip +mkdir o +(cd o; $ZIPPER x ../o.zip) + +# Set read permission +chmod u+r o/AndroidManifest.xml + +# Check if AndroidManifest.xml is unchanged and that no other files are present +cmp i/AndroidManifest.xml o/AndroidManifest.xml +[[ ! -e o/classes.dex ]] +[[ ! -e o/resources.arsc ]] + +exit 0 |