Improve macOS test reliability (#904)
* Return to 20ms block sizes on macOS to improve test reliability. * Use Windows 2022 in test environment. Don't want to be fighting Windows problems too. * Don't want to be fighting gfortran either. * Try caching Homebrew package install to decrease compile/test time for macOS. * See if we can make RADE reporting a bit more reliable in the GH environment.ms-macos-test-fix-2
parent
1a6efb8b3e
commit
150b2cde7d
|
@ -22,10 +22,9 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Install packages
|
- uses: gerlero/brew-install@v1
|
||||||
shell: bash
|
with:
|
||||||
working-directory: ${{github.workspace}}
|
packages: automake libtool numpy sox octave wxwidgets speexdsp portaudio libsndfile libsamplerate hamlib
|
||||||
run: brew install automake libtool numpy sox octave wxwidgets speexdsp portaudio libsndfile libsamplerate hamlib
|
|
||||||
|
|
||||||
- name: Install octave-signal
|
- name: Install octave-signal
|
||||||
if: ${{ matrix.os == 'macos-13' }}
|
if: ${{ matrix.os == 'macos-13' }}
|
||||||
|
@ -33,7 +32,6 @@ jobs:
|
||||||
working-directory: ${{github.workspace}}
|
working-directory: ${{github.workspace}}
|
||||||
run: |
|
run: |
|
||||||
# make sure gfortran is available
|
# make sure gfortran is available
|
||||||
sudo ln -s /usr/local/bin/gfortran-14 /usr/local/bin/gfortran
|
|
||||||
gfortran --version
|
gfortran --version
|
||||||
octave-cli --eval "pkg install -forge control; pkg install -forge signal"
|
octave-cli --eval "pkg install -forge control; pkg install -forge signal"
|
||||||
|
|
||||||
|
@ -103,10 +101,9 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Install packages
|
- uses: gerlero/brew-install@v1
|
||||||
shell: bash
|
with:
|
||||||
working-directory: ${{github.workspace}}
|
packages: automake libtool numpy sox
|
||||||
run: brew install automake libtool numpy sox
|
|
||||||
|
|
||||||
- name: Build universal freedv-gui
|
- name: Build universal freedv-gui
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
|
@ -88,7 +88,7 @@ jobs:
|
||||||
path: ${{github.workspace}}/build_windows/FreeDV.exe
|
path: ${{github.workspace}}/build_windows/FreeDV.exe
|
||||||
|
|
||||||
test:
|
test:
|
||||||
runs-on: windows-latest
|
runs-on: windows-2022
|
||||||
needs: build
|
needs: build
|
||||||
env:
|
env:
|
||||||
RADIO_TO_COMPUTER_DEVICE: "CABLE Output (VB-Audio Virtual Cable)"
|
RADIO_TO_COMPUTER_DEVICE: "CABLE Output (VB-Audio Virtual Cable)"
|
||||||
|
|
|
@ -46,7 +46,7 @@ thread_local int MacAudioDevice::CurrentCoreAudioId_ = 0;
|
||||||
constexpr static double kOneNanosecond = 1.0e9;
|
constexpr static double kOneNanosecond = 1.0e9;
|
||||||
|
|
||||||
// The I/O interval time in seconds.
|
// The I/O interval time in seconds.
|
||||||
constexpr static double AUDIO_SAMPLE_BLOCK_SEC = 0.010;
|
constexpr static double AUDIO_SAMPLE_BLOCK_SEC = 0.020;
|
||||||
|
|
||||||
static OSStatus GetIOBufferFrameSizeRange(AudioObjectID inDeviceID,
|
static OSStatus GetIOBufferFrameSizeRange(AudioObjectID inDeviceID,
|
||||||
UInt32* outMinimum,
|
UInt32* outMinimum,
|
||||||
|
|
|
@ -322,9 +322,9 @@ class HamlibHandler:
|
||||||
self.ErrParam()
|
self.ErrParam()
|
||||||
else:
|
else:
|
||||||
if (not x) and self.app.ptt:
|
if (not x) and self.app.ptt:
|
||||||
# Sleep for 20ms to match typical SDR behavior.
|
# Sleep for 20ms to match typical SDR behavior + 5ms to account for varying system load.
|
||||||
# Example: Flex 6000/8000 (https://community.flexradio.com/discussion/8028104/question-regarding-tx-delay)
|
# Example: Flex 6000/8000 (https://community.flexradio.com/discussion/8028104/question-regarding-tx-delay)
|
||||||
time.sleep(20 / 1000)
|
time.sleep(25 / 1000)
|
||||||
os.kill(self.pid, signal.SIGTERM)
|
os.kill(self.pid, signal.SIGTERM)
|
||||||
if x:
|
if x:
|
||||||
self.app.ptt = 1
|
self.app.ptt = 1
|
||||||
|
|
Loading…
Reference in New Issue