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:
@@ -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))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user