Annotation of embedaddon/php/ext/standard/tests/file/unlink_variation8.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test unlink() function : variation: various valid and invalid paths
                      3: --CREDITS--
                      4: Dave Kelsey <d_kelsey@uk.ibm.com>
                      5: --SKIPIF--
                      6: <?php
                      7: if (substr(PHP_OS, 0, 3) == 'WIN') {
                      8:     die('skip.. Not for Windows');
                      9: }
                     10: ?> 
                     11: --FILE--
                     12: <?php
                     13: /* Prototype  : bool unlink(string filename[, context context])
                     14:  * Description: Delete a file 
                     15:  * Source code: ext/standard/file.c
                     16:  * Alias to functions: 
                     17:  */
                     18: 
                     19: echo "*** Testing unlink() : variation ***\n";
                     20: 
                     21: $workDir = "unlinkVar8.tmp";
                     22: $tmpFile = "file.tmp";
                     23: $fileToLinkTo = $workDir.'/'."linkme.tmp";
                     24: 
                     25: mkdir($workDir);
                     26: $cwd = getcwd();
                     27: touch($fileToLinkTo);
                     28: 
                     29: $files = array(
                     30:              // relative
                     31:              $workDir.'/'.$tmpFile,
                     32:              './'.$workDir.'/'.$tmpFile,
                     33:              $workDir.'/../'.$workDir.'/'.$tmpFile,
                     34:              
                     35:              // relative bad path
                     36:              $workDir.'/../BADDIR/'.$tmpFile,
                     37:              'BADDIR/'.$tmpFile,
                     38:              
                     39:              //absolute
                     40:              $cwd.'/'.$workDir.'/'.$tmpFile,
                     41:              $cwd.'/./'.$workDir.'/'.$tmpFile,
                     42:              $cwd.'/'.$workDir.'/../'.$workDir.'/'.$tmpFile,
                     43: 
                     44:              //absolute bad path             
                     45:              $cwd.'/BADDIR/'.$tmpFile,
                     46:              
                     47:              //trailing separators
                     48:              $workDir.'/'.$tmpFile.'/',
                     49:              $cwd.'/'.$workDir.'/'.$tmpFile.'/',
                     50:              
                     51:              // multiple separators
                     52:              $workDir.'//'.$tmpFile,
                     53:              $cwd.'//'.$workDir.'//'.$tmpFile,
                     54:              
                     55:              );
                     56:              
                     57: 
                     58: foreach($files as $fileToUnlink) {
                     59:    test_realfile($workDir.'/'.$tmpFile, $fileToUnlink);
                     60:    test_link($workDir.'/'.$tmpFile, $fileToLinkTo, $fileToUnlink, true);  //soft link
                     61:    test_link($workDir.'/'.$tmpFile, $fileToLinkTo, $fileToUnlink, false); //hard link   
                     62: }
                     63: 
                     64: unlink($fileToLinkTo);
                     65: rmdir($workDir);
                     66: 
                     67: function test_realfile($file, $tounlink) {
                     68:    touch($file);
                     69:    echo "-- removing $tounlink --\n";           
                     70:    $res = unlink($tounlink);
                     71:    if ($res === true) {
                     72:       if (file_exists($tounlink) === false) {
                     73:        echo "file removed\n";
                     74:       }
                     75:       else {
                     76:         echo "FAILED: file not removed\n";
                     77:       }
                     78:    }
                     79:    else {
                     80:       unlink($file);
                     81:    }
                     82: }
                     83: 
                     84: function test_link($linkedfile, $toLinkTo, $tounlink, $softlink) {
                     85:    if ($softlink == true) {
                     86:          symlink($toLinkTo, $linkedfile);
                     87:          $msg = "soft link";
                     88:    }
                     89:    else {
                     90:          link($toLinkTo, $linkedfile);
                     91:          $msg = "hard link";             
                     92:    }   
                     93:    echo "-- unlinking $msg $tounlink --\n";           
                     94:    $res = unlink($tounlink);
                     95:    if ($res === true) {
                     96:       if (file_exists($tounlink) === false) {
                     97:        echo "file unlinked\n";
                     98:       }
                     99:       else {
                    100:         echo "FAILED: file not unlinked\n";
                    101:       }
                    102:    }
                    103:    else {
                    104:       unlink($linkedfile);
                    105:    }
                    106: }
                    107: 
                    108: 
                    109: ?>
                    110: ===DONE===
                    111: --EXPECTF--
                    112: *** Testing unlink() : variation ***
                    113: -- removing unlinkVar8.tmp/file.tmp --
                    114: file removed
                    115: -- unlinking soft link unlinkVar8.tmp/file.tmp --
                    116: file unlinked
                    117: -- unlinking hard link unlinkVar8.tmp/file.tmp --
                    118: file unlinked
                    119: -- removing ./unlinkVar8.tmp/file.tmp --
                    120: file removed
                    121: -- unlinking soft link ./unlinkVar8.tmp/file.tmp --
                    122: file unlinked
                    123: -- unlinking hard link ./unlinkVar8.tmp/file.tmp --
                    124: file unlinked
                    125: -- removing unlinkVar8.tmp/../unlinkVar8.tmp/file.tmp --
                    126: file removed
                    127: -- unlinking soft link unlinkVar8.tmp/../unlinkVar8.tmp/file.tmp --
                    128: file unlinked
                    129: -- unlinking hard link unlinkVar8.tmp/../unlinkVar8.tmp/file.tmp --
                    130: file unlinked
                    131: -- removing unlinkVar8.tmp/../BADDIR/file.tmp --
                    132: 
                    133: Warning: unlink(unlinkVar8.tmp/../BADDIR/file.tmp): No such file or directory in %s on line %d
                    134: -- unlinking soft link unlinkVar8.tmp/../BADDIR/file.tmp --
                    135: 
                    136: Warning: unlink(unlinkVar8.tmp/../BADDIR/file.tmp): No such file or directory in %s on line %d
                    137: -- unlinking hard link unlinkVar8.tmp/../BADDIR/file.tmp --
                    138: 
                    139: Warning: unlink(unlinkVar8.tmp/../BADDIR/file.tmp): No such file or directory in %s on line %d
                    140: -- removing BADDIR/file.tmp --
                    141: 
                    142: Warning: unlink(BADDIR/file.tmp): No such file or directory in %s on line %d
                    143: -- unlinking soft link BADDIR/file.tmp --
                    144: 
                    145: Warning: unlink(BADDIR/file.tmp): No such file or directory in %s on line %d
                    146: -- unlinking hard link BADDIR/file.tmp --
                    147: 
                    148: Warning: unlink(BADDIR/file.tmp): No such file or directory in %s on line %d
                    149: -- removing /%s/unlinkVar8.tmp/file.tmp --
                    150: file removed
                    151: -- unlinking soft link /%s/unlinkVar8.tmp/file.tmp --
                    152: file unlinked
                    153: -- unlinking hard link /%s/unlinkVar8.tmp/file.tmp --
                    154: file unlinked
                    155: -- removing /%s/./unlinkVar8.tmp/file.tmp --
                    156: file removed
                    157: -- unlinking soft link /%s/./unlinkVar8.tmp/file.tmp --
                    158: file unlinked
                    159: -- unlinking hard link /%s/./unlinkVar8.tmp/file.tmp --
                    160: file unlinked
                    161: -- removing /%s/unlinkVar8.tmp/../unlinkVar8.tmp/file.tmp --
                    162: file removed
                    163: -- unlinking soft link /%s/unlinkVar8.tmp/../unlinkVar8.tmp/file.tmp --
                    164: file unlinked
                    165: -- unlinking hard link /%s/unlinkVar8.tmp/../unlinkVar8.tmp/file.tmp --
                    166: file unlinked
                    167: -- removing /%s/BADDIR/file.tmp --
                    168: 
                    169: Warning: unlink(/%s/BADDIR/file.tmp): No such file or directory in %s on line %d
                    170: -- unlinking soft link /%s/BADDIR/file.tmp --
                    171: 
                    172: Warning: unlink(/%s/BADDIR/file.tmp): No such file or directory in %s on line %d
                    173: -- unlinking hard link /%s/BADDIR/file.tmp --
                    174: 
                    175: Warning: unlink(/%s/BADDIR/file.tmp): No such file or directory in %s on line %d
                    176: -- removing unlinkVar8.tmp/file.tmp/ --
                    177: 
                    178: Warning: unlink(unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
                    179: -- unlinking soft link unlinkVar8.tmp/file.tmp/ --
                    180: 
                    181: Warning: unlink(unlinkVar8.tmp/file.tmp/): %s directory in %s on line %d
                    182: -- unlinking hard link unlinkVar8.tmp/file.tmp/ --
                    183: 
                    184: Warning: unlink(unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
                    185: -- removing /%s/unlinkVar8.tmp/file.tmp/ --
                    186: 
                    187: Warning: unlink(/%s/unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
                    188: -- unlinking soft link /%s/unlinkVar8.tmp/file.tmp/ --
                    189: 
                    190: Warning: unlink(/%s/unlinkVar8.tmp/file.tmp/): %s directory in %s on line %d
                    191: -- unlinking hard link /%s/unlinkVar8.tmp/file.tmp/ --
                    192: 
                    193: Warning: unlink(/%s/unlinkVar8.tmp/file.tmp/): Not a directory in %s on line %d
                    194: -- removing unlinkVar8.tmp//file.tmp --
                    195: file removed
                    196: -- unlinking soft link unlinkVar8.tmp//file.tmp --
                    197: file unlinked
                    198: -- unlinking hard link unlinkVar8.tmp//file.tmp --
                    199: file unlinked
                    200: -- removing /%s//unlinkVar8.tmp//file.tmp --
                    201: file removed
                    202: -- unlinking soft link /%s//unlinkVar8.tmp//file.tmp --
                    203: file unlinked
                    204: -- unlinking hard link /%s//unlinkVar8.tmp//file.tmp --
                    205: file unlinked
                    206: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>