summaryrefslogtreecommitdiff
path: root/lab/genpy.py
diff options
context:
space:
mode:
Diffstat (limited to 'lab/genpy.py')
-rw-r--r--lab/genpy.py24
1 files changed, 11 insertions, 13 deletions
diff --git a/lab/genpy.py b/lab/genpy.py
index c0d91bc9..f968c916 100644
--- a/lab/genpy.py
+++ b/lab/genpy.py
@@ -4,13 +4,11 @@ import collections
from itertools import cycle, product
import random
import re
-import sys
-import coverage
from coverage.parser import PythonParser
-class PythonSpinner(object):
+class PythonSpinner:
"""Spin Python source from a simple AST."""
def __init__(self):
@@ -29,7 +27,7 @@ class PythonSpinner(object):
return "\n".join(spinner.lines)
def add_line(self, line):
- g = "g{}".format(self.lineno)
+ g = f"g{self.lineno}"
self.lines.append(' ' * self.indent + line.format(g=g, lineno=self.lineno))
def add_block(self, node):
@@ -65,7 +63,7 @@ class PythonSpinner(object):
# number.
if len(node) > 2 and node[2] is not None:
for except_node in node[2]:
- self.add_line("except Exception{}:".format(self.lineno))
+ self.add_line(f"except Exception{self.lineno}:")
self.add_block(except_node)
self.maybe_block(node, 3, "else")
self.maybe_block(node, 4, "finally")
@@ -73,7 +71,7 @@ class PythonSpinner(object):
self.add_line("with {g} as x:")
self.add_block(node[1])
else:
- raise Exception("Bad list node: {!r}".format(node))
+ raise Exception(f"Bad list node: {node!r}")
else:
op = node
if op == "assign":
@@ -85,7 +83,7 @@ class PythonSpinner(object):
elif op == "yield":
self.add_line("yield {lineno}")
else:
- raise Exception("Bad atom node: {!r}".format(node))
+ raise Exception(f"Bad atom node: {node!r}")
def weighted_choice(rand, choices):
@@ -100,7 +98,7 @@ def weighted_choice(rand, choices):
assert False, "Shouldn't get here"
-class RandomAstMaker(object):
+class RandomAstMaker:
def __init__(self, seed=None):
self.r = random.Random()
if seed is not None:
@@ -139,14 +137,14 @@ class RandomAstMaker(object):
body[-1].append(self.make_body("ifelse"))
elif stmt == "for":
old_allowed = self.bc_allowed
- self.bc_allowed = self.bc_allowed | set(["break", "continue"])
+ self.bc_allowed = self.bc_allowed | {"break", "continue"}
body.append(["for", self.make_body("for")])
self.bc_allowed = old_allowed
if self.roll():
body[-1].append(self.make_body("forelse"))
elif stmt == "while":
old_allowed = self.bc_allowed
- self.bc_allowed = self.bc_allowed | set(["break", "continue"])
+ self.bc_allowed = self.bc_allowed | {"break", "continue"}
body.append(["while", self.make_body("while")])
self.bc_allowed = old_allowed
if self.roll():
@@ -154,7 +152,7 @@ class RandomAstMaker(object):
elif stmt == "try":
else_clause = self.make_body("try") if self.roll() else None
old_allowed = self.bc_allowed
- self.bc_allowed = self.bc_allowed - set(["continue"])
+ self.bc_allowed = self.bc_allowed - {"continue"}
finally_clause = self.make_body("finally") if self.roll() else None
self.bc_allowed = old_allowed
if else_clause:
@@ -235,7 +233,7 @@ def show_a_bunch():
print("-"*80, "\n", source, sep="")
compile(source, "<string>", "exec")
except Exception as ex:
- print("Oops: {}\n{}".format(ex, source))
+ print(f"Oops: {ex}\n{source}")
if len(source) > len(longest):
longest = source
@@ -248,7 +246,7 @@ def show_alternatives():
if nlines < 15:
nalt = compare_alternatives(source)
if nalt > 1:
- print("--- {:3} lines, {:2} alternatives ---------".format(nlines, nalt))
+ print(f"--- {nlines:3} lines, {nalt:2} alternatives ---------")
print(source)