A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/Perl/perl5/issues/17575 below:

IO/t/io_unix.t - always skips tests for Unix domain sockets on Windows · Issue #17575 · Perl/perl5 · GitHub

Module: IO

Description

dist/IO/t/io_unix.t currently skips all tests on Windows, but AF_UNIX is supported on Win 10 from the 1803 release:

https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/
https://devblogs.microsoft.com/commandline/windows10v1803/
https://blogs.msdn.microsoft.com/commandline/2018/02/07/windowswsl-interop-with-af_unix/

io_unix.t passes on a recent enough version of Win 10, using Strawberry 5.30.1, if:

  1. The OS check for this platform is removed
  2. The definition of $can_fork is copied in from io_sock.t (i.e. threads be used to emulate fork)
  3. The check for (! $Config{'d_fork'}) is changed to (! $can_fork)

Suggested Enhancement

Suggested Next Step

io_unix.t currently tests whether IO::Socket::pack_sockaddr_un('/foo/bar') dies. It might be that it will die on versions of Windows that don't support AF_INET, but I don't have an older version of Windows readily to hand. If anyone does, please could they test this out?

Complications?

This functionality is supplied by a pluggable kernel driver, afunix.sys. It's not impossible that the driver could be disabled, e.g. in a hardened build.

Not sure of the best way to check for that, but one way would be to check for the presence of HKLM\SYSTEM\CurrentControlSet\Services\afunix and if it exists, check the value of Start. (0x1, SERVICE_SYSTEM_START, is the default.) Tests could be skipped if any of the following is true:

Perl configuration
Standard Strawberry Perl v5.30.x build with threading.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4