Annotation of embedaddon/php/ext/standard/tests/file/windows_links/bug48746_1.phpt, revision 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>