From b18b960e170e58cfb25fd5fd1c9277250476b77a Mon Sep 17 00:00:00 2001 From: Greg Beaver Date: Mon, 7 Jan 2008 17:40:43 +0000 Subject: [PATCH] new tests --- .../tests/tar/open_for_write_existing.phpt | 37 +++++++++++++ .../tests/tar/open_for_write_existing_b.phpt | 48 ++++++++++++++++ .../tests/tar/open_for_write_existing_c.phpt | 42 ++++++++++++++ .../tests/tar/open_for_write_newfile.phpt | 39 +++++++++++++ .../tests/tar/open_for_write_newfile_b.phpt | 55 +++++++++++++++++++ .../tests/tar/open_for_write_newfile_c.phpt | 49 +++++++++++++++++ 6 files changed, 270 insertions(+) create mode 100644 ext/phar/tests/tar/open_for_write_existing.phpt create mode 100755 ext/phar/tests/tar/open_for_write_existing_b.phpt create mode 100755 ext/phar/tests/tar/open_for_write_existing_c.phpt create mode 100644 ext/phar/tests/tar/open_for_write_newfile.phpt create mode 100755 ext/phar/tests/tar/open_for_write_newfile_b.phpt create mode 100755 ext/phar/tests/tar/open_for_write_newfile_c.phpt diff --git a/ext/phar/tests/tar/open_for_write_existing.phpt b/ext/phar/tests/tar/open_for_write_existing.phpt new file mode 100644 index 0000000000..8e57d10f44 --- /dev/null +++ b/ext/phar/tests/tar/open_for_write_existing.phpt @@ -0,0 +1,37 @@ +--TEST-- +Phar: fopen a .phar for writing (existing file) tar-based +--SKIPIF-- + +--INI-- +phar.readonly=0 +phar.require_hash=0 +--FILE-- +init(); +$a->addFile('.phar/stub.php', ""); + +$files = array(); +$files['a.php'] = ''; +$files['b.php'] = ''; +$files['b/c.php'] = ''; +foreach ($files as $n => $file) { +$a->addFile($n, $file); +} +$a->close(); + +$fp = fopen($pname . '/b/c.php', 'wb'); +fwrite($fp, 'extra'); +fclose($fp); +include $pname . '/b/c.php'; +?> + +===DONE=== +--CLEAN-- + +--EXPECT-- +extra +===DONE=== diff --git a/ext/phar/tests/tar/open_for_write_existing_b.phpt b/ext/phar/tests/tar/open_for_write_existing_b.phpt new file mode 100755 index 0000000000..e462133431 --- /dev/null +++ b/ext/phar/tests/tar/open_for_write_existing_b.phpt @@ -0,0 +1,48 @@ +--TEST-- +Phar: fopen a .phar for writing (existing file) tar-based +--SKIPIF-- + +--INI-- +phar.readonly=1 +phar.require_hash=0 +--FILE-- +init(); +$a->addFile('.phar/stub.php', ""); + +$files = array(); +$files['a.php'] = ''; +$files['b.php'] = ''; +$files['b/c.php'] = ''; +foreach ($files as $n => $file) { +$a->addFile($n, $file); +} +$a->close(); + +function err_handler($errno, $errstr, $errfile, $errline) { + echo "Catchable fatal error: $errstr in $errfile on line $errline\n"; +} + +set_error_handler("err_handler", E_RECOVERABLE_ERROR); + +$fp = fopen($pname . '/b/c.php', 'wb'); +fwrite($fp, 'extra'); +fclose($fp); +include $pname . '/b/c.php'; +?> +===DONE=== +--CLEAN-- + +--EXPECTF-- + +Warning: fopen(phar://%sopen_for_write_existing_b.phar.tar.php/b/c.php): failed to open stream: phar error: write operations disabled by INI setting in %sopen_for_write_existing_b.php on line %d + +Warning: fwrite(): supplied argument is not a valid stream resource in %spen_for_write_existing_b.php on line %d + +Warning: fclose(): supplied argument is not a valid stream resource in %spen_for_write_existing_b.php on line %d +This is b/c +===DONE=== \ No newline at end of file diff --git a/ext/phar/tests/tar/open_for_write_existing_c.phpt b/ext/phar/tests/tar/open_for_write_existing_c.phpt new file mode 100755 index 0000000000..b73e9e4200 --- /dev/null +++ b/ext/phar/tests/tar/open_for_write_existing_c.phpt @@ -0,0 +1,42 @@ +--TEST-- +Phar: fopen a .phar for writing (existing file) tar-based +--SKIPIF-- + +--INI-- +phar.readonly=1 +phar.require_hash=0 +--FILE-- +init(); +$a->addFile('.phar/stub.php', ""); + +$files = array(); +$files['a.php'] = ''; +$files['b.php'] = ''; +$files['b/c.php'] = ''; +foreach ($files as $n => $file) { +$a->addFile($n, $file); +} +$a->close(); + +$fp = fopen($pname . '/b/c.php', 'wb'); +fwrite($fp, 'extra'); +fclose($fp); +include $pname . '/b/c.php'; +?> +===DONE=== +--CLEAN-- + +--EXPECTF-- + +Warning: fopen(phar://%sopen_for_write_existing_c.phar.tar.php/b/c.php): failed to open stream: phar error: write operations disabled by INI setting in %sopen_for_write_existing_c.php on line %d + +Warning: fwrite(): supplied argument is not a valid stream resource in %sopen_for_write_existing_c.php on line %d + +Warning: fclose(): supplied argument is not a valid stream resource in %sopen_for_write_existing_c.php on line %d +This is b/c +===DONE=== \ No newline at end of file diff --git a/ext/phar/tests/tar/open_for_write_newfile.phpt b/ext/phar/tests/tar/open_for_write_newfile.phpt new file mode 100644 index 0000000000..dafbab8ac7 --- /dev/null +++ b/ext/phar/tests/tar/open_for_write_newfile.phpt @@ -0,0 +1,39 @@ +--TEST-- +Phar: fopen a .phar for writing (new file) +--SKIPIF-- + +--INI-- +phar.readonly=0 +phar.require_hash=0 +--FILE-- +init(); +$a->addFile('.phar/stub.php', ""); + +$files = array(); +$files['a.php'] = ''; +$files['b.php'] = ''; +$files['b/c.php'] = ''; +foreach ($files as $n => $file) { +$a->addFile($n, $file); +} +$a->close(); + +$fp = fopen($pname . '/b/new.php', 'wb'); +fwrite($fp, 'extra'); +fclose($fp); +include $pname . '/b/c.php'; +include $pname . '/b/new.php'; +?> + +===DONE=== +--CLEAN-- + +--EXPECT-- +This is b/c +extra +===DONE=== diff --git a/ext/phar/tests/tar/open_for_write_newfile_b.phpt b/ext/phar/tests/tar/open_for_write_newfile_b.phpt new file mode 100755 index 0000000000..c6566114c4 --- /dev/null +++ b/ext/phar/tests/tar/open_for_write_newfile_b.phpt @@ -0,0 +1,55 @@ +--TEST-- +Phar: fopen a .phar for writing (new file) +--SKIPIF-- + +--INI-- +phar.readonly=1 +phar.require_hash=0 +--FILE-- +init(); +$a->addFile('.phar/stub.php', ""); + +$files = array(); +$files['a.php'] = ''; +$files['b.php'] = ''; +$files['b/c.php'] = ''; +foreach ($files as $n => $file) { +$a->addFile($n, $file); +} +$a->close(); + +function err_handler($errno, $errstr, $errfile, $errline) { + echo "Catchable fatal error: $errstr in $errfile on line $errline\n"; +} + +set_error_handler("err_handler", E_RECOVERABLE_ERROR); + +$fp = fopen($pname . '/b/new.php', 'wb'); +fwrite($fp, 'extra'); +fclose($fp); +include $pname . '/b/c.php'; +include $pname . '/b/new.php'; +?> + +===DONE=== +--CLEAN-- + +--EXPECTF-- + +Warning: fopen(phar://%sopen_for_write_newfile_b.phar.tar.php/b/new.php): failed to open stream: phar error: write operations disabled by INI setting in %sopen_for_write_newfile_b.php on line %d + +Warning: fwrite(): supplied argument is not a valid stream resource in %sopen_for_write_newfile_b.php on line %d + +Warning: fclose(): supplied argument is not a valid stream resource in %sopen_for_write_newfile_b.php on line %d +This is b/c + +Warning: include(phar://%sopen_for_write_newfile_b.phar.tar.php/b/new.php): failed to open stream: phar error: "b/new.php" is not a file in phar "%sopen_for_write_newfile_b.phar.tar.php" in %sopen_for_write_newfile_b.php on line %d + +Warning: include(): Failed opening 'phar://%sopen_for_write_newfile_b.phar.tar.php/b/new.php' for inclusion (include_path='%s') in %sopen_for_write_newfile_b.php on line %d + +===DONE=== diff --git a/ext/phar/tests/tar/open_for_write_newfile_c.phpt b/ext/phar/tests/tar/open_for_write_newfile_c.phpt new file mode 100755 index 0000000000..6924b33901 --- /dev/null +++ b/ext/phar/tests/tar/open_for_write_newfile_c.phpt @@ -0,0 +1,49 @@ +--TEST-- +Phar: fopen a .phar for writing (new file) +--SKIPIF-- + +--INI-- +phar.readonly=1 +phar.require_hash=0 +--FILE-- +init(); +$a->addFile('.phar/stub.php', ""); + +$files = array(); +$files['a.php'] = ''; +$files['b.php'] = ''; +$files['b/c.php'] = ''; +foreach ($files as $n => $file) { +$a->addFile($n, $file); +} +$a->close(); + +$fp = fopen($pname . '/b/new.php', 'wb'); +fwrite($fp, 'extra'); +fclose($fp); +include $pname . '/b/c.php'; +include $pname . '/b/new.php'; +?> + +===DONE=== +--CLEAN-- + +--EXPECTF-- + +Warning: fopen(phar://%sopen_for_write_newfile_c.phar.tar.php/b/new.php): failed to open stream: phar error: write operations disabled by INI setting in %sopen_for_write_newfile_c.php on line %d + +Warning: fwrite(): supplied argument is not a valid stream resource in %sopen_for_write_newfile_c.php on line %d + +Warning: fclose(): supplied argument is not a valid stream resource in %sopen_for_write_newfile_c.php on line %d +This is b/c + +Warning: include(phar://%sopen_for_write_newfile_c.phar.tar.php/b/new.php): failed to open stream: phar error: "b/new.php" is not a file in phar "%sopen_for_write_newfile_c.phar.tar.php" in %sopen_for_write_newfile_c.php on line %d + +Warning: include(): Failed opening 'phar://%sopen_for_write_newfile_c.phar.tar.php/b/new.php' for inclusion (include_path='%s') in %sopen_for_write_newfile_c.php on line %d + +===DONE=== \ No newline at end of file -- 2.40.0