com pftt2: more fixes for str_size_and_int64 branch : src/com/mostc/pftt/model/core/EBuildBranch.java src/c om/mostc/pftt/model/core/PhpBuild.java
src/com/mostc/pftt/m odel/core/PhpIni.java src/com/mostc/pftt/model/smoke/Requir edExtensionsSmokeTest.java src/com/mostc/pftt/scenario/HTTP
Scenario.java src/com/mostc/pftt/scenario/MSSQLScenario.j ava src/com/mostc/pftt/scenario/MySQLScenario.java src/co m/mostc/pftt/util/EMailUtil.java
| From: | Anatol Belski | Date: | Mon, 25 Nov 2013 18:20:13 +0000 |
| Subject: | com pftt2: more fixes for str_size_and_int64 branch : src/com/mostc/pftt/model/core/EBuildBranch.java src/c om/mostc/pftt/model/core/PhpBuild.java src/com/mostc/pftt/m odel/core/PhpIni.java src/com/mostc/pftt/model/smoke/Requir edExtensionsSmokeTest.java src/com/mostc/pftt/scenario/HTTP Scenario.java src/com/mostc/pftt/scenario/MSSQLScenario.j ava src/com/mostc/pftt/scenario/MySQLScenario.java src/co m/mostc/pftt/util/EMailUtil.java |
||
| Groups: | php.qa | ||
| Request: | Send a blank email to php-qa+get-68328@lists.php.net to get a copy of this message | ||
Commit: 4e56615da676639e1fab493f51930a0180b7e28c
Author: Matt Ficken <v-mafick@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());
}
}