aboutsummaryrefslogtreecommitdiff
path: root/src/test/burn/WixTestTools/RuntimeFactAttribute.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/burn/WixTestTools/RuntimeFactAttribute.cs')
-rw-r--r--src/test/burn/WixTestTools/RuntimeFactAttribute.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/burn/WixTestTools/RuntimeFactAttribute.cs b/src/test/burn/WixTestTools/RuntimeFactAttribute.cs
index f73c87a2..573a9de2 100644
--- a/src/test/burn/WixTestTools/RuntimeFactAttribute.cs
+++ b/src/test/burn/WixTestTools/RuntimeFactAttribute.cs
@@ -5,6 +5,7 @@ namespace WixTestTools
5 using System; 5 using System;
6 using System.Security.Principal; 6 using System.Security.Principal;
7 using WixInternal.TestSupport.XunitExtensions; 7 using WixInternal.TestSupport.XunitExtensions;
8 using System.Runtime.InteropServices;
8 9
9 public class RuntimeFactAttribute : SkippableFactAttribute 10 public class RuntimeFactAttribute : SkippableFactAttribute
10 { 11 {
@@ -12,6 +13,16 @@ namespace WixTestTools
12 13
13 public static bool RuntimeTestsEnabled { get; } 14 public static bool RuntimeTestsEnabled { get; }
14 public static bool RunningAsAdministrator { get; } 15 public static bool RunningAsAdministrator { get; }
16 public static bool RunningOnWindowsServer { get; }
17
18 [DllImport("shlwapi.dll", SetLastError = true, EntryPoint = "#437")]
19 private static extern bool IsOS(int os);
20 private static bool IsWindowsServer()
21 {
22 const int OS_ANYSERVER = 29;
23 return IsOS(OS_ANYSERVER);
24 }
25
15 26
16 static RuntimeFactAttribute() 27 static RuntimeFactAttribute()
17 { 28 {
@@ -21,6 +32,25 @@ namespace WixTestTools
21 32
22 var testsEnabledString = Environment.GetEnvironmentVariable(RequiredEnvironmentVariableName); 33 var testsEnabledString = Environment.GetEnvironmentVariable(RequiredEnvironmentVariableName);
23 RuntimeTestsEnabled = Boolean.TryParse(testsEnabledString, out var testsEnabled) && testsEnabled; 34 RuntimeTestsEnabled = Boolean.TryParse(testsEnabledString, out var testsEnabled) && testsEnabled;
35
36 RunningOnWindowsServer = IsWindowsServer();
37 }
38
39 private bool _RequireWindowsServer;
40 public bool RequireWindowsServer
41 {
42 get
43 {
44 return _RequireWindowsServer;
45 }
46 set
47 {
48 _RequireWindowsServer = value;
49 if (_RequireWindowsServer && !RunningOnWindowsServer)
50 {
51 this.Skip = $"These tests are only run on Windows Server";
52 }
53 }
24 } 54 }
25 55
26 public RuntimeFactAttribute() 56 public RuntimeFactAttribute()