diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5bc67e3..e376583 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,9 +10,7 @@ jobs: test: strategy: matrix: - # FIXME: windows-latest not working - # os: [ ubuntu-latest, windows-latest, macos-latest ] - os: [ ubuntu-latest, macos-latest ] + os: [ ubuntu-latest, windows-latest, macos-latest ] go-version: [ "1.19", "1.20", ">=1.21" ] runs-on: ${{ matrix.os }} steps: @@ -22,7 +20,7 @@ jobs: go-version: ${{ matrix.go-version }} check-latest: true - run: go vet ./... - - run: go test -coverprofile=coverage.txt -covermode=atomic ./... + - run: go test "-coverprofile=coverage.txt" -covermode=atomic ./... - run: go install ./cmd/mp4tool - name: Upload Coverage Report if: ${{ github.event_name == 'push' && matrix.os == 'ubuntu-latest' && matrix.go-version == '1.19' }} diff --git a/cmd/mp4tool/internal/dump/dump_test.go b/cmd/mp4tool/internal/dump/dump_test.go index 150d2ad..6f1757a 100644 --- a/cmd/mp4tool/internal/dump/dump_test.go +++ b/cmd/mp4tool/internal/dump/dump_test.go @@ -49,8 +49,10 @@ func TestDump(t *testing.T) { os.Stdout = stdout }() os.Stdout = w - Main(append(tc.options, tc.file)) - w.Close() + go func() { + require.Zero(t, Main(append(tc.options, tc.file))) + w.Close() + }() b, err := io.ReadAll(r) require.NoError(t, err) assert.Equal(t, tc.wants, string(b)) diff --git a/cmd/mp4tool/internal/extract/extract_test.go b/cmd/mp4tool/internal/extract/extract_test.go index 45f9614..059bf79 100644 --- a/cmd/mp4tool/internal/extract/extract_test.go +++ b/cmd/mp4tool/internal/extract/extract_test.go @@ -44,8 +44,10 @@ func TestExtract(t *testing.T) { os.Stdout = stdout }() os.Stdout = w - require.Zero(t, Main([]string{tc.boxType, tc.file})) - w.Close() + go func() { + require.Zero(t, Main([]string{tc.boxType, tc.file})) + w.Close() + }() b, err := io.ReadAll(r) require.NoError(t, err) assert.Equal(t, tc.expectedSize, len(b)) diff --git a/cmd/mp4tool/internal/probe/probe_test.go b/cmd/mp4tool/internal/probe/probe_test.go index 8925b14..6a54b16 100644 --- a/cmd/mp4tool/internal/probe/probe_test.go +++ b/cmd/mp4tool/internal/probe/probe_test.go @@ -42,8 +42,10 @@ func TestProbe(t *testing.T) { os.Stdout = stdout }() os.Stdout = w - Main(append(tc.options, tc.file)) - w.Close() + go func() { + require.Zero(t, Main(append(tc.options, tc.file))) + w.Close() + }() b, err := io.ReadAll(r) require.NoError(t, err) assert.Equal(t, tc.wants, string(b)) diff --git a/cmd/mp4tool/internal/psshdump/psshdump_test.go b/cmd/mp4tool/internal/psshdump/psshdump_test.go index 4735437..dea7258 100644 --- a/cmd/mp4tool/internal/psshdump/psshdump_test.go +++ b/cmd/mp4tool/internal/psshdump/psshdump_test.go @@ -52,8 +52,10 @@ func TestPsshdump(t *testing.T) { os.Stdout = stdout }() os.Stdout = w - Main(append(tc.options, tc.file)) - w.Close() + go func() { + require.Zero(t, Main(append(tc.options, tc.file))) + w.Close() + }() b, err := io.ReadAll(r) require.NoError(t, err) assert.Equal(t, tc.wants, string(b))