Skip to content

docs: remove updating requirements and commit hooks section#118

Open
calebjubal wants to merge 1 commit intotektronix:mainfrom
calebjubal:bugfix/remove-contribution-guide-hooks-section
Open

docs: remove updating requirements and commit hooks section#118
calebjubal wants to merge 1 commit intotektronix:mainfrom
calebjubal:bugfix/remove-contribution-guide-hooks-section

Conversation

@calebjubal
Copy link

Proposed changes

Please include a summary of the changes and any links to related issues. Please also include relevant motivation and context.

Addresses #76

Types of changes

What types of changes does your code introduce?
Put an x in the boxes that apply

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Functionality update (non-breaking change which updates or changes existing functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • CI/CD update (an update to the CI/CD workflows, scripts, and/or configurations)
  • Documentation update (an update to enhance the user experience when reading through the docs)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • I have followed the guidelines in the CONTRIBUTING document
  • I have signed the CLA
  • I have checked to ensure there aren't other open Pull Requests for the same update/change
  • I have created (or updated) an Issue to track the status of this update/change and updated the link in this PR description (see above in the Proposed changes section) using the wording Addresses #<issue_number>
  • I have performed a self-review of my code
  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • Basic linting passes locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have added necessary documentation (if appropriate)
  • I have updated the Changelog with a brief description of my changes

Signed-off-by: BB9Kairo <85286527+calebjubal@users.noreply.github.com>
@calebjubal calebjubal requested a review from a team as a code owner January 8, 2026 11:14
@CLAassistant
Copy link

CLAassistant commented Jan 8, 2026

CLA assistant check
All committers have signed the CLA.

@nfelt14 nfelt14 enabled auto-merge (squash) January 8, 2026 16:04
@github-actions
Copy link

github-actions bot commented Jan 8, 2026

Test Results (macos)

path passed subtotal
tests/test_client.py 62 62
tests/test_logging.py 3 3
TOTAL 65 65

Link to workflow run

@github-actions
Copy link

github-actions bot commented Jan 8, 2026

Test Results (windows)

path passed failed subtotal
tests\test_client.py 61 1 62
tests\test_logging.py 3 3
TOTAL 64 1 65
tests\test_client.py
tekhsi_client = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x000001FA44A32C90>
capsys = <_pytest.capture.CaptureFixture object at 0x000001FA45A4F140>
instrument = True, sum_count = 5, sum_acq_time = 10.0, sum_data_rate = 50.0
expected_output = 'Average Update Rate:0.50, Data Rate:10.00Mbs'

    @pytest.mark.parametrize(
        ("instrument", "sum_count", "sum_acq_time", "sum_data_rate", "expected_output"),
        [
            (True, 5, 10.0, 50.0, "Average Update Rate:0.50, Data Rate:10.00Mbs"),
        ],
    )
    def test_server_connection(
        tekhsi_client: TekHSIConnect,
        capsys: pytest.CaptureFixture[str],
        instrument: bool,
        sum_count: int,
        sum_acq_time: float,
        sum_data_rate: float,
        expected_output: str,
    ) -> None:
        """Test the server connection using the TekHSI client.
    
        Args:
            tekhsi_client: An instance of the TekHSI client to be tested.
            capsys (CaptureFixture): Pytest fixture to capture system output.
            instrument: Whether the instrument is connected.
            sum_count: The sum count.
            sum_acq_time: The sum acquisition time.
            sum_data_rate: The sum data rate.
            expected_output: The expected output message.
        """
        # Set the required attributes
        tekhsi_client._instrument = instrument
        tekhsi_client._sum_count = sum_count
        tekhsi_client._sum_acq_time = sum_acq_time
        tekhsi_client._sum_data_rate = sum_data_rate
    
        # Set the verbose attribute to True
        tekhsi_client.verbose = True
        # Use the context manager to handle connection
>       with tekhsi_client as connection:

capsys     = <_pytest.capture.CaptureFixture object at 0x000001FA45A4F140>
captured   = CaptureResult(out='2026-01-08 16:06:43.000842 - ch1:read header\n2026-01-08 16:06:43.000842 - enter()\n', err='')
connection = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x000001FA44A32C90>
expected_output = 'Average Update Rate:0.50, Data Rate:10.00Mbs'
instrument = True
request    = name: "test_client"

response   = status: CONNECTSTATUS_SUCCESS

sum_acq_time = 10.0
sum_count  = 5
sum_data_rate = 50.0
tekhsi_client = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x000001FA44A32C90>

tests\test_client.py:58: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.tox\tests\Lib\site-packages\tekhsi\tek_hsi_connect.py:211: in __exit__
    self.close()
        exc_tb     = None
        exc_type   = None
        exc_val    = None
        self       = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x000001FA44A32C90>
.tox\tests\Lib\site-packages\tekhsi\tek_hsi_connect.py:443: in close
    self.force_sequence()
        self       = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x000001FA44A32C90>
.tox\tests\Lib\site-packages\tekhsi\tek_hsi_connect.py:500: in force_sequence
    self.connection.RequestNewSequence(request)
        request    = name: "8dca9c62-b479-484b-abf8-e0d0a9d2a34c"

        self       = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x000001FA44A32C90>
.tox\tests\Lib\site-packages\grpc\_channel.py:1166: in __call__
    return _end_unary_response_blocking(state, call, False, None)
        call       = <grpc._cython.cygrpc.SegregatedCall object at 0x000001FA45AEB480>
        compression = None
        credentials = None
        metadata   = None
        request    = name: "8dca9c62-b479-484b-abf8-e0d0a9d2a34c"

        self       = <grpc._channel._UnaryUnaryMultiCallable object at 0x000001FA45C02510>
        state      = <grpc._channel._RPCState object at 0x000001FA45A4F740>
        timeout    = None
        wait_for_ready = None
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

state = <grpc._channel._RPCState object at 0x000001FA45A4F740>
call = <grpc._cython.cygrpc.SegregatedCall object at 0x000001FA45AEB480>
with_call = False, deadline = None

    def _end_unary_response_blocking(
        state: _RPCState,
        call: cygrpc.SegregatedCall,
        with_call: bool,
        deadline: Optional[float],
    ) -> Union[ResponseType, Tuple[ResponseType, grpc.Call]]:
        if state.code is grpc.StatusCode.OK:
            if with_call:
                rendezvous = _MultiThreadedRendezvous(state, call, None, deadline)
                return state.response, rendezvous
            return state.response
>       raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
E       grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
E       	status = StatusCode.FAILED_PRECONDITION
E       	details = ""
E       	debug_error_string = "UNKNOWN:Error received from peer ipv6:%5B::1%5D:50312 {grpc_status:9, grpc_message:""}"
E       >

call       = <grpc._cython.cygrpc.SegregatedCall object at 0x000001FA45AEB480>
deadline   = None
state      = <grpc._channel._RPCState object at 0x000001FA45A4F740>
with_call  = False

.tox\tests\Lib\site-packages\grpc\_channel.py:996: _InactiveRpcError

Link to workflow run

@github-actions
Copy link

github-actions bot commented Jan 8, 2026

Test Results (ubuntu)

path passed failed subtotal
tests/test_client.py 61 1 62
tests/test_logging.py 3 3
TOTAL 64 1 65
tests/test_client.py
tekhsi_client = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x7ff30ff51850>
capsys = <_pytest.capture.CaptureFixture object at 0x7ff30fe52900>
instrument = True, sum_count = 5, sum_acq_time = 10.0, sum_data_rate = 50.0
expected_output = 'Average Update Rate:0.50, Data Rate:10.00Mbs'

    @pytest.mark.parametrize(
        ("instrument", "sum_count", "sum_acq_time", "sum_data_rate", "expected_output"),
        [
            (True, 5, 10.0, 50.0, "Average Update Rate:0.50, Data Rate:10.00Mbs"),
        ],
    )
    def test_server_connection(
        tekhsi_client: TekHSIConnect,
        capsys: pytest.CaptureFixture[str],
        instrument: bool,
        sum_count: int,
        sum_acq_time: float,
        sum_data_rate: float,
        expected_output: str,
    ) -> None:
        """Test the server connection using the TekHSI client.
    
        Args:
            tekhsi_client: An instance of the TekHSI client to be tested.
            capsys (CaptureFixture): Pytest fixture to capture system output.
            instrument: Whether the instrument is connected.
            sum_count: The sum count.
            sum_acq_time: The sum acquisition time.
            sum_data_rate: The sum data rate.
            expected_output: The expected output message.
        """
        # Set the required attributes
        tekhsi_client._instrument = instrument
        tekhsi_client._sum_count = sum_count
        tekhsi_client._sum_acq_time = sum_acq_time
        tekhsi_client._sum_data_rate = sum_data_rate
    
        # Set the verbose attribute to True
        tekhsi_client.verbose = True
        # Use the context manager to handle connection
>       with tekhsi_client as connection:

capsys     = <_pytest.capture.CaptureFixture object at 0x7ff30fe52900>
captured   = CaptureResult(out='2026-01-08 16:05:26.000085 - enter()\n', err='')
connection = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x7ff30ff51850>
expected_output = 'Average Update Rate:0.50, Data Rate:10.00Mbs'
instrument = True
request    = name: "test_client"

response   = status: CONNECTSTATUS_SUCCESS

sum_acq_time = 10.0
sum_count  = 5
sum_data_rate = 50.0
tekhsi_client = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x7ff30ff51850>

tests/test_client.py:58: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.tox/tests/lib/python3.12/site-packages/tekhsi/tek_hsi_connect.py:211: in __exit__
    self.close()
        exc_tb     = None
        exc_type   = None
        exc_val    = None
        self       = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x7ff30ff51850>
.tox/tests/lib/python3.12/site-packages/tekhsi/tek_hsi_connect.py:443: in close
    self.force_sequence()
        self       = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x7ff30ff51850>
.tox/tests/lib/python3.12/site-packages/tekhsi/tek_hsi_connect.py:500: in force_sequence
    self.connection.RequestNewSequence(request)
        request    = name: "125ec692-3e98-46b9-88e2-1ade945daf36"

        self       = <tekhsi.tek_hsi_connect.TekHSIConnect object at 0x7ff30ff51850>
.tox/tests/lib/python3.12/site-packages/grpc/_channel.py:1166: in __call__
    return _end_unary_response_blocking(state, call, False, None)
        call       = <grpc._cython.cygrpc.SegregatedCall object at 0x7ff30fdabec0>
        compression = None
        credentials = None
        metadata   = None
        request    = name: "125ec692-3e98-46b9-88e2-1ade945daf36"

        self       = <grpc._channel._UnaryUnaryMultiCallable object at 0x7ff30fdd2740>
        state      = <grpc._channel._RPCState object at 0x7ff30fe53020>
        timeout    = None
        wait_for_ready = None
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

state = <grpc._channel._RPCState object at 0x7ff30fe53020>
call = <grpc._cython.cygrpc.SegregatedCall object at 0x7ff30fdabec0>
with_call = False, deadline = None

    def _end_unary_response_blocking(
        state: _RPCState,
        call: cygrpc.SegregatedCall,
        with_call: bool,
        deadline: Optional[float],
    ) -> Union[ResponseType, Tuple[ResponseType, grpc.Call]]:
        if state.code is grpc.StatusCode.OK:
            if with_call:
                rendezvous = _MultiThreadedRendezvous(state, call, None, deadline)
                return state.response, rendezvous
            return state.response
>       raise _InactiveRpcError(state)  # pytype: disable=not-instantiable
E       grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
E       	status = StatusCode.FAILED_PRECONDITION
E       	details = ""
E       	debug_error_string = "UNKNOWN:Error received from peer ipv6:%5B::1%5D:50312 {grpc_message:"", grpc_status:9}"
E       >

call       = <grpc._cython.cygrpc.SegregatedCall object at 0x7ff30fdabec0>
deadline   = None
state      = <grpc._channel._RPCState object at 0x7ff30fe53020>
with_call  = False

.tox/tests/lib/python3.12/site-packages/grpc/_channel.py:996: _InactiveRpcError

Link to workflow run

@codecov
Copy link

codecov bot commented Jan 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.72%. Comparing base (ad37893) to head (bd4ab18).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #118   +/-   ##
=======================================
  Coverage   80.72%   80.72%           
=======================================
  Files           3        3           
  Lines         524      524           
  Branches       94       94           
=======================================
  Hits          423      423           
  Misses         82       82           
  Partials       19       19           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

3 participants