rework fileinfo.Sys() output test for windows

split out the unix specific test code
diff --git a/request-server_test.go b/request-server_test.go
index 53172c6..5fe410f 100644
--- a/request-server_test.go
+++ b/request-server_test.go
@@ -238,9 +238,7 @@
 	assert.Equal(t, fi.Name(), "foo")
 	assert.Equal(t, fi.Size(), int64(5))
 	assert.Equal(t, fi.Mode(), os.FileMode(0644))
-	fstat := fi.Sys().(*FileStat)
-	assert.Equal(t, fstat.UID, uint32(65534))
-	assert.Equal(t, fstat.GID, uint32(65534))
+	assert.NoError(t, testOsSys(fi.Sys()))
 }
 
 func TestRequestStatFail(t *testing.T) {
diff --git a/request-unix.go b/request-unix.go
index 1bc6054..a71a898 100644
--- a/request-unix.go
+++ b/request-unix.go
@@ -2,8 +2,22 @@
 
 package sftp
 
-import "syscall"
+import (
+	"errors"
+	"syscall"
+)
 
 func fakeFileInfoSys() interface{} {
 	return &syscall.Stat_t{Uid: 65534, Gid: 65534}
 }
+
+func testOsSys(sys interface{}) error {
+	fstat := sys.(*FileStat)
+	if fstat.UID != uint32(65534) {
+		return errors.New("Uid failed to match.")
+	}
+	if fstat.GID != uint32(65534) {
+		return errors.New("Gid failed to match:")
+	}
+	return nil
+}
diff --git a/request_windows.go b/request_windows.go
index 2ea6be2..94d306b 100644
--- a/request_windows.go
+++ b/request_windows.go
@@ -5,3 +5,7 @@
 func fakeFileInfoSys() interface{} {
 	return syscall.Win32FileAttributeData{}
 }
+
+func testOsSys(sys interface{}) error {
+	return nil
+}