1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 08:12:21 +01:00
Files
archived-php-src/sapi/cli/tests/bug61546.phpt
Niels Dossche dcc3255b18 Fix GH-10489: run-tests.php does not escape path when building cmd (#10560)
Multiple tests had to be changed to escape the arguments in shell
commands. Some tests are skipped because they behave differently with
spaces in the path versus without. One notable example of this is the
hashbang test which does not work because spaces in hashbangs paths are
not supported in Linux.

Co-authored-by: Michael Voříšek <mvorisek@mvorisek.cz>
2023-02-25 14:02:06 +00:00

32 lines
1.1 KiB
PHP

--TEST--
Bug #61546 (functions related to current script failed when chdir() in cli sapi)
--FILE--
<?php
// reference doc for getmyinode() on php.net states that it returns an integer or FALSE on error
// on Windows, getmyinode() returns 0 which normally casts to FALSE
// however, the implementation of getmyinode() (in pageinfo.c) returns an explicit FALSE in the
// event that the internal page_inode structure is less than 0, otherwise it returns the long value
// of page_inode. therefore, an explicit 0 should be a passing value for this test.
//
// the ext/standard/tests/file/statpage.phpt test also tests getmyinode() returns an integer and will
// pass even if that integer is 0. on Windows, the getmyinode() call in statpage.phpt returns 0 and
// passes on Windows.
$php = getenv("TEST_PHP_EXECUTABLE_ESCAPED");
$test_code = <<<PHP
<?php
chdir('..');
var_dump(get_current_user() != "");
chdir('..');
var_dump(getmyinode() !== false);
var_dump(getlastmod() != false);
PHP;
file_put_contents("bug61546_sub.php", $test_code);
system($php . ' -n bug61546_sub.php');
unlink("bug61546_sub.php");
?>
--EXPECT--
bool(true)
bool(true)
bool(true)