Skip to content

Commit

Permalink
SelfAssignment: fix with new tree-sitter-bash
Browse files Browse the repository at this point in the history
Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
  • Loading branch information
arthurzam committed Oct 2, 2023
1 parent 4f87412 commit fa6b0f9
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/pkgcheck/checks/codingstyle.py
Original file line number Diff line number Diff line change
Expand Up @@ -682,12 +682,15 @@ def _src_uri(self, var, node, value, pkg):
for static_str, replacement in static_urls.items():
yield StaticSrcUri(static_str, replacement=replacement, pkg=pkg)

def canonicalize_assign(self, value: str):
return value.strip("\"'").replace("\n", "").replace("\t", " ")

def feed(self, pkg):
keywords_lines = set()
for node in pkg.global_query(bash.var_assign_query):
name = pkg.node_str(node.child_by_field_name("name"))
value_node = node.child_by_field_name("value")
value_str = pkg.node_str(value_node).strip("\"'") if value_node else ""
value_str = self.canonicalize_assign(pkg.node_str(value_node)) if value_node else ""
if name in pkg.eapi.eclass_keys:
if not value_str:
lineno, _ = node.start_point
Expand All @@ -696,7 +699,7 @@ def feed(self, pkg):
for var_node, _ in bash.var_query.captures(value_node):
if (
pkg.node_str(var_node) == name
and pkg.node_str(var_node.parent) == value_str
and self.canonicalize_assign(pkg.node_str(var_node.parent)) == value_str
and var_node.next_named_sibling is None
):
node_str = pkg.node_str(node).replace("\n", "").replace("\t", " ")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
{"__class__": "SelfAssignment", "category": "MetadataVarCheck", "package": "SelfAssignment", "version": "0", "line": "RDEPEND=\"$RDEPEND\"", "lineno": 7}
{"__class__": "SelfAssignment", "category": "MetadataVarCheck", "package": "SelfAssignment", "version": "0", "line": "RDEPEND=${RDEPEND}", "lineno": 8}
{"__class__": "SelfAssignment", "category": "MetadataVarCheck", "package": "SelfAssignment", "version": "0", "line": "RDEPEND=$RDEPEND", "lineno": 9}
{"__class__": "SelfAssignment", "category": "MetadataVarCheck", "package": "SelfAssignment", "version": "0", "line": "RDEPEND=\"${RDEPEND}\"", "lineno": 10}
{"__class__": "SelfAssignment", "category": "MetadataVarCheck", "package": "SelfAssignment", "version": "0", "line": "RDEPEND=\" ${RDEPEND}\"", "lineno": 12}
{"__class__": "SelfAssignment", "category": "MetadataVarCheck", "package": "SelfAssignment", "version": "0", "line": "RDEPEND=\" ${RDEPEND}\"", "lineno": 14}

0 comments on commit fa6b0f9

Please sign in to comment.