Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: repoman/pym/repoman/modules/linechecks/nested/
Date: Fri, 30 Mar 2018 04:23:44
Message-Id: 1522381878.4a63297643accd75971622000f15613200501081.zmedico@gentoo
1 commit: 4a63297643accd75971622000f15613200501081
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jul 15 01:02:24 2017 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Fri Mar 30 03:51:18 2018 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=4a632976
7
8 repoman: New linechecks module, nested
9
10 .../repoman/modules/linechecks/nested/__init__.py | 21 +++++++++++++++++++++
11 .../pym/repoman/modules/linechecks/nested/nested.py | 15 +++++++++++++++
12 .../repoman/modules/linechecks/nested/nesteddie.py | 11 +++++++++++
13 3 files changed, 47 insertions(+)
14
15 diff --git a/repoman/pym/repoman/modules/linechecks/nested/__init__.py b/repoman/pym/repoman/modules/linechecks/nested/__init__.py
16 new file mode 100644
17 index 000000000..8eeeccbac
18 --- /dev/null
19 +++ b/repoman/pym/repoman/modules/linechecks/nested/__init__.py
20 @@ -0,0 +1,21 @@
21 +# Copyright 2015-2016 Gentoo Foundation
22 +# Distributed under the terms of the GNU General Public License v2
23 +
24 +doc = """Nested plug-in module for repoman LineChecks.
25 +Performs nested subshell checks on ebuilds."""
26 +__doc__ = doc[:]
27 +
28 +
29 +module_spec = {
30 + 'name': 'do',
31 + 'description': doc,
32 + 'provides':{
33 + 'nesteddie-check': {
34 + 'name': "nesteddie",
35 + 'sourcefile': "nested",
36 + 'class': "EbuildNestedDie",
37 + 'description': doc,
38 + },
39 + }
40 +}
41 +
42
43 diff --git a/repoman/pym/repoman/modules/linechecks/nested/nested.py b/repoman/pym/repoman/modules/linechecks/nested/nested.py
44 new file mode 100644
45 index 000000000..06b272772
46 --- /dev/null
47 +++ b/repoman/pym/repoman/modules/linechecks/nested/nested.py
48 @@ -0,0 +1,15 @@
49 +
50 +import re
51 +
52 +from repoman.modules.linechecks.base import LineCheck
53 +
54 +
55 +class EbuildNestedDie(LineCheck):
56 + """Check ebuild for nested die statements (die statements in subshells)"""
57 +
58 + repoman_check_name = 'ebuild.nesteddie'
59 + nesteddie_re = re.compile(r'^[^#]*\s\(\s[^)]*\bdie\b')
60 +
61 + def check(self, num, line):
62 + if self.nesteddie_re.match(line):
63 + return self.errors['NESTED_DIE_ERROR']
64
65 diff --git a/repoman/pym/repoman/modules/linechecks/nested/nesteddie.py b/repoman/pym/repoman/modules/linechecks/nested/nesteddie.py
66 new file mode 100644
67 index 000000000..6c1e4be9f
68 --- /dev/null
69 +++ b/repoman/pym/repoman/modules/linechecks/nested/nesteddie.py
70 @@ -0,0 +1,11 @@
71 +
72 +
73 +class EbuildNestedDie(LineCheck):
74 + """Check ebuild for nested die statements (die statements in subshells)"""
75 +
76 + repoman_check_name = 'ebuild.nesteddie'
77 + nesteddie_re = re.compile(r'^[^#]*\s\(\s[^)]*\bdie\b')
78 +
79 + def check(self, num, line):
80 + if self.nesteddie_re.match(line):
81 + return errors.NESTED_DIE_ERROR