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()); } }