Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

🐛 sphinx-test-reports: a JSON report holding an empty suite object ([{}]) ends the build

Open
#2,182 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
65/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
python
Domain
testing

Research direction

Start in test_reports.py at the tr_json_mapping reference around line 180, then trace how test_file handles the mapped counters and compare with the XML reader's ReportReadError behavior. Add coverage for missing or nonnumeric tests and the other counters, with one focused case per counter; done means [{}] no longer ends the build and the cases receive the specified error or counting behavior.

Written by the indexing model from the issue text.

Description

bug P4 pkg: sphinx-test-reports

A JSON report whose top level is a list holding an EMPTY object — [{}] — ends the build: the default tr_json_mapping gives tests the default "unknown" (test_reports.py:180), which test_file then treats as a number. Master before #2156 crashed the same way (measured by the round-2 review, V2-F4c), so this is pre-existing, not a regression of the typed read errors; #2156 made a suite that is not an object a report_unreadable, but an object lacking tests is still read.

Fix shape: a missing / non-numeric tests (and the other counters) through the JSON mapping gets the same treatment as the XML reader's (ReportReadError, or counted from the cases), with one pin per counter.

Dominant language
Python
Stars
309
Forks
103
Avg merge
11h 26m
Merged PRs (30d)
118

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from useblocks/sphinx-needs

All issues in useblocks/sphinx-needs

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.