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

1.1       misho       1: --TEST--
                      2: Bug#48746 - Junction not working properly
                      3: 
                      4: --CREDIT--
                      5: Venkat Raman Don (don.raman@microsoft.com)
                      6: 
                      7: --SKIPIF--
                      8: <?php
                      9: if(substr(PHP_OS, 0, 3) != 'WIN' ) {
                     10:     die('skip windows only test');
                     11: }
                     12: $cmd = "mklink.exe /?";
                     13: $ret = @exec($cmd, $output, $return_val);
                     14: if (count($output) == 0) {
                     15:     die("mklink.exe not found in PATH");
                     16: }
                     17: ?>
                     18: --FILE--
                     19: <?php
                     20: $old_dir = __DIR__;
                     21: $dirname = __DIR__ . "\\mnt\\test\\directory";
                     22: exec("mkdir " . $dirname, $output, $ret_val);
                     23: chdir(__DIR__ . "\\mnt\\test");
                     24: $drive = substr(__DIR__, 0, 2);
                     25: $pathwithoutdrive = substr(__DIR__, 2);
                     26: $ret = exec("mountvol " . $drive . " /L", $output, $ret_val);
                     27: exec("mklink /j mounted_volume " . $ret, $output, $ret_val);
                     28: $fullpath = "mounted_volume" . $pathwithoutdrive;
                     29: exec("mklink /j mklink_junction directory", $output, $ret_val);
                     30: file_put_contents("mklink_junction\\a.php", "<?php echo \"I am included.\n\" ?>");
                     31: include_once "mklink_junction\\a.php";
                     32: file_put_contents("$fullpath\\mnt\\test\\directory\\b.php", "<?php echo \"I am included.\n\" ?>");
                     33: require "$fullpath\\mnt\\test\\directory\\b.php";
                     34: file_put_contents("$fullpath\\mnt\\test\\mklink_junction\\c.php", "<?php echo \"I am included.\n\" ?>");
                     35: require_once "$fullpath\\mnt\\test\\mklink_junction\\c.php";
                     36: var_dump(is_file("mklink_junction\\a.php"));
                     37: var_dump(is_file("$fullpath\\mnt\\test\\directory\\b.php"));
                     38: var_dump(is_file("$fullpath\\mnt\\test\\mklink_junction\\c.php"));
                     39: unlink("$fullpath\\mnt\\test\\directory\\b.php");
                     40: unlink("$fullpath\\mnt\\test\\mklink_junction\\c.php");
                     41: unlink("mklink_junction\\a.php");
                     42: chdir($old_dir);
                     43: rmdir(__DIR__ . "\\mnt\\test\\directory");
                     44: rmdir(__DIR__ . "\\mnt\\test\\mklink_junction");
                     45: rmdir(__DIR__ . "\\mnt\\test\\mounted_volume");
                     46: rmdir(__DIR__ . "\\mnt\\test");
                     47: rmdir(__DIR__ . "\\mnt");
                     48: 
                     49: ?>
                     50: --EXPECT--
                     51: I am included.
                     52: I am included.
                     53: I am included.
                     54: bool(true)
                     55: bool(true)
                     56: bool(true)

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