Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/python/mozbuild/mozbuild/test/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 54 kB image not shown  

Quelle  test_manifest.py   Sprache: Python

 
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

import unittest

import mozfile
from mozunit import main

from mozbuild.vendor.moz_yaml import MozYamlVerifyError, load_moz_yaml


class TestManifest(unittest.TestCase):
    def process_test_vectors(self, test_vectors):
        index = 0
        for vector in test_vectors:
            print("Testing index", index)
            expected, yaml = vector
            with mozfile.NamedTemporaryFile() as tf:
                tf.write(yaml)
                tf.flush()
                if expected == "exception":
                    with self.assertRaises(MozYamlVerifyError):
                        load_moz_yaml(tf.name, require_license_file=False)
                else:
                    self.assertDictEqual(
                        load_moz_yaml(tf.name, require_license_file=False), expected
                    )
            index += 1

    # ===========================================================================================
    def test_simple(self):
        simple_dict = {
            "schema""1",
            "origin": {
                "description""2D Graphics Library",
                "license": ["MPL-1.1""LGPL-2.1"],
                "name""cairo",
                "release""version 1.6.4",
                "revision""AA001122334455",
                "url""https://www.cairographics.org/",
            },
            "bugzilla": {"component""Graphics""product""Core"},
        }

        self.process_test_vectors(
            [
                (
                    simple_dict,
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                (
                    simple_dict,
                    b"""
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
            ]
        )

    # ===========================================================================================
    def test_updatebot(self):
        self.process_test_vectors(
            [
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "updatebot": {
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "updatebot": {
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: 001122334455
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "updatebot": {
                            "try-preset""foo",
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: 001122334455
bugzilla:
  product: Core
  component: Graphics
updatebot:
  try-preset: foo
  maintainer-phab: tjr
  maintainer-bz: a@example.com
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                        },
                        "updatebot": {
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                            "fuzzy-query""!linux64",
                            "tasks": [{"type""commit-alert"}],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  fuzzy-query: "!linux64"
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: commit-alert
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  try-preset: foo
  fuzzy-query: "!linux64"
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: commit-alert
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                        },
                        "updatebot": {
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                            "fuzzy-paths": ["dir1/""dir2"],
                            "tasks": [{"type""commit-alert"}],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  fuzzy-paths:
    - dir1/
    - dir2
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: commit-alert
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                        },
                        "updatebot": {
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                            "fuzzy-paths": ["dir1/"],
                            "tasks": [{"type""commit-alert"}],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  fuzzy-paths: ['dir1/']
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: commit-alert
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                            "tracking""commit",
                            "flavor""rust",
                        },
                        "updatebot": {
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                            "tasks": [
                                {"type""commit-alert""frequency""release"},
                                {
                                    "type""vendoring",
                                    "enabled"False,
                                    "cc": ["b@example.com"],
                                    "needinfo": ["c@example.com"],
                                    "frequency""1 weeks",
                                    "platform""windows",
                                },
                            ],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  tracking: commit
  source-hosting: gitlab
  flavor: rust
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: commit-alert
      frequency: release
    - type: vendoring
      enabled: False
      cc: ["b@example.com"]
      needinfo: ["c@example.com"]
      frequency: 1 weeks
      platform: windows
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                            "tracking""tag",
                            "flavor""rust",
                        },
                        "updatebot": {
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                            "tasks": [
                                {"type""commit-alert""frequency""release"},
                                {
                                    "type""vendoring",
                                    "enabled"False,
                                    "cc": ["b@example.com"],
                                    "needinfo": ["c@example.com"],
                                    "frequency""1 weeks, 4 commits",
                                    "platform""windows",
                                },
                            ],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  tracking: tag
  source-hosting: gitlab
  flavor: rust
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: commit-alert
      frequency: release
    - type: vendoring
      enabled: False
      cc: ["b@example.com"]
      needinfo: ["c@example.com"]
      frequency: 1 weeks, 4 commits
      platform: windows
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",  # rust flavor cannot use update-actions
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  tracking: tag
  source-hosting: gitlab
  flavor: rust
  update-actions:
    - action: move-file
      from: foo
      to: bar
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: commit-alert
      frequency: release
    - type: vendoring
      enabled: False
      cc: ["b@example.com"]
      needinfo: ["c@example.com"]
      frequency: 1 weeks, 4 commits
      platform: windows
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                        },
                        "updatebot": {
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                            "tasks": [
                                {
                                    "type""vendoring",
                                    "enabled"False,
                                    "cc": ["b@example.com""c@example.com"],
                                    "needinfo": ["d@example.com""e@example.com"],
                                    "frequency""every",
                                },
                                {
                                    "type""commit-alert",
                                    "filter""none",
                                    "source-extensions": [".c"".cpp"],
                                    "frequency""2 weeks",
                                    "platform""linux",
                                },
                            ],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
    - type: commit-alert
      filter: none
      frequency: 2 weeks
      platform: linux
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                        },
                        "updatebot": {
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                            "tasks": [
                                {
                                    "type""vendoring",
                                    "enabled"False,
                                    "cc": ["b@example.com""c@example.com"],
                                    "needinfo": ["d@example.com""e@example.com"],
                                    "frequency""every",
                                },
                                {
                                    "type""commit-alert",
                                    "filter""none",
                                    "source-extensions": [".c"".cpp"],
                                    "frequency""2 commits",
                                    "platform""linux",
                                },
                            ],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
    - type: commit-alert
      filter: none
      frequency: 2 commits
      platform: linux
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                        },
                        "updatebot": {
                            "maintainer-phab""tjr",
                            "maintainer-bz""a@example.com",
                            "tasks": [
                                {
                                    "type""vendoring",
                                    "enabled"False,
                                    "cc": ["b@example.com""c@example.com"],
                                    "needinfo": ["d@example.com""e@example.com"],
                                    "frequency""every",
                                    "blocking""1234",
                                },
                                {
                                    "type""commit-alert",
                                    "filter""none",
                                    "source-extensions": [".c"".cpp"],
                                    "frequency""2 commits",
                                    "platform""linux",
                                },
                            ],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
      blocking: 1234
    - type: commit-alert
      filter: none
      frequency: 2 commits
      platform: linux
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      branch: foo
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
      blocking: 1234
    - type: commit-alert
      filter: none
      frequency: 2 commits
      platform: linux
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "description""2D Graphics Library",
                            "url""https://www.cairographics.org/",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                            "flavor""individual-files",
                            "individual-files": [
                                {"upstream""foo""destination""bar"}
                            ],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: individual-files
  individual-files:
    - upstream: foo
      destination: bar
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "description""2D Graphics Library",
                            "url""https://www.cairographics.org/",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                            "flavor""individual-files",
                            "individual-files": [
                                {"upstream""foo""destination""bar"}
                            ],
                            "update-actions": [
                                {"action""move-file""from""foo""to""bar"}
                            ],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: individual-files
  individual-files:
    - upstream: foo
      destination: bar
  update-actions:
    - action: move-file
      from: foo
      to: bar
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    {
                        "schema""1",
                        "origin": {
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "description""2D Graphics Library",
                            "url""https://www.cairographics.org/",
                            "release""version 1.6.4",
                            "revision""AA001122334455",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                        "vendoring": {
                            "url""https://example.com",
                            "source-hosting""gitlab",
                            "flavor""individual-files",
                            "individual-files-default-destination""bar",
                            "individual-files-default-upstream""foo",
                            "individual-files-list": ["foo""bar"],
                            "update-actions": [
                                {"action""move-file""from""foo""to""bar"}
                            ],
                        },
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: individual-files
  individual-files-default-upstream: foo
  individual-files-default-destination: bar
  individual-files-list:
    - foo
    - bar
  update-actions:
    - action: move-file
      from: foo
      to: bar
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",  # can't have both types of indidivudal-files list
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: individual-files
  individual-files-list:
    - foo
  individual-files:
    - upstream: foo
      destination: bar
  update-actions:
    - action: move-file
      from: foo
      to: bar
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",  # can't have indidivudal-files-default-upstream
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: individual-files
  indidivudal-files-default-upstream: foo
  individual-files:
    - upstream: foo
      destination: bar
  update-actions:
    - action: move-file
      from: foo
      to: bar
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",  # must have indidivudal-files-default-upstream
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: individual-files
  indidivudal-files-default-destination: foo
  individual-files-list:
    - foo
    - bar
  update-actions:
    - action: move-file
      from: foo
      to: bar
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  tracking: tag
  flavor: individual-files
  individual-files:
    - upstream-src: foo
      dst: bar
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: individual-files
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: rust
  individual-files:
    - upstream: foo
      destination: bar
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: rust
  include:
    - foo
bugzilla:
  product: Core
  component: Graphics
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
      blocking: foo
    - type: commit-alert
      filter: none
      frequency: 2 commits
      platform: linux
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  fuzzy-paths: "must-be-array"
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
    - type: commit-alert
      filter: none
      frequency: 2 commits
      platform: linux
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
    - type: commit-alert
      filter: none
      frequency: 2 commits, 4 weeks
      platform: linux
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
    - type: commit-alert
      filter: none
      frequency: 4 weeks, 2 commits, 3 weeks
      platform: linux
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: chocolate
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
    - type: commit-alert
      filter: none
      frequency: 2 weeks
      platform: linux
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
  flavor: chocolate
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
    - type: commit-alert
      filter: none
      frequency: 01 commits
      platform: linux
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      needinfo:
        - d@example.com
        - e@example.com
      frequency: every
    - type: commit-alert
      filter: none
      frequency: 2 weeks
      platform: mac
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
    - type: commit-alert
      filter: none
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
bugzilla:
  product: Core
  component: Graphics
vendoring:
  url: https://example.com
  source-hosting: gitlab
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
    - type: commit-alert
      filter: none
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      filter: none
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: foo
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      source-extensions:
        - .c
        - .cpp
            """.strip(),
                ),
                # -------------------------------------------------
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: commit-alert
      filter: hogwash
            """.strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
bugzilla:
  product: Core
  component: Graphics
vendoring:
  url: https://example.com
  source-hosting: gitlab
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
    - type: commit-alert
    - type: commit-alert
      filter: none
      source-extensions:
        - .c
        - .cpp""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
bugzilla:
  product: Core
  component: Graphics
vendoring:
  url: https://example.com
  source-hosting: gitlab
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
    - type: vendoring
    - type: commit-alert
      filter: none
      source-extensions:
        - .c
        - .cpp""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
bugzilla:
  product: Core
  component: Graphics
vendoring:
  url: https://example.com
  source-hosting: gitlab
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
    - type: commit-alert
      frequency: every-release
      filter: none
      source-extensions:
        - .c
        - .cpp""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
bugzilla:
  product: Core
  component: Graphics
vendoring:
  url: https://example.com
  source-hosting: gitlab
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: vendoring
      enabled: False
      cc:
        - b@example.com
        - c@example.com
      frequency: 2 months
    - type: commit-alert
      filter: none
      source-extensions:
        - .c
        - .cpp""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
vendoring:
  url: https://example.com
  source-hosting: gitlab
bugzilla:
  product: Core
  component: Graphics
updatebot:
  maintainer-phab: tjr
  maintainer-bz: a@example.com
  tasks:
    - type: commit-alert
      frequency: 0 weeks
                  """.strip(),
                ),
            ]
        )

    # ===========================================================================================
    def test_malformed(self):
        with mozfile.NamedTemporaryFile() as tf:
            tf.write(b"blah")
            tf.flush()
            with self.assertRaises(MozYamlVerifyError):
                load_moz_yaml(tf.name, require_license_file=False)

    def test_schema(self):
        with mozfile.NamedTemporaryFile() as tf:
            tf.write(b"schema: 99")
            tf.flush()
            with self.assertRaises(MozYamlVerifyError):
                load_moz_yaml(tf.name, require_license_file=False)

    def test_json(self):
        with mozfile.NamedTemporaryFile() as tf:
            tf.write(
                b'{"origin": {"release": "version 1.6.4", "url": "https://w'
                b'ww.cairographics.org/", "description": "2D Graphics Libra'
                b'ry", "license": ["MPL-1.1", "LGPL-2.1"], "name": "cairo"}'
                b', "bugzilla": {"product": "Core", "component": "Graphics"'
                b'}, "schema": 1}'
            )
            tf.flush()
            with self.assertRaises(MozYamlVerifyError):
                load_moz_yaml(tf.name, require_license_file=False)

    def test_revision(self):
        self.process_test_vectors(
            [
                (
                    {
                        "schema""1",
                        "origin": {
                            "description""2D Graphics Library",
                            "license": ["MPL-1.1""LGPL-2.1"],
                            "name""cairo",
                            "release""version 1.6.4",
                            "revision""v1.6.37",
                            "url""https://www.cairographics.org/",
                        },
                        "bugzilla": {"component""Graphics""product""Core"},
                    },
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: v1.6.37
bugzilla:
  product: Core
  component: Graphics""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: 4.0.0.
bugzilla:
  product: Core
  component: Graphics""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: 4.^.0
bugzilla:
  product: Core
  component: Graphics""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: " "
bugzilla:
  product: Core
  component: Graphics""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: ???
bugzilla:
  product: Core
  component: Graphics""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: ]
bugzilla:
  product: Core
  component: Graphics""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
bugzilla:
  product: Core
  component: Graphics
vendoring:
  url: https://example.com
  source-hosting: gitlab
  update-actions:
    - action: run-script
      cwd: '{cwd}'
      script: 'script.py'
      args: ['hi']
      pattern: 'hi'
""".strip(),
                ),
                (
                    "exception",
                    b"""
---
schema: 1
origin:
  name: cairo
  description: 2D Graphics Library
  url: https://www.cairographics.org/
  release: version 1.6.4
  license:
    - MPL-1.1
    - LGPL-2.1
  revision: AA001122334455
bugzilla:
  product: Core
  component: Graphics
vendoring:
  url: https://example.com
  source-hosting: gitlab
  update-actions:
    - action: run-script
      cwd: '{cwd}'
      args: ['hi']
""".strip(),
                ),
            ]
        )


if __name__ == "__main__":
    main()

Messung V0.5
C=95 H=98 G=96

¤ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.