Commit: 00443ccd7d12429eb88f2d76531105bcde7dc578 Author: Matt Ficken <v-maf...@microsoft.com> Fri, 18 Oct 2013 17:30:30 -0700 Parents: 9696ac26c694c0061677535fe56ee5ad41c769a4 Branches: master
Link: http://git.php.net/?p=pftt2.git;a=commitdiff;h=00443ccd7d12429eb88f2d76531105bcde7dc578 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) Former-commit-id: ff9589c739c5d5f0df251f6e871a298a2a522e85 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) {