Skip to content

Conversation

@gkapfham
Copy link
Contributor

@gkapfham gkapfham commented Jul 22, 2025

There are many changes in this PR, including the improvement of logging and going all the way up to the next major feature, which is historical test suite prioritization.

Here are some of the commits that got this process started:

  • refactor: Use constants correctly in the src/pytest_brightest/plugin.py file.
  • refactor: Use two more constants correctly in the src/pytest_brightest/plugin.py file.
  • docs: Add more details about the new logging refactoring to the docs/plan.md file.
  • docs: Add the ARGUMENTS.md file to outline some examples of commands that can be run.
  • fix: Correct the numbering issue in the docs/plan.md file.
  • docs: Add a comprehensive example of what the JSON file should look like in the docs/plan.md file.
  • refactor: Improve the approach to saving execution data across multiple runs.
  • refactor: Improve the saving of data in the JSON report file by updating implementation and test suite.
  • style: Improve comments and spacing and resolve minor linting issues in tests/test_plugin.py.
  • refactor: Comment out some not-needed constants and then improve src/pytest_brightest/constants.py.
  • refactor: Delete the two comment-out constants in the src/pytest_brightest/constants.py file.
  • fix: Improve the saving of data in the pytest_brightest/plugin.py file.
  • refactor: Improve the saving of data and the test suite.
  • fix: Correct the name of a key for the data dictionary of saved data in tests/test_reorder.py.
  • refactor: Comment out many unused constants in src/pytest_brightest/constants.py.
  • refactor: Remove a commented-out constant in the src/pytest_brightest/reorder.py file.
  • refactor: Delete a large block of commented-out constants in src/pytest_brightest/constants.py file.
  • docs: Add the badge and link for the download count to the README.md file.
  • coms: Remove commented-out method for sorting of keys inside of src/pytest_brightest/plugin.py.
  • refactor: Change command-line argument name and improve comments in src/pytest_brightest/plugin.py.
  • refactor: Add a new constant for TESTS_WITHIN_SUITE in src/pytest_brightest/constants.py.
  • coms: Add comments to explain setup steps for shuffling technique in src/pytest_brightest/plugin.py.
  • refactor: Start to use TESTS_WITHIN_SUITE as the new constant in src/pytest_brightest/reorder.py.
  • docs: Add the additional notes section to the end of the GEMINI.md file.
  • docs: Add the current plan for logging to the docs/plan.md file.
  • docs: Change the section to current plan in docs/plan.md.
  • docs: Add more details about notetaking for the plan in the GEMINI.md file.
  • refactor: Fix test suite in tests/test_reorder.py so that it uses tests-within-suite as new constant.
  • refactor: Improve the src/pytest_brightest/plugin.py file so that it always saves all data.
  • docs: Add more details about notes and planning to the docs/plan.md file.
  • docs: Change the phrase at the bottom of the GEMINI.md file.
  • docs: Add the additional notes section to the AGENTS.md file.
  • docs: Improve the content about additional notes in the GEMINI.md file.
  • refactor: Use constants and improve comments in the src/pytest_brightest/plugin.py.
  • refactor: Remove a commented-out constant in the src/pytest_brightest/reorder.py file.
  • coms: Delete two commented-out constants in the src/pytest_brightest/constants.py file.
  • refactor: Reduce the number of spaces inside of INDENT to be two fewer in src/pytest_brightest/constants.py.
  • feat: Add diagnostic output for checking the cost of tests in the src/pytest_brightest/reorder.py file.
  • refactor: Remove duplicative console output for test costs in the src/pytest_brightest/reorder.py file.
  • feat: Add diagnostic messages to the console about the reordering according to test name in src/pytest_brightest/reorder.py.
  • coms: Add a further comment to the src/pytest_brightest/reorder.py file.
  • refactor: Start to improve the reordering of tests within module for failures in src/pytest_brightest/reorder.py.
  • test: Add, for now, a commented-out test case in the tests/test_reorder.py file.
  • fix: Correct the feature that did not handle test failure correctly for reordering in src/pytest_brightest/reorder.py.
  • test: Add more test cases for the improvement of reordering feature in tests/test_reorder.py.
  • fix: Correct the way that tests are reordered by failure in the src/pytest_brightest/reorder.py file.
  • test: Add and update test cases that are focused on test failure reordering in tests/test_reorder.py.
  • fix: Clarify the console logging output for reordering in the src/pytest_brightest/reorder.py file.
  • refactor: Make sure that data is saved in an un-accounted for config in src/pytest_brightest/reorder.py.
  • test: Add more assertions to a test case in tests/test_reorder.py.
  • refactor: Correct a console logging message and then improve messages in src/pytest_brightest/reorder.py.
  • docs: Update the docs/plan.md file with details about the --repeat feature.
  • feat: Add an implementation of --repeat to the src/pytest_brightest/plugin.py file.
  • test: Add more test cases to handle the --repeat functionality in tests/test_plugin.py.
  • docs: Add more details to the docs/plan.md file about the --repeat and --repeat-failed features.
  • chore: Add a commented-out feature that does not work yet in the src/pytest_brightest/plugin.py file.
  • test: Add more assertions and tests to support new feature for repeating failures in tests/test_plugin.py.
  • feat: Add first implementation of the --repeat-failed feature in src/pytest_brightest/plugin.py.
  • refactor: Improve and correct aspects of --repeat and --repeat-failed in three files.
  • refactor: Change the order of output in the src/pytest_brightest/plugin.py file for repeats.
  • test: Fix the incorrect assertions corresponding to the re-arranged output in tests/test_plugin.py.
  • feat: Add more diagnostic information about test case repeating to src/pytest_brightest/plugin.py.
  • docs: Modify a subsection title in the docs/plan.md file.
  • test: Add a test case about the final run's performance data in tests/test_plugin.py.
  • test: Improve the default values for testing the plugin in the tests/conftest.py file.
  • test: Update the string that is checked for in the tests/test_plugin.py file.
  • feat: Improve diagnostic output for two repeat features in src/pytest_brightest/plugin.py file.
  • refactor: Make the first attempt at the ratio calculation and use across multiple files.
  • refactor: Improve constants.py and plugin.py so that it saves data in a sorted fashion.
  • refactor: Improve further the content in reorder.py and test_reorder.py for new ratio calculation.
  • refactor: Further improve the calculation and storage of the ratio data across multiple files.
  • refactor: First attempt at adding the tie-breaking approach across multiple files.
  • refactor: Add an improved implementation for inverse-cost and inverse-failure across multiple files.
  • style: Improve the formatting for the options for the tiebreaker in src/pytest_brightest/plugin.py.

gkapfham added 30 commits July 15, 2025 18:53
gkapfham and others added 30 commits July 22, 2025 12:47
…three modes in src/pytest_brightest/reorder.py.
…rse options.

This change adds "inverse-name" as a new tie-breaking option for pytest-brightest,
which sorts tests/modules by name in reverse order compared to the regular "name"
tie-breaker. When ascending=True, inverse-name sorts in descending alphabetical
order, and when ascending=False, it sorts in ascending alphabetical order.

🤖 Generated with [opencode](https://opencode.ai)

Co-Authored-By: opencode <[email protected]>
…cross plugin.py, reorder.py, and then update tests/test_reorder.py.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants