+########
+# TODO ? 1 ? "Scalar filehandles not yet UTF-8 clean" : ''
+# pp_sys.c [pp_open_dir]
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+use warnings;
+open FOO, "../harness";
+open $foo, "../harness";
+opendir FOO, ".";
+opendir $foo, ".";
+no warnings qw(io deprecated);
+opendir FOO, ".";
+opendir $foo, ".";
+EXPECT
+Opening filehandle FOO also as a directory at - line 7.
+Opening filehandle $foo also as a directory at - line 8.
+########
+# pp_sys.c [pp_*dir]
+use warnings 'io';
+opendir FOO, ".";
+opendir $foo, ".";
+closedir FOO;
+closedir $foo;
+
+readdir(FOO);
+telldir(FOO);
+seekdir(FOO, 0);
+rewinddir(FOO);
+closedir(FOO);
+
+readdir($foo);
+telldir($foo);
+seekdir($foo, 0);
+rewinddir($foo);
+closedir($foo);
+
+EXPECT
+readdir() attempted on invalid dirhandle FOO at - line 8.
+telldir() attempted on invalid dirhandle FOO at - line 9.
+seekdir() attempted on invalid dirhandle FOO at - line 10.
+rewinddir() attempted on invalid dirhandle FOO at - line 11.
+closedir() attempted on invalid dirhandle FOO at - line 12.
+readdir() attempted on invalid dirhandle $foo at - line 14.
+telldir() attempted on invalid dirhandle $foo at - line 15.
+seekdir() attempted on invalid dirhandle $foo at - line 16.
+rewinddir() attempted on invalid dirhandle $foo at - line 17.
+closedir() attempted on invalid dirhandle $foo at - line 18.
+########
+# TODO ? 1 ? "Scalar filehandles not yet UTF-8 clean" : ''
+# pp_sys.c [pp_*dir]
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'io';
+opendir FOO, ".";
+opendir $foo, ".";
+opendir FOO, ".";
+opendir $foo, ".";
+closedir FOO;
+closedir $foo;
+
+readdir(FOO);
+telldir(FOO);
+seekdir(FOO, 0);
+rewinddir(FOO);
+closedir(FOO);
+
+readdir($foo);
+telldir($foo);
+seekdir($foo, 0);
+rewinddir($foo);
+closedir($foo);
+
+EXPECT
+readdir() attempted on invalid dirhandle FOO at - line 12.
+telldir() attempted on invalid dirhandle FOO at - line 13.
+seekdir() attempted on invalid dirhandle FOO at - line 14.
+rewinddir() attempted on invalid dirhandle FOO at - line 15.
+closedir() attempted on invalid dirhandle FOO at - line 16.
+readdir() attempted on invalid dirhandle $foo at - line 18.
+telldir() attempted on invalid dirhandle $foo at - line 19.
+seekdir() attempted on invalid dirhandle $foo at - line 20.
+rewinddir() attempted on invalid dirhandle $foo at - line 21.
+closedir() attempted on invalid dirhandle $foo at - line 22.