From 6d7a672611700e4aaa311df5b52af82ffcc61c40 Mon Sep 17 00:00:00 2001 From: Chris PeBenito Date: Sat, 11 Aug 2018 14:38:58 -0400 Subject: [PATCH] Update static testing and fix identified issues. * Change pep8 to new pycodestyle tool. * Load the policrep extension in pylint --- .pylintrc | 2 +- sedta | 1 + seinfo | 8 +- setools/__init__.py | 4 +- setools/constraintquery.py | 30 +-- setools/diff/bounds.py | 2 +- setools/diff/constraints.py | 6 +- setools/diff/context.py | 6 +- setools/diff/default.py | 2 +- setools/diff/difference.py | 13 +- setools/diff/genfscon.py | 4 +- setools/diff/mls.py | 4 +- setools/diff/mlsrules.py | 12 +- setools/diff/nodecon.py | 2 +- setools/diff/portcon.py | 4 +- setools/diff/rbacrules.py | 4 +- setools/diff/terules.py | 36 +-- setools/exception.py | 2 + setools/terulequery.py | 2 +- setools/util.py | 8 +- setoolsgui/apol/boolquery.py | 2 +- setoolsgui/apol/boundsquery.py | 2 +- setoolsgui/apol/categoryquery.py | 2 +- setoolsgui/apol/commonquery.py | 2 +- setoolsgui/apol/constraintquery.py | 2 +- setoolsgui/apol/defaultquery.py | 2 +- setoolsgui/apol/dta.py | 4 +- setoolsgui/apol/fsusequery.py | 2 +- setoolsgui/apol/genfsconquery.py | 2 +- setoolsgui/apol/infoflow.py | 4 +- setoolsgui/apol/initsidquery.py | 2 +- setoolsgui/apol/mlsrulequery.py | 2 +- setoolsgui/apol/netifconquery.py | 2 +- setoolsgui/apol/nodeconquery.py | 2 +- setoolsgui/apol/objclassquery.py | 2 +- setoolsgui/apol/portconquery.py | 2 +- setoolsgui/apol/rbacrulequery.py | 2 +- setoolsgui/apol/rolequery.py | 2 +- setoolsgui/apol/sensitivityquery.py | 2 +- setoolsgui/apol/terulequery.py | 2 +- setoolsgui/apol/typeattrquery.py | 2 +- setoolsgui/apol/typequery.py | 2 +- setoolsgui/apol/userquery.py | 2 +- setoolsgui/models.py | 2 +- setoolsgui/treeview.py | 6 +- setoolsgui/usermodel.py | 12 +- tests/diff.py | 338 ++++++++++++++-------------- tests/dta.py | 12 +- tests/permmap.py | 2 +- tests/policyrep/default.py | 2 +- tests/policyrep/initsid.py | 4 +- tests/policyrep/mls.py | 4 +- tests/policyrep/objclass.py | 4 +- tests/policyrep/role.py | 2 +- tests/policyrep/selinuxpolicy.py | 7 +- tests/policyrep/terule.py | 2 +- tests/policyrep/typeattr.py | 2 +- tests/policyrep/user.py | 2 +- tests/terulequery.py | 2 +- tox.ini | 12 +- 60 files changed, 311 insertions(+), 306 deletions(-) diff --git a/.pylintrc b/.pylintrc index 3ced0f1..e857190 100644 --- a/.pylintrc +++ b/.pylintrc @@ -28,7 +28,7 @@ unsafe-load-any-extension=no # A comma-separated list of package or module names from where C extensions may # be loaded. Extensions are loading into the active Python interpreter and may # run arbitrary code -extension-pkg-whitelist= +extension-pkg-whitelist=setools.policyrep # Allow optimization of some AST trees. This will activate a peephole AST # optimizer, which will apply various small optimizations. For instance, it can diff --git a/sedta b/sedta index 84820b0..10cf43a 100755 --- a/sedta +++ b/sedta @@ -66,6 +66,7 @@ def print_transition(trans): print() + parser = argparse.ArgumentParser( description="SELinux policy domain transition analysis tool.", epilog="If no analysis is selected, all forward transitions out of the source will be printed.") diff --git a/seinfo b/seinfo index ae4bdfb..143b458 100755 --- a/seinfo +++ b/seinfo @@ -29,20 +29,20 @@ def expand_attr(attr): contents = items if items else "" return "{0}\n\t{1}".format(attr.statement(), contents) -parser = argparse.ArgumentParser( - description="SELinux policy information tool.") + +parser = argparse.ArgumentParser(description="SELinux policy information tool.") parser.add_argument("--version", action="version", version=setools.__version__) parser.add_argument("policy", help="Path to the SELinux policy to query.", nargs="?") parser.add_argument("-x", "--expand", action="store_true", help="Print additional information about the specified components.") -parser.add_argument("--flat", help="Print without item count nor indentation.", +parser.add_argument("--flat", help="Print without item count nor indentation.", dest="flat", default=False, action="store_true") parser.add_argument("-v", "--verbose", action="store_true", help="Print extra informational messages") parser.add_argument("--debug", action="store_true", dest="debug", help="Enable debugging.") queries = parser.add_argument_group("Component Queries") -queries.add_argument("-a", "--attribute", help="Print type attributes.", dest="typeattrquery", +queries.add_argument("-a", "--attribute", help="Print type attributes.", dest="typeattrquery", nargs='?', const=True, metavar="ATTR") queries.add_argument("-b", "--bool", help="Print Booleans.", dest="boolquery", nargs='?', const=True, metavar="BOOL") diff --git a/setools/__init__.py b/setools/__init__.py index 7e32df0..7b70f5e 100644 --- a/setools/__init__.py +++ b/setools/__init__.py @@ -29,8 +29,8 @@ import logging # Python classes for policy representation from .policyrep import SELinuxPolicy, BoundsRuletype, ConstraintRuletype, DefaultRuletype, \ - DefaultRangeValue, DefaultValue, FSUseRuletype, HandleUnknown, MLSRuletype, \ - NodeconIPVersion, PolicyTarget, PortconProtocol, RBACRuletype, TERuletype + DefaultRangeValue, DefaultValue, FSUseRuletype, HandleUnknown, MLSRuletype, \ + NodeconIPVersion, PolicyTarget, PortconProtocol, RBACRuletype, TERuletype # Exceptions from . import exception diff --git a/setools/constraintquery.py b/setools/constraintquery.py index 5193395..8543fce 100644 --- a/setools/constraintquery.py +++ b/setools/constraintquery.py @@ -125,24 +125,24 @@ class ConstraintQuery(MatchObjClass, MatchPermission, PolicyQuery): continue if self.role and not self._match_expr( - c.roles, - self.role, - self.role_indirect, - self.role_regex): - continue + c.roles, + self.role, + self.role_indirect, + self.role_regex): + continue if self.type_ and not self._match_expr( - c.types, - self.type_, - self.type_indirect, - self.type_regex): - continue + c.types, + self.type_, + self.type_indirect, + self.type_regex): + continue if self.user and not self._match_expr( - c.users, - self.user, - False, - self.user_regex): - continue + c.users, + self.user, + False, + self.user_regex): + continue yield c diff --git a/setools/diff/bounds.py b/setools/diff/bounds.py index 1522d22..de06d67 100644 --- a/setools/diff/bounds.py +++ b/setools/diff/bounds.py @@ -114,4 +114,4 @@ class BoundsWrapper(Wrapper): def __eq__(self, other): return self.ruletype == other.ruletype and \ - self.child == other.child + self.child == other.child diff --git a/setools/diff/constraints.py b/setools/diff/constraints.py index a9cae71..de00fae 100644 --- a/setools/diff/constraints.py +++ b/setools/diff/constraints.py @@ -221,6 +221,6 @@ class ConstraintWrapper(Wrapper): def __eq__(self, other): return self.ruletype == other.ruletype and \ - self.tclass == other.tclass and \ - self.perms == other.perms and \ - self.expr == other.expr + self.tclass == other.tclass and \ + self.perms == other.perms and \ + self.expr == other.expr diff --git a/setools/diff/context.py b/setools/diff/context.py index 9496a40..8464552 100644 --- a/setools/diff/context.py +++ b/setools/diff/context.py @@ -45,6 +45,6 @@ class ContextWrapper(Wrapper): def __eq__(self, other): return self.user == other.user and \ - self.role == other.role and \ - self.type_ == other.type_ and \ - self.range_ == other.range_ + self.role == other.role and \ + self.type_ == other.type_ and \ + self.range_ == other.range_ diff --git a/setools/diff/default.py b/setools/diff/default.py index 714f3c4..c1a37ba 100644 --- a/setools/diff/default.py +++ b/setools/diff/default.py @@ -112,4 +112,4 @@ class DefaultWrapper(Wrapper): def __eq__(self, other): return self.ruletype == other.ruletype and \ - self.tclass == other.tclass + self.tclass == other.tclass diff --git a/setools/diff/difference.py b/setools/diff/difference.py index 61f278b..1b1be8b 100644 --- a/setools/diff/difference.py +++ b/setools/diff/difference.py @@ -114,17 +114,18 @@ class Difference: "Matched items assertion failure (this is an SETools bug), {0} != {1}". \ format(len(left_matched_items), len(right_matched_items)) - for l, r in zip(left_matched_items, right_matched_items): - assert l == r, \ - "Matched items assertion failure (this is an SETools bug), {0} != {1}".format(l, r) + for left, right in zip(left_matched_items, right_matched_items): + assert left == right, \ + "Matched items assertion failure (this is an SETools bug), {0} != {1}".format( + left, right) - matched_items.add((l, r)) + matched_items.add((left, right)) try: # unwrap the objects return set(i.origin for i in added_items), \ - set(i.origin for i in removed_items), \ - set((l.origin, r.origin) for (l, r) in matched_items) + set(i.origin for i in removed_items), \ + set((left.origin, right.origin) for (left, right) in matched_items) except AttributeError: return added_items, removed_items, matched_items diff --git a/setools/diff/genfscon.py b/setools/diff/genfscon.py index fd7d8e6..2f5a66e 100644 --- a/setools/diff/genfscon.py +++ b/setools/diff/genfscon.py @@ -90,5 +90,5 @@ class GenfsconWrapper(Wrapper): def __eq__(self, other): return self.fs == other.fs and \ - self.path == other.path and \ - self.filetype == other.filetype + self.path == other.path and \ + self.filetype == other.filetype diff --git a/setools/diff/mls.py b/setools/diff/mls.py index be9f4a1..8c42c5e 100644 --- a/setools/diff/mls.py +++ b/setools/diff/mls.py @@ -237,7 +237,7 @@ class LevelWrapper(Wrapper): def __eq__(self, other): try: return self.sensitivity == other.sensitivity and \ - self.categories == other.categories + self.categories == other.categories except AttributeError: # comparing an MLS policy to non-MLS policy will result in # other being None @@ -264,7 +264,7 @@ class RangeWrapper(Wrapper): def __eq__(self, other): try: return self.low == other.low and \ - self.high == other.high + self.high == other.high except AttributeError: # comparing an MLS policy to non-MLS policy will result in # other being None diff --git a/setools/diff/mlsrules.py b/setools/diff/mlsrules.py index 5fafd47..8dd6318 100644 --- a/setools/diff/mlsrules.py +++ b/setools/diff/mlsrules.py @@ -55,10 +55,10 @@ class MLSRulesDifference(Difference): self._create_mls_rule_lists() added, removed, matched = self._set_diff( - self._expand_generator(self._left_mls_rules[MLSRuletype.range_transition], - MLSRuleWrapper), - self._expand_generator(self._right_mls_rules[MLSRuletype.range_transition], - MLSRuleWrapper)) + self._expand_generator(self._left_mls_rules[MLSRuletype.range_transition], + MLSRuleWrapper), + self._expand_generator(self._right_mls_rules[MLSRuletype.range_transition], + MLSRuleWrapper)) modified = [] @@ -126,5 +126,5 @@ class MLSRuleWrapper(Wrapper): # because MLSRuleDifference groups rules by ruletype, # the ruletype always matches. return self.source == other.source and \ - self.target == other.target and \ - self.tclass == other.tclass + self.target == other.target and \ + self.tclass == other.tclass diff --git a/setools/diff/nodecon.py b/setools/diff/nodecon.py index 4e70271..483f77a 100644 --- a/setools/diff/nodecon.py +++ b/setools/diff/nodecon.py @@ -88,4 +88,4 @@ class NodeconWrapper(Wrapper): def __eq__(self, other): return self.ip_version == other.ip_version and \ - self.network == other.network + self.network == other.network diff --git a/setools/diff/portcon.py b/setools/diff/portcon.py index 02b82c1..e262aa7 100644 --- a/setools/diff/portcon.py +++ b/setools/diff/portcon.py @@ -87,5 +87,5 @@ class PortconWrapper(Wrapper): def __eq__(self, other): return self.protocol == other.protocol and \ - self.low == other.low and \ - self.high == other.high + self.low == other.low and \ + self.high == other.high diff --git a/setools/diff/rbacrules.py b/setools/diff/rbacrules.py index 7dc6185..638840e 100644 --- a/setools/diff/rbacrules.py +++ b/setools/diff/rbacrules.py @@ -170,5 +170,5 @@ class RoleTransitionWrapper(Wrapper): # because RBACRuleDifference groups rules by ruletype, # the ruletype always matches. return self.source == other.source and \ - self.target == other.target and \ - self.tclass == other.tclass + self.target == other.target and \ + self.tclass == other.tclass diff --git a/setools/diff/terules.py b/setools/diff/terules.py index 3eac2a7..b2f9f01 100644 --- a/setools/diff/terules.py +++ b/setools/diff/terules.py @@ -81,8 +81,8 @@ def av_diff_template(ruletype): self._create_te_rule_lists() added, removed, matched = self._set_diff( - _avrule_expand_generator(self._left_te_rules[ruletype], AVRuleWrapper), - _avrule_expand_generator(self._right_te_rules[ruletype], AVRuleWrapper)) + _avrule_expand_generator(self._left_te_rules[ruletype], AVRuleWrapper), + _avrule_expand_generator(self._right_te_rules[ruletype], AVRuleWrapper)) modified = [] for left_rule, right_rule in matched: @@ -128,8 +128,8 @@ def avx_diff_template(ruletype): self._create_te_rule_lists() added, removed, matched = self._set_diff( - _avrule_expand_generator(self._left_te_rules[ruletype], AVRuleXpermWrapper), - _avrule_expand_generator(self._right_te_rules[ruletype], AVRuleXpermWrapper)) + _avrule_expand_generator(self._left_te_rules[ruletype], AVRuleXpermWrapper), + _avrule_expand_generator(self._right_te_rules[ruletype], AVRuleXpermWrapper)) modified = [] for left_rule, right_rule in matched: @@ -175,8 +175,8 @@ def te_diff_template(ruletype): self._create_te_rule_lists() added, removed, matched = self._set_diff( - self._expand_generator(self._left_te_rules[ruletype], TERuleWrapper), - self._expand_generator(self._right_te_rules[ruletype], TERuleWrapper)) + self._expand_generator(self._left_te_rules[ruletype], TERuleWrapper), + self._expand_generator(self._right_te_rules[ruletype], TERuleWrapper)) modified = [] for left_rule, right_rule in matched: @@ -349,10 +349,10 @@ class AVRuleWrapper(Wrapper): # because TERuleDifference groups rules by ruletype, # the ruletype always matches. return self.source == other.source and \ - self.target == other.target and \ - self.tclass == other.tclass and \ - self.conditional == other.conditional and \ - self.conditional_block == other.conditional_block + self.target == other.target and \ + self.tclass == other.tclass and \ + self.conditional == other.conditional and \ + self.conditional_block == other.conditional_block class AVRuleXpermWrapper(Wrapper): @@ -379,9 +379,9 @@ class AVRuleXpermWrapper(Wrapper): # because TERuleDifference groups rules by ruletype, # the ruletype always matches. return self.source == other.source and \ - self.target == other.target and \ - self.tclass == other.tclass and \ - self.xperm_type == other.xperm_type + self.target == other.target and \ + self.tclass == other.tclass and \ + self.xperm_type == other.xperm_type class TERuleWrapper(Wrapper): @@ -419,8 +419,8 @@ class TERuleWrapper(Wrapper): # because TERuleDifference groups rules by ruletype, # the ruletype always matches. return self.source == other.source and \ - self.target == other.target and \ - self.tclass == other.tclass and \ - self.conditional == other.conditional and \ - self.conditional_block == other.conditional_block and \ - self.filename == self.filename + self.target == other.target and \ + self.tclass == other.tclass and \ + self.conditional == other.conditional and \ + self.conditional_block == other.conditional_block and \ + self.filename == self.filename diff --git a/setools/exception.py b/setools/exception.py index 9a4a068..b7e4ea5 100644 --- a/setools/exception.py +++ b/setools/exception.py @@ -157,6 +157,8 @@ class InvalidUser(InvalidSymbol): # # Rule type exceptions # + + class InvalidRuleType(InvalidSymbol): """Exception for invalid rule types.""" diff --git a/setools/terulequery.py b/setools/terulequery.py index dc5126a..bd251fb 100644 --- a/setools/terulequery.py +++ b/setools/terulequery.py @@ -116,7 +116,7 @@ class TERuleQuery(mixins.MatchObjClass, mixins.MatchPermission, query.PolicyQuer if high < low: high, low = low, high - pending_xperms.update(i for i in range(low, high+1)) + pending_xperms.update(i for i in range(low, high + 1)) self._xperms = pending_xperms else: diff --git a/setools/util.py b/setools/util.py index e92ecb2..654f055 100644 --- a/setools/util.py +++ b/setools/util.py @@ -126,18 +126,18 @@ def match_range(obj, criteria, subset, overlap, superset, proper): if overlap: return ((obj.low <= criteria.low <= obj.high) or ( - obj.low <= criteria.high <= obj.high) or ( - criteria.low <= obj.low and obj.high <= criteria.high)) + obj.low <= criteria.high <= obj.high) or ( + criteria.low <= obj.low and obj.high <= criteria.high)) elif subset: if proper: return ((obj.low < criteria.low and criteria.high <= obj.high) or ( - obj.low <= criteria.low and criteria.high < obj.high)) + obj.low <= criteria.low and criteria.high < obj.high)) else: return obj.low <= criteria.low and criteria.high <= obj.high elif superset: if proper: return ((criteria.low < obj.low and obj.high <= criteria.high) or ( - criteria.low <= obj.low and obj.high < criteria.high)) + criteria.low <= obj.low and obj.high < criteria.high)) else: return (criteria.low <= obj.low and obj.high <= criteria.high) else: diff --git a/setoolsgui/apol/boolquery.py b/setoolsgui/apol/boolquery.py index 6f67cc6..9d04fac 100644 --- a/setoolsgui/apol/boolquery.py +++ b/setoolsgui/apol/boolquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_textedits, \ - save_checkboxes, save_lineedits, save_textedits + save_checkboxes, save_lineedits, save_textedits class BoolQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/boundsquery.py b/setoolsgui/apol/boundsquery.py index 90b55db..a631e1e 100644 --- a/setoolsgui/apol/boundsquery.py +++ b/setoolsgui/apol/boundsquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_textedits, \ - save_checkboxes, save_lineedits, save_textedits + save_checkboxes, save_lineedits, save_textedits class BoundsQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/categoryquery.py b/setoolsgui/apol/categoryquery.py index 53842f7..1567d64 100644 --- a/setoolsgui/apol/categoryquery.py +++ b/setoolsgui/apol/categoryquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_textedits, \ - save_checkboxes, save_lineedits, save_textedits + save_checkboxes, save_lineedits, save_textedits class CategoryQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/commonquery.py b/setoolsgui/apol/commonquery.py index 0b79315..3f36b8d 100644 --- a/setoolsgui/apol/commonquery.py +++ b/setoolsgui/apol/commonquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ - save_checkboxes, save_lineedits, save_listviews, save_textedits + save_checkboxes, save_lineedits, save_listviews, save_textedits class CommonQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/constraintquery.py b/setoolsgui/apol/constraintquery.py index e97a10b..a9dc96f 100644 --- a/setoolsgui/apol/constraintquery.py +++ b/setoolsgui/apol/constraintquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ - save_checkboxes, save_lineedits, save_listviews, save_textedits + save_checkboxes, save_lineedits, save_listviews, save_textedits class ConstraintQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/defaultquery.py b/setoolsgui/apol/defaultquery.py index 5667bd3..3ccbe0d 100644 --- a/setoolsgui/apol/defaultquery.py +++ b/setoolsgui/apol/defaultquery.py @@ -31,7 +31,7 @@ from ..defaultmodel import DefaultTableModel from .analysistab import AnalysisTab from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_comboboxes, load_listviews, load_textedits, \ - save_checkboxes, save_comboboxes, save_listviews, save_textedits + save_checkboxes, save_comboboxes, save_listviews, save_textedits class DefaultQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py index 0aaf13f..4608b9d 100644 --- a/setoolsgui/apol/dta.py +++ b/setoolsgui/apol/dta.py @@ -22,7 +22,7 @@ import logging from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread from PyQt5.QtGui import QPalette, QTextCursor from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ - QTreeWidgetItem + QTreeWidgetItem from setools import DomainTransitionAnalysis from ..logtosignal import LogHandlerToSignal @@ -30,7 +30,7 @@ from .analysistab import AnalysisTab from .excludetypes import ExcludeTypes from .exception import TabFieldError from .workspace import load_checkboxes, load_spinboxes, load_lineedits, load_textedits, \ - save_checkboxes, save_spinboxes, save_lineedits, save_textedits + save_checkboxes, save_spinboxes, save_lineedits, save_textedits class DomainTransitionAnalysisTab(AnalysisTab): diff --git a/setoolsgui/apol/fsusequery.py b/setoolsgui/apol/fsusequery.py index a252cef..a2f4899 100644 --- a/setoolsgui/apol/fsusequery.py +++ b/setoolsgui/apol/fsusequery.py @@ -30,7 +30,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_textedits, \ - save_checkboxes, save_lineedits, save_textedits + save_checkboxes, save_lineedits, save_textedits class FSUseQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/genfsconquery.py b/setoolsgui/apol/genfsconquery.py index 5c92656..02e80e9 100644 --- a/setoolsgui/apol/genfsconquery.py +++ b/setoolsgui/apol/genfsconquery.py @@ -30,7 +30,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_textedits, \ - save_checkboxes, save_lineedits, save_textedits + save_checkboxes, save_lineedits, save_textedits class GenfsconQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py index b272a99..7bca299 100644 --- a/setoolsgui/apol/infoflow.py +++ b/setoolsgui/apol/infoflow.py @@ -25,7 +25,7 @@ from contextlib import suppress from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread from PyQt5.QtGui import QPalette, QTextCursor from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ - QTreeWidgetItem + QTreeWidgetItem from setools import InfoFlowAnalysis from setools.exception import UnmappedClass, UnmappedPermission @@ -35,7 +35,7 @@ from .exception import TabFieldError from .excludetypes import ExcludeTypes from .permmapedit import PermissionMapEditor from .workspace import load_checkboxes, load_spinboxes, load_lineedits, load_textedits, \ - save_checkboxes, save_spinboxes, save_lineedits, save_textedits + save_checkboxes, save_spinboxes, save_lineedits, save_textedits class InfoFlowAnalysisTab(AnalysisTab): diff --git a/setoolsgui/apol/initsidquery.py b/setoolsgui/apol/initsidquery.py index 148b905..89a7cf2 100644 --- a/setoolsgui/apol/initsidquery.py +++ b/setoolsgui/apol/initsidquery.py @@ -30,7 +30,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_textedits, \ - save_checkboxes, save_lineedits, save_textedits + save_checkboxes, save_lineedits, save_textedits class InitialSIDQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/mlsrulequery.py b/setoolsgui/apol/mlsrulequery.py index a72c121..39e1f2d 100644 --- a/setoolsgui/apol/mlsrulequery.py +++ b/setoolsgui/apol/mlsrulequery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ - save_checkboxes, save_lineedits, save_listviews, save_textedits + save_checkboxes, save_lineedits, save_listviews, save_textedits class MLSRuleQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/netifconquery.py b/setoolsgui/apol/netifconquery.py index e583c60..fcd4d5e 100644 --- a/setoolsgui/apol/netifconquery.py +++ b/setoolsgui/apol/netifconquery.py @@ -30,7 +30,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_textedits, \ - save_checkboxes, save_lineedits, save_textedits + save_checkboxes, save_lineedits, save_textedits class NetifconQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/nodeconquery.py b/setoolsgui/apol/nodeconquery.py index e4fd369..9e4fc13 100644 --- a/setoolsgui/apol/nodeconquery.py +++ b/setoolsgui/apol/nodeconquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_textedits, load_comboboxes, \ - save_checkboxes, save_lineedits, save_textedits, save_comboboxes + save_checkboxes, save_lineedits, save_textedits, save_comboboxes class NodeconQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/objclassquery.py b/setoolsgui/apol/objclassquery.py index ad9e6d1..b02fa6c 100644 --- a/setoolsgui/apol/objclassquery.py +++ b/setoolsgui/apol/objclassquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ - save_checkboxes, save_lineedits, save_listviews, save_textedits + save_checkboxes, save_lineedits, save_listviews, save_textedits class ObjClassQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/portconquery.py b/setoolsgui/apol/portconquery.py index cfa86de..94493a1 100644 --- a/setoolsgui/apol/portconquery.py +++ b/setoolsgui/apol/portconquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_textedits, load_comboboxes, \ - save_checkboxes, save_lineedits, save_textedits, save_comboboxes + save_checkboxes, save_lineedits, save_textedits, save_comboboxes class PortconQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/rbacrulequery.py b/setoolsgui/apol/rbacrulequery.py index 39bc159..b69f842 100644 --- a/setoolsgui/apol/rbacrulequery.py +++ b/setoolsgui/apol/rbacrulequery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ - save_checkboxes, save_lineedits, save_listviews, save_textedits + save_checkboxes, save_lineedits, save_listviews, save_textedits class RBACRuleQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/rolequery.py b/setoolsgui/apol/rolequery.py index 520bc0f..703bb79 100644 --- a/setoolsgui/apol/rolequery.py +++ b/setoolsgui/apol/rolequery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ - save_checkboxes, save_lineedits, save_listviews, save_textedits + save_checkboxes, save_lineedits, save_listviews, save_textedits class RoleQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/sensitivityquery.py b/setoolsgui/apol/sensitivityquery.py index 4842f20..7a92b02 100644 --- a/setoolsgui/apol/sensitivityquery.py +++ b/setoolsgui/apol/sensitivityquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_textedits, \ - save_checkboxes, save_lineedits, save_textedits + save_checkboxes, save_lineedits, save_textedits class SensitivityQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/terulequery.py b/setoolsgui/apol/terulequery.py index 4b71afa..23a5183 100644 --- a/setoolsgui/apol/terulequery.py +++ b/setoolsgui/apol/terulequery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ - save_checkboxes, save_lineedits, save_listviews, save_textedits + save_checkboxes, save_lineedits, save_listviews, save_textedits class TERuleQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/typeattrquery.py b/setoolsgui/apol/typeattrquery.py index 8f09e6f..2ba0d70 100644 --- a/setoolsgui/apol/typeattrquery.py +++ b/setoolsgui/apol/typeattrquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ - save_checkboxes, save_lineedits, save_listviews, save_textedits + save_checkboxes, save_lineedits, save_listviews, save_textedits class TypeAttributeQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/typequery.py b/setoolsgui/apol/typequery.py index 8eb8aa8..690356e 100644 --- a/setoolsgui/apol/typequery.py +++ b/setoolsgui/apol/typequery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ - save_checkboxes, save_lineedits, save_listviews, save_textedits + save_checkboxes, save_lineedits, save_listviews, save_textedits class TypeQueryTab(AnalysisTab): diff --git a/setoolsgui/apol/userquery.py b/setoolsgui/apol/userquery.py index 93b436a..d60907f 100644 --- a/setoolsgui/apol/userquery.py +++ b/setoolsgui/apol/userquery.py @@ -31,7 +31,7 @@ from .analysistab import AnalysisTab from .exception import TabFieldError from .queryupdater import QueryResultsUpdater from .workspace import load_checkboxes, load_lineedits, load_listviews, load_textedits, \ - save_checkboxes, save_lineedits, save_listviews, save_textedits + save_checkboxes, save_lineedits, save_listviews, save_textedits class UserQueryTab(AnalysisTab): diff --git a/setoolsgui/models.py b/setoolsgui/models.py index 2416149..5045810 100644 --- a/setoolsgui/models.py +++ b/setoolsgui/models.py @@ -20,7 +20,7 @@ import logging from contextlib import suppress from PyQt5.QtCore import QAbstractListModel, QItemSelectionModel, QAbstractTableModel, \ - QModelIndex, QStringListModel, Qt + QModelIndex, QStringListModel, Qt from setools.exception import NoCommon diff --git a/setoolsgui/treeview.py b/setoolsgui/treeview.py index 7bee741..023aabc 100644 --- a/setoolsgui/treeview.py +++ b/setoolsgui/treeview.py @@ -19,7 +19,7 @@ from PyQt5.QtCore import Qt, QModelIndex from PyQt5.QtGui import QKeySequence, QCursor from PyQt5.QtWidgets import QAction, QApplication, QFileDialog, QMenu, QTreeWidget, \ - QTreeWidgetItemIterator + QTreeWidgetItemIterator class SEToolsTreeWidget(QTreeWidget): @@ -56,10 +56,10 @@ class SEToolsTreeWidget(QTreeWidget): parent = parent.parent() if depth < prev_depth: - items.extend([" |"*depth, "\n"]) + items.extend([" |" * depth, "\n"]) if depth: - items.extend([" |"*depth, "--", item.text(0), "\n"]) + items.extend([" |" * depth, "--", item.text(0), "\n"]) else: items.extend([item.text(0), "\n"]) diff --git a/setoolsgui/usermodel.py b/setoolsgui/usermodel.py index 65eca85..4b3d0b0 100644 --- a/setoolsgui/usermodel.py +++ b/setoolsgui/usermodel.py @@ -37,19 +37,19 @@ def user_detail(parent, user): roles = sorted(user.roles) detail.append_header("Roles ({0}):".format(len(roles))) - for r in roles: - detail.append(" {0}".format(r)) + for role in roles: + detail.append(" {0}".format(role)) try: - l = user.mls_level - r = user.mls_range + level = user.mls_level + range_ = user.mls_range except MLSDisabled: pass else: detail.append_header("\nDefault MLS Level:") - detail.append(" {0}".format(l)) + detail.append(" {0}".format(level)) detail.append_header("\nMLS Range:") - detail.append(" {0}".format(r)) + detail.append(" {0}".format(range_)) detail.show() diff --git a/tests/diff.py b/tests/diff.py index 79a28b3..50c5418 100644 --- a/tests/diff.py +++ b/tests/diff.py @@ -284,11 +284,11 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_allow_rules(self): """Diff: modified allow rules.""" - l = sorted(self.diff.modified_allows, key=lambda x: x.rule) - self.assertEqual(3, len(l)) + lst = sorted(self.diff.modified_allows, key=lambda x: x.rule) + self.assertEqual(3, len(lst)) # add permissions - rule, added_perms, removed_perms, matched_perms = l[0] + rule, added_perms, removed_perms, matched_perms = lst[0] self.assertEqual(TRT.allow, rule.ruletype) self.assertEqual("modified_rule_add_perms", rule.source) self.assertEqual("modified_rule_add_perms", rule.target) @@ -298,7 +298,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set(["hi_r"]), matched_perms) # add and remove permissions - rule, added_perms, removed_perms, matched_perms = l[1] + rule, added_perms, removed_perms, matched_perms = lst[1] self.assertEqual(TRT.allow, rule.ruletype) self.assertEqual("modified_rule_add_remove_perms", rule.source) self.assertEqual("modified_rule_add_remove_perms", rule.target) @@ -308,7 +308,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set(["low_w"]), matched_perms) # remove permissions - rule, added_perms, removed_perms, matched_perms = l[2] + rule, added_perms, removed_perms, matched_perms = lst[2] self.assertEqual(TRT.allow, rule.ruletype) self.assertEqual("modified_rule_remove_perms", rule.source) self.assertEqual("modified_rule_remove_perms", rule.target) @@ -372,11 +372,11 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_auditallow_rules(self): """Diff: modified auditallow rules.""" - l = sorted(self.diff.modified_auditallows, key=lambda x: x.rule) - self.assertEqual(3, len(l)) + lst = sorted(self.diff.modified_auditallows, key=lambda x: x.rule) + self.assertEqual(3, len(lst)) # add permissions - rule, added_perms, removed_perms, matched_perms = l[0] + rule, added_perms, removed_perms, matched_perms = lst[0] self.assertEqual(TRT.auditallow, rule.ruletype) self.assertEqual("aa_modified_rule_add_perms", rule.source) self.assertEqual("aa_modified_rule_add_perms", rule.target) @@ -386,7 +386,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set(["hi_r"]), matched_perms) # add and remove permissions - rule, added_perms, removed_perms, matched_perms = l[1] + rule, added_perms, removed_perms, matched_perms = lst[1] self.assertEqual(TRT.auditallow, rule.ruletype) self.assertEqual("aa_modified_rule_add_remove_perms", rule.source) self.assertEqual("aa_modified_rule_add_remove_perms", rule.target) @@ -396,7 +396,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set(["low_w"]), matched_perms) # remove permissions - rule, added_perms, removed_perms, matched_perms = l[2] + rule, added_perms, removed_perms, matched_perms = lst[2] self.assertEqual(TRT.auditallow, rule.ruletype) self.assertEqual("aa_modified_rule_remove_perms", rule.source) self.assertEqual("aa_modified_rule_remove_perms", rule.target) @@ -460,11 +460,11 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_dontaudit_rules(self): """Diff: modified dontaudit rules.""" - l = sorted(self.diff.modified_dontaudits, key=lambda x: x.rule) - self.assertEqual(3, len(l)) + lst = sorted(self.diff.modified_dontaudits, key=lambda x: x.rule) + self.assertEqual(3, len(lst)) # add permissions - rule, added_perms, removed_perms, matched_perms = l[0] + rule, added_perms, removed_perms, matched_perms = lst[0] self.assertEqual(TRT.dontaudit, rule.ruletype) self.assertEqual("da_modified_rule_add_perms", rule.source) self.assertEqual("da_modified_rule_add_perms", rule.target) @@ -474,7 +474,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set(["hi_r"]), matched_perms) # add and remove permissions - rule, added_perms, removed_perms, matched_perms = l[1] + rule, added_perms, removed_perms, matched_perms = lst[1] self.assertEqual(TRT.dontaudit, rule.ruletype) self.assertEqual("da_modified_rule_add_remove_perms", rule.source) self.assertEqual("da_modified_rule_add_remove_perms", rule.target) @@ -484,7 +484,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set(["low_w"]), matched_perms) # remove permissions - rule, added_perms, removed_perms, matched_perms = l[2] + rule, added_perms, removed_perms, matched_perms = lst[2] self.assertEqual(TRT.dontaudit, rule.ruletype) self.assertEqual("da_modified_rule_remove_perms", rule.source) self.assertEqual("da_modified_rule_remove_perms", rule.target) @@ -619,10 +619,10 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_type_transition_rules(self): """Diff: modified type_transition rules.""" - l = sorted(self.diff.modified_type_transitions, key=lambda x: x.rule) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.modified_type_transitions, key=lambda x: x.rule) + self.assertEqual(1, len(lst)) - rule, added_default, removed_default = l[0] + rule, added_default, removed_default = lst[0] self.assertEqual(TRT.type_transition, rule.ruletype) self.assertEqual("tt_matched_source", rule.source) self.assertEqual("system", rule.target) @@ -685,10 +685,10 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_type_change_rules(self): """Diff: modified type_change rules.""" - l = sorted(self.diff.modified_type_changes, key=lambda x: x.rule) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.modified_type_changes, key=lambda x: x.rule) + self.assertEqual(1, len(lst)) - rule, added_default, removed_default = l[0] + rule, added_default, removed_default = lst[0] self.assertEqual(TRT.type_change, rule.ruletype) self.assertEqual("tc_matched_source", rule.source) self.assertEqual("system", rule.target) @@ -751,10 +751,10 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_type_member_rules(self): """Diff: modified type_member rules.""" - l = sorted(self.diff.modified_type_members, key=lambda x: x.rule) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.modified_type_members, key=lambda x: x.rule) + self.assertEqual(1, len(lst)) - rule, added_default, removed_default = l[0] + rule, added_default, removed_default = lst[0] self.assertEqual(TRT.type_member, rule.ruletype) self.assertEqual("tm_matched_source", rule.source) self.assertEqual("system", rule.target) @@ -793,10 +793,10 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_range_transition_rules(self): """Diff: modified range_transition rules.""" - l = sorted(self.diff.modified_range_transitions, key=lambda x: x.rule) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.modified_range_transitions, key=lambda x: x.rule) + self.assertEqual(1, len(lst)) - rule, added_default, removed_default = l[0] + rule, added_default, removed_default = lst[0] self.assertEqual(MRT.range_transition, rule.ruletype) self.assertEqual("rt_matched_source", rule.source) self.assertEqual("system", rule.target) @@ -868,10 +868,10 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_role_transition_rules(self): """Diff: modified role_transition rules.""" - l = sorted(self.diff.modified_role_transitions, key=lambda x: x.rule) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.modified_role_transitions, key=lambda x: x.rule) + self.assertEqual(1, len(lst)) - rule, added_default, removed_default = l[0] + rule, added_default, removed_default = lst[0] self.assertEqual(RRT.role_transition, rule.ruletype) self.assertEqual("role_tr_matched_source", rule.source) self.assertEqual("role_tr_matched_target", rule.target) @@ -1025,30 +1025,30 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_fs_uses(self): """Diff: added fs_uses.""" - l = sorted(self.diff.added_fs_uses) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.added_fs_uses) + self.assertEqual(1, len(lst)) - rule = l[0] + rule = lst[0] self.assertEqual(FSURT.fs_use_xattr, rule.ruletype) self.assertEqual("added_fsuse", rule.fs) self.assertEqual("system:object_r:system:s0", rule.context) def test_removed_fs_uses(self): """Diff: removed fs_uses.""" - l = sorted(self.diff.removed_fs_uses) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.removed_fs_uses) + self.assertEqual(1, len(lst)) - rule = l[0] + rule = lst[0] self.assertEqual(FSURT.fs_use_task, rule.ruletype) self.assertEqual("removed_fsuse", rule.fs) self.assertEqual("system:object_r:system:s0", rule.context) def test_modified_fs_uses(self): """Diff: modified fs_uses.""" - l = sorted(self.diff.modified_fs_uses, key=lambda x: x.rule) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.modified_fs_uses, key=lambda x: x.rule) + self.assertEqual(1, len(lst)) - rule, added_context, removed_context = l[0] + rule, added_context, removed_context = lst[0] self.assertEqual(FSURT.fs_use_trans, rule.ruletype) self.assertEqual("modified_fsuse", rule.fs) self.assertEqual("added_user:object_r:system:s1", added_context) @@ -1059,40 +1059,40 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_genfscons(self): """Diff: added genfscons.""" - l = sorted(self.diff.added_genfscons) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.added_genfscons) + self.assertEqual(2, len(lst)) - rule = l[0] + rule = lst[0] self.assertEqual("added_genfs", rule.fs) self.assertEqual("/", rule.path) self.assertEqual("added_user:object_r:system:s0", rule.context) - rule = l[1] + rule = lst[1] self.assertEqual("change_path", rule.fs) self.assertEqual("/new", rule.path) self.assertEqual("system:object_r:system:s0", rule.context) def test_removed_genfscons(self): """Diff: removed genfscons.""" - l = sorted(self.diff.removed_genfscons) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.removed_genfscons) + self.assertEqual(2, len(lst)) - rule = l[0] + rule = lst[0] self.assertEqual("change_path", rule.fs) self.assertEqual("/old", rule.path) self.assertEqual("system:object_r:system:s0", rule.context) - rule = l[1] + rule = lst[1] self.assertEqual("removed_genfs", rule.fs) self.assertEqual("/", rule.path) self.assertEqual("system:object_r:system:s0", rule.context) def test_modified_genfscons(self): """Diff: modified genfscons.""" - l = sorted(self.diff.modified_genfscons, key=lambda x: x.rule) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.modified_genfscons, key=lambda x: x.rule) + self.assertEqual(1, len(lst)) - rule, added_context, removed_context = l[0] + rule, added_context, removed_context = lst[0] self.assertEqual("modified_genfs", rule.fs) self.assertEqual("/", rule.path) self.assertEqual("added_user:object_r:system:s0", added_context) @@ -1103,27 +1103,27 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_levels(self): """Diff: added levels.""" - l = sorted(self.diff.added_levels) - self.assertEqual(1, len(l)) - self.assertEqual("s46:c0.c4", l[0]) + lst = sorted(self.diff.added_levels) + self.assertEqual(1, len(lst)) + self.assertEqual("s46:c0.c4", lst[0]) def test_removed_levels(self): """Diff: removed levels.""" - l = sorted(self.diff.removed_levels) - self.assertEqual(1, len(l)) - self.assertEqual("s47:c0.c4", l[0]) + lst = sorted(self.diff.removed_levels) + self.assertEqual(1, len(lst)) + self.assertEqual("s47:c0.c4", lst[0]) def test_modified_levels(self): """Diff: modified levels.""" - l = sorted(self.diff.modified_levels) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.modified_levels) + self.assertEqual(2, len(lst)) - level = l[0] + level = lst[0] self.assertEqual("s40", level.level.sensitivity) self.assertSetEqual(set(["c3"]), level.added_categories) self.assertFalse(level.removed_categories) - level = l[1] + level = lst[1] self.assertEqual("s41", level.level.sensitivity) self.assertFalse(level.added_categories) self.assertSetEqual(set(["c4"]), level.removed_categories) @@ -1133,31 +1133,31 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_netifcons(self): """Diff: added netifcons.""" - l = sorted(self.diff.added_netifcons) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.added_netifcons) + self.assertEqual(1, len(lst)) - rule = l[0] + rule = lst[0] self.assertEqual("added_netif", rule.netif) self.assertEqual("system:object_r:system:s0", rule.context) self.assertEqual("system:object_r:system:s0", rule.packet) def test_removed_netifcons(self): """Diff: removed netifcons.""" - l = sorted(self.diff.removed_netifcons) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.removed_netifcons) + self.assertEqual(1, len(lst)) - rule = l[0] + rule = lst[0] self.assertEqual("removed_netif", rule.netif) self.assertEqual("system:object_r:system:s0", rule.context) self.assertEqual("system:object_r:system:s0", rule.packet) def test_modified_netifcons(self): """Diff: modified netifcons.""" - l = sorted(self.diff.modified_netifcons, key=lambda x: x.rule) - self.assertEqual(3, len(l)) + lst = sorted(self.diff.modified_netifcons, key=lambda x: x.rule) + self.assertEqual(3, len(lst)) # modified both contexts - rule, added_context, removed_context, added_packet, removed_packet = l[0] + rule, added_context, removed_context, added_packet, removed_packet = lst[0] self.assertEqual("mod_both_netif", rule.netif) self.assertEqual("added_user:object_r:system:s0", added_context) self.assertEqual("removed_user:object_r:system:s0", removed_context) @@ -1165,7 +1165,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertEqual("removed_user:object_r:system:s0", removed_packet) # modified context - rule, added_context, removed_context, added_packet, removed_packet = l[1] + rule, added_context, removed_context, added_packet, removed_packet = lst[1] self.assertEqual("mod_ctx_netif", rule.netif) self.assertEqual("added_user:object_r:system:s0", added_context) self.assertEqual("removed_user:object_r:system:s0", removed_context) @@ -1173,7 +1173,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertIsNone(removed_packet) # modified packet context - rule, added_context, removed_context, added_packet, removed_packet = l[2] + rule, added_context, removed_context, added_packet, removed_packet = lst[2] self.assertEqual("mod_pkt_netif", rule.netif) self.assertIsNone(added_context) self.assertIsNone(removed_context) @@ -1185,59 +1185,59 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_nodecons(self): """Diff: added nodecons.""" - l = sorted(self.diff.added_nodecons) - self.assertEqual(4, len(l)) + lst = sorted(self.diff.added_nodecons) + self.assertEqual(4, len(lst)) # new IPv4 - nodecon = l[0] + nodecon = lst[0] self.assertEqual(IPv4Network("124.0.0.0/8"), nodecon.network) # changed IPv4 netmask - nodecon = l[1] + nodecon = lst[1] self.assertEqual(IPv4Network("125.0.0.0/16"), nodecon.network) # new IPv6 - nodecon = l[2] + nodecon = lst[2] self.assertEqual(IPv6Network("ff04::/62"), nodecon.network) # changed IPv6 netmask - nodecon = l[3] + nodecon = lst[3] self.assertEqual(IPv6Network("ff05::/60"), nodecon.network) def test_removed_nodecons(self): """Diff: removed nodecons.""" - l = sorted(self.diff.removed_nodecons) - self.assertEqual(4, len(l)) + lst = sorted(self.diff.removed_nodecons) + self.assertEqual(4, len(lst)) # new IPv4 - nodecon = l[0] + nodecon = lst[0] self.assertEqual(IPv4Network("122.0.0.0/8"), nodecon.network) # changed IPv4 netmask - nodecon = l[1] + nodecon = lst[1] self.assertEqual(IPv4Network("125.0.0.0/8"), nodecon.network) # new IPv6 - nodecon = l[2] + nodecon = lst[2] self.assertEqual(IPv6Network("ff02::/62"), nodecon.network) # changed IPv6 netmask - nodecon = l[3] + nodecon = lst[3] self.assertEqual(IPv6Network("ff05::/62"), nodecon.network) def test_modified_nodecons(self): """Diff: modified nodecons.""" - l = sorted(self.diff.modified_nodecons, key=lambda x: x.rule) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.modified_nodecons, key=lambda x: x.rule) + self.assertEqual(2, len(lst)) # changed IPv4 - nodecon, added_context, removed_context = l[0] + nodecon, added_context, removed_context = lst[0] self.assertEqual(IPv4Network("123.0.0.0/8"), nodecon.network) self.assertEqual("modified_change_level:object_r:system:s2:c0", added_context) self.assertEqual("modified_change_level:object_r:system:s2:c1", removed_context) # changed IPv6 - nodecon, added_context, removed_context = l[1] + nodecon, added_context, removed_context = lst[1] self.assertEqual(IPv6Network("ff03::/62"), nodecon.network) self.assertEqual("modified_change_level:object_r:system:s2:c1", added_context) self.assertEqual("modified_change_level:object_r:system:s2:c0.c1", removed_context) @@ -1258,42 +1258,42 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_portcons(self): """Diff: added portcons.""" - l = sorted(self.diff.added_portcons) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.added_portcons) + self.assertEqual(2, len(lst)) - portcon = l[0] + portcon = lst[0] self.assertEqual(PortconProtocol.tcp, portcon.protocol) self.assertTupleEqual((2024, 2026), portcon.ports) - portcon = l[1] + portcon = lst[1] self.assertEqual(PortconProtocol.udp, portcon.protocol) self.assertTupleEqual((2024, 2024), portcon.ports) def test_removed_portcons(self): """Diff: removed portcons.""" - l = sorted(self.diff.removed_portcons) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.removed_portcons) + self.assertEqual(2, len(lst)) - portcon = l[0] + portcon = lst[0] self.assertEqual(PortconProtocol.tcp, portcon.protocol) self.assertTupleEqual((1024, 1026), portcon.ports) - portcon = l[1] + portcon = lst[1] self.assertEqual(PortconProtocol.udp, portcon.protocol) self.assertTupleEqual((1024, 1024), portcon.ports) def test_modified_portcons(self): """Diff: modified portcons.""" - l = sorted(self.diff.modified_portcons, key=lambda x: x.rule) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.modified_portcons, key=lambda x: x.rule) + self.assertEqual(2, len(lst)) - portcon, added_context, removed_context = l[0] + portcon, added_context, removed_context = lst[0] self.assertEqual(PortconProtocol.tcp, portcon.protocol) self.assertTupleEqual((3024, 3026), portcon.ports) self.assertEqual("added_user:object_r:system:s1", added_context) self.assertEqual("removed_user:object_r:system:s0", removed_context) - portcon, added_context, removed_context = l[1] + portcon, added_context, removed_context = lst[1] self.assertEqual(PortconProtocol.udp, portcon.protocol) self.assertTupleEqual((3024, 3024), portcon.ports) self.assertEqual("added_user:object_r:system:s1", added_context) @@ -1304,36 +1304,36 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_defaults(self): """Diff: added defaults.""" - l = sorted(self.diff.added_defaults) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.added_defaults) + self.assertEqual(2, len(lst)) - default = l[0] + default = lst[0] self.assertEqual(DRT.default_range, default.ruletype) self.assertEqual("infoflow2", default.tclass) - default = l[1] + default = lst[1] self.assertEqual(DRT.default_user, default.ruletype) self.assertEqual("infoflow2", default.tclass) def test_removed_defaults(self): """Diff: removed defaults.""" - l = sorted(self.diff.removed_defaults) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.removed_defaults) + self.assertEqual(2, len(lst)) - default = l[0] + default = lst[0] self.assertEqual(DRT.default_range, default.ruletype) self.assertEqual("infoflow3", default.tclass) - default = l[1] + default = lst[1] self.assertEqual(DRT.default_role, default.ruletype) self.assertEqual("infoflow3", default.tclass) def test_modified_defaults(self): """Diff: modified defaults.""" - l = sorted(self.diff.modified_defaults, key=lambda x: x.rule) - self.assertEqual(4, len(l)) + lst = sorted(self.diff.modified_defaults, key=lambda x: x.rule) + self.assertEqual(4, len(lst)) - default, added_default, removed_default, added_range, removed_range = l[0] + default, added_default, removed_default, added_range, removed_range = lst[0] self.assertEqual(DRT.default_range, default.ruletype) self.assertEqual("infoflow4", default.tclass) self.assertEqual(DV.target, added_default) @@ -1341,7 +1341,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertIsNone(added_range) self.assertIsNone(removed_range) - default, added_default, removed_default, added_range, removed_range = l[1] + default, added_default, removed_default, added_range, removed_range = lst[1] self.assertEqual(DRT.default_range, default.ruletype) self.assertEqual("infoflow5", default.tclass) self.assertIsNone(added_default) @@ -1349,7 +1349,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertEqual(DRV.high, added_range) self.assertEqual(DRV.low, removed_range) - default, added_default, removed_default, added_range, removed_range = l[2] + default, added_default, removed_default, added_range, removed_range = lst[2] self.assertEqual(DRT.default_range, default.ruletype) self.assertEqual("infoflow6", default.tclass) self.assertEqual(DV.target, added_default) @@ -1357,7 +1357,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertEqual(DRV.low, added_range) self.assertEqual(DRV.high, removed_range) - default, added_default, removed_default, added_range, removed_range = l[3] + default, added_default, removed_default, added_range, removed_range = lst[3] self.assertEqual(DRT.default_type, default.ruletype) self.assertEqual("infoflow4", default.tclass) self.assertEqual(DV.target, added_default) @@ -1370,16 +1370,16 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_constrains(self): """Diff: added constrains.""" - l = sorted(self.diff.added_constrains) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.added_constrains) + self.assertEqual(2, len(lst)) - constrain = l[0] + constrain = lst[0] self.assertEqual(CRT.constrain, constrain.ruletype) self.assertEqual("infoflow3", constrain.tclass) self.assertSetEqual(set(["null"]), constrain.perms) self.assertListEqual(["u1", "u2", "!="], constrain.postfix_expression()) - constrain = l[1] + constrain = lst[1] self.assertEqual(CRT.constrain, constrain.ruletype) self.assertEqual("infoflow5", constrain.tclass) self.assertSetEqual(set(["hi_r"]), constrain.perms) @@ -1389,16 +1389,16 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_removed_constrains(self): """Diff: removed constrains.""" - l = sorted(self.diff.removed_constrains) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.removed_constrains) + self.assertEqual(2, len(lst)) - constrain = l[0] + constrain = lst[0] self.assertEqual(CRT.constrain, constrain.ruletype) self.assertEqual("infoflow4", constrain.tclass) self.assertSetEqual(set(["hi_w"]), constrain.perms) self.assertListEqual(["u1", "u2", "!="], constrain.postfix_expression()) - constrain = l[1] + constrain = lst[1] self.assertEqual(CRT.constrain, constrain.ruletype) self.assertEqual("infoflow5", constrain.tclass) self.assertSetEqual(set(["hi_r"]), constrain.perms) @@ -1411,10 +1411,10 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_mlsconstrains(self): """Diff: added mlsconstrains.""" - l = sorted(self.diff.added_mlsconstrains) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.added_mlsconstrains) + self.assertEqual(2, len(lst)) - mlsconstrain = l[0] + mlsconstrain = lst[0] self.assertEqual(CRT.mlsconstrain, mlsconstrain.ruletype) self.assertEqual("infoflow3", mlsconstrain.tclass) self.assertSetEqual(set(["null"]), mlsconstrain.perms) @@ -1423,7 +1423,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): 't1', set(["mls_exempt"]), '!=', 'or'], mlsconstrain.postfix_expression()) - mlsconstrain = l[1] + mlsconstrain = lst[1] self.assertEqual(CRT.mlsconstrain, mlsconstrain.ruletype) self.assertEqual("infoflow5", mlsconstrain.tclass) self.assertSetEqual(set(["hi_r"]), mlsconstrain.perms) @@ -1434,10 +1434,10 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_removed_mlsconstrains(self): """Diff: removed mlsconstrains.""" - l = sorted(self.diff.removed_mlsconstrains) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.removed_mlsconstrains) + self.assertEqual(2, len(lst)) - mlsconstrain = l[0] + mlsconstrain = lst[0] self.assertEqual(CRT.mlsconstrain, mlsconstrain.ruletype) self.assertEqual("infoflow4", mlsconstrain.tclass) self.assertSetEqual(set(["hi_w"]), mlsconstrain.perms) @@ -1446,7 +1446,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): 't1', set(["mls_exempt"]), '==', 'or'], mlsconstrain.postfix_expression()) - mlsconstrain = l[1] + mlsconstrain = lst[1] self.assertEqual(CRT.mlsconstrain, mlsconstrain.ruletype) self.assertEqual("infoflow5", mlsconstrain.tclass) self.assertSetEqual(set(["hi_r"]), mlsconstrain.perms) @@ -1459,17 +1459,17 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_validatetrans(self): """Diff: added validatetrans.""" - l = sorted(self.diff.added_validatetrans) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.added_validatetrans) + self.assertEqual(2, len(lst)) - validatetrans = l[0] + validatetrans = lst[0] self.assertEqual(CRT.validatetrans, validatetrans.ruletype) self.assertEqual("infoflow3", validatetrans.tclass) self.assertListEqual( ['t1', 't2', '==', 't3', set(["system"]), '==', 'or'], validatetrans.postfix_expression()) - validatetrans = l[1] + validatetrans = lst[1] self.assertEqual(CRT.validatetrans, validatetrans.ruletype) self.assertEqual("infoflow5", validatetrans.tclass) self.assertListEqual( @@ -1478,17 +1478,17 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_removed_validatetrans(self): """Diff: removed validatetrans.""" - l = sorted(self.diff.removed_validatetrans) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.removed_validatetrans) + self.assertEqual(2, len(lst)) - validatetrans = l[0] + validatetrans = lst[0] self.assertEqual(CRT.validatetrans, validatetrans.ruletype) self.assertEqual("infoflow4", validatetrans.tclass) self.assertListEqual( ['u1', 'u2', '==', 't3', set(["system"]), '==', 'or'], validatetrans.postfix_expression()) - validatetrans = l[1] + validatetrans = lst[1] self.assertEqual(CRT.validatetrans, validatetrans.ruletype) self.assertEqual("infoflow5", validatetrans.tclass) self.assertListEqual( @@ -1500,17 +1500,17 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_mlsvalidatetrans(self): """Diff: added mlsvalidatetrans.""" - l = sorted(self.diff.added_mlsvalidatetrans) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.added_mlsvalidatetrans) + self.assertEqual(2, len(lst)) - mlsvalidatetrans = l[0] + mlsvalidatetrans = lst[0] self.assertEqual(CRT.mlsvalidatetrans, mlsvalidatetrans.ruletype) self.assertEqual("infoflow3", mlsvalidatetrans.tclass) self.assertListEqual( ['l1', 'l2', '==', 'h1', 'h2', '==', 'and', 't3', set(["mls_exempt"]), '==', 'or'], mlsvalidatetrans.postfix_expression()) - mlsvalidatetrans = l[1] + mlsvalidatetrans = lst[1] self.assertEqual(CRT.mlsvalidatetrans, mlsvalidatetrans.ruletype) self.assertEqual("infoflow5", mlsvalidatetrans.tclass) self.assertListEqual( @@ -1520,17 +1520,17 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_removed_mlsvalidatetrans(self): """Diff: removed mlsvalidatetrans.""" - l = sorted(self.diff.removed_mlsvalidatetrans) - self.assertEqual(2, len(l)) + lst = sorted(self.diff.removed_mlsvalidatetrans) + self.assertEqual(2, len(lst)) - mlsvalidatetrans = l[0] + mlsvalidatetrans = lst[0] self.assertEqual(CRT.mlsvalidatetrans, mlsvalidatetrans.ruletype) self.assertEqual("infoflow4", mlsvalidatetrans.tclass) self.assertListEqual( ['l1', 'l2', '==', 'h1', 'h2', '==', 'and', 't3', set(["mls_exempt"]), '==', 'or'], mlsvalidatetrans.postfix_expression()) - mlsvalidatetrans = l[1] + mlsvalidatetrans = lst[1] self.assertEqual(CRT.mlsvalidatetrans, mlsvalidatetrans.ruletype) self.assertEqual("infoflow5", mlsvalidatetrans.tclass) self.assertListEqual( @@ -1542,30 +1542,30 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): # def test_added_typebounds(self): """Diff: added typebounds.""" - l = sorted(self.diff.added_typebounds) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.added_typebounds) + self.assertEqual(1, len(lst)) - bounds = l[0] + bounds = lst[0] self.assertEqual(BRT.typebounds, bounds.ruletype) self.assertEqual("added_parent", bounds.parent) self.assertEqual("added_child", bounds.child) def test_removed_typebounds(self): """Diff: removed typebounds.""" - l = sorted(self.diff.removed_typebounds) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.removed_typebounds) + self.assertEqual(1, len(lst)) - bounds = l[0] + bounds = lst[0] self.assertEqual(BRT.typebounds, bounds.ruletype) self.assertEqual("removed_parent", bounds.parent) self.assertEqual("removed_child", bounds.child) def test_modified_typebounds(self): """Diff: modified typebounds.""" - l = sorted(self.diff.modified_typebounds, key=lambda x: x.rule) - self.assertEqual(1, len(l)) + lst = sorted(self.diff.modified_typebounds, key=lambda x: x.rule) + self.assertEqual(1, len(lst)) - bounds, added_bound, removed_bound = l[0] + bounds, added_bound, removed_bound = lst[0] self.assertEqual(BRT.typebounds, bounds.ruletype) self.assertEqual("mod_child", bounds.child) self.assertEqual("mod_parent_added", added_bound) @@ -1602,11 +1602,11 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_allowxperm_rules(self): """Diff: modified allowxperm rules.""" - l = sorted(self.diff.modified_allowxperms, key=lambda x: x.rule) - self.assertEqual(3, len(l)) + lst = sorted(self.diff.modified_allowxperms, key=lambda x: x.rule) + self.assertEqual(3, len(lst)) # add permissions - rule, added_perms, removed_perms, matched_perms = l[0] + rule, added_perms, removed_perms, matched_perms = lst[0] self.assertEqual(TRT.allowxperm, rule.ruletype) self.assertEqual("ax_modified_rule_add_perms", rule.source) self.assertEqual("ax_modified_rule_add_perms", rule.target) @@ -1616,7 +1616,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set([0x0004]), matched_perms) # add and remove permissions - rule, added_perms, removed_perms, matched_perms = l[1] + rule, added_perms, removed_perms, matched_perms = lst[1] self.assertEqual(TRT.allowxperm, rule.ruletype) self.assertEqual("ax_modified_rule_add_remove_perms", rule.source) self.assertEqual("ax_modified_rule_add_remove_perms", rule.target) @@ -1626,7 +1626,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set([0x0008]), matched_perms) # remove permissions - rule, added_perms, removed_perms, matched_perms = l[2] + rule, added_perms, removed_perms, matched_perms = lst[2] self.assertEqual(TRT.allowxperm, rule.ruletype) self.assertEqual("ax_modified_rule_remove_perms", rule.source) self.assertEqual("ax_modified_rule_remove_perms", rule.target) @@ -1666,11 +1666,11 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_auditallowxperm_rules(self): """Diff: modified auditallowxperm rules.""" - l = sorted(self.diff.modified_auditallowxperms, key=lambda x: x.rule) - self.assertEqual(3, len(l)) + lst = sorted(self.diff.modified_auditallowxperms, key=lambda x: x.rule) + self.assertEqual(3, len(lst)) # add permissions - rule, added_perms, removed_perms, matched_perms = l[0] + rule, added_perms, removed_perms, matched_perms = lst[0] self.assertEqual(TRT.auditallowxperm, rule.ruletype) self.assertEqual("aax_modified_rule_add_perms", rule.source) self.assertEqual("aax_modified_rule_add_perms", rule.target) @@ -1680,7 +1680,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set([0x0004]), matched_perms) # add and remove permissions - rule, added_perms, removed_perms, matched_perms = l[1] + rule, added_perms, removed_perms, matched_perms = lst[1] self.assertEqual(TRT.auditallowxperm, rule.ruletype) self.assertEqual("aax_modified_rule_add_remove_perms", rule.source) self.assertEqual("aax_modified_rule_add_remove_perms", rule.target) @@ -1690,7 +1690,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set([0x0008]), matched_perms) # remove permissions - rule, added_perms, removed_perms, matched_perms = l[2] + rule, added_perms, removed_perms, matched_perms = lst[2] self.assertEqual(TRT.auditallowxperm, rule.ruletype) self.assertEqual("aax_modified_rule_remove_perms", rule.source) self.assertEqual("aax_modified_rule_remove_perms", rule.target) @@ -1800,11 +1800,11 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): def test_modified_dontauditxperm_rules(self): """Diff: modified dontauditxperm rules.""" - l = sorted(self.diff.modified_dontauditxperms, key=lambda x: x.rule) - self.assertEqual(3, len(l)) + lst = sorted(self.diff.modified_dontauditxperms, key=lambda x: x.rule) + self.assertEqual(3, len(lst)) # add permissions - rule, added_perms, removed_perms, matched_perms = l[0] + rule, added_perms, removed_perms, matched_perms = lst[0] self.assertEqual(TRT.dontauditxperm, rule.ruletype) self.assertEqual("dax_modified_rule_add_perms", rule.source) self.assertEqual("dax_modified_rule_add_perms", rule.target) @@ -1814,7 +1814,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set([0x0004]), matched_perms) # add and remove permissions - rule, added_perms, removed_perms, matched_perms = l[1] + rule, added_perms, removed_perms, matched_perms = lst[1] self.assertEqual(TRT.dontauditxperm, rule.ruletype) self.assertEqual("dax_modified_rule_add_remove_perms", rule.source) self.assertEqual("dax_modified_rule_add_remove_perms", rule.target) @@ -1824,7 +1824,7 @@ class PolicyDifferenceTest(ValidateRule, unittest.TestCase): self.assertSetEqual(set([0x0008]), matched_perms) # remove permissions - rule, added_perms, removed_perms, matched_perms = l[2] + rule, added_perms, removed_perms, matched_perms = lst[2] self.assertEqual(TRT.dontauditxperm, rule.ruletype) self.assertEqual("dax_modified_rule_remove_perms", rule.source) self.assertEqual("dax_modified_rule_remove_perms", rule.target) diff --git a/tests/dta.py b/tests/dta.py index 992c22e..a0cc938 100644 --- a/tests/dta.py +++ b/tests/dta.py @@ -512,7 +512,7 @@ class DomainTransitionAnalysisTest(mixins.ValidateRule, unittest.TestCase): self.assertIsInstance(step.source, Type) self.assertIsInstance(step.target, Type) self.assertEqual(expected_path[stepnum], step.source) - self.assertEqual(expected_path[stepnum+1], step.target) + self.assertEqual(expected_path[stepnum + 1], step.target) for r in step.transition: self.assertIn("transition", r.perms) @@ -553,7 +553,7 @@ class DomainTransitionAnalysisTest(mixins.ValidateRule, unittest.TestCase): self.assertIsInstance(step.source, Type) self.assertIsInstance(step.target, Type) self.assertEqual(expected_path[stepnum], step.source) - self.assertEqual(expected_path[stepnum+1], step.target) + self.assertEqual(expected_path[stepnum + 1], step.target) for r in step.transition: self.assertIn("transition", r.perms) @@ -594,7 +594,7 @@ class DomainTransitionAnalysisTest(mixins.ValidateRule, unittest.TestCase): self.assertIsInstance(step.source, Type) self.assertIsInstance(step.target, Type) self.assertEqual(expected_path[stepnum], step.source) - self.assertEqual(expected_path[stepnum+1], step.target) + self.assertEqual(expected_path[stepnum + 1], step.target) for r in step.transition: self.assertIn("transition", r.perms) @@ -671,7 +671,7 @@ class DomainTransitionAnalysisTest(mixins.ValidateRule, unittest.TestCase): for stepnum, step in enumerate(path): self.assertIsInstance(step.source, Type) self.assertIsInstance(step.target, Type) - self.assertEqual(step.source, expected_path[stepnum+1]) + self.assertEqual(step.source, expected_path[stepnum + 1]) self.assertEqual(step.target, expected_path[stepnum]) for r in step.transition: @@ -712,7 +712,7 @@ class DomainTransitionAnalysisTest(mixins.ValidateRule, unittest.TestCase): for stepnum, step in enumerate(path): self.assertIsInstance(step.source, Type) self.assertIsInstance(step.target, Type) - self.assertEqual(step.source, expected_path[stepnum+1]) + self.assertEqual(step.source, expected_path[stepnum + 1]) self.assertEqual(step.target, expected_path[stepnum]) for r in step.transition: @@ -753,7 +753,7 @@ class DomainTransitionAnalysisTest(mixins.ValidateRule, unittest.TestCase): for stepnum, step in enumerate(path): self.assertIsInstance(step.source, Type) self.assertIsInstance(step.target, Type) - self.assertEqual(expected_path[stepnum+1], step.source) + self.assertEqual(expected_path[stepnum + 1], step.source) self.assertEqual(expected_path[stepnum], step.target) for r in step.transition: diff --git a/tests/permmap.py b/tests/permmap.py index aa1ed18..5ebdff4 100644 --- a/tests/permmap.py +++ b/tests/permmap.py @@ -21,7 +21,7 @@ from unittest.mock import Mock from setools import PermissionMap, TERuletype from setools.exception import PermissionMapParseError, RuleTypeError, \ - UnmappedClass, UnmappedPermission + UnmappedClass, UnmappedPermission from .policyrep.util import compile_policy diff --git a/tests/policyrep/default.py b/tests/policyrep/default.py index 6021c4e..b1c810b 100644 --- a/tests/policyrep/default.py +++ b/tests/policyrep/default.py @@ -21,7 +21,7 @@ import unittest from unittest.mock import Mock, patch from setools.exception import InvalidDefaultType, InvalidDefaultValue, \ - InvalidDefaultRange, NoDefaults + InvalidDefaultRange, NoDefaults @unittest.skip("Needs to be reworked for cython") diff --git a/tests/policyrep/initsid.py b/tests/policyrep/initsid.py index ba670f9..4af0dae 100644 --- a/tests/policyrep/initsid.py +++ b/tests/policyrep/initsid.py @@ -16,7 +16,7 @@ # along with SETools. If not, see . # # Until this is fixed for cython: -# pylint: disable=undefined-variable +# pylint: disable=undefined-variable,no-member import unittest from unittest.mock import Mock, patch @@ -32,7 +32,7 @@ class InitialSIDTest(unittest.TestCase): def mock_sid(name): sid = Mock(qpol.qpol_isid_t) sid.name.return_value = name - sid.context.return_value = name+"_context" + sid.context.return_value = name + "_context" return sid @classmethod diff --git a/tests/policyrep/mls.py b/tests/policyrep/mls.py index acebb5f..c833a39 100644 --- a/tests/policyrep/mls.py +++ b/tests/policyrep/mls.py @@ -16,13 +16,13 @@ # along with SETools. If not, see . # # Until this is fixed for cython: -# pylint: disable=undefined-variable +# pylint: disable=undefined-variable,no-member import unittest from unittest.mock import Mock from setools import SELinuxPolicy from setools.exception import MLSDisabled, InvalidLevel, InvalidLevelDecl, InvalidRange, \ - InvalidSensitivity, InvalidCategory, NoStatement + InvalidSensitivity, InvalidCategory, NoStatement @unittest.skip("Needs to be reworked for cython") diff --git a/tests/policyrep/objclass.py b/tests/policyrep/objclass.py index 3ea1160..7be20cf 100644 --- a/tests/policyrep/objclass.py +++ b/tests/policyrep/objclass.py @@ -16,7 +16,7 @@ # along with SETools. If not, see . # # Until this is fixed for cython: -# pylint: disable=undefined-variable +# pylint: disable=undefined-variable,no-member import unittest from unittest.mock import Mock @@ -94,7 +94,7 @@ class ObjClassTest(unittest.TestCase): if com_perms: com = Mock(qpol.qpol_common_t) - com.name.return_value = name+"_common" + com.name.return_value = name + "_common" com.perm_iter = lambda x: iter(com_perms) cls.common.return_value = com else: diff --git a/tests/policyrep/role.py b/tests/policyrep/role.py index de4c67f..4197172 100644 --- a/tests/policyrep/role.py +++ b/tests/policyrep/role.py @@ -16,7 +16,7 @@ # along with SETools. If not, see . # # Until this is fixed for cython: -# pylint: disable=undefined-variable +# pylint: disable=undefined-variable,no-member import unittest from unittest.mock import Mock diff --git a/tests/policyrep/selinuxpolicy.py b/tests/policyrep/selinuxpolicy.py index 53118dd..cdfd8ae 100644 --- a/tests/policyrep/selinuxpolicy.py +++ b/tests/policyrep/selinuxpolicy.py @@ -47,12 +47,10 @@ class SELinuxPolicyTest(unittest.TestCase): """SELinuxPolicy: Non existant policy on open.""" self.assertRaises(OSError, SELinuxPolicy, "tests/policyrep/DOES_NOT_EXIST") - @unittest.skip("Needs to be reworked for cython.") def test_003_deepcopy(self): """SELinuxPolicy: Deep copy""" p = copy.deepcopy(self.p) - self.assertIs(self.p.policy, p.policy) - self.assertIs(self.p.filename, p.filename) + self.assertIs(self.p, p) def test_010_handle_unknown(self): """SELinuxPolicy: handle unknown setting.""" @@ -231,7 +229,8 @@ class SELinuxPolicyLoadError(unittest.TestCase): """Test attempted loading of non-compiling policies.""" def _load_policy(self, policy): - self.assertRaises(InvalidPolicy, SELinuxPolicy, "tests/policyrep/invalid_policies/"+policy) + self.assertRaises(InvalidPolicy, SELinuxPolicy, + "tests/policyrep/invalid_policies/" + policy) def test_nodecon_invalid_range(self): """SELinuxPolicy: invalid nodecon range (category not associated) error.""" diff --git a/tests/policyrep/terule.py b/tests/policyrep/terule.py index 87c5e2a..0f24054 100644 --- a/tests/policyrep/terule.py +++ b/tests/policyrep/terule.py @@ -22,7 +22,7 @@ from unittest.mock import Mock, patch from setools import SELinuxPolicy from setools.exception import InvalidTERuleType, RuleNotConditional, RuleUseError, \ - TERuleNoFilename + TERuleNoFilename @unittest.skip("Needs to be reworked for cython") diff --git a/tests/policyrep/typeattr.py b/tests/policyrep/typeattr.py index 9c16848..f952aca 100644 --- a/tests/policyrep/typeattr.py +++ b/tests/policyrep/typeattr.py @@ -16,7 +16,7 @@ # along with SETools. If not, see . # # Until this is fixed for cython: -# pylint: disable=undefined-variable +# pylint: disable=undefined-variable,no-member import unittest from unittest.mock import Mock, patch diff --git a/tests/policyrep/user.py b/tests/policyrep/user.py index 3c6125b..f0660fe 100644 --- a/tests/policyrep/user.py +++ b/tests/policyrep/user.py @@ -16,7 +16,7 @@ # along with SETools. If not, see . # # Until this is fixed for cython: -# pylint: disable=undefined-variable +# pylint: disable=undefined-variable,no-member import unittest from unittest.mock import Mock, patch diff --git a/tests/terulequery.py b/tests/terulequery.py index ba6a655..d5972ee 100644 --- a/tests/terulequery.py +++ b/tests/terulequery.py @@ -313,7 +313,7 @@ class TERuleQueryXperm(mixins.ValidateRule, unittest.TestCase): r = sorted(q.results()) self.assertEqual(len(r), 1) self.validate_rule(r[0], TRT.allowxperm, "test1a", "test1t", "infoflow", - set(range(0xebe0, 0xebff+1)), xperm="ioctl") + set(range(0xebe0, 0xebff + 1)), xperm="ioctl") def test_002_source_indirect(self): """Xperm rule query with exact, indirect, source match.""" diff --git a/tox.ini b/tox.ini index e3093a7..2693274 100644 --- a/tox.ini +++ b/tox.ini @@ -2,15 +2,17 @@ minversion = 1.4 envlist = py34, py35, py36 -[pep8] -exclude = qpol.py +[pycodestyle] max-line-length = 100 +# W605 ignored because pycodestyle gets confused by a regex string +# in AVRuleTest test_103_statement_two_perms_cond +ignore = W605 [testenv:pep8] -deps = pep8 +deps = pycodestyle cython>=0.27 -commands = pep8 --version - pep8 setools/ setoolsgui/ tests/ seinfo seinfoflow sedta sesearch sediff --statistics +commands = pycodestyle --version + pycodestyle setools/ setoolsgui/ tests/ seinfo seinfoflow sedta sesearch sediff --statistics [testenv:coverage] setenv = SETOOLS_COVERAGE = 1