diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
|---|---|---|
| committer | <> | 2013-04-03 16:25:08 +0000 |
| commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
| tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /sapi/cli/tests/bug61546.phpt | |
| download | php2-master.tar.gz | |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'sapi/cli/tests/bug61546.phpt')
| -rw-r--r-- | sapi/cli/tests/bug61546.phpt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/sapi/cli/tests/bug61546.phpt b/sapi/cli/tests/bug61546.phpt new file mode 100644 index 0000000..071edb7 --- /dev/null +++ b/sapi/cli/tests/bug61546.phpt @@ -0,0 +1,31 @@ +--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"); +$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) |
