Commit: 96366d10ce0ba4a8397e68a63f88de6b1864f683 Author: Christoph M. Becker <cmbecke...@gmx.de> Tue, 1 Oct 2019 17:27:46 +0200 Parents: cabf457c094f6764a03e02d0e51ca786ba6cf060 Branches: master
Link: http://git.php.net/?p=pftt2.git;a=commitdiff;h=96366d10ce0ba4a8397e68a63f88de6b1864f683 Log: Fix #31: Cleanup assumes wrong Opcache base address filename The name of the base address file starts with "ZendOPcache" since OPcache has been bundled with php-src (i.e. as of PHP 5.5). Also, for CLI it is usually created in %TEMP%. Bugs: https://bugs.php.net/31 Changed paths: M src/com/mostc/pftt/host/AHost.java M src/com/mostc/pftt/scenario/OpcacheScenario.java Diff: diff --git a/src/com/mostc/pftt/host/AHost.java b/src/com/mostc/pftt/host/AHost.java index 5cb35422..a1dba246 100644 --- a/src/com/mostc/pftt/host/AHost.java +++ b/src/com/mostc/pftt/host/AHost.java @@ -298,6 +298,11 @@ public abstract class AHost extends Host implements IProgramRunner { return tmp_dir = "/tmp/"; }*/ } + + public String getSystemTempDir() { + return getEnvValue("TEMP"); + } + @Override public String getSystemDrive() { if (system_drive!=null) { diff --git a/src/com/mostc/pftt/scenario/OpcacheScenario.java b/src/com/mostc/pftt/scenario/OpcacheScenario.java index aef23170..796e62e3 100644 --- a/src/com/mostc/pftt/scenario/OpcacheScenario.java +++ b/src/com/mostc/pftt/scenario/OpcacheScenario.java @@ -318,23 +318,23 @@ public class OpcacheScenario extends CodeCacheScenario { protected void cleanupBaseAddressFile(AHost host, PhpBuild build, PhptActiveTestPack test_pack) { // IMPORTANT: delete the `base address` file that // Opcache left behind from previous test run - // - // in temp directory. name is like: ZendOptimizer+.MemoryBase@matt - // @see shared_alloc_win32.c (https://github.com/zend-dev/opcache/blob/master/shared_alloc_win32.c) + // in temp directory. name is like: ZendOPcache.MemoryBase@* + // @see shared_alloc_win32.c (https://github.com/php/php-src/blob/PHP-7.4/ext/opcache/shared_alloc_win32.c) // // for regular users, TEMP_DIR is often // for Apache (as service) TEMP_DIR is often C:\Users\NT_Authority? (different than IIS service) // for IIS (service) TEMP_DIR is often C:\Windows\Temp - host.mDeleteIfExistsElevated(host.getTempDir()+"\\ZendOptimizer+.MemoryBase@"+host.getUsername()); + host.mDeleteIfExistsElevated(host.getTempDir()+"\\ZendOPcache.MemoryBase@*"); if (test_pack!=null) { - host.mDeleteIfExistsElevated(test_pack.getRunningDirectory()+"\\ZendOptimizer+.MemoryBase@"+host.getUsername()); - host.mDeleteIfExistsElevated(test_pack.getStorageDirectory()+"\\ZendOptimizer+.MemoryBase@"+host.getUsername()); + host.mDeleteIfExistsElevated(test_pack.getRunningDirectory()+"\\ZendOPcache.MemoryBase@*"); + host.mDeleteIfExistsElevated(test_pack.getStorageDirectory()+"\\ZendOPcache.MemoryBase@*"); } - host.mDeleteIfExistsElevated(build.getBuildPath()+"\\ZendOptimizer+.MemoryBase@"+host.getUsername()); - host.mDeleteIfExistsElevated(host.getJobWorkDir()+"\\ZendOptimizer+.MemoryBase@"+host.getUsername()); - host.mDeleteIfExistsElevated(host.getPfttDir()+"\\ZendOptimizer+.MemoryBase@"+host.getUsername()); - host.mDeleteIfExistsElevated(host.getSystemRoot()+"\\ZendOptimizer+.MemoryBase@"+host.getUsername()); - host.mDeleteIfExistsElevated(host.getSystemDrive()+"\\ZendOptimizer+.MemoryBase@"+host.getUsername()); + host.mDeleteIfExistsElevated(build.getBuildPath()+"\\ZendOPcache.MemoryBase@*"); + host.mDeleteIfExistsElevated(host.getJobWorkDir()+"\\ZendOPcache.MemoryBase@*"); + host.mDeleteIfExistsElevated(host.getPfttDir()+"\\ZendOPcache.MemoryBase@*"); + host.mDeleteIfExistsElevated(host.getSystemTempDir()+"\\ZendOPcache.MemoryBase@*"); + host.mDeleteIfExistsElevated(host.getSystemRoot()+"\\ZendOPcache.MemoryBase@*"); + host.mDeleteIfExistsElevated(host.getSystemDrive()+"\\ZendOPcache.MemoryBase@*"); } @Override