[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-qa
Subject:    [PHP-QA] com pftt2: fixing ScenarioSet isSupported bug: src/com/mostc/pftt/scenario/Scenario.java
From:       Matt Ficken <mattficken () php ! net>
Date:       2013-10-19 0:30:30
Message-ID: php-mail-00dc31fa9a6b4ce418a3ffd8caac038b371565521 () git ! php ! net
[Download RAW message or body]

Commit:    ff9589c739c5d5f0df251f6e871a298a2a522e85
Author:    Matt Ficken <v-mafick@microsoft.com>         Fri, 18 Oct 2013 17:30:30 \
                -0700
Parents:   ddd3a6bb592c5119bab3511cfd5217b233ce966c
Branches:  master

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


Log:
fixing ScenarioSet isSupported bug

bug if loading application scenarios and not loading mysql scenario and
running PHPT tests - #isSupported returns false for PHPT tests (caused
by ZipDbApplication)

Changed paths:
  M  src/com/mostc/pftt/scenario/Scenario.java
  M  src/com/mostc/pftt/scenario/ScenarioSet.java
  M  src/com/mostc/pftt/scenario/app/ZipDbApplication.java


Diff:
diff --git a/src/com/mostc/pftt/scenario/Scenario.java \
b/src/com/mostc/pftt/scenario/Scenario.java index 62997a0..60c0ca2 100644
--- a/src/com/mostc/pftt/scenario/Scenario.java
+++ b/src/com/mostc/pftt/scenario/Scenario.java
@@ -51,7 +51,7 @@ public abstract class Scenario {
 		return getClass();
 	}
 	
-	/** Provide directories and files containing debugging symbols to Symbolic \
Debugger. +	/** Provide DIRECTORIES containing debugging symbols to Symbolic \
                Debugger.
 	 * 
 	 * Ex: this is used to provide Apache debug symbols to WinDebug(on Windows).
 	 * 
@@ -155,13 +155,18 @@ public abstract class Scenario {
 	 * @param host
 	 * @param build
 	 * @param scenario_set
+	 * @param layer TODO
 	 * @return
 	 */
 	@Overridable
-	public boolean isSupported(ConsoleManager cm, Host host, PhpBuild build, \
ScenarioSet scenario_set) { +	public boolean isSupported(ConsoleManager cm, Host \
host, PhpBuild build, ScenarioSet scenario_set, EScenarioSetPermutationLayer layer) { \
return true;  }
 	
+	public final boolean isSupported(ConsoleManager cm, Host host, PhpBuild build, \
ScenarioSet scenario_set) { +		return isSupported(cm, host, build, scenario_set, \
null); +	}
+	
 	@Override
 	public String toString() {
 		return getName();
diff --git a/src/com/mostc/pftt/scenario/ScenarioSet.java \
b/src/com/mostc/pftt/scenario/ScenarioSet.java index 80dba2f..83a6f3c 100644
--- a/src/com/mostc/pftt/scenario/ScenarioSet.java
+++ b/src/com/mostc/pftt/scenario/ScenarioSet.java
@@ -11,6 +11,7 @@ import java.util.List;
 import com.mostc.pftt.host.Host;
 import com.mostc.pftt.model.core.PhpBuild;
 import com.mostc.pftt.results.ConsoleManager;
+import com.mostc.pftt.results.EPrintType;
 
 /** A Set of Scenarios to test PHP under.
  * 
@@ -191,16 +192,25 @@ public class ScenarioSet extends ArrayList<Scenario> {
 	 * @param cm
 	 * @param host
 	 * @param build
+	 * @param layer
 	 * @return
 	 */
-	public boolean isSupported(ConsoleManager cm, Host host, PhpBuild build) {
+	public boolean isSupported(ConsoleManager cm, Host host, PhpBuild build, \
EScenarioSetPermutationLayer layer) {  for (Scenario s :this) {
-			if (!s.isSupported(cm, host, build, this))
+			if (!s.isSupported(cm, host, build, this, layer)) {
+				if (cm!=null) {
+					cm.println(EPrintType.CLUE, getClass(), "Not Supported");
+				}
 				return false;
+			}
 		}
 		return true;
 	}
 	
+	public final boolean isSupported(ConsoleManager cm, Host host, PhpBuild build) {
+		return isSupported(cm, host, build, null);
+	}
+	
 	@Override
 	public ScenarioSet clone() {
 		return (ScenarioSet) super.clone();
@@ -284,7 +294,7 @@ public class ScenarioSet extends ArrayList<Scenario> {
 		ScenarioSet ss;
 		while (ss_it.hasNext()) {
 			ss = ss_it.next();
-			if (!ss.isSupported(cm, host, build))
+			if (!ss.isSupported(cm, host, build, layer))
 				ss_it.remove();
 		}
 		return scenario_sets;
diff --git a/src/com/mostc/pftt/scenario/app/ZipDbApplication.java \
b/src/com/mostc/pftt/scenario/app/ZipDbApplication.java index 4e20dfa..813afb2 100644
--- a/src/com/mostc/pftt/scenario/app/ZipDbApplication.java
+++ b/src/com/mostc/pftt/scenario/app/ZipDbApplication.java
@@ -13,8 +13,17 @@ import com.mostc.pftt.scenario.ScenarioSet;
 public abstract class ZipDbApplication extends ZipApplication {
 	
 	@Override
-	public boolean isSupported(ConsoleManager cm, Host host, PhpBuild build, \
                ScenarioSet scenario_set) {
-		return null != scenario_set.getScenario(MySQLScenario.class); 
+	public boolean isSupported(ConsoleManager cm, Host host, PhpBuild build, \
ScenarioSet scenario_set, EScenarioSetPermutationLayer layer) { +		if \
(layer==EScenarioSetPermutationLayer.FUNCTIONAL_TEST_CORE) +			// for using \
`core_all,app_all` commands together (fe `caaa`) +			return true;
+		if (!scenario_set.contains(MySQLScenario.class)) {
+			if (cm!=null) {
+				cm.println(EPrintType.CLUE, getClass(), "Requires MySQL Scenario. Try adding \
`local_mysql` to your -config."); +			}
+			return false;
+		}
+		return true;
 	}
 	
 	protected MySQLScenario requireMySQLScenario(ConsoleManager cm, ScenarioSet \
scenario_set) {


--
PHP Quality Assurance Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic