diff --git a/src/app/Fake.DotNet.FxCop/FxCop.fs b/src/app/Fake.DotNet.FxCop/FxCop.fs index 96fa25a0c2f..cde65992ce7 100644 --- a/src/app/Fake.DotNet.FxCop/FxCop.fs +++ b/src/app/Fake.DotNet.FxCop/FxCop.fs @@ -226,4 +226,6 @@ let run param (assemblies : string seq) = composeCommandLine param assemblies |> Proc.run |> failAsrequired param - __.MarkSuccess() \ No newline at end of file + __.MarkSuccess() + else + raise <| NotSupportedException("FxCop is currently not supported on mono") \ No newline at end of file diff --git a/src/app/Fake.DotNet.ILMerge/ILMerge.fs b/src/app/Fake.DotNet.ILMerge/ILMerge.fs index 11ce9376fed..8136f55bc2b 100644 --- a/src/app/Fake.DotNet.ILMerge/ILMerge.fs +++ b/src/app/Fake.DotNet.ILMerge/ILMerge.fs @@ -179,4 +179,6 @@ let run parameters outputFile primaryAssembly = if 0 <> run.ExitCode then let args = getArguments outputFile primaryAssembly parameters failwithf "'ILMerge %s' failed." (String.separated " " args) - __.MarkSuccess() \ No newline at end of file + __.MarkSuccess() + else + raise <| NotSupportedException("ILMerge is currently not supported on mono") \ No newline at end of file diff --git a/src/test/Fake.Core.UnitTests/Fake.DotNet.FxCop.fs b/src/test/Fake.Core.UnitTests/Fake.DotNet.FxCop.fs index cbe77cc5fdc..e03d77cd143 100644 --- a/src/test/Fake.Core.UnitTests/Fake.DotNet.FxCop.fs +++ b/src/test/Fake.Core.UnitTests/Fake.DotNet.FxCop.fs @@ -313,7 +313,15 @@ let testCases = printfn "Unexpected failure %A level=%d index=%d" x level mapIndex reraise()) ] - else [] + else + [ testCase "Test failure on non-Windows platforms" <| fun _ -> + let p = FxCop.Params.Create() + Expect.throwsC (fun () -> FxCop.run p []) + (fun ex -> + Expect.equal (ex.GetType()) typeof + "Exception type should be as expected" + Expect.equal ex.Message "FxCop is currently not supported on mono" + "Exception message should be as expected") ] [] -let tests = testList "Fake.DotNet.FxCop.Tests" testCases +let tests = testList "Fake.DotNet.FxCop.Tests" testCases \ No newline at end of file diff --git a/src/test/Fake.Core.UnitTests/Fake.DotNet.ILMerge.fs b/src/test/Fake.Core.UnitTests/Fake.DotNet.ILMerge.fs index 4e7195c8ba3..00f4cdfa761 100644 --- a/src/test/Fake.Core.UnitTests/Fake.DotNet.ILMerge.fs +++ b/src/test/Fake.Core.UnitTests/Fake.DotNet.ILMerge.fs @@ -207,7 +207,17 @@ let testCases = libs |> Seq.head libs |> Seq.last ] "Strings should be assigned as expected" ] - else [] + else + [ testCase "Test failure on non-Windows platforms" <| fun _ -> + let p = ILMerge.Params.Create() + let dummy = Guid.NewGuid().ToString() + let dummy2 = Guid.NewGuid().ToString() + Expect.throwsC (fun () -> ILMerge.run p dummy dummy2) + (fun ex -> + Expect.equal (ex.GetType()) typeof + "Exception type should be as expected" + Expect.equal ex.Message "ILMerge is currently not supported on mono" + "Exception message should be as expected") ] [] -let tests = testList "Fake.DotNet.ILMerge.Tests" testCases +let tests = testList "Fake.DotNet.ILMerge.Tests" testCases \ No newline at end of file