From fd5162f583a4bf9bf2449ca73f6b2915aacbf45c Mon Sep 17 00:00:00 2001 From: Anthony Truskinger Date: Tue, 31 Mar 2020 05:43:42 +1000 Subject: [PATCH] More CI Fixes Also ensures deps are installed for framework-dependant build. Work done for #196 --- build/azure-pipelines-build.yml | 6 +++--- build/azure-pipelines-dependencies-linux.yml | 3 ++- tests/Acoustics.Test/AnalysisBase/FileSegmentTests.cs | 2 +- tests/Acoustics.Test/Tools/AudioUtilityInfoTests.cs | 5 +++-- tests/Acoustics.Test/Tools/AudioUtilityMp3Tests.cs | 11 +---------- 5 files changed, 10 insertions(+), 17 deletions(-) diff --git a/build/azure-pipelines-build.yml b/build/azure-pipelines-build.yml index f4abae7b5..b0a0b103f 100644 --- a/build/azure-pipelines-build.yml +++ b/build/azure-pipelines-build.yml @@ -77,7 +77,7 @@ jobs: path: $(NUGET_PACKAGES) displayName: Cache NuGet packages - - ${{ if startsWith(platform.rid, 'linux') }}: + - ${{ if startsWith(platform.pool, 'ubuntu') }}: - template: azure-pipelines-dependencies-linux.yml - pwsh: | @@ -108,7 +108,7 @@ jobs: command: build versioningScheme: 'off' arguments: --configuration ${{ configuration }} --no-restore $(runtimeArgument) - displayName: Build solution (${{ configuration }}, ${{ platform.rid }}) + displayName: Build solution (${{ configuration }}, ${{ coalesce(platform.rid, 'any') }}) # https://github.com/microsoft/vstest/issues/2202 -- need to remove --no-build to make tests work on linux - task: DotNetCoreCLI@2 @@ -116,7 +116,7 @@ jobs: command: test projects: tests/Acoustics.Test/Acoustics.Test.csproj publishTestResults: true - testRunTitle: "Acoustics.Test for ${{ platform.rid }} ${{ configuration }}" + testRunTitle: "Acoustics.Test for ${{ coalesce(platform.rid, 'any') }} ${{ configuration }}" arguments: > $(runtimeArgument) --configuration ${{ configuration }} diff --git a/build/azure-pipelines-dependencies-linux.yml b/build/azure-pipelines-dependencies-linux.yml index 0c1f53649..cf1d312b0 100644 --- a/build/azure-pipelines-dependencies-linux.yml +++ b/build/azure-pipelines-dependencies-linux.yml @@ -5,4 +5,5 @@ steps: sudo apt-get install -y libsox-fmt-all sox displayName: Install SoX - script: | - sudo apt-get install -y wavpack \ No newline at end of file + sudo apt-get install -y wavpack + displayName: Install WavPack \ No newline at end of file diff --git a/tests/Acoustics.Test/AnalysisBase/FileSegmentTests.cs b/tests/Acoustics.Test/AnalysisBase/FileSegmentTests.cs index e9c184007..fcef5cf43 100644 --- a/tests/Acoustics.Test/AnalysisBase/FileSegmentTests.cs +++ b/tests/Acoustics.Test/AnalysisBase/FileSegmentTests.cs @@ -70,7 +70,7 @@ public void SecondConstructorAutomaticallyExtractsInfo() Assert.AreEqual(null, s.SegmentEndOffset); Assert.AreEqual(0, s.StartOffsetSeconds); Assert.AreEqual(info.Duration.Value.TotalSeconds, s.EndOffsetSeconds, 1.0); - Assert.That.AreEqual(info.Duration.Value, s.TargetFileDuration.Value, TimeSpan.FromMilliseconds(0.1)); + Assert.That.AreEqual(info.Duration.Value, s.TargetFileDuration.Value, 0.1.Seconds()); Assert.AreEqual(info.SampleRate, s.TargetFileSampleRate); Assert.AreEqual("Currawongs_curlew_West_Knoll_Bees_20091102-183000", s.SourceMetadata.Identifier); Assert.IsNull(s.TargetFileStartDate); diff --git a/tests/Acoustics.Test/Tools/AudioUtilityInfoTests.cs b/tests/Acoustics.Test/Tools/AudioUtilityInfoTests.cs index fec28580a..4d8e6823c 100644 --- a/tests/Acoustics.Test/Tools/AudioUtilityInfoTests.cs +++ b/tests/Acoustics.Test/Tools/AudioUtilityInfoTests.cs @@ -7,6 +7,7 @@ namespace Acoustics.Test.Tools using System; using System.Collections.Generic; using System.Globalization; + using System.IO; using System.Linq; using System.Threading; using Acoustics.Shared; @@ -221,7 +222,7 @@ public void InfoWorksSoxTool(string file) var source = TestHelper.GetAudioFile(file); - if (util.SupportsMp3) + if (!Path.GetExtension(file).EndsWith(MediaTypes.ExtMp3) || util.SupportsMp3) { var info = util.Info(source); @@ -231,7 +232,7 @@ public void InfoWorksSoxTool(string file) } else { - Assert.ThrowsException( + Assert.ThrowsException( () => util.Info(source), "cannot be processed. Valid formats are: wav (audio/wav), flac (audio/flac)."); } diff --git a/tests/Acoustics.Test/Tools/AudioUtilityMp3Tests.cs b/tests/Acoustics.Test/Tools/AudioUtilityMp3Tests.cs index bd4e48488..0df191ca0 100644 --- a/tests/Acoustics.Test/Tools/AudioUtilityMp3Tests.cs +++ b/tests/Acoustics.Test/Tools/AudioUtilityMp3Tests.cs @@ -19,15 +19,6 @@ public class AudioUtilityMp3Tests [PlatformSpecificTestMethod(OSX)] public void SegmentsMp3NotAvailableOnOsxWithSox() { - var expected = new AudioUtilityInfo - { - Duration = TimeSpan.FromSeconds(30), - SampleRate = 11025, - ChannelCount = 1, - MediaType = MediaTypes.MediaTypeMp3, - BitsPerSecond = 16000, - }; - var request = new AudioUtilityRequest { MixDownToMono = true, @@ -41,7 +32,7 @@ public void SegmentsMp3NotAvailableOnOsxWithSox() var source = TestHelper.GetAudioFile("Currawongs_curlew_West_Knoll_Bees_20091102-183000.mp3"); var output = PathHelper.GetTempFile(MediaTypes.ExtMp3); - Assert.ThrowsException( + Assert.ThrowsException( () => util.Info(source), "cannot be processed. Valid formats are: wav (audio/wav), flac (audio/flac).");