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

Reply via email to