* Commands are not properly escaped for windows
* Specifying "-n" to check loaded modules causes "Module already loaded"
warning
* Extensions to be loaded need the "php_" prefix on Windows
Bug: https://bugs.php.net/bug.php?id=75042
Add back -n flag to fetch loaded extensions in run-tests.php
Add test for phpt EXTENSIONS directive
Add a second test for bug 75042
Add test to test loading of nonexistent shared module
with the EXTENSIONS phpt block
Pass ini settings when checking loaded extensions
HEADSUP! With PCRE 8.39 the JIT related code was changed in the way,
that additional valgrind options became almost unavoidable. Valgrind
had it already sometimes hard with JIT, now there are seem to be more
cases requiring special valgrind options.
For this reason, the new configure option --with-pcre-valgrind was
introduced. The option is development/debugging only and turns on the
Valgrind related pieces in PCRE, so then false positives are avoided
to the big part. In addition, run-tests.php was added a new valgrind
option, when the leak check is enabled and the test filepath contains
pcre.
Thus, to debug the code related to PCRE with JIT enabled, two things
would likely make sense
- configure --with-pcre-valgrind
- valgrind option --smc-check=all if run-tests.php is not used
The checks so far reveal no new issues.
If SKIPIF output starts with "xfail" instead of "skip", the test
will be marked as XFAIL with the following message. Example:
--TEST--
Test xfailif feature
--SKIPIF--
<?php
if (some_cond()) die('xfail Expected to fail!');
?>
--FILE--
...
Fix function names prefix
Use Unicode version of GetFinalPathNameByHandle
Use EG(windows_version_info) instead of RtlGetVersion
Use the specified handle_id instead of STD_OUTPUT_HANDLE
Switch from stream name to stream resource
Allow running tests capturing only stdout and/or stderr
Add tests for stream_vt100_support function
Export Win32 console functions
Fix x64 build
Use zend_long instead of long long, use GetConsole instead of GetFinalPathNameByHandleW to check if a handle is a valid console stream
Always use zend_long on any platform
Use _get_osfhandle to determine the standard handle
Accept stream names
Raise warnings in case of invalid stream parameter
Return true if disabling VT100 support on a not-console/redirected stream or on old Windows versions
Remove php_win32_console_os_supports_vt100
Differentiate stdin vs stdout/stderr
Simplify setting flag
Allow avoid piping STDIN
Let stream_vt100_support accept only resources
Fix run-tests
Revert console flags in case of failure
Simplify logic of stream_vt100_support when setting the flag
Return true if succeeded, false otherwise
Drop support for STDIN
More comprehensive tests for stream_vt100_support
Remove old tests
Fix name of included file and use absolute paths
Enable ENABLE_VIRTUAL_TERMINAL_PROCESSING on Windows by default
Remove tests for stream_vt100_support
Split stream_vt100_support into stream_isatty+sapi_windows_vt100_support
Add tests for stream_isatty
Add tests for sapi_windows_vt100_support
Return null from stream_isatty is neither Windows nor Posix
Fallback to S_ISCHR if neither Windows nor Posix
Avoid defining argc since it's only used once
Better comment about php_win32_console_fileno_is_console
Use events instead of cNumberOfEvents
Do not restore previous console mode
We need to restore previous console mode on failing SetConsole calls only for STDIN
Don't configure STDOUT/STDERR on Windows with PHP_CLI_WIN32_NO_CONSOLE
This allows reading the initial script file from stdin instead of being forced to put the script into a file in order to run it with phpdbg.
Especially important for programmatic execution of phpdbg.
Also adding tests/include_once.phpt and tests/set_exception_handler.phpt as I seem to have forgotten to git add them sometime long ago...