Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6c3cece authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Test config should use manifest package attribute"

parents 1d87b803 9a50168c
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ from xml.dom.minidom import parse

ATTRIBUTE_LABEL = 'android:label'
ATTRIBUTE_RUNNER = 'android:name'
ATTRIBUTE_TARGET_PACKAGE = 'android:targetPackage'
ATTRIBUTE_PACKAGE = 'package'

PLACEHOLDER_LABEL = '{LABEL}'
PLACEHOLDER_MODULE = '{MODULE}'
@@ -54,20 +54,22 @@ def main(argv):

  manifest = parse(android_manifest)
  instrumentation_elements = manifest.getElementsByTagName('instrumentation')
  if len(instrumentation_elements) != 1:
    # Failed to locate instrumentation element in AndroidManifest file.
    # Empty test config file will be created.
  manifest_elements = manifest.getElementsByTagName('manifest')
  if len(instrumentation_elements) != 1 or len(manifest_elements) != 1:
    # Failed to locate instrumentation or manifest element in AndroidManifest.
    # file. Empty test config file will be created.
    shutil.copyfile(empty_config, target_config)
    return 0

  module = os.path.splitext(os.path.basename(target_config))[0]
  instrumentation = instrumentation_elements[0]
  manifest = manifest_elements[0]
  if instrumentation.attributes.has_key(ATTRIBUTE_LABEL):
    label = instrumentation.attributes[ATTRIBUTE_LABEL].value
  else:
    label = module
  runner = instrumentation.attributes[ATTRIBUTE_RUNNER].value
  package = instrumentation.attributes[ATTRIBUTE_TARGET_PACKAGE].value
  package = manifest.attributes[ATTRIBUTE_PACKAGE].value
  test_type = ('AndroidJUnitTest' if runner.endswith('.AndroidJUnitRunner')
               else 'InstrumentationTest')

+10 −7
Original line number Diff line number Diff line
@@ -31,7 +31,8 @@ MANIFEST_INVALID = """<?xml version="1.0" encoding="utf-8"?>
"""

MANIFEST_JUNIT_TEST = """<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.android.my.tests.x">
    <instrumentation
        android:name="android.support.test.runner.AndroidJUnitRunner"
        android:targetPackage="com.android.my.tests" />
@@ -39,7 +40,8 @@ MANIFEST_JUNIT_TEST = """<?xml version="1.0" encoding="utf-8"?>
"""

MANIFEST_INSTRUMENTATION_TEST = """<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.android.my.tests.x">
    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.android.my.tests"
@@ -69,7 +71,7 @@ EXPECTED_JUNIT_TEST_CONFIG = """<?xml version="1.0" encoding="utf-8"?>
    </target_preparer>

    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
        <option name="package" value="com.android.my.tests" />
        <option name="package" value="com.android.my.tests.x" />
        <option name="runner" value="android.support.test.runner.AndroidJUnitRunner" />
    </test>
</configuration>
@@ -97,16 +99,17 @@ EXPECTED_INSTRUMENTATION_TEST_CONFIG = """<?xml version="1.0" encoding="utf-8"?>
    </target_preparer>

    <test class="com.android.tradefed.testtype.InstrumentationTest" >
        <option name="package" value="com.android.my.tests" />
        <option name="package" value="com.android.my.tests.x" />
        <option name="runner" value="android.test.InstrumentationTestRunner" />
    </test>
</configuration>
"""

MAKE_ROOT = os.path.dirname(os.path.dirname(__file__))
EMPTY_TEST_CONFIG = os.path.join(MAKE_ROOT, 'core', 'empty_test_config.xml')
TOOLS_DIR = os.path.dirname(os.path.dirname(__file__))
EMPTY_TEST_CONFIG = os.path.join(
    TOOLS_DIR, '..', 'core', 'empty_test_config.xml')
INSTRUMENTATION_TEST_CONFIG_TEMPLATE = os.path.join(
    MAKE_ROOT, 'core', 'instrumentation_test_config_template.xml')
    TOOLS_DIR, '..', 'core', 'instrumentation_test_config_template.xml')


class AutoGenTestConfigUnittests(unittest.TestCase):