コード例 #1
0
def _VerifyManifest(actual_manifest, expected_file, normalized_manifest,
                    expected_manifest_base_expectation,
                    unexpected_manifest_failure_file, fail_on_mismatch):
  with build_utils.AtomicOutput(normalized_manifest) as normalized_output:
    normalized_output.write(manifest_utils.NormalizeManifest(actual_manifest))

  if expected_manifest_base_expectation:
    with tempfile.NamedTemporaryFile() as generated_diff:
      actual_diff_content = diff_utils.GenerateDiffWithOnlyAdditons(
          expected_manifest_base_expectation, normalized_manifest)
      generated_diff.write(actual_diff_content)
      generated_diff.flush()

      msg = diff_utils.DiffFileContents(expected_file, generated_diff.name)
  else:
    msg = diff_utils.DiffFileContents(expected_file, normalized_manifest)

  if not msg:
    return

  msg_header = """\
AndroidManifest.xml expectations file needs updating. For details see:
https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/android/java/README.md
"""
  sys.stderr.write(msg_header)
  sys.stderr.write(msg)
  if unexpected_manifest_failure_file:
    build_utils.MakeDirectory(os.path.dirname(unexpected_manifest_failure_file))
    with open(unexpected_manifest_failure_file, 'w') as f:
      f.write(msg_header)
      f.write(msg)
  if fail_on_mismatch:
    sys.exit(1)
コード例 #2
0
def _CreateNormalizedManifestForVerification(options):
    with build_utils.TempDir() as tempdir:
        fixed_manifest, _ = _FixManifest(
            options,
            tempdir,
            extra_manifest=options.extra_verification_manifest)
        with open(fixed_manifest) as f:
            return manifest_utils.NormalizeManifest(f.read())
コード例 #3
0
 def testNormalizeManifest_nameNotUsedForIntentFilter(self):
     test_manifest, expected = _CreateTestData(
         extra_intent_filter_elem='<a/>',
         intent_filter_diff_anchor='5f5c8a70')
     actual = manifest_utils.NormalizeManifest(test_manifest)
     # Checks that the DIFF-ANCHOR does change with the added element despite
     # having a nested element with an android:name set.
     self.assertMultiLineEqual(expected, actual)
コード例 #4
0
def _VerifyManifest(actual_manifest, expected_manifest, normalized_manifest,
                    fail_if_unexpected_manifest):
  with build_utils.AtomicOutput(normalized_manifest) as normalized_output:
    normalized_output.write(manifest_utils.NormalizeManifest(actual_manifest))
  msg = diff_utils.DiffFileContents(expected_manifest, normalized_manifest)
  if msg:
    sys.stderr.write("""\
AndroidManifest.xml expectations file needs updating. For details see:
https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/android/java/README.md
""")
    sys.stderr.write(msg)
    if fail_if_unexpected_manifest:
      sys.exit(1)
コード例 #5
0
def _VerifyManifest(actual_manifest, expected_manifest, normalized_manifest,
                    unexpected_manifest_failure_file):
  with build_utils.AtomicOutput(normalized_manifest) as normalized_output:
    normalized_output.write(manifest_utils.NormalizeManifest(actual_manifest))
  msg = diff_utils.DiffFileContents(expected_manifest, normalized_manifest)
  if not msg:
    return

  msg_header = """\
AndroidManifest.xml expectations file needs updating. For details see:
https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/android/java/README.md
"""
  sys.stderr.write(msg_header)
  sys.stderr.write(msg)
  if unexpected_manifest_failure_file:
    build_utils.MakeDirectory(os.path.dirname(unexpected_manifest_failure_file))
    with open(unexpected_manifest_failure_file, 'w') as f:
      f.write(msg_header)
      f.write(msg)
コード例 #6
0
ファイル: compile_resources.py プロジェクト: frida/v8-build
def _CreateNormalizedManifest(options):
    with build_utils.TempDir() as tempdir:
        fixed_manifest, _ = _FixManifest(options, tempdir)
        with open(fixed_manifest) as f:
            return manifest_utils.NormalizeManifest(f.read())
コード例 #7
0
 def testNormalizeManifest_nameUsedForActivity(self):
     test_manifest, expected = _CreateTestData(extra_activity_attr='a="b"')
     actual = manifest_utils.NormalizeManifest(test_manifest)
     # Checks that the DIFF-ANCHOR does not change with the added attribute.
     self.assertMultiLineEqual(expected, actual)
コード例 #8
0
 def testNormalizeManifest_golden(self):
     test_manifest, expected = _CreateTestData()
     actual = manifest_utils.NormalizeManifest(test_manifest)
     self.assertMultiLineEqual(expected, actual)