Improve testing of mainline_modules_sdks.py am: de60aeb525

Original change: https://android-review.googlesource.com/c/platform/packages/modules/common/+/2032128

Change-Id: Id3c26e1876d532a398eec54013349c1834eea99f
This commit is contained in:
Paul Duffin
2022-03-21 12:00:34 +00:00
committed by Automerger Merge Worker
2 changed files with 38 additions and 12 deletions

View File

@@ -740,6 +740,18 @@ def create_producer():
) )
def aosp_to_google(module):
"""Transform an AOSP module into a Google module"""
new_apex = aosp_to_google_name(module.apex)
# Create a copy of the AOSP module with the internal specific APEX name.
return dataclasses.replace(module, apex=new_apex)
def aosp_to_google_name(name):
"""Transform an AOSP module name into a Google module name"""
return name.replace("com.android.", "com.google.android.")
def filter_modules(modules): def filter_modules(modules):
target_build_apps = os.environ.get("TARGET_BUILD_APPS") target_build_apps = os.environ.get("TARGET_BUILD_APPS")
if target_build_apps: if target_build_apps:

View File

@@ -14,6 +14,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
"""Unit tests for mainline_modules_sdks.py.""" """Unit tests for mainline_modules_sdks.py."""
import re
from pathlib import Path from pathlib import Path
import os import os
import tempfile import tempfile
@@ -33,15 +34,19 @@ class FakeSnapshotBuilder(mm.SnapshotBuilder):
modules. modules.
""" """
@staticmethod
def create_sdk_library_files(z, name):
z.writestr(f"sdk_library/public/{name}-removed.txt", "")
z.writestr(f"sdk_library/public/{name}.srcjar", "")
z.writestr(f"sdk_library/public/{name}-stubs.jar", "")
z.writestr(f"sdk_library/public/{name}.txt", "")
def create_snapshot_file(self, name, version): def create_snapshot_file(self, name, version):
zip_file = Path(self.get_sdk_path(name, version)) zip_file = Path(self.get_sdk_path(name, version))
with zipfile.ZipFile(zip_file, "w") as z: with zipfile.ZipFile(zip_file, "w") as z:
z.writestr("Android.bp", "") z.writestr("Android.bp", "")
if name.endswith("-sdk"): if name.endswith("-sdk"):
z.writestr("sdk_library/public/removed.txt", "") self.create_sdk_library_files(z, re.sub(r"-.*$", "", name))
z.writestr("sdk_library/public/source.srcjar", "")
z.writestr("sdk_library/public/lib.jar", "")
z.writestr("sdk_library/public/api.txt", "")
def build_snapshots(self, build_release, sdk_versions, modules): def build_snapshots(self, build_release, sdk_versions, modules):
# Create input file structure. # Create input file structure.
@@ -67,6 +72,8 @@ class TestProduceDist(unittest.TestCase):
modules = [ modules = [
MAINLINE_MODULES_BY_APEX["com.android.art"], MAINLINE_MODULES_BY_APEX["com.android.art"],
MAINLINE_MODULES_BY_APEX["com.android.ipsec"], MAINLINE_MODULES_BY_APEX["com.android.ipsec"],
# Create a google specific module.
mm.aosp_to_google(MAINLINE_MODULES_BY_APEX["com.android.wifi"]),
] ]
subprocess_runner = mm.SubprocessRunner() subprocess_runner = mm.SubprocessRunner()
@@ -105,24 +112,31 @@ class TestProduceDist(unittest.TestCase):
"mainline-sdks/current/com.android.art/sdk/art-module-sdk-current.zip", "mainline-sdks/current/com.android.art/sdk/art-module-sdk-current.zip",
"mainline-sdks/current/com.android.art/test-exports/art-module-test-exports-current.zip", "mainline-sdks/current/com.android.art/test-exports/art-module-test-exports-current.zip",
"mainline-sdks/current/com.android.ipsec/sdk/ipsec-module-sdk-current.zip", "mainline-sdks/current/com.android.ipsec/sdk/ipsec-module-sdk-current.zip",
"mainline-sdks/current/com.google.android.wifi/sdk/wifi-module-sdk-current.zip",
# Build specific snapshots. # Build specific snapshots.
"mainline-sdks/for-S-build/current/com.android.art/host-exports/art-module-host-exports-current.zip", "mainline-sdks/for-S-build/current/com.android.art/host-exports/art-module-host-exports-current.zip",
"mainline-sdks/for-S-build/current/com.android.art/sdk/art-module-sdk-current.zip", "mainline-sdks/for-S-build/current/com.android.art/sdk/art-module-sdk-current.zip",
"mainline-sdks/for-S-build/current/com.android.art/test-exports/art-module-test-exports-current.zip", "mainline-sdks/for-S-build/current/com.android.art/test-exports/art-module-test-exports-current.zip",
"mainline-sdks/for-S-build/current/com.android.ipsec/sdk/ipsec-module-sdk-current.zip", "mainline-sdks/for-S-build/current/com.android.ipsec/sdk/ipsec-module-sdk-current.zip",
"mainline-sdks/for-S-build/current/com.google.android.wifi/sdk/wifi-module-sdk-current.zip",
"mainline-sdks/for-latest-build/current/com.android.art/host-exports/art-module-host-exports-current.zip", "mainline-sdks/for-latest-build/current/com.android.art/host-exports/art-module-host-exports-current.zip",
"mainline-sdks/for-latest-build/current/com.android.art/sdk/art-module-sdk-current.zip", "mainline-sdks/for-latest-build/current/com.android.art/sdk/art-module-sdk-current.zip",
"mainline-sdks/for-latest-build/current/com.android.art/test-exports/art-module-test-exports-current.zip", "mainline-sdks/for-latest-build/current/com.android.art/test-exports/art-module-test-exports-current.zip",
"mainline-sdks/for-latest-build/current/com.android.ipsec/sdk/ipsec-module-sdk-current.zip", "mainline-sdks/for-latest-build/current/com.android.ipsec/sdk/ipsec-module-sdk-current.zip",
"mainline-sdks/for-latest-build/current/com.google.android.wifi/sdk/wifi-module-sdk-current.zip",
# Legacy stubs directory containing unpacked java_sdk_library artifacts. # Legacy stubs directory containing unpacked java_sdk_library artifacts.
"stubs/com.android.art/sdk_library/public/api.txt", "stubs/com.android.art/sdk_library/public/art-removed.txt",
"stubs/com.android.art/sdk_library/public/lib.jar", "stubs/com.android.art/sdk_library/public/art-stubs.jar",
"stubs/com.android.art/sdk_library/public/removed.txt", "stubs/com.android.art/sdk_library/public/art.srcjar",
"stubs/com.android.art/sdk_library/public/source.srcjar", "stubs/com.android.art/sdk_library/public/art.txt",
"stubs/com.android.ipsec/sdk_library/public/api.txt", "stubs/com.android.ipsec/sdk_library/public/ipsec-removed.txt",
"stubs/com.android.ipsec/sdk_library/public/lib.jar", "stubs/com.android.ipsec/sdk_library/public/ipsec-stubs.jar",
"stubs/com.android.ipsec/sdk_library/public/removed.txt", "stubs/com.android.ipsec/sdk_library/public/ipsec.srcjar",
"stubs/com.android.ipsec/sdk_library/public/source.srcjar", "stubs/com.android.ipsec/sdk_library/public/ipsec.txt",
"stubs/com.google.android.wifi/sdk_library/public/wifi-removed.txt",
"stubs/com.google.android.wifi/sdk_library/public/wifi-stubs.jar",
"stubs/com.google.android.wifi/sdk_library/public/wifi.srcjar",
"stubs/com.google.android.wifi/sdk_library/public/wifi.txt",
], ],
sorted(files)) sorted(files))