From c7619baee11b76010d801acba896abaccf03a7b6 Mon Sep 17 00:00:00 2001 From: satayev Date: Wed, 15 Dec 2021 13:13:40 +0000 Subject: [PATCH] Add test_com.android.server apex for e2e tests. The test apex contains a single FakeApexSystemService that just logs to logcat in onStart(). The host test would parse logcat to check whether the apex-system-service has been started correctly or not. Bug: 192880996 Test: presubmit Ignore-AOSP-First: tests depend on new internal feature Change-Id: Ia3630510306aee2b5596e57abba6b1163dd84309 --- services/tests/apexsystemservices/OWNERS | 4 ++ .../apexes/test_com.android.server/Android.bp | 40 ++++++++++++++ .../AndroidManifest.xml | 42 +++++++++++++++ .../test_com.android.server/manifest.json | 4 ++ .../test_com.android.server.avbpubkey | Bin 0 -> 1032 bytes .../test_com.android.server.pem | 51 ++++++++++++++++++ .../test_com.android.server.pk8 | Bin 0 -> 2373 bytes .../test_com.android.server.x509.pem | 34 ++++++++++++ .../apexsystemservices/service/Android.bp | 20 +++++++ .../server/testing/FakeApexSystemService.java | 41 ++++++++++++++ 10 files changed, 236 insertions(+) create mode 100644 services/tests/apexsystemservices/OWNERS create mode 100644 services/tests/apexsystemservices/apexes/test_com.android.server/Android.bp create mode 100644 services/tests/apexsystemservices/apexes/test_com.android.server/AndroidManifest.xml create mode 100644 services/tests/apexsystemservices/apexes/test_com.android.server/manifest.json create mode 100644 services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.avbpubkey create mode 100644 services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.pem create mode 100644 services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.pk8 create mode 100644 services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.x509.pem create mode 100644 services/tests/apexsystemservices/service/Android.bp create mode 100644 services/tests/apexsystemservices/service/src/com/android/server/testing/FakeApexSystemService.java diff --git a/services/tests/apexsystemservices/OWNERS b/services/tests/apexsystemservices/OWNERS new file mode 100644 index 0000000000000..0295b9e99326a --- /dev/null +++ b/services/tests/apexsystemservices/OWNERS @@ -0,0 +1,4 @@ +omakoto@google.com +satayev@google.com + +include platform/packages/modules/common:/OWNERS diff --git a/services/tests/apexsystemservices/apexes/test_com.android.server/Android.bp b/services/tests/apexsystemservices/apexes/test_com.android.server/Android.bp new file mode 100644 index 0000000000000..16d624199d5a0 --- /dev/null +++ b/services/tests/apexsystemservices/apexes/test_com.android.server/Android.bp @@ -0,0 +1,40 @@ +// Copyright (C) 2021 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. + +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +apex_key { + name: "test_com.android.server.key", + public_key: "test_com.android.server.avbpubkey", + private_key: "test_com.android.server.pem", + installable: false, +} + +android_app_certificate { + name: "test_com.android.server.certificate", + certificate: "test_com.android.server", +} + +apex_test { + name: "test_com.android.server", + manifest: "manifest.json", + androidManifest: "AndroidManifest.xml", + java_libs: ["FakeApexSystemService"], + file_contexts: ":apex.test-file_contexts", + key: "test_com.android.server.key", + updatable: false, + installable: false, +} diff --git a/services/tests/apexsystemservices/apexes/test_com.android.server/AndroidManifest.xml b/services/tests/apexsystemservices/apexes/test_com.android.server/AndroidManifest.xml new file mode 100644 index 0000000000000..48cee7effa6e8 --- /dev/null +++ b/services/tests/apexsystemservices/apexes/test_com.android.server/AndroidManifest.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + diff --git a/services/tests/apexsystemservices/apexes/test_com.android.server/manifest.json b/services/tests/apexsystemservices/apexes/test_com.android.server/manifest.json new file mode 100644 index 0000000000000..5e48532300c02 --- /dev/null +++ b/services/tests/apexsystemservices/apexes/test_com.android.server/manifest.json @@ -0,0 +1,4 @@ +{ + "name": "test_com.android.server", + "version": 1 +} diff --git a/services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.avbpubkey b/services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.avbpubkey new file mode 100644 index 0000000000000000000000000000000000000000..4f4acd68cc5132f3d1a31d1274879ae7c4fce1b3 GIT binary patch literal 1032 zcmV+j1o!&@01yBwb0yolzwCcpsGC6ZVRS~|cA|kDs*Ow!I^1jd$JKgm4#k&}P0m+a z$1Zq5Tw?Jz8*xsj7w_ayZAe?dC8d5h%lxHeXifq#14OF1{U{&fBi84jy996RxA z@bloESdhff1j^`{Z)z!e+~bHrEgmUXY9{=&XKLW zvec*_t%`Q0qvseV(`J$a58n;xzPPPni-;_NL4!20+`}7I*Uzru&iI zPe(T%g;o6$K9mUqe~AB|zq{=}*?n-9c%Ko&&Ol)PjB3r$mXggw+MEka+X?rf0;g-x1GCX6oiqg!kVeR@Dm+vZ0-S1>~Ps`yn)h!8!&fq^6JX|H4NB zIeCgFQ4RQ5TL!R_JBJe+U1NmeZTo`DiY4xA_fY{I&HD{0B?u8~t5vd}s5ztC(;~=S z1?^CplXGPUc3H@a#EJ<}PO2fe(xiM=2XV$whA3pzDp2Xm_tbxoa6k?Eiw2WNN}HH^ zk^Ny&`SjSM1xkDSyZod;=u4Q|PkKhnuB+I*&@f?7=UHf-%%N(zV$g(n z>_I^D`LV4l^!9#x$C4sO&YT;m5s~OxTj?|J3Ahl$bb(*D1{m>}=yN*H$phWne+jar zB&psGN7FMG*CZV-fjq}1O~hnt5>|H8bypcoA+GsNC&9t@DJ;ZY{dzXvdjSE_=*Rdb z*qXEZKxBfu?WuNR-9f1Vtic_|6;&$O)u^WBqh8|y8UQCHo|WP{4m(~jZU)1Ua{vCr z*c{K;0ZTAtL~M`dPcemAU7+zgP`ifZof&h_^|B_VG6si@ymyiV z4&3&HAFmkho8T#N7}>djfoa|e+brRu|Q1C$64tL@WH)&;56Qqb#@C!mZKG25~ml>?;yhj}x z5p9X8LAgK4eU^Eu0TZD9U*A(fSc^IxSe;BnawF>evi`ah+`~>#t_*BppW(P(e18ER C#{@P2 literal 0 HcmV?d00001 diff --git a/services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.pem b/services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.pem new file mode 100644 index 0000000000000..f391ef0ce2241 --- /dev/null +++ b/services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.pem @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.pk8 b/services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.pk8 new file mode 100644 index 0000000000000000000000000000000000000000..ca4533325f00a6b170f9a542d030c92ed67b8958 GIT binary patch literal 2373 zcmV-L3A*+$f(bza0RS)!1_>&LNQUwD=>lyCjtQg0)heo0J0^eWq^-^ zW^y?O@xuZA7i5Ann0qLM5=4s!k+kAnX{#Y!(o2HZ>g~^k|J0*y`Dj=RU*Kv4{CE`i zP1sZzrl^wa7Ik$Ay1ZdnNF&cy-v=VjUJ}eOKHc0UN51Yho&j!W`b(ACS+D%ASFeHA zgl@9H3(U-}Ot^BS&$K!Q2?fY7K&!a27}l``8??XVNX?lNtMvnn`v&5Vr3NNGju#A9 ze$8g|=-(Qu+9tHXqPZDM8fT-1VEwlF8&bRY$X8O<6WgS@!Cte#Uz`z&tI+Qk>aU3V zl?K6_lIN}1=C)5RIDPx#T4IwBn7I7Ld!y^3KZe%I9m3Wl`)S3^3^6UZ2~UuM8`9@X3ckfh)m;}VtQ@1i9g@xM}G&S6#@eR009Dm0svT1x1|xz zl$&;^bsXr-6qv(Um66m1D=iOHN(EoT76Pm{*Otki?ZW5riGpJOKc`@(y~N|POcaX9 z0xwd(rj-F;4Y9bpw0YgtHj;b_^iO>6w1g!RR;1EC3N?~jk$n1)E)CrILg1AGuW$cmWLdMd(r6{(Z zgvK?w1XOE3f>N^k%fTSIJax0l>vk-1$sbj&AyL_p6xTI=ekC&bG`DfxbbV+M5iez> zDD5IMT$ij$kqsDkI`{zPp1Y>OIBG7`3g-hxZ{ozux!QGH%Io^=c#!Q>pv|6=pF6(Gp*&1`a zM)3cy)0Jk1-(Ra@y_nBoQ=Re^sXo3dv<#i@gF_t$lP|Y+8H&p_pX|;j!sA{+l=o3~ zjI5;MTz%KDX+m?kMRS|jf$U^PEVy>X2YH5aDVM!vOdAbg$|ENMh77E+w;Kv`Xj`tikbhudIuuJEu-Jm6 zpyet>{$6fA><^I*o(16XwI;Rie$z>%&p@|9oZzh>&Yc6b=yyPG!$2{$k2*gf&l>l#52D6B({3( zYgNEk0x`&LvLis~K;ud4MCk5Ac)WBtbDfs65Q1|gkl}*sii|!kd+gNNz z>HapMb4K?U%kp#1)qaWy|3@0ncFK?GKrC)~J|1o}^Bizb^Scex(d_=!_~`fn^BR*S z^O$X!BiJV50dGu~AyT^r{nj;oFHqt#jWg3~Atq7r#Mq7AUQeGh*HyOvc=O;kkM8}R!44OA2v+6kmU zuM|Vb;xMk)JsatLGHkeTS}Qlnz<(Em2np;U1mkhM<1JI$kb#MV0)hbmKh=f@Bm(+< zXiPhj{6}{Z{oCGW&ge5B8ZIHQ$M>OBE?Vj-pyJXfGNsCOU~8Wo;O9lq9k#7Owc>9l zw>boMDf?UpjucyRI8mSlOb_Sv{H`M0asG#MkR6lkuyYaqZ6m~!Eckk-Wl$Y+i9I>z z%-G1n-3v12PAXAGwi^H2R_G0}5r9_+)EbkE?vszZg?h2HX9-KxY9*qzhdufLzl}qP zZArRir=K~qu^0yyVAT5TQMB9=uGsgHj5Va9FC?@V7olcBbe)LOYhMMdAs$+FcfI); z){LxusBsstyg;PIwdHWS1~`RufR#R?>Y=q50K?HLeo-n)tX=Ze0)hbmElMPlE`3C%at6x+dMjDgGxD4)$4P$T@$H=WO6nYAL|UMR1u09^!lvZj+JBg2n2!psIZ=XDX5FFOBd)i zXS|Rj@l?*#?TE8_ZEO~e0rHxNfnI)|f0-f=m?C)!?*T1$1t>zhvuE3Zr1Wu%+-;6q zW&wn`N?5NI^>}@z+l`lbd;IW;XyGTJhQcQhA=Fr;;ygVpIW;E r?(YDteV)43v^;%R)CJZynZ4kQF)A>5weUyXAyr1rO$6^`vBa$BPyu++ literal 0 HcmV?d00001 diff --git a/services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.x509.pem b/services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.x509.pem new file mode 100644 index 0000000000000..13a3058df94cc --- /dev/null +++ b/services/tests/apexsystemservices/apexes/test_com.android.server/test_com.android.server.x509.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +MIIF3TCCA8UCFBYj125aAL6TlF+vGODQhEUq6/AXMA0GCSqGSIb3DQEBCwUAMIGp +MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91 +bnRhaW4gVmlldzEQMA4GA1UECgwHQW5kcm9pZDEQMA4GA1UECwwHQW5kcm9pZDEi +MCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTElMCMGA1UEAwwcdGVz +dF9jb20uYW5kcm9pZC5zZXJ2ZXIuYXBleDAgFw0yMTEyMTQxNTUyMjBaGA80NzU5 +MTExMDE1NTIyMFowgakxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh +MRYwFAYDVQQHDA1Nb3VudGFpbiBWaWV3MRAwDgYDVQQKDAdBbmRyb2lkMRAwDgYD +VQQLDAdBbmRyb2lkMSIwIAYJKoZIhvcNAQkBFhNhbmRyb2lkQGFuZHJvaWQuY29t +MSUwIwYDVQQDDBx0ZXN0X2NvbS5hbmRyb2lkLnNlcnZlci5hcGV4MIICIjANBgkq +hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsiWlZYCPg2ZyOQbxwwH9F2SCM5h7KIQS +RIsHkbTiXWmrIV3SS4LX6u3Phf/Uo275aFgLX+BqBPx4FPdN2FQYpqiS7BZ1dQm6 +vGFYSCPPVt8HIs5eEswwPt3cJUe+7jaeAW5n+kuV2lmv/K5Xr4HWhG6ywAvMzK5M +uHKkz7Q6BgkFyDBAq7iyGNaxBRu0v+RIzZkSq/UDjPsG4o+lBiY+jhcMV37NZvTo +3xqq2ia0wKK5GUsaZ6OGYP22+RtSu/jIV1LWE9ukucFes8BfnBGKq9DvF+qviPuV +BsGckuet2Oa2Ty44ffviWmKTEJi4/MZ7o+uiP4bWyh3C1iP7acXNDDEt3nEiceF7 +1wKJkYMay8IZ3VWczQieZWN5oxNBZSE+kMi+ZOolcs2tRi2EO0KsjVN63fhi75WZ +kGTl4J/G0irWBHOBHvosL4EcEboV1B2QsfDvjvpAIQkhqG0IKrN2czN+xzcMeJRr +CXRRLLkdTS1DLXKaTTZg/U1MfhRfrqY8OCOKT2IhmqmKajhOIXXrKNt+0VfHjweL +RbF7mgwb7jyKe3Cy1WlEqQXuZRbHSQ6aSfQ/nbMFaj+MQn3KULBciHGjZB0fQC4Z +P+CMwZpdbBRA2VdrOZ8cvOxp88MrdSaz6RuSbQIu70THM7hmzXd9iEzjmmJ6bbaJ +P9/nR38HoxUCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAkSVfES3KoY8z1nb0KEcS +LCldTE0X+5vZ6n+8Bwy04Tb6Evdhui2dtgtKTwQMSZ4qS6bUnnwJgAcswV2LCeui +sosUNB4prNdlLZeZmCg+SimNM9AZIpJaMAtlbCiAMRb0yN+I7nAIcNv/HhGLVYte +JGyoxkm73m82YCyRPG8FPsKMufoDeUo3mOnVXKLYgeq5er2YN1bWYjCE5X6mWV85 +iyGGK/X6h4ANybxqp4sFLOwQzgm7HfYrsm0RadN95PhUiSqlVGJHo/EJixK0sNYS +VzDtGqo+i3wWww9rVUiMroRRMf6thXY4O1TqU2Sn2H3OMasIUT+w1Y1KONpJyE58 +2Yi+865msa2l8BGH8qPNgHERLlMZcIm5LfFTHw/9QniJdfHo6PEJoSzSmT4yDOMa +WYmafNdR3FfKdGGGHJZWVUtMSxlGe7DjzVhm0M3vHgEldsEMLnwOjecDQq3ssXsC +0mOCabaSpAZA0p0c2sQuhzij1mFxNaEEhbEZ93klz2+e1u7Q/xPiGMYCQky/+WsL +aYBuo0AbCtTEvy92vhTc0KphVoeY7X/VEojkDfmm8wHvAtOBr03t6jLGWmGcGPJp +/Opxik2IZKAm27HeN1ICJGUTiky5ULj1DmrdiMQhkvz0jNoNJvjJsbeQnOs0te6J +bR8InfVgdeIr68zrlvC+SfE= +-----END CERTIFICATE----- diff --git a/services/tests/apexsystemservices/service/Android.bp b/services/tests/apexsystemservices/service/Android.bp new file mode 100644 index 0000000000000..9d04f39f2237a --- /dev/null +++ b/services/tests/apexsystemservices/service/Android.bp @@ -0,0 +1,20 @@ +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "frameworks_base_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: ["frameworks_base_license"], +} + +java_library { + name: "FakeApexSystemService", + srcs: ["**/*.java"], + sdk_version: "system_server_current", + libs: [ + "framework-annotations-lib", + "androidx.annotation_annotation", + ], + visibility: ["//frameworks/base/services/tests/apexsystemservices:__subpackages__"], + apex_available: ["//apex_available:anyapex"], +} diff --git a/services/tests/apexsystemservices/service/src/com/android/server/testing/FakeApexSystemService.java b/services/tests/apexsystemservices/service/src/com/android/server/testing/FakeApexSystemService.java new file mode 100644 index 0000000000000..4947c3455cc79 --- /dev/null +++ b/services/tests/apexsystemservices/service/src/com/android/server/testing/FakeApexSystemService.java @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ + +package com.android.server.testing; + +import android.content.Context; +import android.util.Log; + +import androidx.annotation.NonNull; + +import com.android.server.SystemService; + +/** + * A fake system service that just logs when it is started. + */ +public class FakeApexSystemService extends SystemService { + + private static final String TAG = "FakeApexSystemService"; + + public FakeApexSystemService(@NonNull Context context) { + super(context); + } + + @Override + public void onStart() { + Log.d(TAG, "FakeApexSystemService onStart"); + } +}