com pftt2: Updated to check for fileinfo extension: .gitignore src/com/mostc/pftt/util/HostEnvUtil.java

[email protected] (Christoph Michael Becker)
Newsgroups php.qa
Message-ID <[email protected]>
Commit:    b54b82fd6a2283f1059d171812c31465343871cd
Author:    Allen Truong <[email protected]>         Thu, 16 Jan 2020 14:23:13 -0800
Committer: Christoph M. Becker <[email protected]>      Fri, 17 Jan 2020 14:40:18 +0100
Parents:   246613fa84f9adc3015b82dede5e100e112bfdf6
Branches:  master

Link:       http://git.php.net/?p=pftt2.git;a=commitdiff;h=b54b82fd6a2283f1059d171812c31465343871cd

Log:
Updated to check for fileinfo extension

Changed paths:
  M  .gitignore
  M  src/com/mostc/pftt/util/HostEnvUtil.java


Diff:
diff --git a/.gitignore b/.gitignore
index 60253470..8c548172 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ job_work*/*
 .metadata/*
 pftt_release.zip
 /build/
+cache/PHPUnit/*
\ No newline at end of file
diff --git a/src/com/mostc/pftt/util/HostEnvUtil.java b/src/com/mostc/pftt/util/HostEnvUtil.java
index ff727bba..c8c11217 100644
--- a/src/com/mostc/pftt/util/HostEnvUtil.java
+++ b/src/com/mostc/pftt/util/HostEnvUtil.java
@@ -99,6 +99,7 @@ public final class HostEnvUtil {
 	static final String Phar_PHPUnit_5 = Dir_Cache_PHPUnit + "\\phpunit-5.7.27.phar";
 	static final String Dir_PHPUnit_5 = Dir_Cache_PHPUnit + "\\phpunit-5.7.27";
 	static final String Phar_PHPAB = Dir_Cache_PHPUnit + "\\phpab.phar";
+	static final String Autoload_File = Dir_PHPUnit_5 + "\\autoload.php";
 	
 	static final String Dir_WinSxS = "\\WinSxS";
 	static final String WinSxS_VC9_Fragment = "VC9";
@@ -714,18 +715,32 @@ public final class HostEnvUtil {
 			cm.println(EPrintType.SKIP_OPERATION, HostEnvUtil.class, "PHPUnit 5 already exists. ");
 		}
 		
-		if(!fs.exists(Phar_PHPAB)) {
-			cm.println(EPrintType.IN_PROGRESS, HostEnvUtil.class, "Downloading phpab.phar...");
-			
-			// Download phpab.phar file (used to create autoload file)
-			String downloadCmd = "powershell " + host.getPfttBinDir() + "\\download_files.ps1 " + Link_PHPAB + " " + Dir_Cache_PHPUnit + " phpab.phar";
-			host.execOut(downloadCmd, AHost.TEN_MINUTES);
-			cm.println(EPrintType.IN_PROGRESS, HostEnvUtil.class, "Completed download of phpab.phar.");
+		// Check if an autoload file already exists, if not create it
+		if(!fs.exists(Autoload_File)) {
+			// Check if phpab.phar exists (needed to create autoload.php)
+			if(!fs.exists(Phar_PHPAB)) {
+				cm.println(EPrintType.IN_PROGRESS, HostEnvUtil.class, "Downloading phpab.phar...");
+				
+				String downloadCmd = "powershell " + host.getPfttBinDir() + "\\download_files.ps1 " + Link_PHPAB + " " + Dir_Cache_PHPUnit + " phpab.phar";
+				host.execOut(downloadCmd, AHost.TEN_MINUTES);
+				cm.println(EPrintType.IN_PROGRESS, HostEnvUtil.class, "Completed download of phpab.phar.");
+			} else {
+				cm.println(EPrintType.SKIP_OPERATION, HostEnvUtil.class, "phpab.phar already exists.");
+			}
 			
 			cm.println(EPrintType.IN_PROGRESS, HostEnvUtil.class, "Creating autoload.php for PHPUnit.");
 			String cmd = build + "\\php.exe " + Phar_PHPAB + " -o " + Dir_PHPUnit_5 +"\\autoload.php -b " + Dir_PHPUnit_5 + " " + Dir_PHPUnit_5;
-			host.execOut(cmd, AHost.TEN_MINUTES);
+			ExecOutput op = host.execOut(cmd, AHost.TEN_MINUTES);
+			
+			// phpab.phar needs fileinfo extension, if not autoload file will not be created
+			// and tests will not be ran.
+			if(op.output.contains("fileinfo not installed")) {
+				cm.println(EPrintType.CANT_CONTINUE, HostEnvUtil.class, "ext/fileinfo not installed/enabled. Please adjust your PHP configuration then try again.");
+				System.exit(-1);
+			}
 			cm.println(EPrintType.IN_PROGRESS, HostEnvUtil.class, "Created autoload.php.");
+		} else {
+			cm.println(EPrintType.SKIP_OPERATION, HostEnvUtil.class, "autoload.php already exists.");
 		}
 	}
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.