com pftt2: Fix #31: Cleanup assumes wrong Opcache base address filename: src/com/mostc/pftt/host/AHost.java src/com/mostc/pftt/scenario/OpcacheScenario.java

[email protected] (Christoph Michael Becker)
Newsgroups php.qa
Message-ID <[email protected]>
Commit:    96366d10ce0ba4a8397e68a63f88de6b1864f683
Author:    Christoph M. Becker <[email protected]>         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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.