Have FileHandle.nullDevice return a subclass which does nothing.
diff --git a/Foundation/NSFileHandle.swift b/Foundation/NSFileHandle.swift
index c35bc29..dcc3e5d 100755
--- a/Foundation/NSFileHandle.swift
+++ b/Foundation/NSFileHandle.swift
@@ -216,7 +216,41 @@
     }
 
     internal static var _nulldeviceFileHandle: FileHandle = {
-        return FileHandle(forUpdatingAtPath: "/dev/null")!
+        class NullDevice: FileHandle {
+            override var availableData: Data {
+                return Data()
+            }
+
+            override func readDataToEndOfFile() -> Data {
+                return Data()
+            }
+
+            override func readData(ofLength length: Int) -> Data {
+                return Data()
+            }
+
+            override func write(_ data: Data) {}
+
+            override var offsetInFile: UInt64 {
+                return 0
+            }
+
+            override func seekToEndOfFile() -> UInt64 {
+                return 0
+            }
+
+            override func seek(toFileOffset offset: UInt64) {}
+
+            override func truncateFile(atOffset offset: UInt64) {}
+
+            override func synchronizeFile() {}
+
+            override func closeFile() {}
+
+            deinit {}
+        }
+
+        return NullDevice(fileDescriptor: -1, closeOnDealloc: false)
     }()
 
     open class var nullDevice: FileHandle {
diff --git a/TestFoundation/TestNSFileHandle.swift b/TestFoundation/TestNSFileHandle.swift
index 42b1556..93357ff 100755
--- a/TestFoundation/TestNSFileHandle.swift
+++ b/TestFoundation/TestNSFileHandle.swift
@@ -43,8 +43,18 @@
     func test_nullDevice() {
         let fh = FileHandle.nullDevice
 
+        XCTAssertEqual(fh.fileDescriptor, -1)
+        fh.closeFile()
+        fh.seek(toFileOffset: 10)
+        XCTAssertEqual(fh.offsetInFile, 0)
+        XCTAssertEqual(fh.seekToEndOfFile(), 0)
+        XCTAssertEqual(fh.readData(ofLength: 15).count, 0)
+        fh.synchronizeFile()
+
         fh.write(Data(bytes: [1,2]))
+        fh.seek(toFileOffset: 0)
         XCTAssertEqual(fh.availableData.count, 0)
+        fh.write(Data(bytes: [1,2]))
         fh.seek(toFileOffset: 0)
         XCTAssertEqual(fh.readDataToEndOfFile().count, 0)
     }