From d1733452554562b8087763ad906e41462810be4c Mon Sep 17 00:00:00 2001 From: Ian Moore Date: Fri, 1 Sep 2017 22:27:03 +0100 Subject: [PATCH 1/2] added an index to the scenario and outline filenames in the results to fix #49 and #53 --- README.md | 2 + .../com/technophobia/substeps/model/Step.java | 12 +- .../report/ExecutionResultsCollector.scala | 23 +++- core/src/test/resources/annotated.conf | 105 ++++++++++++++++ ...basic_scenario_outline_one_0_results.json} | 8 +- .../rj48RnVRgh} | 0 ...sic_scenario_outline_three_2_results.json} | 110 +++++++++-------- ...basic_scenario_outline_two_1_results.json} | 14 +-- .../outline_feature_file.feature.results.json | 8 +- .../sample-results-data/1/results.json | 4 +- .../K0iYi8Nhkk} | 0 ...> A_basic_failing_scenario_1_results.json} | 112 +++++++++--------- ...> A_basic_passing_scenario_0_results.json} | 16 +-- .../simple_feature_file.feature.results.json | 6 +- .../sample-results-data/masterConfig.conf | 23 +--- .../substeps/report/ReportBuilderTest.scala | 30 +++-- .../runner/ParsingFromSourceTests.scala | 2 +- 17 files changed, 292 insertions(+), 183 deletions(-) create mode 100644 core/src/test/resources/annotated.conf rename core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/{a_basic_scenario_outline_one_results.json => a_basic_scenario_outline_one_0_results.json} (88%) rename core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/{a_basic_scenario_outline_three/h3MSAKvWOd => a_basic_scenario_outline_three_2/rj48RnVRgh} (100%) rename core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/{a_basic_scenario_outline_three_results.json => a_basic_scenario_outline_three_2_results.json} (74%) rename core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/{a_basic_scenario_outline_two_results.json => a_basic_scenario_outline_two_1_results.json} (86%) rename core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/{A_basic_failing_scenario/rbkYQ3sYTG => A_basic_failing_scenario_1/K0iYi8Nhkk} (100%) rename core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/{A_basic_failing_scenario_results.json => A_basic_failing_scenario_1_results.json} (79%) rename core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/{A_basic_passing_scenario_results.json => A_basic_passing_scenario_0_results.json} (84%) diff --git a/README.md b/README.md index f7fe9cbb..39b37a7a 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,8 @@ Requirements * Moved substeps config to a single org.substeps hierarchy, existing overrides will still be used, but config should be updated * Moved maven pom configuration to config files (multiple). Maven plugin will print out the new config from existing pom settings, see [1.1.0 Upgrade notes](1.1.0 Upgrade.md) for further details * Added an exclusion filter to the config for the glossary builder under `org.substeps.config.glossary.excludeStepImplementationClassNames` +* Scenario and Outline results files appended with their offset to enable outlines that don't include a dynamic name parameter or duplicate named scenarios. Issue #49 and #53 +* Added an annotated config file for reference 1.0.6 ----- diff --git a/core/src/main/java/com/technophobia/substeps/model/Step.java b/core/src/main/java/com/technophobia/substeps/model/Step.java index ed1e59f6..0a2c819c 100755 --- a/core/src/main/java/com/technophobia/substeps/model/Step.java +++ b/core/src/main/java/com/technophobia/substeps/model/Step.java @@ -120,9 +120,9 @@ public Step(final String theLine, final boolean isSubstep, final File source, fi // TODO no need to to do if no parameter to the annotation..? - log.debug("Step ctor() for line: " + this.line + " isSubstep: " + isSubstep); + log.trace("Step ctor() for line: " + this.line + " isSubstep: " + isSubstep); if (this.isSubstep) { - log.debug("calling setParamAndParamNames"); + log.trace("calling setParamAndParamNames"); setParamAndParamNames(); } @@ -163,24 +163,24 @@ private void setParamAndParamNames() { this.paramNames = new ArrayList(); } final String s = matcher.group(2); - log.debug("adding " + s + " as a paramname"); + log.trace("adding " + s + " as a paramname"); this.paramNames.add(s); findIdx = matcher.end(2); } // replace the params with a reg ex, a quoted and non quoted variant - log.debug("line pre replace: " + line + "\npattern: " + pattern); + log.trace("line pre replace:[" + line + "] pattern: " + pattern); this.pattern = this.line.replaceAll("(<[^>]*>)", "\"?([^\"]*)\"?"); - log.debug("line post replace: " + line + "\npattern: " + pattern); + log.trace("line post replace: [" + line + "] pattern: " + pattern); } public String toDebugString() { if (this.keyword == null) { - this.log.debug("annot of step is null: " + this.getClass().getSimpleName()); + this.log.trace("annot of step is null: " + this.getClass().getSimpleName()); } return " [" + this.line + "]"; diff --git a/core/src/main/scala/org/substeps/report/ExecutionResultsCollector.scala b/core/src/main/scala/org/substeps/report/ExecutionResultsCollector.scala index ead4162e..87b47701 100644 --- a/core/src/main/scala/org/substeps/report/ExecutionResultsCollector.scala +++ b/core/src/main/scala/org/substeps/report/ExecutionResultsCollector.scala @@ -102,9 +102,11 @@ class ExecutionResultsCollector extends IExecutionResultsCollector { } case Some(dir) => { + val name: String = getScenarioName(node, scenarioNode) + // write out a results file for this scenario - val resultsFile = new File(dir, scenarioNode.getScenarioName.replaceAllLiterally(" ", "_") + "_results.json") - val screenshotsDir = new File(dir, scenarioNode.getScenarioName.replaceAllLiterally(" ", "_")) + val resultsFile = new File(dir, name + "_results.json") + val screenshotsDir = new File(dir, name) scenarioSummaryMap += scenarioNode.getId -> (scenarioNode, resultsFile) @@ -174,10 +176,12 @@ class ExecutionResultsCollector extends IExecutionResultsCollector { } case Some(dir) => { + val name: String = getScenarioName(node, scenarioNode) + // write out a results file for this scenario - val resultsFile = new File(dir, scenarioNode.getScenarioName.replaceAllLiterally(" ", "_") + "_results.json") + val resultsFile = new File(dir, name + "_results.json") - val screenshotsDir = new File(dir, scenarioNode.getScenarioName.replaceAllLiterally(" ", "_")) + val screenshotsDir = new File(dir, name) scenarioSummaryMap += scenarioNode.getId -> (scenarioNode, resultsFile) @@ -218,6 +222,17 @@ class ExecutionResultsCollector extends IExecutionResultsCollector { } + private def getScenarioName(node: IExecutionNode, scenarioNode: BasicScenarioNode) = { + val idx = + node.getParent match { + case row: OutlineScenarioRowNode => row.getParent.asInstanceOf[OutlineScenarioNode].getChildren.indexOf(row) + case featureNode : FeatureNode => featureNode.getChildren.indexOf(node) + case _ => 0 + } + val name = scenarioNode.getScenarioName.replaceAllLiterally(" ", "_") + "_" + idx + name + } + def onNodeIgnored(node: IExecutionNode): Unit = { log.debug("ExecutionResultsCollector nodeIgnored: " + node.getId) diff --git a/core/src/test/resources/annotated.conf b/core/src/test/resources/annotated.conf new file mode 100644 index 00000000..fbcdd2d1 --- /dev/null +++ b/core/src/test/resources/annotated.conf @@ -0,0 +1,105 @@ + +org { + substeps { + config { + current { + branchname="" // automatically populated by JGit, if using git + projectversion="" // automatically populated via maven + } + + description="Substeps test suite" // name of the whole test suite + + executionResultsCollector="org.substeps.report.ExecutionResultsCollector" + // class responsible for collecting execution result data + + jmxPort=9999 // JMX port used when Substeps run in forked mode + + log { + unused { + uncalled=false // when set to true, uncalled and unsued steps and step impls are logged + // can lead to spurious results if running a set of tags or specific scenarios + } + } + parameter { + substitution { + enabled=true // allows ${} syntax in steps and scenarios + start="${" // token delimiters used for the expression + end="}" + + normalizeValue=false // if true then values located will be converted from one charset to another + // useful when the config files contains accented characters pasted in + + normalize { + from=ISO-8859-1 // the from charset + to=UTF-8 // converted to.. + } + } + } + + report { + data { + base { + dir=target // legacy value to specify root location of report + } + pretty { + print=false // pretty print report json + } + } + rootNodeDescriptionProvider="org.substeps.report.DefaultDescriptionProvider" + // class to describe the root level node in the report + } + + reportBuilder="org.substeps.report.ReportBuilder" + // class that builds the report + + reportDir="target/substeps_report" + // directory in which to build the report + + rootDataDir="src/test/resources/sample-results-data" + // directory in which to write results into, and for the report builder to pick up from + + + runTestsInForkedVM=false // run the substeps in a forked VM ? + + step { + depth { + description=6 // beyond 6 deep, the Junit runner won't render a description + } + } + } + + + + baseExecutionConfig { + // all execution configs (below) inherit this config + + executionListeners=[ + // set of listeners that receive test started / passed / failed events + "com.technophobia.substeps.runner.logger.StepExecutionLogger" + ] + fastFailParseErrors=true + // if true, parse failures of all scenarios and substeps result in immediate termination. + // During development it may be beneficial to relax this. Parse errors found during execution are + // still treated as an error + } + + + + + executionConfigs=[ + // an array of execution configs, each one will be executed sequentially + + { + dataOutputDir="1" + description="Substeps test execution description" + fastFailParseErrors=true + featureFile=null + stepImplementationClassNames=[ + "org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3" + ] + substepsFile=null + tags=null + } + ] + } +} diff --git a/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_one_results.json b/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_one_0_results.json similarity index 88% rename from core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_one_results.json rename to core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_one_0_results.json index e1416e36..55c7c342 100644 --- a/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_one_results.json +++ b/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_one_0_results.json @@ -4,7 +4,7 @@ "lineNumber":0, "result":"PASSED", "id":56, - "executionDurationMillis":0, + "executionDurationMillis":1, "description":"a basic scenario outline one", "children":[ { @@ -15,7 +15,7 @@ "id":52, "executionDurationMillis":0, "description":"PassingStepImpl", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.passingStepImpl()", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.passingStepImpl()", "children":[ ], @@ -38,7 +38,7 @@ "id":53, "executionDurationMillis":0, "description":"AnotherPassingStepImpl", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.anotherPassingStepImpl()", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.anotherPassingStepImpl()", "children":[ ], @@ -55,7 +55,7 @@ "id":55, "executionDurationMillis":0, "description":"PassingStepImpl with param 1", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.passingStepImplWithParam(java.lang.String)", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.passingStepImplWithParam(java.lang.String)", "children":[ ], diff --git a/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_three/h3MSAKvWOd b/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_three_2/rj48RnVRgh similarity index 100% rename from core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_three/h3MSAKvWOd rename to core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_three_2/rj48RnVRgh diff --git a/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_three_results.json b/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_three_2_results.json similarity index 74% rename from core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_three_results.json rename to core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_three_2_results.json index 9053fbd8..c53ba781 100644 --- a/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_three_results.json +++ b/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_three_2_results.json @@ -4,7 +4,7 @@ "lineNumber":0, "result":"CHILD_FAILED", "id":68, - "executionDurationMillis":5, + "executionDurationMillis":1, "description":"a basic scenario outline three", "children":[ { @@ -13,9 +13,9 @@ "lineNumber":7, "result":"PASSED", "id":64, - "executionDurationMillis":1, + "executionDurationMillis":0, "description":"PassingStepImpl", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.passingStepImpl()", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.passingStepImpl()", "children":[ ], @@ -27,7 +27,7 @@ "lineNumber":2, "result":"PASSED", "id":66, - "executionDurationMillis":0, + "executionDurationMillis":1, "description":"PassingSubstepDef", "children":[ { @@ -38,7 +38,7 @@ "id":65, "executionDurationMillis":0, "description":"AnotherPassingStepImpl", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.anotherPassingStepImpl()", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.anotherPassingStepImpl()", "children":[ ], @@ -53,22 +53,22 @@ "lineNumber":9, "result":"FAILED", "id":67, - "executionDurationMillis":4, + "executionDurationMillis":0, "description":"PassingStepImpl with fail", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.passingStepImplWithParam(java.lang.String)", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.passingStepImplWithParam(java.lang.String)", "children":[ ], "exceptionMessage":"something went wrong", "stackTrace":[ - "org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.passingStepImplWithParam(ParsingFromSourceTests.scala:607)", + "org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.passingStepImplWithParam(ParsingFromSourceTests.scala:609)", "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)", "sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)", "sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "java.lang.reflect.Method.invoke(Method.java:497)", "com.technophobia.substeps.execution.ImplementationCache.executeMethod(ImplementationCache.java:160)", - "com.technophobia.substeps.runner.node.StepImplementationNodeRunner.execute(StepImplementationNodeRunner.java:81)", - "com.technophobia.substeps.runner.node.StepImplementationNodeRunner.execute(StepImplementationNodeRunner.java:41)", + "com.technophobia.substeps.runner.node.StepImplementationNodeRunner.execute(StepImplementationNodeRunner.java:74)", + "com.technophobia.substeps.runner.node.StepImplementationNodeRunner.execute(StepImplementationNodeRunner.java:34)", "com.technophobia.substeps.runner.node.AbstractNodeRunner.run(AbstractNodeRunner.java:48)", "com.technophobia.substeps.runner.node.BasicScenarioNodeRunner.visit(BasicScenarioNodeRunner.java:65)", "com.technophobia.substeps.runner.node.BasicScenarioNodeRunner.visit(BasicScenarioNodeRunner.java:28)", @@ -88,64 +88,62 @@ "com.technophobia.substeps.runner.node.FeatureNodeRunner.execute(FeatureNodeRunner.java:45)", "com.technophobia.substeps.runner.node.FeatureNodeRunner.execute(FeatureNodeRunner.java:26)", "com.technophobia.substeps.runner.node.AbstractNodeRunner.run(AbstractNodeRunner.java:48)", - "com.technophobia.substeps.runner.node.RootNodeRunner.execute(RootNodeRunner.java:47)", - "com.technophobia.substeps.runner.node.RootNodeRunner.execute(RootNodeRunner.java:33)", + "com.technophobia.substeps.runner.node.RootNodeRunner.execute(RootNodeRunner.java:45)", + "com.technophobia.substeps.runner.node.RootNodeRunner.execute(RootNodeRunner.java:31)", "com.technophobia.substeps.runner.node.AbstractNodeRunner.run(AbstractNodeRunner.java:48)", - "com.technophobia.substeps.runner.ExecutionNodeRunner.run(ExecutionNodeRunner.java:394)", - "org.substeps.runner.ParsingFromSourceTests$$anonfun$5.apply$mcV$sp(ParsingFromSourceTests.scala:689)", - "org.substeps.runner.ParsingFromSourceTests$$anonfun$5.apply(ParsingFromSourceTests.scala:537)", - "org.substeps.runner.ParsingFromSourceTests$$anonfun$5.apply(ParsingFromSourceTests.scala:537)", - "org.scalatest.Transformer$$anonfun$apply$1.apply$mcV$sp(Transformer.scala:22)", + "com.technophobia.substeps.runner.ExecutionNodeRunner.run(ExecutionNodeRunner.java:347)", + "org.substeps.runner.ParsingFromSourceTests$$anonfun$11.apply(ParsingFromSourceTests.scala:693)", + "org.substeps.runner.ParsingFromSourceTests$$anonfun$11.apply(ParsingFromSourceTests.scala:539)", "org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)", "org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)", "org.scalatest.Transformer.apply(Transformer.scala:22)", "org.scalatest.Transformer.apply(Transformer.scala:20)", - "org.scalatest.FlatSpecLike$$anon$1.apply(FlatSpecLike.scala:1647)", - "org.scalatest.Suite$class.withFixture(Suite.scala:1122)", - "org.scalatest.FlatSpec.withFixture(FlatSpec.scala:1683)", - "org.scalatest.FlatSpecLike$class.invokeWithFixture$1(FlatSpecLike.scala:1644)", - "org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1656)", - "org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1656)", - "org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)", - "org.scalatest.FlatSpecLike$class.runTest(FlatSpecLike.scala:1656)", - "org.scalatest.FlatSpec.runTest(FlatSpec.scala:1683)", - "org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1714)", - "org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1714)", - "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:413)", - "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:401)", + "org.scalatest.FlatSpecLike$$anon$1.apply(FlatSpecLike.scala:1682)", + "org.scalatest.TestSuite$class.withFixture(TestSuite.scala:196)", + "org.scalatest.FlatSpec.withFixture(FlatSpec.scala:1685)", + "org.scalatest.FlatSpecLike$class.invokeWithFixture$1(FlatSpecLike.scala:1679)", + "org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1692)", + "org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1692)", + "org.scalatest.SuperEngine.runTestImpl(Engine.scala:289)", + "org.scalatest.FlatSpecLike$class.runTest(FlatSpecLike.scala:1692)", + "org.scalatest.FlatSpec.runTest(FlatSpec.scala:1685)", + "org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1750)", + "org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1750)", + "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:396)", + "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384)", "scala.collection.immutable.List.foreach(List.scala:381)", - "org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401)", - "org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:390)", - "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:427)", - "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:401)", + "org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)", + "org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:373)", + "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:410)", + "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384)", "scala.collection.immutable.List.foreach(List.scala:381)", - "org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401)", - "org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:396)", - "org.scalatest.SuperEngine.runTestsImpl(Engine.scala:483)", - "org.scalatest.FlatSpecLike$class.runTests(FlatSpecLike.scala:1714)", - "org.scalatest.FlatSpec.runTests(FlatSpec.scala:1683)", - "org.scalatest.Suite$class.run(Suite.scala:1424)", - "org.scalatest.FlatSpec.org$scalatest$FlatSpecLike$$super$run(FlatSpec.scala:1683)", - "org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1760)", - "org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1760)", - "org.scalatest.SuperEngine.runImpl(Engine.scala:545)", - "org.scalatest.FlatSpecLike$class.run(FlatSpecLike.scala:1760)", - "org.scalatest.FlatSpec.run(FlatSpec.scala:1683)", - "org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:55)", - "org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$3.apply(Runner.scala:2563)", - "org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$3.apply(Runner.scala:2557)", + "org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)", + "org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:379)", + "org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461)", + "org.scalatest.FlatSpecLike$class.runTests(FlatSpecLike.scala:1750)", + "org.scalatest.FlatSpec.runTests(FlatSpec.scala:1685)", + "org.scalatest.Suite$class.run(Suite.scala:1147)", + "org.scalatest.FlatSpec.org$scalatest$FlatSpecLike$$super$run(FlatSpec.scala:1685)", + "org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1795)", + "org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1795)", + "org.scalatest.SuperEngine.runImpl(Engine.scala:521)", + "org.scalatest.FlatSpecLike$class.run(FlatSpecLike.scala:1795)", + "org.scalatest.FlatSpec.run(FlatSpec.scala:1685)", + "org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:45)", + "org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1340)", + "org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1334)", "scala.collection.immutable.List.foreach(List.scala:381)", - "org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:2557)", - "org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1044)", - "org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1043)", - "org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:2722)", - "org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1043)", - "org.scalatest.tools.Runner$.run(Runner.scala:883)", + "org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1334)", + "org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1011)", + "org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1010)", + "org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1500)", + "org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1010)", + "org.scalatest.tools.Runner$.run(Runner.scala:850)", "org.scalatest.tools.Runner.run(Runner.scala)", "org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:138)", "org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:28)" ], - "screenshot":"/outline_feature_file.feature.results/a_basic_scenario_outline_three/h3MSAKvWOd", + "screenshot":"/outline_feature_file.feature.results/a_basic_scenario_outline_three_2/rj48RnVRgh", "source":"PassingStepImpl with " } ], diff --git a/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_two_results.json b/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_two_1_results.json similarity index 86% rename from core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_two_results.json rename to core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_two_1_results.json index 738b5d20..3e3bd000 100644 --- a/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_two_results.json +++ b/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/a_basic_scenario_outline_two_1_results.json @@ -4,7 +4,7 @@ "lineNumber":0, "result":"PASSED", "id":62, - "executionDurationMillis":1, + "executionDurationMillis":2, "description":"a basic scenario outline two", "children":[ { @@ -13,9 +13,9 @@ "lineNumber":7, "result":"PASSED", "id":58, - "executionDurationMillis":0, + "executionDurationMillis":1, "description":"PassingStepImpl", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.passingStepImpl()", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.passingStepImpl()", "children":[ ], @@ -27,7 +27,7 @@ "lineNumber":2, "result":"PASSED", "id":60, - "executionDurationMillis":1, + "executionDurationMillis":0, "description":"PassingSubstepDef", "children":[ { @@ -38,7 +38,7 @@ "id":59, "executionDurationMillis":0, "description":"AnotherPassingStepImpl", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.anotherPassingStepImpl()", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.anotherPassingStepImpl()", "children":[ ], @@ -53,9 +53,9 @@ "lineNumber":9, "result":"PASSED", "id":61, - "executionDurationMillis":0, + "executionDurationMillis":1, "description":"PassingStepImpl with param 2", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.passingStepImplWithParam(java.lang.String)", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.passingStepImplWithParam(java.lang.String)", "children":[ ], diff --git a/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/outline_feature_file.feature.results.json b/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/outline_feature_file.feature.results.json index 82b6d09d..33d17875 100644 --- a/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/outline_feature_file.feature.results.json +++ b/core/src/test/resources/sample-results-data/1/outline_feature_file.feature.results/outline_feature_file.feature.results.json @@ -3,12 +3,12 @@ "filename":"outline_feature_file.feature", "result":"CHILD_FAILED", "id":71, - "executionDurationMillis":24, + "executionDurationMillis":62, "description":"an outline feature", "scenarios":[ { "nodeId":56, - "filename":"a_basic_scenario_outline_one_results.json", + "filename":"a_basic_scenario_outline_one_0_results.json", "result":"PASSED", "tags":[ "scenario-level-tag", @@ -17,7 +17,7 @@ }, { "nodeId":62, - "filename":"a_basic_scenario_outline_two_results.json", + "filename":"a_basic_scenario_outline_two_1_results.json", "result":"PASSED", "tags":[ "scenario-level-tag", @@ -26,7 +26,7 @@ }, { "nodeId":68, - "filename":"a_basic_scenario_outline_three_results.json", + "filename":"a_basic_scenario_outline_three_2_results.json", "result":"CHILD_FAILED", "tags":[ "scenario-level-tag", diff --git a/core/src/test/resources/sample-results-data/1/results.json b/core/src/test/resources/sample-results-data/1/results.json index 9317b656..10c2282b 100644 --- a/core/src/test/resources/sample-results-data/1/results.json +++ b/core/src/test/resources/sample-results-data/1/results.json @@ -3,7 +3,7 @@ "description":"Substeps test execution description", "result":"FAILED", "id":72, - "executionDurationMillis":519, + "executionDurationMillis":692, "features":[ { "nodeId":51, @@ -16,6 +16,6 @@ "result":"CHILD_FAILED" } ], - "timestamp":1495575132634, + "timestamp":1504299970469, "environment":"localhost" } \ No newline at end of file diff --git a/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_failing_scenario/rbkYQ3sYTG b/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_failing_scenario_1/K0iYi8Nhkk similarity index 100% rename from core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_failing_scenario/rbkYQ3sYTG rename to core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_failing_scenario_1/K0iYi8Nhkk diff --git a/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_failing_scenario_results.json b/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_failing_scenario_1_results.json similarity index 79% rename from core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_failing_scenario_results.json rename to core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_failing_scenario_1_results.json index 17264ede..1084b6a2 100644 --- a/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_failing_scenario_results.json +++ b/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_failing_scenario_1_results.json @@ -4,7 +4,7 @@ "lineNumber":0, "result":"CHILD_FAILED", "id":50, - "executionDurationMillis":4, + "executionDurationMillis":5, "description":"A basic failing scenario", "children":[ { @@ -24,7 +24,7 @@ "id":43, "executionDurationMillis":0, "description":"AnotherPassingStepImpl", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.anotherPassingStepImpl()", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.anotherPassingStepImpl()", "children":[ ], @@ -48,9 +48,9 @@ "lineNumber":9, "result":"PASSED", "id":45, - "executionDurationMillis":1, + "executionDurationMillis":0, "description":"WithParams \"c\" \"d\"", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.twoParams(java.lang.String,java.lang.String)", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.twoParams(java.lang.String,java.lang.String)", "children":[ ], @@ -73,7 +73,7 @@ "lineNumber":5, "result":"CHILD_FAILED", "id":48, - "executionDurationMillis":3, + "executionDurationMillis":4, "description":"FailingSubstepDef", "children":[ { @@ -82,22 +82,22 @@ "lineNumber":6, "result":"FAILED", "id":47, - "executionDurationMillis":2, + "executionDurationMillis":3, "description":"GenerateFailure", - "method":"public scala.runtime.Nothing$ org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.generateFailure()", + "method":"public scala.runtime.Nothing$ org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.generateFailure()", "children":[ ], "exceptionMessage":"something went wrong", "stackTrace":[ - "org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.generateFailure(ParsingFromSourceTests.scala:603)", + "org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.generateFailure(ParsingFromSourceTests.scala:605)", "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)", "sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)", "sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)", "java.lang.reflect.Method.invoke(Method.java:497)", "com.technophobia.substeps.execution.ImplementationCache.executeMethod(ImplementationCache.java:162)", - "com.technophobia.substeps.runner.node.StepImplementationNodeRunner.execute(StepImplementationNodeRunner.java:81)", - "com.technophobia.substeps.runner.node.StepImplementationNodeRunner.execute(StepImplementationNodeRunner.java:41)", + "com.technophobia.substeps.runner.node.StepImplementationNodeRunner.execute(StepImplementationNodeRunner.java:74)", + "com.technophobia.substeps.runner.node.StepImplementationNodeRunner.execute(StepImplementationNodeRunner.java:34)", "com.technophobia.substeps.runner.node.AbstractNodeRunner.run(AbstractNodeRunner.java:48)", "com.technophobia.substeps.runner.node.SubstepNodeRunner.visit(SubstepNodeRunner.java:70)", "com.technophobia.substeps.runner.node.SubstepNodeRunner.visit(SubstepNodeRunner.java:31)", @@ -117,64 +117,62 @@ "com.technophobia.substeps.runner.node.FeatureNodeRunner.execute(FeatureNodeRunner.java:45)", "com.technophobia.substeps.runner.node.FeatureNodeRunner.execute(FeatureNodeRunner.java:26)", "com.technophobia.substeps.runner.node.AbstractNodeRunner.run(AbstractNodeRunner.java:48)", - "com.technophobia.substeps.runner.node.RootNodeRunner.execute(RootNodeRunner.java:47)", - "com.technophobia.substeps.runner.node.RootNodeRunner.execute(RootNodeRunner.java:33)", + "com.technophobia.substeps.runner.node.RootNodeRunner.execute(RootNodeRunner.java:45)", + "com.technophobia.substeps.runner.node.RootNodeRunner.execute(RootNodeRunner.java:31)", "com.technophobia.substeps.runner.node.AbstractNodeRunner.run(AbstractNodeRunner.java:48)", - "com.technophobia.substeps.runner.ExecutionNodeRunner.run(ExecutionNodeRunner.java:394)", - "org.substeps.runner.ParsingFromSourceTests$$anonfun$5.apply$mcV$sp(ParsingFromSourceTests.scala:689)", - "org.substeps.runner.ParsingFromSourceTests$$anonfun$5.apply(ParsingFromSourceTests.scala:537)", - "org.substeps.runner.ParsingFromSourceTests$$anonfun$5.apply(ParsingFromSourceTests.scala:537)", - "org.scalatest.Transformer$$anonfun$apply$1.apply$mcV$sp(Transformer.scala:22)", + "com.technophobia.substeps.runner.ExecutionNodeRunner.run(ExecutionNodeRunner.java:347)", + "org.substeps.runner.ParsingFromSourceTests$$anonfun$11.apply(ParsingFromSourceTests.scala:693)", + "org.substeps.runner.ParsingFromSourceTests$$anonfun$11.apply(ParsingFromSourceTests.scala:539)", "org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)", "org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)", "org.scalatest.Transformer.apply(Transformer.scala:22)", "org.scalatest.Transformer.apply(Transformer.scala:20)", - "org.scalatest.FlatSpecLike$$anon$1.apply(FlatSpecLike.scala:1647)", - "org.scalatest.Suite$class.withFixture(Suite.scala:1122)", - "org.scalatest.FlatSpec.withFixture(FlatSpec.scala:1683)", - "org.scalatest.FlatSpecLike$class.invokeWithFixture$1(FlatSpecLike.scala:1644)", - "org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1656)", - "org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1656)", - "org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)", - "org.scalatest.FlatSpecLike$class.runTest(FlatSpecLike.scala:1656)", - "org.scalatest.FlatSpec.runTest(FlatSpec.scala:1683)", - "org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1714)", - "org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1714)", - "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:413)", - "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:401)", + "org.scalatest.FlatSpecLike$$anon$1.apply(FlatSpecLike.scala:1682)", + "org.scalatest.TestSuite$class.withFixture(TestSuite.scala:196)", + "org.scalatest.FlatSpec.withFixture(FlatSpec.scala:1685)", + "org.scalatest.FlatSpecLike$class.invokeWithFixture$1(FlatSpecLike.scala:1679)", + "org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1692)", + "org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1692)", + "org.scalatest.SuperEngine.runTestImpl(Engine.scala:289)", + "org.scalatest.FlatSpecLike$class.runTest(FlatSpecLike.scala:1692)", + "org.scalatest.FlatSpec.runTest(FlatSpec.scala:1685)", + "org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1750)", + "org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1750)", + "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:396)", + "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384)", "scala.collection.immutable.List.foreach(List.scala:381)", - "org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401)", - "org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:390)", - "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:427)", - "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:401)", + "org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)", + "org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:373)", + "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:410)", + "org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:384)", "scala.collection.immutable.List.foreach(List.scala:381)", - "org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401)", - "org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:396)", - "org.scalatest.SuperEngine.runTestsImpl(Engine.scala:483)", - "org.scalatest.FlatSpecLike$class.runTests(FlatSpecLike.scala:1714)", - "org.scalatest.FlatSpec.runTests(FlatSpec.scala:1683)", - "org.scalatest.Suite$class.run(Suite.scala:1424)", - "org.scalatest.FlatSpec.org$scalatest$FlatSpecLike$$super$run(FlatSpec.scala:1683)", - "org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1760)", - "org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1760)", - "org.scalatest.SuperEngine.runImpl(Engine.scala:545)", - "org.scalatest.FlatSpecLike$class.run(FlatSpecLike.scala:1760)", - "org.scalatest.FlatSpec.run(FlatSpec.scala:1683)", - "org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:55)", - "org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$3.apply(Runner.scala:2563)", - "org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$3.apply(Runner.scala:2557)", + "org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)", + "org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:379)", + "org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461)", + "org.scalatest.FlatSpecLike$class.runTests(FlatSpecLike.scala:1750)", + "org.scalatest.FlatSpec.runTests(FlatSpec.scala:1685)", + "org.scalatest.Suite$class.run(Suite.scala:1147)", + "org.scalatest.FlatSpec.org$scalatest$FlatSpecLike$$super$run(FlatSpec.scala:1685)", + "org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1795)", + "org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1795)", + "org.scalatest.SuperEngine.runImpl(Engine.scala:521)", + "org.scalatest.FlatSpecLike$class.run(FlatSpecLike.scala:1795)", + "org.scalatest.FlatSpec.run(FlatSpec.scala:1685)", + "org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:45)", + "org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1340)", + "org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$1.apply(Runner.scala:1334)", "scala.collection.immutable.List.foreach(List.scala:381)", - "org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:2557)", - "org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1044)", - "org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1043)", - "org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:2722)", - "org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1043)", - "org.scalatest.tools.Runner$.run(Runner.scala:883)", + "org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1334)", + "org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1011)", + "org.scalatest.tools.Runner$$anonfun$runOptionallyWithPassFailReporter$2.apply(Runner.scala:1010)", + "org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1500)", + "org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1010)", + "org.scalatest.tools.Runner$.run(Runner.scala:850)", "org.scalatest.tools.Runner.run(Runner.scala)", "org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.runScalaTest2(ScalaTestRunner.java:138)", "org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestRunner.main(ScalaTestRunner.java:28)" ], - "screenshot":"/simple_feature_file.feature.results/A_basic_failing_scenario/rbkYQ3sYTG", + "screenshot":"/simple_feature_file.feature.results/A_basic_failing_scenario_1/K0iYi8Nhkk", "source":"GenerateFailure" } ], @@ -188,7 +186,7 @@ "id":49, "executionDurationMillis":-1, "description":"NotRun", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.notRun()", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.notRun()", "children":[ ], diff --git a/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_passing_scenario_results.json b/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_passing_scenario_0_results.json similarity index 84% rename from core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_passing_scenario_results.json rename to core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_passing_scenario_0_results.json index 16ebf8e6..39ca760d 100644 --- a/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_passing_scenario_results.json +++ b/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/A_basic_passing_scenario_0_results.json @@ -4,7 +4,7 @@ "lineNumber":0, "result":"PASSED", "id":42, - "executionDurationMillis":9, + "executionDurationMillis":23, "description":"A basic passing scenario", "children":[ { @@ -13,9 +13,9 @@ "lineNumber":5, "result":"PASSED", "id":37, - "executionDurationMillis":6, + "executionDurationMillis":7, "description":"PassingStepImpl", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.passingStepImpl()", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.passingStepImpl()", "children":[ ], @@ -27,7 +27,7 @@ "lineNumber":2, "result":"PASSED", "id":39, - "executionDurationMillis":0, + "executionDurationMillis":1, "description":"PassingSubstepDef", "children":[ { @@ -38,7 +38,7 @@ "id":38, "executionDurationMillis":0, "description":"AnotherPassingStepImpl", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.anotherPassingStepImpl()", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.anotherPassingStepImpl()", "children":[ ], @@ -53,7 +53,7 @@ "lineNumber":8, "result":"PASSED", "id":41, - "executionDurationMillis":2, + "executionDurationMillis":15, "description":"WithParamsSubstepDef \"a\" and \"b\"", "children":[ { @@ -62,9 +62,9 @@ "lineNumber":9, "result":"PASSED", "id":40, - "executionDurationMillis":2, + "executionDurationMillis":15, "description":"WithParams \"a\" \"b\"", - "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3.twoParams(java.lang.String,java.lang.String)", + "method":"public void org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3.twoParams(java.lang.String,java.lang.String)", "children":[ ], diff --git a/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/simple_feature_file.feature.results.json b/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/simple_feature_file.feature.results.json index 3d3f88c4..013d04eb 100644 --- a/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/simple_feature_file.feature.results.json +++ b/core/src/test/resources/sample-results-data/1/simple_feature_file.feature.results/simple_feature_file.feature.results.json @@ -3,12 +3,12 @@ "filename":"simple_feature_file.feature", "result":"CHILD_FAILED", "id":51, - "executionDurationMillis":456, + "executionDurationMillis":579, "description":"a simple feature", "scenarios":[ { "nodeId":42, - "filename":"A_basic_passing_scenario_results.json", + "filename":"A_basic_passing_scenario_0_results.json", "result":"PASSED", "tags":[ "feature-level-tag" @@ -16,7 +16,7 @@ }, { "nodeId":50, - "filename":"A_basic_failing_scenario_results.json", + "filename":"A_basic_failing_scenario_1_results.json", "result":"CHILD_FAILED", "tags":[ "scenario-level-tag", diff --git a/core/src/test/resources/sample-results-data/masterConfig.conf b/core/src/test/resources/sample-results-data/masterConfig.conf index 0344d8aa..dcff9d37 100644 --- a/core/src/test/resources/sample-results-data/masterConfig.conf +++ b/core/src/test/resources/sample-results-data/masterConfig.conf @@ -1,12 +1,3 @@ -default { - key=default-key -} -file { - encoding { - pkg="sun.io" - } - separator="/" -} org { substeps { baseExecutionConfig { @@ -16,6 +7,7 @@ org { fastFailParseErrors=true } config { + checkForUncalledAndUnused=false current { branchname="" projectversion="" @@ -42,9 +34,6 @@ org { } report { data { - base { - dir=target - } pretty { print=false } @@ -53,7 +42,7 @@ org { } reportBuilder="org.substeps.report.ReportBuilder" reportDir="target/substeps_report" - rootDataDir="src/test/resources/sample-results-data" + rootDataDir="target/substeps-results_20170901_2206_09_930" runTestsInForkedVM=false step { depth { @@ -68,7 +57,7 @@ org { fastFailParseErrors=true featureFile=null stepImplementationClassNames=[ - "org.substeps.runner.ParsingFromSourceTests$$anonfun$5$StepImpls$3" + "org.substeps.runner.ParsingFromSourceTests$$anonfun$11$StepImpls$3" ] substepsFile=null tags=null @@ -76,9 +65,3 @@ org { ] } } -overridden { - key=default-overridden -} -path { - separator=":" -} diff --git a/core/src/test/scala/org/substeps/report/ReportBuilderTest.scala b/core/src/test/scala/org/substeps/report/ReportBuilderTest.scala index b6ebbdc1..f7022504 100644 --- a/core/src/test/scala/org/substeps/report/ReportBuilderTest.scala +++ b/core/src/test/scala/org/substeps/report/ReportBuilderTest.scala @@ -81,14 +81,22 @@ class ReportBuilderTest extends FlatSpec with Matchers{ } -// "ReportBuilder" should "build a report from real raw data input" in { -// val outputDir = getOutputDir -// -// val reportBuilder = new ReportBuilder -// -// reportBuilder.buildFromDirectory(new File("/home/ian/projects/github/substeps-webdriver/target/substeps_data"), outputDir) -// -// } + "ReportBuilder" should "build a report from real raw data input" in { + val outputDir = getOutputDir + + val reportBuilder = new ReportBuilder + + reportBuilder.buildFromDirectory(new File("/home/ian/temp/substeps_error_data_2/target/substeps_data"), outputDir) + + + /** + * issue here is that the feature node is reporting 2 children, id's 4 and 9, but only 9 exists in the lower level json + * + * why ? + */ + + + } /** * @see ParsingFromSourceTests line 537: @@ -119,9 +127,9 @@ class ReportBuilderTest extends FlatSpec with Matchers{ detail_data shouldBe defined - val newDetailDatajs = Files.toString(detail_data.get, UTF8) - - val baselineDetailDatajs = Files.toString(new File("src/test/resources/sample_feature_report_data/detail_data.js"), UTF8) +// val newDetailDatajs = Files.toString(detail_data.get, UTF8) +// +// val baselineDetailDatajs = Files.toString(new File("src/test/resources/sample_feature_report_data/detail_data.js"), UTF8) //println(s"DIFF: baseline\n\n${baselineDetailDatajs}\n\n\ntestoutput:\n\n${newDetailDatajs}") diff --git a/core/src/test/scala/org/substeps/runner/ParsingFromSourceTests.scala b/core/src/test/scala/org/substeps/runner/ParsingFromSourceTests.scala index 2c1334cc..34416af6 100644 --- a/core/src/test/scala/org/substeps/runner/ParsingFromSourceTests.scala +++ b/core/src/test/scala/org/substeps/runner/ParsingFromSourceTests.scala @@ -757,7 +757,7 @@ Scenario: inline table // some extra debug in here to work out what's going on log.debug("got feature results files in dir: " + featureDir.getAbsolutePath + " files: " + featureResults.mkString(",")) - val failingScenario = featureResults.find(s => s.getName.contains("failing_scenario_results.json")) + val failingScenario = featureResults.find(s => s.getName.contains("failing_scenario_1_results.json")) failingScenario shouldBe defined From 5c773b6ae1eab8db35d3eccd1aab5afa2601aec5 Mon Sep 17 00:00:00 2001 From: Ian Moore Date: Fri, 1 Sep 2017 22:34:08 +0100 Subject: [PATCH 2/2] commented out a synthetic test against real data --- .../substeps/report/ReportBuilderTest.scala | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/core/src/test/scala/org/substeps/report/ReportBuilderTest.scala b/core/src/test/scala/org/substeps/report/ReportBuilderTest.scala index f7022504..741300e3 100644 --- a/core/src/test/scala/org/substeps/report/ReportBuilderTest.scala +++ b/core/src/test/scala/org/substeps/report/ReportBuilderTest.scala @@ -81,22 +81,13 @@ class ReportBuilderTest extends FlatSpec with Matchers{ } - "ReportBuilder" should "build a report from real raw data input" in { - val outputDir = getOutputDir - - val reportBuilder = new ReportBuilder - - reportBuilder.buildFromDirectory(new File("/home/ian/temp/substeps_error_data_2/target/substeps_data"), outputDir) - - - /** - * issue here is that the feature node is reporting 2 children, id's 4 and 9, but only 9 exists in the lower level json - * - * why ? - */ - - - } +// "ReportBuilder" should "build a report from real raw data input" in { +// val outputDir = getOutputDir +// +// val reportBuilder = new ReportBuilder +// +// reportBuilder.buildFromDirectory(new File("/home/ian/temp/substeps_error_data_2/target/substeps_data"), outputDir) +// } /** * @see ParsingFromSourceTests line 537: