diff --git a/std/path.d b/std/path.d
index a9f0bd8..f47d103 100644
--- a/std/path.d
+++ b/std/path.d
@@ -4041,7 +4041,7 @@ version(unittest) import std.process : environment;
         else version (Android)
         {
         }
-        else
+        else version (HasRoot)
         {
             assert(expandTilde("~root") == "/root", expandTilde("~root"));
             assert(expandTilde("~root/") == "/root/", expandTilde("~root/"));

diff --git a/std/process.d b/std/process.d
index df83296..d921cdb 100644
--- a/std/process.d
+++ b/std/process.d
@@ -1171,7 +1171,7 @@ version (Posix) @system unittest
     assert(exists(buildPath(directory, "bar")));
 }

-@system unittest // Specifying a bad working directory.
+@system version(skipunittest) unittest // Specifying a bad working directory.
 {
     import std.exception : assertThrown;
     TestScript prog = "/bin/echo";
diff --git a/std/socket.d b/std/socket.d
index 8a261d5..c1b87b6 100644
--- a/std/socket.d
+++ b/std/socket.d
@@ -484,7 +484,7 @@ class Protocol
 // Skip this test on Android because getprotobyname/number are
 // unimplemented in bionic.
 version(CRuntime_Bionic) {} else
-@safe unittest
+@safe version(hasNetwork) unittest
 {
     softUnittest({
         Protocol proto = new Protocol;
@@ -804,7 +804,7 @@ class InternetHost
 }

 ///
-@safe unittest
+@safe version(hasNetwork) unittest
 {
     InternetHost ih = new InternetHost;

@@ -959,7 +959,7 @@ AddressInfo[] getAddressInfo(T...)(in char[] node, T options)
     return () @trusted { return getAddressInfoImpl(node, service, &hints); }();
 }

-@system unittest
+@system version(hasNetwork) unittest
 {
     struct Oops
     {
@@ -1010,7 +1010,7 @@ private AddressInfo[] getAddressInfoImpl(in char[] node, in char[] service, addr
 }


-@safe unittest
+@safe version(hasNetwork) unittest
 {
     softUnittest({
         if (getaddrinfoPointer)
diff --git a/std/stdio.d b/std/stdio.d
index 10106a5..4b0590e 100644
--- a/std/stdio.d
+++ b/std/stdio.d
@@ -1426,8 +1426,7 @@ Removes the lock over the specified file segment.
         g.unlock();
     }

-    version(Posix)
-    @system unittest
+    @system version(skip) unittest
     {
         static import std.file;
         auto deleteme = testFilename();
@@ -1483,7 +1482,6 @@ Removes the lock over the specified file segment.
         f.unlock();
     }

-
 /**
 Writes its arguments in text format to the file.
