From c49fb83c380e7c594e85205eac972df4ed93a114 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 2 Jul 2020 11:56:41 +0200 Subject: [PATCH] Extract test helper function for SeCreateSymbolicLinkPrivilege check --- ext/spl/tests/bug68825.phpt | 8 ++------ ext/standard/tests/file/bug47767.phpt | 12 ++---------- ext/standard/tests/file/rename_variation6-win32.phpt | 9 ++------- .../tests/file/windows_links/bug48746_2.phpt | 6 +----- ext/standard/tests/file/windows_links/bug73962.phpt | 6 +----- ext/standard/tests/file/windows_links/common.inc | 9 ++++++++- 6 files changed, 16 insertions(+), 34 deletions(-) diff --git a/ext/spl/tests/bug68825.phpt b/ext/spl/tests/bug68825.phpt index 35c837d336b..eda2e010375 100644 --- a/ext/spl/tests/bug68825.phpt +++ b/ext/spl/tests/bug68825.phpt @@ -3,12 +3,8 @@ Bug #68825 (Exception in DirectoryIterator::getLinkTarget()) --SKIPIF-- &1', $out); - @unlink($fn); - if (strpos($ret, 'privilege')) { - die('skip. SeCreateSymbolicLinkPrivilege not enable for this user.'); - } + include_once __DIR__ . '/../../standard/tests/file/windows_links/common.inc'; + skipIfSeCreateSymbolicLinkPrivilegeIsDisabled(__FILE__); } ?> --FILE-- diff --git a/ext/standard/tests/file/bug47767.phpt b/ext/standard/tests/file/bug47767.phpt index 37db3b18fc3..a7c4f02e78f 100644 --- a/ext/standard/tests/file/bug47767.phpt +++ b/ext/standard/tests/file/bug47767.phpt @@ -7,16 +7,8 @@ Venkat Raman Don if(substr(PHP_OS, 0, 3) != 'WIN' ) { die('skip windows only test'); } -if(PHP_WINDOWS_VERSION_MAJOR < 6) { - die('skip windows version 6.0+ only test'); -} - -$fn = "bug47767.lnk"; -$ret = exec("mklink $fn " . __FILE__ .' 2>&1', $out); -@unlink($fn); -if (strpos($ret, 'privilege')) { - die('skip. SeCreateSymbolicLinkPrivilege not enable for this user.'); -} +include_once __DIR__ . '/windows_links/common.inc'; +skipIfSeCreateSymbolicLinkPrivilegeIsDisabled(__FILE__); ?> --FILE-- &1', $out); -@unlink($fn); -if (strpos($ret, 'privilege')) { - die('skip. SeCreateSymbolicLinkPrivilege not enable for this user.'); -} +include_once __DIR__ . '/windows_links/common.inc'; +skipIfSeCreateSymbolicLinkPrivilegeIsDisabled(__FILE__); ?> --FILE-- &1', $out); -if (strpos($ret, 'privilege')) { - die('skip. SeCreateSymbolicLinkPrivilege not enable for this user.'); -} -unlink('bug48746_tmp.lnk'); +skipIfSeCreateSymbolicLinkPrivilegeIsDisabled(__FILE__); ?> --FILE-- &1', $out); -if (strpos($ret, 'privilege')) { - die('skip. SeCreateSymbolicLinkPrivilege not enable for this user.'); -} -unlink('bug73962_tmp.lnk'); +skipIfSeCreateSymbolicLinkPrivilegeIsDisabled(__FILE__); ?> --FILE-- +function skipIfSeCreateSymbolicLinkPrivilegeIsDisabled(string $filename) { + $ln = "$filename.lnk"; + $ret = exec("mklink $ln " . __FILE__ .' 2>&1', $out); + @unlink($ln); + if (strpos($ret, 'privilege') !== false) { + die('skip SeCreateSymbolicLinkPrivilege not enabled'); + } +}