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

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

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