You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[TESTING] Implemented CEP-8 exit-code refactoring and updated test code (- WIP #117 & PR #175 -)
> [!NOTE]
> Fixes commits d6fa180..f7f7777
Changes in file .coderabbit.yaml:
- Improved review directions slightly for project.
Changes in file .coveragerc:
- ignore untested corner-case for import errors that are never thrown.
Changes in file docs/Makefile:
- minor changes to cleanup logic.
Changes in file multicast/__init__.py:
- related changes to implementing new exceptions components.
- related changes to implementing new exit-code logic to [align with CEP-8](https://gist.github.com/reactive-firewall/b7ee98df9e636a51806e62ef9c4ab161#4-adhere-to-posix-standards)
- minor improvements to mtool abstract class.
Changes in file multicast/__main__.py:
- now adheres to [CEP-8](https://gist.github.com/reactive-firewall/b7ee98df9e636a51806e62ef9c4ab161)
- overhauled `doStep method` to implementing new exit-code logic to [align with CEP-8](https://gist.github.com/reactive-firewall/b7ee98df9e636a51806e62ef9c4ab161#4-adhere-to-posix-standards)
- refactored `main` function to implementing new exit-code logic to [align with CEP-8](https://gist.github.com/reactive-firewall/b7ee98df9e636a51806e62ef9c4ab161#4-adhere-to-posix-standards)
- refactored `useTool` method to implementing new exit-code logic to [align with CEP-8](https://gist.github.com/reactive-firewall/b7ee98df9e636a51806e62ef9c4ab161#4-adhere-to-posix-standards)
- related changes to implementing new exceptions components.
- formalized implementation style of returning tuple of (success bool, details or None) from `doStep`
- other minor odd changes
Changes in file multicast/exceptions.py:
- improved class CommandExecutionError to allow more use-cases
- other minor odd changes
Changes in file multicast/hear.py:
- formalized implementation style of returning tuple of (success bool, details or None) from `doStep`
Changes in file multicast/recv.py:
- related changes to implementing new exceptions components.
- formalized implementation style of returning tuple of (success bool, details or None) from `doStep`
Changes in file multicast/send.py:
- related changes to implementing new exceptions components.
- formalized implementation style of returning tuple of (success bool, details or None) from `doStep`
- refactored SAY logic to use skt.py utilities for a more single responsibility style design
Changes in file tests/__init__.py:
- Fixed a few regressions caused by implementing new exit-code logic
- other minor odd changes
Changes in file tests/profiling.py:
- Fixed a few regressions caused by implementing new exit-code logic
- other minor odd changes
Changes in file tests/test_fuzz.py:
- identified and resolved several regressions related to implementing new exit-code logic
Changes in file tests/test_hear_data_processing.py:
- identified and resolved several regressions related to implementing new exit-code logic
Changes in file tests/test_hear_keyboard_interrupt.py:
- identified and resolved several regressions related to implementing new exit-code logic
- properly stablized the `ctrl^C` testing (- WIP #53 -)
- other minor odd changes
Changes in file tests/test_usage.py:
- Fixed dozens of regressions caused by implementing new exit-code logic
- Fixed dozens of regressions caused by implementing consistant `tuple` return logic in `doStep` methods
- Refactored some tests for new behavior like accepting `--groups None`
- other minor odd changes
### ChangeLog:
Changes in file .coderabbit.yaml:
reviews:
Changes in file .coveragerc:
include = multicast/*,tests/*
Changes in file docs/Makefile:
init: ../docs/
Changes in file multicast/__init__.py:
def __call__(self, *args, **kwargs):
def buildArgs(cls, calling_parser_group):
Changes in file multicast/__main__.py:
def doStep(self, *args, **kwargs):
def main(*argv):
def useTool(tool, **kwargs):
Changes in file multicast/exceptions.py:
class CommandExecutionError(RuntimeError):
def __init__(self, *args, **kwargs):
def exit_on_exception(func):
Changes in file multicast/hear.py:
def doStep(self, *args, **kwargs):
Changes in file multicast/recv.py:
def setupArgs(cls, parser):
Changes in file multicast/send.py:
def _sayStep(group, port, data):
def doStep(self, *args, **kwargs):
Changes in file tests/__init__.py:
Unknown Changes
Changes in file tests/profiling.py:
def nothing(*args, **kwargs):
Changes in file tests/test_fuzz.py:
def test_multicast_sender_with_random_data(self, data):
def test_say_works_WHEN_using_stdin_GIVEN_alnum_of_any_size_fuzz_input(self, tex
Changes in file tests/test_hear_data_processing.py:
class RecvDataProcessingTestSuite(context.BasicUsageTestSuite):
Changes in file tests/test_hear_keyboard_interrupt.py:
def test_hear_keyboard_interrupt(self):
Changes in file tests/test_usage.py:
def test_Usage_Error_WHEN_the_help_command_is_called(self):
def test_Usage_Error_WHEN_the_help_sub_command_is_called(self):
def test_aborts_WHEN_calling_multicast_GIVEN_invalid_tools(self):
def test_hear_is_stable_WHEN_calling_multicast_GIVEN_invalid_tool(self):
def test_hear_works_WHEN_fuzzed_and_say_works(self):
def test_hear_works_WHEN_say_works(self):
def test_noop_stable_WHEN_calling_multicast_GIVEN_noop_args(self):
def test_say_works_WHEN_using_stdin(self):
3. You may assume the file 'README.md' will contain GitHub flavor Markdown.
82
90
- path: '**/*.py'
83
91
instructions: >-
84
-
When reviewing Python code for this project:
92
+
When reviewing **Python** code for this project:
85
93
86
94
1. Prioritize portability over clarity, especially when dealing with cross-Python compatibility. However, with the priority in mind, do still consider improvements to clarity when relevant.
87
95
@@ -96,7 +104,7 @@ reviews:
96
104
6. Verify Flake8's configuration file is located at ".flake8.ini"
97
105
- path: tests/*
98
106
instructions: >-
99
-
When reviewing test code:
107
+
When reviewing **test** code:
100
108
101
109
1. Prioritize portability over clarity, especially when dealing with cross-Python compatibility. However, with the priority in mind, do still consider improvements to clarity when relevant.
0 commit comments