Skip to content

gh-actions(deps): bump tektronix/python-package-ci-cd from 1.7.5 to 1.7.6 in the gh-actions-dependencies group#104

Merged
nfelt14 merged 1 commit into
mainfrom
dependabot/github_actions/gh-actions-dependencies-afb567da8a
Jul 15, 2025
Merged

gh-actions(deps): bump tektronix/python-package-ci-cd from 1.7.5 to 1.7.6 in the gh-actions-dependencies group#104
nfelt14 merged 1 commit into
mainfrom
dependabot/github_actions/gh-actions-dependencies-afb567da8a

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jul 15, 2025

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

@nfelt14
Copy link
Copy Markdown
Collaborator

nfelt14 commented Jul 15, 2025

@dependabot recreate

@nfelt14 nfelt14 enabled auto-merge (squash) July 15, 2025 06:21
---
updated-dependencies:
- dependency-name: tektronix/python-package-ci-cd
  dependency-version: 1.7.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gh-actions-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/github_actions/gh-actions-dependencies-afb567da8a branch from b7fedfc to 30132e5 Compare July 15, 2025 06:22
@dependabot dependabot Bot temporarily deployed to package-build July 15, 2025 06:22 Inactive
@codecov
Copy link
Copy Markdown

codecov Bot commented Jul 15, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 87.08%. Comparing base (4bb6b15) to head (30132e5).
⚠️ Report is 16 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #104   +/-   ##
=======================================
  Coverage   87.08%   87.08%           
=======================================
  Files          28       28           
  Lines        1828     1828           
  Branches      189      189           
=======================================
  Hits         1592     1592           
  Misses        173      173           
  Partials       63       63           

☔ 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.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 15, 2025

Test Results (macos)

path passed skipped xfailed subtotal
tests/test_tm_data_types.py 18 1 2 21
TOTAL 18 1 2 21
tests/test_tm_data_types.py
tmp_path = PosixPath('/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/pytest-of-runner/pytest-0/test_iq0')

    @pytest.mark.xfail(reason="IQ waveforms are broken")
    def test_iq(tmp_path: Path) -> None:
        """Test to see if IQ waveforms will return the same data when saved and loaded."""
        temp_waveform = "test_iq."
        waveform_data = "iq_data.npy"
        waveform_name = "iq_waveform."
        waveform_dir = f"{Path(__file__).parent}/waveforms"
        waveform_path = f"{waveform_dir}/{waveform_name}"
        data_path = f"{waveform_dir}/{waveform_data}"
    
        extensions = [
            FileExtensions.WFM.value,
            FileExtensions.CSV.value,
            FileExtensions.MAT.value,
        ]
        file_types = [WaveformFileWFMIQ]
        for extension, _ in zip(extensions, file_types):
            temporary_path = tmp_path / (temp_waveform + extension)
>           read_write_read(
                "interleaved_iq_axis_values",
                waveform_path + extension,
                data_path,
                temporary_path.as_posix(),
            )

_          = <class 'tm_data_types.files_and_formats.wfm.data_formats.iq.WaveformFileWFMIQ'>
data_path  = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_data.npy'
extension  = 'wfm'
extensions = ['wfm', 'csv', 'mat']
file_types = [<class 'tm_data_types.files_and_formats.wfm.data_formats.iq.WaveformFileWFMIQ'>]
temp_waveform = 'test_iq.'
temporary_path = PosixPath('/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/pytest-of-runner/pytest-0/test_iq0/test_iq.wfm')
tmp_path   = PosixPath('/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/pytest-of-runner/pytest-0/test_iq0')
waveform_data = 'iq_data.npy'
waveform_dir = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms'
waveform_name = 'iq_waveform.'
waveform_path = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_waveform.'

tests/test_tm_data_types.py:228: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

vertical_data = 'interleaved_iq_axis_values'
waveform_path = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_waveform.wfm'
data_path = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_data.npy'
temp_path = '/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/pytest-of-runner/pytest-0/test_iq0/test_iq.wfm'

    def read_write_read(
        vertical_data: str,
        waveform_path: str,
        data_path: str,
        temp_path: str,
    ):
        """Read a file, then write the waveform from the file, then read it again.
    
        Args:
            vertical_data: The name of the data attribute for vertical data.
            data_path: The path for a saved numpy file for data that should be retrieved from the file.
            waveform_path: The path of a saved waveform.
            temp_path: The path of a temporarily saved waveform.
        """
        read_wfm: Waveform = read_file(waveform_path)
>       read_wfm_values = getattr(read_wfm, vertical_data)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'AnalogWaveform' object has no attribute 'interleaved_iq_axis_values'

data_path  = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_data.npy'
read_wfm   = <tm_data_types.datum.waveforms.analog_waveform.AnalogWaveform object at 0x107c01270>
temp_path  = '/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/pytest-of-runner/pytest-0/test_iq0/test_iq.wfm'
vertical_data = 'interleaved_iq_axis_values'
waveform_path = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_waveform.wfm'

tests/test_tm_data_types.py:144: AttributeErrortmp_path = PosixPath('/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/pytest-of-runner/pytest-0/test_digital0')

    @pytest.mark.xfail(reason="Digital waveforms are broken")
    def test_digital(tmp_path: Path) -> None:
        """Test to see if digital waveforms will return the same data when saved and loaded."""
        waveform_data = "digital_data.npy"
        waveform_name = "digital_waveform."
        waveform_dir = f"{Path(__file__).parent}/waveforms"
        waveform_path = f"{waveform_dir}/{waveform_name}"
        data_path = f"{waveform_dir}/{waveform_data}"
        extensions = [
            FileExtensions.WFM.value,
            FileExtensions.CSV.value,
        ]
        for known_extension in extensions:
            for temporary_extension in extensions:
                temp_waveform = (
                    f"test_digital_{known_extension}_to_{temporary_extension}.{temporary_extension}"
                )
                temporary_path = tmp_path / temp_waveform
>               read_write_read(
                    "y_axis_byte_values",
                    waveform_path + known_extension,
                    data_path,
                    temporary_path.as_posix(),
                )

data_path  = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_data.npy'
extensions = ['wfm', 'csv']
known_extension = 'wfm'
temp_waveform = 'test_digital_wfm_to_wfm.wfm'
temporary_extension = 'wfm'
temporary_path = PosixPath('/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/pytest-of-runner/pytest-0/test_digital0/test_digital_wfm_to_wfm.wfm')
tmp_path   = PosixPath('/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/pytest-of-runner/pytest-0/test_digital0')
waveform_data = 'digital_data.npy'
waveform_dir = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms'
waveform_name = 'digital_waveform.'
waveform_path = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_waveform.'

tests/test_tm_data_types.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

vertical_data = 'y_axis_byte_values'
waveform_path = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_waveform.wfm'
data_path = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_data.npy'
temp_path = '/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/pytest-of-runner/pytest-0/test_digital0/test_digital_wfm_to_wfm.wfm'

    def read_write_read(
        vertical_data: str,
        waveform_path: str,
        data_path: str,
        temp_path: str,
    ):
        """Read a file, then write the waveform from the file, then read it again.
    
        Args:
            vertical_data: The name of the data attribute for vertical data.
            data_path: The path for a saved numpy file for data that should be retrieved from the file.
            waveform_path: The path of a saved waveform.
            temp_path: The path of a temporarily saved waveform.
        """
        read_wfm: Waveform = read_file(waveform_path)
>       read_wfm_values = getattr(read_wfm, vertical_data)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'AnalogWaveform' object has no attribute 'y_axis_byte_values'. Did you mean: 'y_axis_values'?

data_path  = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_data.npy'
read_wfm   = <tm_data_types.datum.waveforms.analog_waveform.AnalogWaveform object at 0x107c000f0>
temp_path  = '/private/var/folders/y6/nj790rtn62lfktb1sh__79hc0000gn/T/pytest-of-runner/pytest-0/test_digital0/test_digital_wfm_to_wfm.wfm'
vertical_data = 'y_axis_byte_values'
waveform_path = '/Users/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_waveform.wfm'

tests/test_tm_data_types.py:144: AttributeError('/Users/runner/work/tm_data_types/tm_data_types/tests/test_tm_data_types.py', 551, 'Skipped: Skipping 1G test in GitHub Actions environment')

Link to workflow run

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 15, 2025

Test Results (windows)

path passed skipped xfailed subtotal
tests\test_tm_data_types.py 18 1 2 21
TOTAL 18 1 2 21
tests\test_tm_data_types.py
tmp_path = WindowsPath('C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_iq0')

    @pytest.mark.xfail(reason="IQ waveforms are broken")
    def test_iq(tmp_path: Path) -> None:
        """Test to see if IQ waveforms will return the same data when saved and loaded."""
        temp_waveform = "test_iq."
        waveform_data = "iq_data.npy"
        waveform_name = "iq_waveform."
        waveform_dir = f"{Path(__file__).parent}/waveforms"
        waveform_path = f"{waveform_dir}/{waveform_name}"
        data_path = f"{waveform_dir}/{waveform_data}"
    
        extensions = [
            FileExtensions.WFM.value,
            FileExtensions.CSV.value,
            FileExtensions.MAT.value,
        ]
        file_types = [WaveformFileWFMIQ]
        for extension, _ in zip(extensions, file_types):
            temporary_path = tmp_path / (temp_waveform + extension)
>           read_write_read(
                "interleaved_iq_axis_values",
                waveform_path + extension,
                data_path,
                temporary_path.as_posix(),
            )

_          = <class 'tm_data_types.files_and_formats.wfm.data_formats.iq.WaveformFileWFMIQ'>
data_path  = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/iq_data.npy'
extension  = 'wfm'
extensions = ['wfm', 'csv', 'mat']
file_types = [<class 'tm_data_types.files_and_formats.wfm.data_formats.iq.WaveformFileWFMIQ'>]
temp_waveform = 'test_iq.'
temporary_path = WindowsPath('C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_iq0/test_iq.wfm')
tmp_path   = WindowsPath('C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_iq0')
waveform_data = 'iq_data.npy'
waveform_dir = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms'
waveform_name = 'iq_waveform.'
waveform_path = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/iq_waveform.'

tests\test_tm_data_types.py:228: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

vertical_data = 'interleaved_iq_axis_values'
waveform_path = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/iq_waveform.wfm'
data_path = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/iq_data.npy'
temp_path = 'C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_iq0/test_iq.wfm'

    def read_write_read(
        vertical_data: str,
        waveform_path: str,
        data_path: str,
        temp_path: str,
    ):
        """Read a file, then write the waveform from the file, then read it again.
    
        Args:
            vertical_data: The name of the data attribute for vertical data.
            data_path: The path for a saved numpy file for data that should be retrieved from the file.
            waveform_path: The path of a saved waveform.
            temp_path: The path of a temporarily saved waveform.
        """
        read_wfm: Waveform = read_file(waveform_path)
>       read_wfm_values = getattr(read_wfm, vertical_data)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'AnalogWaveform' object has no attribute 'interleaved_iq_axis_values'

data_path  = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/iq_data.npy'
read_wfm   = <tm_data_types.datum.waveforms.analog_waveform.AnalogWaveform object at 0x000002A4DC862990>
temp_path  = 'C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_iq0/test_iq.wfm'
vertical_data = 'interleaved_iq_axis_values'
waveform_path = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/iq_waveform.wfm'

tests\test_tm_data_types.py:144: AttributeErrortmp_path = WindowsPath('C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_digital0')

    @pytest.mark.xfail(reason="Digital waveforms are broken")
    def test_digital(tmp_path: Path) -> None:
        """Test to see if digital waveforms will return the same data when saved and loaded."""
        waveform_data = "digital_data.npy"
        waveform_name = "digital_waveform."
        waveform_dir = f"{Path(__file__).parent}/waveforms"
        waveform_path = f"{waveform_dir}/{waveform_name}"
        data_path = f"{waveform_dir}/{waveform_data}"
        extensions = [
            FileExtensions.WFM.value,
            FileExtensions.CSV.value,
        ]
        for known_extension in extensions:
            for temporary_extension in extensions:
                temp_waveform = (
                    f"test_digital_{known_extension}_to_{temporary_extension}.{temporary_extension}"
                )
                temporary_path = tmp_path / temp_waveform
>               read_write_read(
                    "y_axis_byte_values",
                    waveform_path + known_extension,
                    data_path,
                    temporary_path.as_posix(),
                )

data_path  = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/digital_data.npy'
extensions = ['wfm', 'csv']
known_extension = 'wfm'
temp_waveform = 'test_digital_wfm_to_wfm.wfm'
temporary_extension = 'wfm'
temporary_path = WindowsPath('C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_digital0/test_digital_wfm_to_wfm.wfm')
tmp_path   = WindowsPath('C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_digital0')
waveform_data = 'digital_data.npy'
waveform_dir = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms'
waveform_name = 'digital_waveform.'
waveform_path = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/digital_waveform.'

tests\test_tm_data_types.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

vertical_data = 'y_axis_byte_values'
waveform_path = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/digital_waveform.wfm'
data_path = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/digital_data.npy'
temp_path = 'C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_digital0/test_digital_wfm_to_wfm.wfm'

    def read_write_read(
        vertical_data: str,
        waveform_path: str,
        data_path: str,
        temp_path: str,
    ):
        """Read a file, then write the waveform from the file, then read it again.
    
        Args:
            vertical_data: The name of the data attribute for vertical data.
            data_path: The path for a saved numpy file for data that should be retrieved from the file.
            waveform_path: The path of a saved waveform.
            temp_path: The path of a temporarily saved waveform.
        """
        read_wfm: Waveform = read_file(waveform_path)
>       read_wfm_values = getattr(read_wfm, vertical_data)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'AnalogWaveform' object has no attribute 'y_axis_byte_values'. Did you mean: 'y_axis_values'?

data_path  = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/digital_data.npy'
read_wfm   = <tm_data_types.datum.waveforms.analog_waveform.AnalogWaveform object at 0x000002A4DC863CD0>
temp_path  = 'C:/Users/runneradmin/AppData/Local/Temp/pytest-of-unknown/pytest-0/test_digital0/test_digital_wfm_to_wfm.wfm'
vertical_data = 'y_axis_byte_values'
waveform_path = 'D:\\a\\tm_data_types\\tm_data_types\\tests/waveforms/digital_waveform.wfm'

tests\test_tm_data_types.py:144: AttributeError('D:\\a\\tm_data_types\\tm_data_types\\tests\\test_tm_data_types.py', 551, 'Skipped: Skipping 1G test in GitHub Actions environment')

Link to workflow run

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jul 15, 2025

Test Results (ubuntu)

path passed skipped xfailed subtotal
tests/test_tm_data_types.py 18 1 2 21
TOTAL 18 1 2 21
tests/test_tm_data_types.py
tmp_path = PosixPath('/tmp/pytest-of-runner/pytest-0/test_iq0')

    @pytest.mark.xfail(reason="IQ waveforms are broken")
    def test_iq(tmp_path: Path) -> None:
        """Test to see if IQ waveforms will return the same data when saved and loaded."""
        temp_waveform = "test_iq."
        waveform_data = "iq_data.npy"
        waveform_name = "iq_waveform."
        waveform_dir = f"{Path(__file__).parent}/waveforms"
        waveform_path = f"{waveform_dir}/{waveform_name}"
        data_path = f"{waveform_dir}/{waveform_data}"
    
        extensions = [
            FileExtensions.WFM.value,
            FileExtensions.CSV.value,
            FileExtensions.MAT.value,
        ]
        file_types = [WaveformFileWFMIQ]
        for extension, _ in zip(extensions, file_types):
            temporary_path = tmp_path / (temp_waveform + extension)
>           read_write_read(
                "interleaved_iq_axis_values",
                waveform_path + extension,
                data_path,
                temporary_path.as_posix(),
            )

_          = <class 'tm_data_types.files_and_formats.wfm.data_formats.iq.WaveformFileWFMIQ'>
data_path  = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_data.npy'
extension  = 'wfm'
extensions = ['wfm', 'csv', 'mat']
file_types = [<class 'tm_data_types.files_and_formats.wfm.data_formats.iq.WaveformFileWFMIQ'>]
temp_waveform = 'test_iq.'
temporary_path = PosixPath('/tmp/pytest-of-runner/pytest-0/test_iq0/test_iq.wfm')
tmp_path   = PosixPath('/tmp/pytest-of-runner/pytest-0/test_iq0')
waveform_data = 'iq_data.npy'
waveform_dir = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms'
waveform_name = 'iq_waveform.'
waveform_path = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_waveform.'

tests/test_tm_data_types.py:228: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

vertical_data = 'interleaved_iq_axis_values'
waveform_path = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_waveform.wfm'
data_path = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_data.npy'
temp_path = '/tmp/pytest-of-runner/pytest-0/test_iq0/test_iq.wfm'

    def read_write_read(
        vertical_data: str,
        waveform_path: str,
        data_path: str,
        temp_path: str,
    ):
        """Read a file, then write the waveform from the file, then read it again.
    
        Args:
            vertical_data: The name of the data attribute for vertical data.
            data_path: The path for a saved numpy file for data that should be retrieved from the file.
            waveform_path: The path of a saved waveform.
            temp_path: The path of a temporarily saved waveform.
        """
        read_wfm: Waveform = read_file(waveform_path)
>       read_wfm_values = getattr(read_wfm, vertical_data)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'AnalogWaveform' object has no attribute 'interleaved_iq_axis_values'

data_path  = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_data.npy'
read_wfm   = <tm_data_types.datum.waveforms.analog_waveform.AnalogWaveform object at 0x7f5eaa0be570>
temp_path  = '/tmp/pytest-of-runner/pytest-0/test_iq0/test_iq.wfm'
vertical_data = 'interleaved_iq_axis_values'
waveform_path = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/iq_waveform.wfm'

tests/test_tm_data_types.py:144: AttributeErrortmp_path = PosixPath('/tmp/pytest-of-runner/pytest-0/test_digital0')

    @pytest.mark.xfail(reason="Digital waveforms are broken")
    def test_digital(tmp_path: Path) -> None:
        """Test to see if digital waveforms will return the same data when saved and loaded."""
        waveform_data = "digital_data.npy"
        waveform_name = "digital_waveform."
        waveform_dir = f"{Path(__file__).parent}/waveforms"
        waveform_path = f"{waveform_dir}/{waveform_name}"
        data_path = f"{waveform_dir}/{waveform_data}"
        extensions = [
            FileExtensions.WFM.value,
            FileExtensions.CSV.value,
        ]
        for known_extension in extensions:
            for temporary_extension in extensions:
                temp_waveform = (
                    f"test_digital_{known_extension}_to_{temporary_extension}.{temporary_extension}"
                )
                temporary_path = tmp_path / temp_waveform
>               read_write_read(
                    "y_axis_byte_values",
                    waveform_path + known_extension,
                    data_path,
                    temporary_path.as_posix(),
                )

data_path  = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_data.npy'
extensions = ['wfm', 'csv']
known_extension = 'wfm'
temp_waveform = 'test_digital_wfm_to_wfm.wfm'
temporary_extension = 'wfm'
temporary_path = PosixPath('/tmp/pytest-of-runner/pytest-0/test_digital0/test_digital_wfm_to_wfm.wfm')
tmp_path   = PosixPath('/tmp/pytest-of-runner/pytest-0/test_digital0')
waveform_data = 'digital_data.npy'
waveform_dir = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms'
waveform_name = 'digital_waveform.'
waveform_path = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_waveform.'

tests/test_tm_data_types.py:254: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

vertical_data = 'y_axis_byte_values'
waveform_path = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_waveform.wfm'
data_path = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_data.npy'
temp_path = '/tmp/pytest-of-runner/pytest-0/test_digital0/test_digital_wfm_to_wfm.wfm'

    def read_write_read(
        vertical_data: str,
        waveform_path: str,
        data_path: str,
        temp_path: str,
    ):
        """Read a file, then write the waveform from the file, then read it again.
    
        Args:
            vertical_data: The name of the data attribute for vertical data.
            data_path: The path for a saved numpy file for data that should be retrieved from the file.
            waveform_path: The path of a saved waveform.
            temp_path: The path of a temporarily saved waveform.
        """
        read_wfm: Waveform = read_file(waveform_path)
>       read_wfm_values = getattr(read_wfm, vertical_data)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'AnalogWaveform' object has no attribute 'y_axis_byte_values'. Did you mean: 'y_axis_values'?

data_path  = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_data.npy'
read_wfm   = <tm_data_types.datum.waveforms.analog_waveform.AnalogWaveform object at 0x7f5ea9f7dd30>
temp_path  = '/tmp/pytest-of-runner/pytest-0/test_digital0/test_digital_wfm_to_wfm.wfm'
vertical_data = 'y_axis_byte_values'
waveform_path = '/home/runner/work/tm_data_types/tm_data_types/tests/waveforms/digital_waveform.wfm'

tests/test_tm_data_types.py:144: AttributeError('/home/runner/work/tm_data_types/tm_data_types/tests/test_tm_data_types.py', 551, 'Skipped: Skipping 1G test in GitHub Actions environment')

Link to workflow run

@nfelt14 nfelt14 merged commit b08c874 into main Jul 15, 2025
65 checks passed
@nfelt14 nfelt14 deleted the dependabot/github_actions/gh-actions-dependencies-afb567da8a branch July 15, 2025 06:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant