diff --git a/source/Calamari.Testing/Requirements/RequiresBashDotExeIfOnWindowsAttribute.cs b/source/Calamari.Testing/Requirements/RequiresBashDotExeIfOnWindowsAttribute.cs deleted file mode 100644 index c2383c220..000000000 --- a/source/Calamari.Testing/Requirements/RequiresBashDotExeIfOnWindowsAttribute.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using System.IO; -using Calamari.Common.Plumbing; -using NUnit.Framework; -using NUnit.Framework.Interfaces; -using NUnit.Framework.Internal; - -namespace Calamari.Testing.Requirements -{ - public class RequiresBashDotExeIfOnWindowsAttribute : NUnitAttribute, IApplyToTest - { - public void ApplyToTest(Test test) - { - if (CalamariEnvironment.IsRunningOnWindows && !BashExeExists) - { - test.RunState = RunState.Skipped; - test.Properties.Set(PropertyNames.SkipReason, "This test needs bash.exe (which comes with WSL) on windows"); - } - } - - bool BashExeExists - { - get - { - var bashPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), "bash.exe"); - return File.Exists(bashPath); - } - } - } -} diff --git a/source/Calamari.Tests/Fixtures/Bash/BashFixture.cs b/source/Calamari.Tests/Fixtures/Bash/BashFixture.cs index c97ddfd25..3391753e0 100644 --- a/source/Calamari.Tests/Fixtures/Bash/BashFixture.cs +++ b/source/Calamari.Tests/Fixtures/Bash/BashFixture.cs @@ -8,7 +8,7 @@ using Calamari.Common.Plumbing; using Calamari.Common.Plumbing.Variables; using Calamari.Deployment; -using Calamari.Testing.Requirements; +using Calamari.Testing.Helpers; using Calamari.Tests.Helpers; using FluentAssertions; using NUnit.Framework; @@ -16,11 +16,11 @@ namespace Calamari.Tests.Fixtures.Bash { [TestFixture] + [Category(TestCategory.CompatibleOS.OnlyNixOrMac)] public class BashFixture : CalamariFixture { [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldPrintEncodedVariable(FeatureToggle? featureToggle) { var (output, _) = RunScript("print-encoded-variable.sh", new Dictionary().AddFeatureToggleToDictionary(new List{featureToggle})); @@ -34,7 +34,6 @@ public void ShouldPrintEncodedVariable(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldPrintSensitiveVariable(FeatureToggle? featureToggle) { var (output, _) = RunScript("print-sensitive-variable.sh", new Dictionary().AddFeatureToggleToDictionary(new List{featureToggle})); @@ -48,7 +47,6 @@ public void ShouldPrintSensitiveVariable(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldSetEnvironmentState(FeatureToggle? featureToggle) { var (output, _) = RunScript("set-environment-state.sh", new Dictionary().AddFeatureToggleToDictionary(new List{featureToggle})); @@ -62,7 +60,6 @@ public void ShouldSetEnvironmentState(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldSetSensitiveEnvironmentState(FeatureToggle? featureToggle) { var (output, _) = RunScript("set-sensitive-environment-state.sh", new Dictionary().AddFeatureToggleToDictionary(new List{featureToggle})); @@ -77,7 +74,6 @@ public void ShouldSetSensitiveEnvironmentState(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldSetEnvironmentUrl(FeatureToggle? featureToggle) { var (output, _) = RunScript("set-environment-url.sh", new Dictionary().AddFeatureToggleToDictionary(new List { featureToggle })); @@ -91,7 +87,6 @@ public void ShouldSetEnvironmentUrl(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldCreateArtifact(FeatureToggle? featureToggle) { var (output, _) = RunScript("create-artifact.sh", new Dictionary().AddFeatureToggleToDictionary(new List{featureToggle})); @@ -120,7 +115,6 @@ public void ShouldCreateArtifact(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldUpdateProgress(FeatureToggle? featureToggle) { var (output, _) = RunScript("update-progress.sh", new Dictionary().AddFeatureToggleToDictionary(new List{featureToggle})); @@ -134,7 +128,6 @@ public void ShouldUpdateProgress(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldReportKubernetesManifest(FeatureToggle? featureToggle) { var (output, _) = RunScript("report-kubernetes-manifest.sh", new Dictionary().AddFeatureToggleToDictionary(new List{featureToggle})); @@ -151,7 +144,6 @@ public void ShouldReportKubernetesManifest(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldReportKubernetesManifestFile(FeatureToggle? featureToggle) { var tempPath = Path.GetTempPath(); @@ -218,7 +210,6 @@ public void ShouldReportKubernetesManifestFile(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldConsumeParametersWithQuotes(FeatureToggle? featureToggle) { var (output, _) = RunScript("parameters.sh", @@ -234,7 +225,6 @@ public void ShouldConsumeParametersWithQuotes(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldNotReceiveParametersIfNoneProvided(FeatureToggle? featureToggle) { var (output, _) = RunScript("parameters.sh", new Dictionary().AddFeatureToggleToDictionary(new List { featureToggle }), sensitiveVariablesPassword: @@ -249,7 +239,6 @@ public void ShouldNotReceiveParametersIfNoneProvided(FeatureToggle? featureToggl [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldCallHello(FeatureToggle? featureToggle) { var (output, _) = RunScript("hello.sh", @@ -271,7 +260,6 @@ public void ShouldCallHello(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldCallHelloWithSensitiveVariable(FeatureToggle? featureToggle) { var (output, _) = RunScript("hello.sh", @@ -288,7 +276,6 @@ public void ShouldCallHelloWithSensitiveVariable(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldCallHelloWithNullVariable(FeatureToggle? featureToggle) { var (output, _) = RunScript("hello.sh", @@ -304,7 +291,6 @@ public void ShouldCallHelloWithNullVariable(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldCallHelloWithNullSensitiveVariable(FeatureToggle? featureToggle) { var (output, _) = RunScript("hello.sh", @@ -321,7 +307,6 @@ public void ShouldCallHelloWithNullSensitiveVariable(FeatureToggle? featureToggl [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldNotFailOnStdErr(FeatureToggle? featureToggle) { var (output, _) = RunScript("stderr.sh", @@ -336,7 +321,6 @@ public void ShouldNotFailOnStdErr(FeatureToggle? featureToggle) [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldFailOnStdErrWithTreatScriptWarningsAsErrors(FeatureToggle? featureToggle) { var (output, _) = RunScript("stderr.sh", @@ -352,7 +336,6 @@ public void ShouldFailOnStdErrWithTreatScriptWarningsAsErrors(FeatureToggle? fea [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldNotFailOnStdErrFromServiceMessagesWithTreatScriptWarningsAsErrors(FeatureToggle? featureToggle) { var (output, _) = RunScript("hello.sh", @@ -364,7 +347,6 @@ public void ShouldNotFailOnStdErrFromServiceMessagesWithTreatScriptWarningsAsErr [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] [TestCase(null)] - [RequiresBashDotExeIfOnWindows] public void ShouldSupportStrictVariableUnset(FeatureToggle? featureToggle) { var (output, _) = RunScript("strict-mode.sh", new Dictionary().AddFeatureToggleToDictionary(new List { featureToggle })); @@ -379,7 +361,6 @@ public void ShouldSupportStrictVariableUnset(FeatureToggle? featureToggle) static string specialCharacters => "! \" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~ \n\u00b1 \u00d7 \u00f7 \u2211 \u220f \u2202 \u221e \u222b \u2248 \u2260 \u2264 \u2265 \u221a \u221b \u2206 \u2207 \u221d \n$ \u00a2 \u00a3 \u00a5 \u20ac \u20b9 \u20a9 \u20b1 \u20aa \u20bf \n• ‣ … ′ ″ ‘ ’ “ ” ‽ ¡ ¿ – — ― \n( ) [ ] { } ⟨ ⟩ « » ‘ ’ “ ” \n\u2190 \u2191 \u2192 \u2193 \u2194 \u2195 \u2196 \u2197 \u2198 \u2199 \u2b05 \u2b06 \u2b07 \u27a1 \u27f3 \nα β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω \n\u00a9 \u00ae \u2122 § ¶ † ‡ µ #"; [TestCase(FeatureToggle.BashParametersArrayFeatureToggle)] - [RequiresBashDotExeIfOnWindows] public void ShouldBeAbleToEnumerateVariableValues(FeatureToggle? featureToggle) { var (output, _) = RunScript("enumerate-variables.sh",