本文整理汇总了Python中snapcraft.internal.parser.main函数的典型用法代码示例。如果您正苦于以下问题:Python main函数的具体用法?Python main怎么用?Python main使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了main函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_remote_after_parts_unordered
def test_remote_after_parts_unordered(self, mock_get_origin_data):
_create_example_output("""
---
maintainer: Marco Trevisan <[email protected]>
origin: lp:snapcraft-parser-example
description: parent part that depends on child
parts: [parent]
---
maintainer: John Doe <[email protected]>
origin: lp:snapcraft-parser-example
description: example part on which parent depends on
parts: [child]
""")
parts = OrderedDict()
parent_part = OrderedDict()
parent_part['description'] = 'example part on which parent depends on'
parent_part['maintainer'] = 'Marco Trevisan <[email protected]>'
parent_part['plugin'] = 'dump'
parent_part['source'] = 'lp:project'
parent_part['after'] = ['child']
parts['parent'] = parent_part
child_part = OrderedDict()
child_part['description'] = 'parent part that depends on child'
child_part['maintainer'] = 'John Doe <[email protected]>'
child_part['plugin'] = 'dump'
child_part['source'] = 'lp:project'
parts['child'] = child_part
mock_get_origin_data.return_value = {
'parts': parts,
}
main(['--index', TEST_OUTPUT_PATH])
self.assertEqual(2, _get_part_list_count())
示例2: test_carriage_returns
def test_carriage_returns(self, mock_get_origin_data):
"""Test carriage returns in the wiki."""
fake_logger = fixtures.FakeLogger(level=logging.ERROR)
self.useFixture(fake_logger)
_create_example_output("""\r
---
maintainer: John Doe <[email protected]>
origin: lp:snapcraft-parser-example
description: example main\r
parts: [main]\r
---
maintainer: Jim Doe <[email protected]>
origin: lp:snapcraft-parser-example
description: example main duplicate
parts: [main]
""")
mock_get_origin_data.return_value = {
'parts': {
'main': {
'source': 'lp:project',
'plugin': 'copy',
'files': ['file1', 'file2'],
},
}
}
main(['--debug', '--index', TEST_OUTPUT_PATH])
part = _get_part('main')
self.assertEqual('example main', part['description'])
self.assertEqual(1, _get_part_list_count())
示例3: test_main_slash_warning
def test_main_slash_warning(self, mock_get_origin_data):
fake_logger = fixtures.FakeLogger(level=logging.WARN)
self.useFixture(fake_logger)
_create_example_output(
"""
---
maintainer: John Doe <[email protected]
origin: lp:snapcraft-parser-example
description: example
parts: [main/a]
"""
)
mock_get_origin_data.return_value = {
"parts": {
"main/a": {
"source": "lp:something",
"plugin": "copy",
"files": ["file1", "file2"],
}
}
}
main(["--debug", "--index", TEST_OUTPUT_PATH])
self.assertThat(_get_part_list_count(), Equals(1))
m = 'DEPRECATED: Found a "/" in the name of the {!r} part'.format("main/a")
self.assertTrue(
m in fake_logger.output, "Missing slash deprecation warning in output"
)
示例4: test_wiki_with_fake_origin
def test_wiki_with_fake_origin(self):
fixture = fixture_setup.FakePartsWikiOrigin()
self.useFixture(fixture)
origin_url = fixture.fake_parts_wiki_origin_fixture.url
_create_example_output("""
---
maintainer: John Doe <[email protected]>
origin: {origin_url}
description: example
parts: [somepart]
""".format(origin_url=origin_url))
origin_dir = os.path.join(parser._get_base_dir(),
_encode_origin(origin_url))
os.makedirs(origin_dir, exist_ok=True)
# Create a fake snapcraft.yaml for _get_origin_data() to parse
with open(os.path.join(origin_dir, 'snapcraft.yaml'),
'w') as fp:
text = requests.get(origin_url).text
fp.write(text)
main(['--debug', '--index', TEST_OUTPUT_PATH])
self.assertEqual(1, _get_part_list_count())
part = _get_part('somepart')
self.assertTrue(part)
示例5: test_missing_snapcraft_yaml
def test_missing_snapcraft_yaml(self):
fixture = fixture_setup.FakePartsWikiOrigin()
self.useFixture(fixture)
origin_url = fixture.fake_parts_wiki_origin_fixture.url
fake_logger = fixtures.FakeLogger(level=logging.ERROR)
self.useFixture(fake_logger)
_create_example_output(
"""
---
maintainer: John Doe <[email protected]>
origin: {origin_url}
description: example
parts: [somepart]
""".format(
origin_url=origin_url
)
)
main(["--debug", "--index", TEST_OUTPUT_PATH])
self.assertThat(_get_part_list_count(), Equals(0))
self.assertTrue(
"1 wiki errors found" in fake_logger.output,
"Missing invalid wiki entry info in output",
)
示例6: test_descriptions_get_block_quotes
def test_descriptions_get_block_quotes(self, mock_get_origin_data):
output = """
---
maintainer: John Doe <[email protected]>
origin: lp:snapcraft-parser-example
description: |
example
Usage:
blahblahblah
parts: [main]
"""
_create_example_output(output)
mock_get_origin_data.return_value = {
'parts': {
'main': {
'source': 'lp:something',
'plugin': 'copy',
'files': ['file1', 'file2'],
},
}
}
main(['--debug', '--index', TEST_OUTPUT_PATH])
with open('snap-parts.yaml') as fp:
data = fp.read()
self.assertNotIn('description: "', data)
self.assertIn('description: |', data)
self.assertEqual(1, _get_part_list_count())
示例7: test_source_with_local_source_subdir_part_origin
def test_source_with_local_source_subdir_part_origin(
self, mock_get_origin_data):
"""Test a wiki entry with a source with a local source-subdir part."""
_create_example_output("""
---
maintainer: John Doe <[email protected]
origin: lp:snapcraft-parser-example
description: example
parts: [main]
""")
mock_get_origin_data.return_value = {
'parts': {
'main': {
'source': '.',
'source-subdir': 'local',
'plugin': 'copy',
'files': ['file1', 'file2'],
},
}
}
main(['--debug', '--index', TEST_OUTPUT_PATH])
self.assertEqual(1, _get_part_list_count())
part = _get_part('main')
self.assertNotEqual('.', part['source'])
self.assertEqual('local', part['source-subdir'])
self.assertEqual(6, len(part.keys()))
示例8: test_multiple_part_origin
def test_multiple_part_origin(self, mock_get_origin_data):
"""Test a wiki entry with multiple origin parts."""
_create_example_output("""
---
maintainer: John Doe <[email protected]
origin: lp:snapcraft-parser-example
description: example
parts: ['main', 'subpart']
""")
mock_get_origin_data.return_value = {
'parts': {
'main': {
'source': 'lp:something',
'plugin': 'copy',
'files': ['file1', 'file2'],
'after': ['subpart'],
},
'subpart': {
'source': 'lp:somethingelse',
'plugin': 'copy',
'files': ['subfile2'],
},
}
}
main(['--debug', '--index', TEST_OUTPUT_PATH])
self.assertEqual(2, _get_part_list_count())
示例9: test_output_parameter
def test_output_parameter(self, mock_get_origin_data):
"""Test a wiki entry with multiple origin parts."""
_create_example_output("""
---
maintainer: John Doe <[email protected]
origin: lp:snapcraft-parser-example
description: example
parts: [main]
""")
mock_get_origin_data.return_value = {
'parts': {
'main': {
'source': 'lp:something',
'plugin': 'copy',
'files': ['file1', 'file2'],
},
}
}
filename = 'parts.yaml'
main(['--debug', '--index', TEST_OUTPUT_PATH, '--output', filename])
self.assertEqual(1, _get_part_list_count(filename))
self.assertTrue(os.path.exists(filename))
示例10: test_main_slash_warning
def test_main_slash_warning(self, mock_get_origin_data):
fake_logger = fixtures.FakeLogger(level=logging.WARN)
self.useFixture(fake_logger)
_create_example_output("""
---
maintainer: John Doe <[email protected]
origin: lp:snapcraft-parser-example
description: example
parts: [main/a]
""")
mock_get_origin_data.return_value = {
'parts': {
'main/a': {
'source': 'lp:something',
'plugin': 'copy',
'files': ['file1', 'file2'],
},
}
}
main(['--debug', '--index', TEST_OUTPUT_PATH])
self.assertEqual(1, _get_part_list_count())
m = 'DEPRECATED: Found a "/" in the name of the {!r} part'.format(
'main/a')
self.assertTrue(m in fake_logger.output,
'Missing slash deprecation warning in output')
示例11: test_main_valid_with_default_index
def test_main_valid_with_default_index(self, mock_urlopen):
class FakeResponse:
def read(self):
return b''
mock_urlopen.return_value = FakeResponse()
main(['--debug'])
self.assertEqual(0, _get_part_list_count())
示例12: test_multiple_part_origin
def test_multiple_part_origin(self, mock_get_origin_data):
"""Test a wiki entry with multiple origin parts."""
_create_example_output(
"""
---
maintainer: John Doe <[email protected]
origin: lp:snapcraft-parser-example
description: example
parts: ['main', 'subpart']
"""
)
mock_get_origin_data.return_value = {
"parts": {
"main": {
"source": "lp:something",
"plugin": "copy",
"files": ["file1", "file2"],
"after": ["subpart"],
},
"subpart": {
"source": "lp:somethingelse",
"plugin": "copy",
"files": ["subfile2"],
},
}
}
main(["--debug", "--index", TEST_OUTPUT_PATH])
self.assertThat(_get_part_list_count(), Equals(2))
示例13: test_remote_after_parts_unordered
def test_remote_after_parts_unordered(self, mock_get_origin_data):
_create_example_output(
"""
---
maintainer: Marco Trevisan <[email protected]>
origin: lp:snapcraft-parser-example
description: parent part that depends on child
parts: [parent]
---
maintainer: John Doe <[email protected]>
origin: lp:snapcraft-parser-example
description: example part on which parent depends on
parts: [child]
"""
)
parts = OrderedDict()
parent_part = OrderedDict()
parent_part["description"] = "example part on which parent depends on"
parent_part["maintainer"] = "Marco Trevisan <[email protected]>"
parent_part["plugin"] = "dump"
parent_part["source"] = "lp:project"
parent_part["after"] = ["child"]
parts["parent"] = parent_part
child_part = OrderedDict()
child_part["description"] = "parent part that depends on child"
child_part["maintainer"] = "John Doe <[email protected]>"
child_part["plugin"] = "dump"
child_part["source"] = "lp:project"
parts["child"] = child_part
mock_get_origin_data.return_value = {"parts": parts}
main(["--index", TEST_OUTPUT_PATH])
self.assertThat(_get_part_list_count(), Equals(2))
示例14: test_wiki_interactions_with_fake_with_slashes
def test_wiki_interactions_with_fake_with_slashes(
self, mock_get_origin_data):
fixture = fixture_setup.FakePartsWikiWithSlashes()
self.useFixture(fixture)
mock_get_origin_data.return_value = {
'parts': {
'curl/a': {
'source': 'lp:something',
'plugin': 'copy',
'files': ['file1', 'file2'],
},
'curl-a': {
'source': 'lp:something',
'plugin': 'copy',
'files': ['file1', 'file2'],
},
}
}
main(['--debug', '--index',
fixture.fake_parts_wiki_with_slashes_fixture.url])
self.assertEqual(2, _get_part_list_count())
part1 = _get_part('curl/a')
self.assertTrue(part1)
part2 = _get_part('curl-a')
self.assertTrue(part2)
示例15: test_carriage_returns
def test_carriage_returns(self, mock_get_origin_data):
"""Test carriage returns in the wiki."""
fake_logger = fixtures.FakeLogger(level=logging.ERROR)
self.useFixture(fake_logger)
_create_example_output(
"""\r
---
maintainer: John Doe <[email protected]>
origin: lp:snapcraft-parser-example
description: example main\r
parts: [main]\r
---
maintainer: Jim Doe <[email protected]>
origin: lp:snapcraft-parser-example
description: example main duplicate
parts: [main]
"""
)
mock_get_origin_data.return_value = {
"parts": {
"main": {
"source": "lp:project",
"plugin": "copy",
"files": ["file1", "file2"],
}
}
}
main(["--debug", "--index", TEST_OUTPUT_PATH])
part = _get_part("main")
self.assertThat(part["description"], Equals("example main"))
self.assertThat(_get_part_list_count(), Equals(1))