The STDIN and STDOUT pipes must be set to binmode to prevent conversion of carriage returns. Otherwise, the server communication is broken
There were some tests making assertions against URIs/paths that weren't valid on Windows
When splitting the file path on : to separate the line number, we need to account for the fact that Windows' paths begin with C:/, which was resulting in the wrong path and line number
SIGTERM cannot be used on Windows. Windows only responds to KILL, which we can also use on Linux/Mac to terminate a hanging server process
There are a few Windows related fixes in this PR:
binmode
to prevent conversion of carriage returns. Otherwise, the server communication is broken:
to separate the line number, we need to account for the fact that Windows' paths begin withC:/
, which was resulting in the wrong path and line numberSIGTERM
cannot be used on Windows. Windows only responds toKILL
, which we can also use on Linux/Mac to terminate a hanging server process