summaryrefslogtreecommitdiff
path: root/tests/UpdatableSystemFontTest
diff options
context:
space:
mode:
authorKohsuke Yatoh <kyatoh@google.com>2021-04-08 12:54:29 -0700
committerKohsuke Yatoh <kyatoh@google.com>2021-04-08 12:58:57 -0700
commitbd636d839155abf3b3d2114f096105bc5f70f5df (patch)
treeafa4d1f0af97421767704465145b6a13efcea9a0 /tests/UpdatableSystemFontTest
parent4a50c4e8470fa7677731c1ddb4839f4009ee3d44 (diff)
Allow same version update.
Bug: 184862662 Test: atest FrameworksServicesTests:UpdatableFontDirTest Test: atest UpdatableSystemFontTest Change-Id: Ic955e2713c08e4c258d61cd3b597a472e1e3298c
Diffstat (limited to 'tests/UpdatableSystemFontTest')
-rw-r--r--tests/UpdatableSystemFontTest/Android.bp21
-rw-r--r--tests/UpdatableSystemFontTest/AndroidTest.xml10
-rw-r--r--tests/UpdatableSystemFontTest/src/com/android/updatablesystemfont/UpdatableSystemFontTest.java73
-rw-r--r--tests/UpdatableSystemFontTest/testdata/Android.bp54
4 files changed, 105 insertions, 53 deletions
diff --git a/tests/UpdatableSystemFontTest/Android.bp b/tests/UpdatableSystemFontTest/Android.bp
index d4f1ad317d31..8b0ae5c37bae 100644
--- a/tests/UpdatableSystemFontTest/Android.bp
+++ b/tests/UpdatableSystemFontTest/Android.bp
@@ -24,18 +24,27 @@ package {
java_test_host {
name: "UpdatableSystemFontTest",
srcs: ["src/**/*.java"],
- libs: ["tradefed", "compatibility-tradefed", "compatibility-host-util"],
+ libs: [
+ "tradefed",
+ "compatibility-tradefed",
+ "compatibility-host-util",
+ ],
static_libs: [
"frameworks-base-hostutils",
],
- test_suites: ["general-tests", "vts"],
+ test_suites: [
+ "general-tests",
+ "vts",
+ ],
data: [
":NotoColorEmojiTtf",
":UpdatableSystemFontTestCertDer",
":UpdatableSystemFontTestNotoColorEmojiTtfFsvSig",
- ":UpdatableSystemFontTestNotoColorEmojiV1Ttf",
- ":UpdatableSystemFontTestNotoColorEmojiV1TtfFsvSig",
- ":UpdatableSystemFontTestNotoColorEmojiV2Ttf",
- ":UpdatableSystemFontTestNotoColorEmojiV2TtfFsvSig",
+ ":UpdatableSystemFontTestNotoColorEmojiV0Ttf",
+ ":UpdatableSystemFontTestNotoColorEmojiV0TtfFsvSig",
+ ":UpdatableSystemFontTestNotoColorEmojiVPlus1Ttf",
+ ":UpdatableSystemFontTestNotoColorEmojiVPlus1TtfFsvSig",
+ ":UpdatableSystemFontTestNotoColorEmojiVPlus2Ttf",
+ ":UpdatableSystemFontTestNotoColorEmojiVPlus2TtfFsvSig",
],
}
diff --git a/tests/UpdatableSystemFontTest/AndroidTest.xml b/tests/UpdatableSystemFontTest/AndroidTest.xml
index efe5d703880c..d573e93e4a4c 100644
--- a/tests/UpdatableSystemFontTest/AndroidTest.xml
+++ b/tests/UpdatableSystemFontTest/AndroidTest.xml
@@ -24,10 +24,12 @@
<option name="push" value="UpdatableSystemFontTestCert.der->/data/local/tmp/UpdatableSystemFontTestCert.der" />
<option name="push" value="NotoColorEmoji.ttf->/data/local/tmp/NotoColorEmoji.ttf" />
<option name="push" value="UpdatableSystemFontTestNotoColorEmoji.ttf.fsv_sig->/data/local/tmp/UpdatableSystemFontTestNotoColorEmoji.ttf.fsv_sig" />
- <option name="push" value="UpdatableSystemFontTestNotoColorEmojiV1.ttf->/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV1.ttf" />
- <option name="push" value="UpdatableSystemFontTestNotoColorEmojiV1.ttf.fsv_sig->/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV1.ttf.fsv_sig" />
- <option name="push" value="UpdatableSystemFontTestNotoColorEmojiV2.ttf->/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV2.ttf" />
- <option name="push" value="UpdatableSystemFontTestNotoColorEmojiV2.ttf.fsv_sig->/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV2.ttf.fsv_sig" />
+ <option name="push" value="UpdatableSystemFontTestNotoColorEmojiV0.ttf->/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV0.ttf" />
+ <option name="push" value="UpdatableSystemFontTestNotoColorEmojiV0.ttf.fsv_sig->/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV0.ttf.fsv_sig" />
+ <option name="push" value="UpdatableSystemFontTestNotoColorEmojiVPlus1.ttf->/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiVPlus1.ttf" />
+ <option name="push" value="UpdatableSystemFontTestNotoColorEmojiVPlus1.ttf.fsv_sig->/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiVPlus1.ttf.fsv_sig" />
+ <option name="push" value="UpdatableSystemFontTestNotoColorEmojiVPlus2.ttf->/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiVPlus2.ttf" />
+ <option name="push" value="UpdatableSystemFontTestNotoColorEmojiVPlus2.ttf.fsv_sig->/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiVPlus2.ttf.fsv_sig" />
</target_preparer>
<test class="com.android.compatibility.common.tradefed.testtype.JarHostTest" >
diff --git a/tests/UpdatableSystemFontTest/src/com/android/updatablesystemfont/UpdatableSystemFontTest.java b/tests/UpdatableSystemFontTest/src/com/android/updatablesystemfont/UpdatableSystemFontTest.java
index 92fa498f8326..e68455612c7e 100644
--- a/tests/UpdatableSystemFontTest/src/com/android/updatablesystemfont/UpdatableSystemFontTest.java
+++ b/tests/UpdatableSystemFontTest/src/com/android/updatablesystemfont/UpdatableSystemFontTest.java
@@ -51,18 +51,26 @@ public class UpdatableSystemFontTest extends BaseHostJUnit4Test {
private static final Pattern PATTERN_FONT = Pattern.compile("path = ([^, \n]*)");
private static final String NOTO_COLOR_EMOJI_TTF = "NotoColorEmoji.ttf";
- private static final String TEST_NOTO_COLOR_EMOJI_V1_TTF =
- "/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV1.ttf";
- private static final String TEST_NOTO_COLOR_EMOJI_V1_TTF_FSV_SIG =
- "/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV1.ttf.fsv_sig";
- private static final String TEST_NOTO_COLOR_EMOJI_V2_TTF =
- "/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV2.ttf";
- private static final String TEST_NOTO_COLOR_EMOJI_V2_TTF_FSV_SIG =
- "/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV2.ttf.fsv_sig";
+
private static final String ORIGINAL_NOTO_COLOR_EMOJI_TTF =
"/data/local/tmp/NotoColorEmoji.ttf";
private static final String ORIGINAL_NOTO_COLOR_EMOJI_TTF_FSV_SIG =
"/data/local/tmp/UpdatableSystemFontTestNotoColorEmoji.ttf.fsv_sig";
+ // A font with revision == 0.
+ private static final String TEST_NOTO_COLOR_EMOJI_V0_TTF =
+ "/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV0.ttf";
+ private static final String TEST_NOTO_COLOR_EMOJI_V0_TTF_FSV_SIG =
+ "/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiV0.ttf.fsv_sig";
+ // A font with revision == original + 1
+ private static final String TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF =
+ "/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiVPlus1.ttf";
+ private static final String TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF_FSV_SIG =
+ "/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiVPlus1.ttf.fsv_sig";
+ // A font with revision == original + 2
+ private static final String TEST_NOTO_COLOR_EMOJI_VPLUS2_TTF =
+ "/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiVPlus2.ttf";
+ private static final String TEST_NOTO_COLOR_EMOJI_VPLUS2_TTF_FSV_SIG =
+ "/data/local/tmp/UpdatableSystemFontTestNotoColorEmojiVPlus2.ttf.fsv_sig";
@Rule
public final AddFsVerityCertRule mAddFsverityCertRule =
@@ -81,7 +89,7 @@ public class UpdatableSystemFontTest extends BaseHostJUnit4Test {
@Test
public void updateFont() throws Exception {
expectRemoteCommandToSucceed(String.format("cmd font update %s %s",
- TEST_NOTO_COLOR_EMOJI_V1_TTF, TEST_NOTO_COLOR_EMOJI_V1_TTF_FSV_SIG));
+ TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF, TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF_FSV_SIG));
String fontPath = getFontPath(NOTO_COLOR_EMOJI_TTF);
assertThat(fontPath).startsWith("/data/fonts/files/");
}
@@ -89,19 +97,39 @@ public class UpdatableSystemFontTest extends BaseHostJUnit4Test {
@Test
public void updateFont_twice() throws Exception {
expectRemoteCommandToSucceed(String.format("cmd font update %s %s",
- TEST_NOTO_COLOR_EMOJI_V1_TTF, TEST_NOTO_COLOR_EMOJI_V1_TTF_FSV_SIG));
+ TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF, TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF_FSV_SIG));
String fontPath = getFontPath(NOTO_COLOR_EMOJI_TTF);
expectRemoteCommandToSucceed(String.format("cmd font update %s %s",
- TEST_NOTO_COLOR_EMOJI_V2_TTF, TEST_NOTO_COLOR_EMOJI_V2_TTF_FSV_SIG));
+ TEST_NOTO_COLOR_EMOJI_VPLUS2_TTF, TEST_NOTO_COLOR_EMOJI_VPLUS2_TTF_FSV_SIG));
String fontPath2 = getFontPath(NOTO_COLOR_EMOJI_TTF);
assertThat(fontPath2).startsWith("/data/fonts/files/");
assertThat(fontPath2).isNotEqualTo(fontPath);
}
@Test
+ public void updateFont_allowSameVersion() throws Exception {
+ // Update original font to the same version
+ expectRemoteCommandToSucceed(String.format("cmd font update %s %s",
+ ORIGINAL_NOTO_COLOR_EMOJI_TTF, ORIGINAL_NOTO_COLOR_EMOJI_TTF_FSV_SIG));
+ String fontPath = getFontPath(NOTO_COLOR_EMOJI_TTF);
+ expectRemoteCommandToSucceed(String.format("cmd font update %s %s",
+ TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF, TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF_FSV_SIG));
+ String fontPath2 = getFontPath(NOTO_COLOR_EMOJI_TTF);
+ // Update updated font to the same version
+ expectRemoteCommandToSucceed(String.format("cmd font update %s %s",
+ TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF, TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF_FSV_SIG));
+ String fontPath3 = getFontPath(NOTO_COLOR_EMOJI_TTF);
+ assertThat(fontPath).startsWith("/data/fonts/files/");
+ assertThat(fontPath2).isNotEqualTo(fontPath);
+ assertThat(fontPath2).startsWith("/data/fonts/files/");
+ assertThat(fontPath3).startsWith("/data/fonts/files/");
+ assertThat(fontPath3).isNotEqualTo(fontPath);
+ }
+
+ @Test
public void updatedFont_dataFileIsImmutableAndReadable() throws Exception {
expectRemoteCommandToSucceed(String.format("cmd font update %s %s",
- TEST_NOTO_COLOR_EMOJI_V1_TTF, TEST_NOTO_COLOR_EMOJI_V1_TTF_FSV_SIG));
+ TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF, TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF_FSV_SIG));
String fontPath = getFontPath(NOTO_COLOR_EMOJI_TTF);
assertThat(fontPath).startsWith("/data");
@@ -112,27 +140,27 @@ public class UpdatableSystemFontTest extends BaseHostJUnit4Test {
@Test
public void updateFont_invalidCert() throws Exception {
expectRemoteCommandToFail(String.format("cmd font update %s %s",
- TEST_NOTO_COLOR_EMOJI_V1_TTF, TEST_NOTO_COLOR_EMOJI_V2_TTF_FSV_SIG));
+ TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF, TEST_NOTO_COLOR_EMOJI_VPLUS2_TTF_FSV_SIG));
}
@Test
public void updateFont_downgradeFromSystem() throws Exception {
expectRemoteCommandToFail(String.format("cmd font update %s %s",
- ORIGINAL_NOTO_COLOR_EMOJI_TTF, ORIGINAL_NOTO_COLOR_EMOJI_TTF_FSV_SIG));
+ TEST_NOTO_COLOR_EMOJI_V0_TTF, TEST_NOTO_COLOR_EMOJI_V0_TTF_FSV_SIG));
}
@Test
public void updateFont_downgradeFromData() throws Exception {
expectRemoteCommandToSucceed(String.format("cmd font update %s %s",
- TEST_NOTO_COLOR_EMOJI_V2_TTF, TEST_NOTO_COLOR_EMOJI_V2_TTF_FSV_SIG));
+ TEST_NOTO_COLOR_EMOJI_VPLUS2_TTF, TEST_NOTO_COLOR_EMOJI_VPLUS2_TTF_FSV_SIG));
expectRemoteCommandToFail(String.format("cmd font update %s %s",
- TEST_NOTO_COLOR_EMOJI_V1_TTF, TEST_NOTO_COLOR_EMOJI_V1_TTF_FSV_SIG));
+ TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF, TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF_FSV_SIG));
}
@Test
public void reboot() throws Exception {
expectRemoteCommandToSucceed(String.format("cmd font update %s %s",
- TEST_NOTO_COLOR_EMOJI_V1_TTF, TEST_NOTO_COLOR_EMOJI_V1_TTF_FSV_SIG));
+ TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF, TEST_NOTO_COLOR_EMOJI_VPLUS1_TTF_FSV_SIG));
String fontPath = getFontPath(NOTO_COLOR_EMOJI_TTF);
assertThat(fontPath).startsWith("/data/fonts/files/");
@@ -182,17 +210,6 @@ public class UpdatableSystemFontTest extends BaseHostJUnit4Test {
});
}
- private void waitUntilSystemServerIsGone() {
- waitUntil(TimeUnit.SECONDS.toMillis(30), () -> {
- try {
- return getDevice().executeShellV2Command("pid system_server").getStatus()
- == CommandStatus.FAILED;
- } catch (DeviceNotAvailableException e) {
- return false;
- }
- });
- }
-
private void waitUntil(long timeoutMillis, Supplier<Boolean> func) {
long untilMillis = System.currentTimeMillis() + timeoutMillis;
do {
diff --git a/tests/UpdatableSystemFontTest/testdata/Android.bp b/tests/UpdatableSystemFontTest/testdata/Android.bp
index f744d5dd2b51..0f01be014d52 100644
--- a/tests/UpdatableSystemFontTest/testdata/Android.bp
+++ b/tests/UpdatableSystemFontTest/testdata/Android.bp
@@ -38,31 +38,48 @@ filegroup {
genrule_defaults {
name: "updatable_system_font_increment_font_revision_default",
+}
+
+genrule {
+ name: "UpdatableSystemFontTestNotoColorEmojiV0Ttf",
+ srcs: [":NotoColorEmojiTtf"],
+ out: ["UpdatableSystemFontTestNotoColorEmojiV0.ttf"],
tools: ["update_font_metadata"],
cmd: "$(location update_font_metadata) " +
"--input=$(in) " +
"--output=$(out) " +
- "--revision=+1",
+ "--revision=0",
}
genrule {
- name: "UpdatableSystemFontTestNotoColorEmojiV1Ttf",
- defaults: ["updatable_system_font_increment_font_revision_default"],
+ name: "UpdatableSystemFontTestNotoColorEmojiVPlus1Ttf",
srcs: [":NotoColorEmojiTtf"],
- out: ["UpdatableSystemFontTestNotoColorEmojiV1.ttf"],
+ out: ["UpdatableSystemFontTestNotoColorEmojiVPlus1.ttf"],
+ tools: ["update_font_metadata"],
+ cmd: "$(location update_font_metadata) " +
+ "--input=$(in) " +
+ "--output=$(out) " +
+ "--revision=+1",
}
genrule {
- name: "UpdatableSystemFontTestNotoColorEmojiV2Ttf",
- defaults: ["updatable_system_font_increment_font_revision_default"],
- srcs: [":UpdatableSystemFontTestNotoColorEmojiV1Ttf"],
- out: ["UpdatableSystemFontTestNotoColorEmojiV2.ttf"],
+ name: "UpdatableSystemFontTestNotoColorEmojiVPlus2Ttf",
+ srcs: [":NotoColorEmojiTtf"],
+ out: ["UpdatableSystemFontTestNotoColorEmojiVPlus2.ttf"],
+ tools: ["update_font_metadata"],
+ cmd: "$(location update_font_metadata) " +
+ "--input=$(in) " +
+ "--output=$(out) " +
+ "--revision=+2",
}
genrule_defaults {
name: "updatable_system_font_sig_gen_default",
tools: ["fsverity"],
- tool_files: [":UpdatableSystemFontTestKeyPem", ":UpdatableSystemFontTestCertPem"],
+ tool_files: [
+ ":UpdatableSystemFontTestKeyPem",
+ ":UpdatableSystemFontTestCertPem",
+ ],
cmd: "$(location fsverity) sign $(in) $(out) " +
"--key=$(location :UpdatableSystemFontTestKeyPem) " +
"--cert=$(location :UpdatableSystemFontTestCertPem) " +
@@ -77,15 +94,22 @@ genrule {
}
genrule {
- name: "UpdatableSystemFontTestNotoColorEmojiV1TtfFsvSig",
+ name: "UpdatableSystemFontTestNotoColorEmojiV0TtfFsvSig",
+ defaults: ["updatable_system_font_sig_gen_default"],
+ srcs: [":UpdatableSystemFontTestNotoColorEmojiV0Ttf"],
+ out: ["UpdatableSystemFontTestNotoColorEmojiV0.ttf.fsv_sig"],
+}
+
+genrule {
+ name: "UpdatableSystemFontTestNotoColorEmojiVPlus1TtfFsvSig",
defaults: ["updatable_system_font_sig_gen_default"],
- srcs: [":UpdatableSystemFontTestNotoColorEmojiV1Ttf"],
- out: ["UpdatableSystemFontTestNotoColorEmojiV1.ttf.fsv_sig"],
+ srcs: [":UpdatableSystemFontTestNotoColorEmojiVPlus1Ttf"],
+ out: ["UpdatableSystemFontTestNotoColorEmojiVPlus1.ttf.fsv_sig"],
}
genrule {
- name: "UpdatableSystemFontTestNotoColorEmojiV2TtfFsvSig",
+ name: "UpdatableSystemFontTestNotoColorEmojiVPlus2TtfFsvSig",
defaults: ["updatable_system_font_sig_gen_default"],
- srcs: [":UpdatableSystemFontTestNotoColorEmojiV2Ttf"],
- out: ["UpdatableSystemFontTestNotoColorEmojiV2.ttf.fsv_sig"],
+ srcs: [":UpdatableSystemFontTestNotoColorEmojiVPlus2Ttf"],
+ out: ["UpdatableSystemFontTestNotoColorEmojiVPlus2.ttf.fsv_sig"],
}