From 48a8f0d10b1d1b70c8e320d6489c58ab9b189fae Mon Sep 17 00:00:00 2001 From: Rahul Sabnis Date: Tue, 19 Apr 2022 18:00:10 -0700 Subject: [PATCH] Updates test_config_fixer to also work for SuiteApkInstaller Bug: 228385580 Test: atest BluetoothInstrumentationTests Merged-In: I878309354c4aa5a492fb3d2bcecf8b1410e011ee Change-Id: I878309354c4aa5a492fb3d2bcecf8b1410e011ee --- scripts/test_config_fixer.py | 4 +++- scripts/test_config_fixer_test.py | 31 +++++++++++++++++++++++++++---- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/scripts/test_config_fixer.py b/scripts/test_config_fixer.py index c150e8cfd..3dbc22ec2 100644 --- a/scripts/test_config_fixer.py +++ b/scripts/test_config_fixer.py @@ -28,6 +28,8 @@ from manifest import parse_manifest from manifest import parse_test_config from manifest import write_xml +KNOWN_PREPARERS = ['com.android.tradefed.targetprep.TestAppInstallSetup', + 'com.android.tradefed.targetprep.suite.SuiteApkInstaller'] def parse_args(): """Parse commandline arguments.""" @@ -64,7 +66,7 @@ def overwrite_test_file_name(test_config_doc, test_file_name): tests = get_children_with_tag(test_config, 'target_preparer') for test in tests: - if test.getAttribute('class') == "com.android.tradefed.targetprep.TestAppInstallSetup": + if test.getAttribute('class') in KNOWN_PREPARERS: options = get_children_with_tag(test, 'option') for option in options: if option.getAttribute('name') == "test-file-name": diff --git a/scripts/test_config_fixer_test.py b/scripts/test_config_fixer_test.py index d00a59315..39ce5b3c3 100644 --- a/scripts/test_config_fixer_test.py +++ b/scripts/test_config_fixer_test.py @@ -70,7 +70,7 @@ class OverwritePackageNameTest(unittest.TestCase): class OverwriteTestFileNameTest(unittest.TestCase): """ Unit tests for overwrite_test_file_name function """ - test_config = ( + test_config_test_app_install_setup = ( '\n' '\n' ' \n' @@ -82,15 +82,38 @@ class OverwriteTestFileNameTest(unittest.TestCase): ' \n' '\n') - def test_all(self): - doc = minidom.parseString(self.test_config % ("foo.apk")) + test_config_suite_apk_installer = ( + '\n' + '\n' + ' \n' + ' \n' + ' \n' + ' \n' + '\n') + + def test_testappinstallsetup(self): + doc = minidom.parseString(self.test_config_test_app_install_setup % ("foo.apk")) test_config_fixer.overwrite_test_file_name(doc, "bar.apk") output = io.StringIO() test_config_fixer.write_xml(output, doc) # Only the matching package name in a test node should be updated. - expected = self.test_config % ("bar.apk") + expected = self.test_config_test_app_install_setup % ("bar.apk") + self.assertEqual(expected, output.getvalue()) + + def test_suiteapkinstaller(self): + doc = minidom.parseString(self.test_config_suite_apk_installer % ("foo.apk")) + + test_config_fixer.overwrite_test_file_name(doc, "bar.apk") + output = io.StringIO() + test_config_fixer.write_xml(output, doc) + + # Only the matching package name in a test node should be updated. + expected = self.test_config_suite_apk_installer % ("bar.apk") self.assertEqual(expected, output.getvalue())