This is mainly because it could be nice to use tempFile() in other
unittests. Since tempFile() caches its return value, it would return
the test value ("/") for any other unittest that follows it.
Alternatively, if the other unittest(s) get run first, tempFile()'s
would fail.
FindFirstFile and CreateFile may fail in certain circumstances when
GetFileAttributesEx would succeed - for example, if the user doesn't have
directory listing permissions on the object's containing directory.
Alias this now appears to work properly, hence all tricks & problems
with dual opDispatch are removed.
Also fixes:
Issue 7264 - Can't iterate result from 4-arg dirEntries as string
The reason for this change is the quirky behavior of access for SUID
programs: a file may not appear to "exist", despite that the program
would be able to open it just fine. The behavior in question is described
as follows in the access man page:
> The check is done using the calling process's real UID and GID, rather
> than the effective IDs as is done when actually attempting an operation
> (e.g., open(2)) on the file. This allows set-user-ID programs to easily
> determine the invoking user's authority.
While various operating systems provide eaccess or euidaccess functions,
these are not part of POSIX - so it's safer to use stat instead.
Having the January deprecations and February deprecations in the same
month seems a bit much to me, since we managed to have both of those
months have quite a few, whereas the next few months have very few if
any. And we're close to release too, so I'd prefer to avoid causing
issues by deprecating them now.
* remove `useWfuncs` using
* remove std.__file using
* remove __file.d
* remove variables which have become unnecessary
* remove std.windows.charset import and alias in file.d
readLink should be checking that the result of readlink is not -1,
not that it's not 0, so the cenforce calls were wrong and were
resulting in incorrect behavior when readlink failed.
Some of the tests are too time-sensitive, and the sleeps are slowing the
tests down, so I've versioned off the ones that I believe are currently
causing issues for the autotester.
It looks like it may be possible to make the file times retrieved more
precise, which would lessen the need for sleeps. It would probably also
be prudent to combine a number of the tests, which would cut back on the
number sleeps needed. Hopefully, this change is enough to deal with
autotester's issues for now though.
This enables the test suite to build with the -property switch enabled.
std.cpuid: vendor()/processor() have not been converted to properties in accordance to core.cpuid.
std.xml: Element.text() cannot be a property due to the optional parameter.
The pragmas have not been as effective as we might have liked, since
they only work with templates and can't tell you where in your code you
need to make changes, and they seemed to have been more annoying to
programmers than helpful, so we're going to discontinue them. We'll
leave them in for stuff that's actually been deprecated until deprecated
has been improved enough to take a message, but we'll leave "scheduled
for deprecation" messages to the documentation and changelog.