also skip test_device_encoding when stdin isn't a tty
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 5959d1e..e0c59fd 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -1433,8 +1433,8 @@
         # Return None when an fd doesn't actually exist.
         self.assertIsNone(os.device_encoding(123456))
 
-    @unittest.skipUnless(sys.platform.startswith('win') or
-            (hasattr(locale, 'nl_langinfo') and hasattr(locale, 'CODESET')),
+    @unittest.skipUnless(os.isatty(0) and (sys.platform.startswith('win') or
+            (hasattr(locale, 'nl_langinfo') and hasattr(locale, 'CODESET'))),
             'test requires either Windows or nl_langinfo(CODESET)')
     def test_device_encoding(self):
         encoding = os.device_encoding(0)