Commit:    4e56615da676639e1fab493f51930a0180b7e28c
Author:    Matt Ficken <v-maf...@microsoft.com>         Mon, 25 Nov 2013 
10:20:13 -0800
Parents:   a87f3a7d159001b8e188c781f165e11d0f7507a2
Branches:  master

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

Log:
more fixes for str_size_and_int64 branch


Former-commit-id: 298d61894fa43b0969ca235ff5ee0354c652d57a

Changed paths:
  M  src/com/mostc/pftt/model/core/EBuildBranch.java
  M  src/com/mostc/pftt/model/core/PhpBuild.java
  M  src/com/mostc/pftt/model/core/PhpIni.java
  M  src/com/mostc/pftt/model/smoke/RequiredExtensionsSmokeTest.java
  M  src/com/mostc/pftt/scenario/HTTPScenario.java
  M  src/com/mostc/pftt/scenario/MSSQLScenario.java
  M  src/com/mostc/pftt/scenario/MySQLScenario.java
  M  src/com/mostc/pftt/util/EMailUtil.java


Diff:
diff --git a/src/com/mostc/pftt/model/core/EBuildBranch.java 
b/src/com/mostc/pftt/model/core/EBuildBranch.java
index 0eee2f5..4b65ba3 100644
--- a/src/com/mostc/pftt/model/core/EBuildBranch.java
+++ b/src/com/mostc/pftt/model/core/EBuildBranch.java
@@ -42,6 +42,10 @@ public enum EBuildBranch {
                }
        };
        
+       public static EBuildBranch getNewest() {
+               return STR_SIZE_AND_INT64;
+       }
+       
        /** flexibly matches different values, guessing which EBuildBranch it 
refers to
         * 
         * returns null if no match
diff --git a/src/com/mostc/pftt/model/core/PhpBuild.java 
b/src/com/mostc/pftt/model/core/PhpBuild.java
index ca1e0ac..f44f7bd 100644
--- a/src/com/mostc/pftt/model/core/PhpBuild.java
+++ b/src/com/mostc/pftt/model/core/PhpBuild.java
@@ -499,12 +499,33 @@ public class PhpBuild extends SAPIManager {
        
        public String getVersionRevision(ConsoleManager cm, Host host) throws 
Exception {
                getVersionString(cm, host);
+               if (branch==null) {
+                       // work around builds that don't provide specific 
version info
+                       // some builds may just say `5.7.0-dev` and not give a 
revision number
+                       //
+                       // instead try to get it from the build path
+                       String a = Host.basename(build_path);
+                       if (a.contains("-r")) {
+                               int i = a.indexOf("-r");
+                               if (i!=-1) {
+                                       i++;
+                                       int j = a.indexOf("-", i+1);
+                                       if (j!=-1) {
+                                               return a.substring(i, j);
+                                       } else {
+                                               return a.substring(i);
+                                       }
+                               }
+                       }
+               }
                return revision;
        }
        
        public EBuildBranch getVersionBranch(ConsoleManager cm, Host host) 
throws Exception {
                getVersionString(cm, host);
-               return branch;
+               // work around builds that don't provide specific version info
+               // some builds may just say `5.7.0-dev` and not give a revision 
number
+               return branch==null?EBuildBranch.getNewest():branch;
        }
        
        public boolean is53(ConsoleManager cm, Host host) {
diff --git a/src/com/mostc/pftt/model/core/PhpIni.java 
b/src/com/mostc/pftt/model/core/PhpIni.java
index a906784..91c5c0a 100644
--- a/src/com/mostc/pftt/model/core/PhpIni.java
+++ b/src/com/mostc/pftt/model/core/PhpIni.java
@@ -211,16 +211,17 @@ public class PhpIni {
        public void addExtension(Host host, PhpBuild build, String dll_name) {
                if (!_hasExtension(host, build, dll_name))
                        dll_name = dllName(dll_name);
-               addExtension(dll_name);
+               if (_hasExtension(host, build, dll_name))
+                       addExtension(dll_name);
        }
        
        public void addExtension(String dll_name) {
                putMulti(EXTENSION, dll_name);
        }
        
-       public void addExtensions(String...dll_names) {
+       public void addExtensions(Host host, PhpBuild build, 
String...dll_names) {
                for (String dll_name:dll_names)
-                       addExtension(dll_name);
+                       addExtension(host, build, dll_name);
        }
        
        /** replaces all directives in this PhpIni that match the given PhpIni 
with the values from 
diff --git a/src/com/mostc/pftt/model/smoke/RequiredExtensionsSmokeTest.java 
b/src/com/mostc/pftt/model/smoke/RequiredExtensionsSmokeTest.java
index f1482a8..765ccb0 100644
--- a/src/com/mostc/pftt/model/smoke/RequiredExtensionsSmokeTest.java
+++ b/src/com/mostc/pftt/model/smoke/RequiredExtensionsSmokeTest.java
@@ -4,6 +4,7 @@ import com.github.mattficken.io.StringUtil;
 import com.mostc.pftt.host.AHost;
 import com.mostc.pftt.host.Host;
 import com.mostc.pftt.model.app.PhpUnitTestCase;
+import com.mostc.pftt.model.core.EBuildBranch;
 import com.mostc.pftt.model.core.ESAPIType;
 import com.mostc.pftt.model.core.PhpBuild;
 import com.mostc.pftt.model.core.PhpIni;
@@ -188,13 +189,21 @@ public class RequiredExtensionsSmokeTest extends 
SmokeTest {
                // default php.ini has these extensions on Windows
                // NOTE: this is validated by RequiredExtensionsSmokeTest. 
similar/same info is both there and here
                //       b/c that needs it for validation and its here because 
its in the default php.ini
-               if (host.isWindows()) {
+               boolean b = true;
+               try {
+                       b = build.getBuildInfo(cm, 
(AHost)host).getBuildBranch()!=EBuildBranch.STR_SIZE_AND_INT64;
+               } catch ( Exception ex ) {
+                       
+               }
+               if (host.isWindows() && b) {
                        ini.setExtensionDir(build.getDefaultExtensionDir());
                        ini.addExtensions(
+                                       host,
+                                       build,
                                        PhpIni.EXT_BZ2,
                                        PhpIni.EXT_COM_DOTNET,
                                        PhpIni.EXT_CURL,
-                                       PhpIni.EXT_ENCHANT, // TODO test
+                                       PhpIni.EXT_ENCHANT,
                                        PhpIni.EXT_FILEINFO,
                                        PhpIni.EXT_GD2,
                                        PhpIni.EXT_GETTEXT,
diff --git a/src/com/mostc/pftt/scenario/HTTPScenario.java 
b/src/com/mostc/pftt/scenario/HTTPScenario.java
index b8d3de7..bfe413d 100644
--- a/src/com/mostc/pftt/scenario/HTTPScenario.java
+++ b/src/com/mostc/pftt/scenario/HTTPScenario.java
@@ -50,7 +50,7 @@ public class HTTPScenario extends StreamsScenario {
 
                @Override
                public void prepareINI(ConsoleManager cm, AHost host, PhpBuild 
build, ScenarioSet scenario_set, PhpIni ini) {
-                       ini.addExtension(PhpIni.EXT_CURL);
+                       ini.addExtension(host, build, PhpIni.EXT_CURL);
                }
 
                @Override
diff --git a/src/com/mostc/pftt/scenario/MSSQLScenario.java 
b/src/com/mostc/pftt/scenario/MSSQLScenario.java
index 4a76595..9e8933a 100644
--- a/src/com/mostc/pftt/scenario/MSSQLScenario.java
+++ b/src/com/mostc/pftt/scenario/MSSQLScenario.java
@@ -164,8 +164,8 @@ public class MSSQLScenario extends DatabaseScenario {
 
                @Override
                public void prepareINI(ConsoleManager cm, AHost host, PhpBuild 
build, ScenarioSet scenario_set, PhpIni ini) {
-                       ini.addExtension("php_sqlsrv.dll");
-                       ini.addExtension("php_pdo_sqlsrv.dll");
+                       ini.addExtension(host, build, "php_sqlsrv.dll");
+                       ini.addExtension(host, build, "php_pdo_sqlsrv.dll");
                }
 
                @Override
diff --git a/src/com/mostc/pftt/scenario/MySQLScenario.java 
b/src/com/mostc/pftt/scenario/MySQLScenario.java
index 3157f01..f768f58 100644
--- a/src/com/mostc/pftt/scenario/MySQLScenario.java
+++ b/src/com/mostc/pftt/scenario/MySQLScenario.java
@@ -100,9 +100,9 @@ public class MySQLScenario extends DatabaseScenario {
 
                @Override
                public void prepareINI(ConsoleManager cm, AHost host, PhpBuild 
build, ScenarioSet scenario_set, PhpIni ini) {
-                       ini.addExtension(PhpIni.EXT_MYSQLI);
-                       ini.addExtension(PhpIni.EXT_MYSQL);
-                       ini.addExtension(PhpIni.EXT_PDO_MYSQL);
+                       ini.addExtension(host, build, PhpIni.EXT_MYSQLI);
+                       ini.addExtension(host, build, PhpIni.EXT_MYSQL);
+                       ini.addExtension(host, build, PhpIni.EXT_PDO_MYSQL);
                }
                
                /** environment variables for running PHPT or PhpUnit tests
diff --git a/src/com/mostc/pftt/util/EMailUtil.java 
b/src/com/mostc/pftt/util/EMailUtil.java
index 1732e91..6ba65d7 100644
--- a/src/com/mostc/pftt/util/EMailUtil.java
+++ b/src/com/mostc/pftt/util/EMailUtil.java
@@ -157,6 +157,8 @@ public final class EMailUtil {
 
                        if (use_ssl==ESMTPSSL.IMPLICIT_SSL) {
                                smtp.startTLS();
+                               // send HELO after STARTTLS see RFC3207 Section 
4.2
+                               smtp.helo(InetAddress.getLocalHost());
                        }
                }

Reply via email to