# 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.13 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland