#!/usr/bin/env python3
+# SPDX-FileCopyrightText: Eric S. Raymond <esr@thyrsus.com>
+# SPDX-License-Identifier: BSD-2-Clause
"""
This is the open-adventure dungeon text coverage report generator. It
consumes a YAML description of the dungeon and determines whether the
The default HTML output is appropriate for use with Gitlab CI.
You can override it with a command-line argument.
-The DANGLING lists are for actions and messages that should be
+The DANGLING lists are for actions and messages that should be
considered always found even if the checkfile search doesn't find them.
Typically this will because an action emit a templated message that
can't be regression-tested by equality.
def loc_coverage(locations, text, report):
# locations have a long and a short description, that each have to
- # be checked seperately
+ # be checked separately
for name, loc in locations:
desc = loc["description"]
if name not in report["messages"]:
# property
for name, item in enumerate(classes):
if name not in report["messages"]:
- report["messages"][name] = {"covered" : "False"}
+ report["messages"][name] = {"covered" : False}
report["total"] += 1
if not report["messages"][name]["covered"] and search(item["message"], text):
report["messages"][name]["covered"] = True
if name not in report["messages"]:
report["messages"][name] = {"covered" : False}
report["total"] += 1
- if not report["messages"][name]["covered"] and search(message, text) or name in DANGLING_MESSAGES:
+ if not report["messages"][name]["covered"] and (search(message, text) or name in DANGLING_MESSAGES):
report["messages"][name]["covered"] = True
report["covered"] += 1
report["covered"] += 1
def coverage_report(db, check_file_contents):
- # Create report for each catagory, including total items, number of items
+ # Create report for each category, including total items, number of items
# covered, and a list of the covered messages
report = {}
for name in db.keys():