summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adam Lesinski <adamlesinski@google.com> 2016-12-12 14:08:13 -0800
committer Adam Lesinski <adamlesinski@google.com> 2016-12-12 14:10:46 -0800
commit351471f928022fb22a1b19f9e5e647a7901152fd (patch)
tree890dadccf3947fe8cffba1315a3a1704c4eae143
parentd202a96073440c7d815a2de9f5136e0ef1e7e0e1 (diff)
libandroidfw: Make tests less flaky
Changing any of the test APKs could change resource IDs. The resource IDs are all made public and assigned an ID to avoid this issue. Test: make libandroidfw_tests Change-Id: Idd17c25f4ac86a0ad5b2b8da6f968e5d9b2346c1
-rw-r--r--libs/androidfw/tests/Split_test.cpp9
-rw-r--r--libs/androidfw/tests/data/basic/basic.apkbin2959 -> 2959 bytes
-rw-r--r--libs/androidfw/tests/data/basic/basic_de_fr.apkbin1516 -> 1516 bytes
-rw-r--r--libs/androidfw/tests/data/basic/basic_hdpi-v4.apkbin1298 -> 1298 bytes
-rw-r--r--libs/androidfw/tests/data/basic/basic_xhdpi-v4.apkbin1304 -> 1304 bytes
-rw-r--r--libs/androidfw/tests/data/basic/basic_xxhdpi-v4.apkbin1302 -> 1302 bytes
-rwxr-xr-xlibs/androidfw/tests/data/basic/build2
-rw-r--r--libs/androidfw/tests/data/basic/res/values/values.xml16
-rwxr-xr-xlibs/androidfw/tests/data/feature/build4
-rw-r--r--libs/androidfw/tests/data/feature/feature.apkbin1294 -> 1373 bytes
-rw-r--r--libs/androidfw/tests/data/feature/res/values/values.xml5
11 files changed, 30 insertions, 6 deletions
diff --git a/libs/androidfw/tests/Split_test.cpp b/libs/androidfw/tests/Split_test.cpp
index 1f207e2e6373..2c242dbd3e28 100644
--- a/libs/androidfw/tests/Split_test.cpp
+++ b/libs/androidfw/tests/Split_test.cpp
@@ -165,7 +165,7 @@ TEST_F(SplitTest, TypeEntrySpecFlagsAreUpdated) {
&specFlags, NULL);
EXPECT_GE(block, 0);
- EXPECT_EQ(static_cast<uint32_t>(0), specFlags);
+ EXPECT_EQ(static_cast<uint32_t>(ResTable_typeSpec::SPEC_PUBLIC), specFlags);
ASSERT_EQ(NO_ERROR, table.add(basic_de_fr_contents_.data(),
basic_de_fr_contents_.size()));
@@ -173,9 +173,10 @@ TEST_F(SplitTest, TypeEntrySpecFlagsAreUpdated) {
uint32_t frSpecFlags = 0;
block = table.getResource(R::string::test1, &val, MAY_NOT_BE_BAG, 0,
&frSpecFlags, NULL);
- EXPECT_GE(block, 0);
+ ASSERT_GE(block, 0);
- EXPECT_EQ(ResTable_config::CONFIG_LOCALE, frSpecFlags);
+ EXPECT_EQ(static_cast<uint32_t>(ResTable_config::CONFIG_LOCALE | ResTable_typeSpec::SPEC_PUBLIC),
+ frSpecFlags);
}
TEST_F(SplitTest, SelectBestDensity) {
@@ -222,7 +223,7 @@ TEST_F(SplitTest, TestNewResourceIsAccessible) {
table.add(feature_contents_.data(), feature_contents_.size()));
block = table.getResource(R::string::test3, &val, MAY_NOT_BE_BAG);
- EXPECT_GE(block, 0);
+ ASSERT_GE(block, 0);
EXPECT_EQ(Res_value::TYPE_STRING, val.dataType);
}
diff --git a/libs/androidfw/tests/data/basic/basic.apk b/libs/androidfw/tests/data/basic/basic.apk
index 2d71f5b5cb4c..2c9771b18934 100644
--- a/libs/androidfw/tests/data/basic/basic.apk
+++ b/libs/androidfw/tests/data/basic/basic.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/basic/basic_de_fr.apk b/libs/androidfw/tests/data/basic/basic_de_fr.apk
index 69a2f304db83..04814440e0f8 100644
--- a/libs/androidfw/tests/data/basic/basic_de_fr.apk
+++ b/libs/androidfw/tests/data/basic/basic_de_fr.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/basic/basic_hdpi-v4.apk b/libs/androidfw/tests/data/basic/basic_hdpi-v4.apk
index 011808bb108e..a8d06e7f3c19 100644
--- a/libs/androidfw/tests/data/basic/basic_hdpi-v4.apk
+++ b/libs/androidfw/tests/data/basic/basic_hdpi-v4.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/basic/basic_xhdpi-v4.apk b/libs/androidfw/tests/data/basic/basic_xhdpi-v4.apk
index 6d4353c8d830..d1dfb143f91b 100644
--- a/libs/androidfw/tests/data/basic/basic_xhdpi-v4.apk
+++ b/libs/androidfw/tests/data/basic/basic_xhdpi-v4.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/basic/basic_xxhdpi-v4.apk b/libs/androidfw/tests/data/basic/basic_xxhdpi-v4.apk
index e3bda88659fb..dca6f2fbc0ca 100644
--- a/libs/androidfw/tests/data/basic/basic_xxhdpi-v4.apk
+++ b/libs/androidfw/tests/data/basic/basic_xxhdpi-v4.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/basic/build b/libs/androidfw/tests/data/basic/build
index 68b911a3bc15..af0fd8787f48 100755
--- a/libs/androidfw/tests/data/basic/build
+++ b/libs/androidfw/tests/data/basic/build
@@ -17,6 +17,6 @@
set -e
-PATH_TO_FRAMEWORK_RES=$(gettop)/prebuilts/sdk/current/android.jar
+PATH_TO_FRAMEWORK_RES=${ANDROID_BUILD_TOP}/prebuilts/sdk/current/android.jar
aapt package -M AndroidManifest.xml -S res -I $PATH_TO_FRAMEWORK_RES --split hdpi --split xhdpi --split xxhdpi --split fr,de -F basic.apk -f
diff --git a/libs/androidfw/tests/data/basic/res/values/values.xml b/libs/androidfw/tests/data/basic/res/values/values.xml
index 75e0435e06fa..11f6b8adbdba 100644
--- a/libs/androidfw/tests/data/basic/res/values/values.xml
+++ b/libs/androidfw/tests/data/basic/res/values/values.xml
@@ -15,24 +15,40 @@
-->
<resources>
+ <public type="attr" name="attr1" id="0x7f010000" />
<attr name="attr1" format="reference|integer" />
+
+ <public type="attr" name="attr2" id="0x7f010001" />
<attr name="attr2" format="reference|integer" />
+ <public type="layout" name="main" id="0x7f020000" />
+
+ <public type="string" name="test1" id="0x7f030000" />
<string name="test1">test1</string>
+
+ <public type="string" name="test2" id="0x7f030001" />
<string name="test2">test2</string>
+ <public type="string" name="density" id="0x7f030002" />
+
+ <public type="integer" name="number1" id="0x7f040000" />
<integer name="number1">200</integer>
+
+ <public type="integer" name="number2" id="0x7f040001" />
<integer name="number2">@array/integerArray1</integer>
+ <public type="style" name="Theme1" id="0x7f050000" />
<style name="Theme1">
<item name="com.android.basic:attr1">100</item>
<item name="com.android.basic:attr2">@integer/number1</item>
</style>
+ <public type="style" name="Theme2" id="0x7f050001" />
<style name="Theme2" parent="@com.android.basic:style/Theme1">
<item name="com.android.basic:attr1">300</item>
</style>
+ <public type="array" name="integerArray1" id="0x7f060000" />
<integer-array name="integerArray1">
<item>1</item>
<item>2</item>
diff --git a/libs/androidfw/tests/data/feature/build b/libs/androidfw/tests/data/feature/build
index 3316e41cd292..6ed3e416fb10 100755
--- a/libs/androidfw/tests/data/feature/build
+++ b/libs/androidfw/tests/data/feature/build
@@ -17,4 +17,6 @@
set -e
-aapt package -M AndroidManifest.xml -S res --feature-of ../basic/basic.apk -F feature.apk -f
+PATH_TO_FRAMEWORK_RES=${ANDROID_BUILD_TOP}/prebuilts/sdk/current/android.jar
+
+aapt package -M AndroidManifest.xml -S res -I $PATH_TO_FRAMEWORK_RES --feature-of ../basic/basic.apk -F feature.apk -f
diff --git a/libs/androidfw/tests/data/feature/feature.apk b/libs/androidfw/tests/data/feature/feature.apk
index 1e65c2732ebf..04940fb9bce2 100644
--- a/libs/androidfw/tests/data/feature/feature.apk
+++ b/libs/androidfw/tests/data/feature/feature.apk
Binary files differ
diff --git a/libs/androidfw/tests/data/feature/res/values/values.xml b/libs/androidfw/tests/data/feature/res/values/values.xml
index 343fd6c8389f..59f7d93ee389 100644
--- a/libs/androidfw/tests/data/feature/res/values/values.xml
+++ b/libs/androidfw/tests/data/feature/res/values/values.xml
@@ -15,8 +15,13 @@
-->
<resources>
+ <!-- Features are offset, so 7f020000 will become 7f080000 at runtime. -->
+ <public type="string" name="test3" id="0x7f020000" />
<string name="test3">test3</string>
+
+ <public type="string" name="test4" id="0x7f020001" />
<string name="test4">test4</string>
+ <public type="integer" name="number3" id="0x7f030000" />
<integer name="number3">200</integer>
</resources>