Improve testing of mainline_modules_sdks.py

Adds a test for a com.google name module and makes the structure of the
test snapshot created by FakeSnapshotBuilder.create_snapshot_file()
match the names used in an actual sdk snapshot.

Bug: 218685706
Test: atest --host mainline_modules_sdks_test
      pyformat -s 4 --force_quote_type double -i build/mainline_modules_sdks*.py
      /usr/bin/pylint --rcfile $ANDROID_BUILD_TOP/tools/repohooks/tools/pylintrc build/mainline_modules_sdks*.py
Change-Id: Ia11cbb2da717218ba0b2da9a2238856dc8cebf8f
This commit is contained in:
Paul Duffin
2022-03-16 13:28:19 +00:00
parent 4f192a156b
commit de60aeb525
2 changed files with 38 additions and 12 deletions

View File

@@ -14,6 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
"""Unit tests for mainline_modules_sdks.py."""
import re
from pathlib import Path
import os
import tempfile
@@ -33,15 +34,19 @@ class FakeSnapshotBuilder(mm.SnapshotBuilder):
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):
zip_file = Path(self.get_sdk_path(name, version))
with zipfile.ZipFile(zip_file, "w") as z:
z.writestr("Android.bp", "")
if name.endswith("-sdk"):
z.writestr("sdk_library/public/removed.txt", "")
z.writestr("sdk_library/public/source.srcjar", "")
z.writestr("sdk_library/public/lib.jar", "")
z.writestr("sdk_library/public/api.txt", "")
self.create_sdk_library_files(z, re.sub(r"-.*$", "", name))
def build_snapshots(self, build_release, sdk_versions, modules):
# Create input file structure.
@@ -67,6 +72,8 @@ class TestProduceDist(unittest.TestCase):
modules = [
MAINLINE_MODULES_BY_APEX["com.android.art"],
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()
@@ -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/test-exports/art-module-test-exports-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.
"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/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.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/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.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.
"stubs/com.android.art/sdk_library/public/api.txt",
"stubs/com.android.art/sdk_library/public/lib.jar",
"stubs/com.android.art/sdk_library/public/removed.txt",
"stubs/com.android.art/sdk_library/public/source.srcjar",
"stubs/com.android.ipsec/sdk_library/public/api.txt",
"stubs/com.android.ipsec/sdk_library/public/lib.jar",
"stubs/com.android.ipsec/sdk_library/public/removed.txt",
"stubs/com.android.ipsec/sdk_library/public/source.srcjar",
"stubs/com.android.art/sdk_library/public/art-removed.txt",
"stubs/com.android.art/sdk_library/public/art-stubs.jar",
"stubs/com.android.art/sdk_library/public/art.srcjar",
"stubs/com.android.art/sdk_library/public/art.txt",
"stubs/com.android.ipsec/sdk_library/public/ipsec-removed.txt",
"stubs/com.android.ipsec/sdk_library/public/ipsec-stubs.jar",
"stubs/com.android.ipsec/sdk_library/public/ipsec.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))