diff --git a/TBF/BenchControl/Sequences/MainSeq.cs b/TBF/BenchControl/Sequences/MainSeq.cs
index c1f8ed8fc..9a3796dd9 100644
--- a/TBF/BenchControl/Sequences/MainSeq.cs
+++ b/TBF/BenchControl/Sequences/MainSeq.cs
@@ -774,52 +774,53 @@ namespace TBF.BenchControl.Sequences
TestProgressEventArgs.SetEstimatedTimes(new int[] { 1, timeEstTransBefore, 1, 30, 0, Convert.ToInt32(test.TstTime) + 15, timeEstTransAfter, 0 });
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetNr, Config.Entities.Progress.JustStarted));
- if (testMethod.DoTransitions())
- {
- rsltTransBefore = Transition(transitionBefore, TransitionContext.BeforeTest); /// Transition or SetRoute - start of test
- log.InfoFormat("Test {0}: Transition({1}, BeforeTest) returned {2}", test.Name, (transitionBefore == null ? "null" : transitionBefore.Name), rsltTransBefore);
- }
-
bool currentTestFinished = true;
- if (rsltTransBefore == Event.Done)
+ bool doOneMoreRepetition = false;
+ do
{
- bool doOneMoreRepetition = false;
- do
+ if (testMethod.DoTransitions())
{
- log.InfoFormat("Test {0}: Execute(., {1}, {2})", test.Name, repetNr, isOuterLoopMode || repetNr == test.Repeats);
- e = testMethod.Execute(test, repetNr, isOuterLoopMode || repetNr == test.Repeats);
-
- if (e.Contains(Event.MakeSecondPass) && testMethod is ITestMethodWith2ndPass)
- {
- deferredData.Add(new DeferredTestEvaluationData(test, repetNr, (testMethod as ITestMethodWith2ndPass).IntermediateData));
- }
-
- currentTestFinished = (rsltTransBefore == Event.Done && !e.Contains(Event.Error)
- && !e.Contains(Event.ConfigurationError)
- && !e.Contains(Event.OpArgumentError)
- && !e.Contains(Event.UiCmdStop));
-
- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetNr, currentTestFinished ? Config.Entities.Progress.Completed
- : Config.Entities.Progress.Aborted));
-
- if (e.Contains(Event.OuterLoopStart)) break; /// Do not repeat OuterLoopStart test in this loop
- if (currentTestFinished && !isOuterLoopMode) repetNr++;
-
- doOneMoreRepetition = currentTestFinished && !isOuterLoopMode && (repetNr <= test.Repeats);
-
- if (testMethod.DoTransitions() && doOneMoreRepetition)
- {
- rsltTransBetween = Transition(transitionBetween, TransitionContext.BeforeTest); /// Transition or SetRoute - start of test
- log.InfoFormat("Test {0}: Transition({1}, BetweenTests) returned {2}", test.Name, (transitionBetween == null ? "null" : transitionBetween.Name), rsltTransBetween);
- }
+ /// Make a transition before a test and before each test repetition
+ rsltTransBefore = Transition(transitionBefore, TransitionContext.BeforeTest); /// Transition or SetRoute - start of test
+ log.InfoFormat("Test {0}: Transition({1}, BeforeTest) returned {2}", test.Name, (transitionBefore == null ? "null" : transitionBefore.Name), rsltTransBefore);
}
- while ((rsltTransBetween == Event.Done) && doOneMoreRepetition);
+ if (rsltTransBefore != Event.Done) break;
- if (currentTestFinished && !isOuterLoopMode && repetNr > test.Repeats) repetNr = 1; /// Reset repetNr
+ log.InfoFormat("Test {0}: Execute(., {1}, {2})", test.Name, repetNr, isOuterLoopMode || repetNr == test.Repeats);
+ e = testMethod.Execute(test, repetNr, isOuterLoopMode || repetNr == test.Repeats);
+
+ if (e.Contains(Event.MakeSecondPass) && testMethod is ITestMethodWith2ndPass)
+ {
+ deferredData.Add(new DeferredTestEvaluationData(test, repetNr, (testMethod as ITestMethodWith2ndPass).IntermediateData));
+ }
+
+ currentTestFinished = (rsltTransBefore == Event.Done && !e.Contains(Event.Error)
+ && !e.Contains(Event.ConfigurationError)
+ && !e.Contains(Event.OpArgumentError)
+ && !e.Contains(Event.UiCmdStop));
+
+ Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetNr, currentTestFinished ? Config.Entities.Progress.Completed
+ : Config.Entities.Progress.Aborted));
+
+ if (e.Contains(Event.OuterLoopStart)) break; /// Do not repeat OuterLoopStart test in this loop
+ if (currentTestFinished && !isOuterLoopMode) repetNr++;
+
+ doOneMoreRepetition = currentTestFinished && !isOuterLoopMode && (repetNr <= test.Repeats);
+
+ if (testMethod.DoTransitions() && doOneMoreRepetition)
+ {
+ /// Make a transition between two test repetitions
+ rsltTransBetween = Transition(transitionBetween, TransitionContext.BetweenTests); /// Transition or SetRoute - start of test
+ log.InfoFormat("Test {0}: Transition({1}, BetweenTests) returned {2}", test.Name, (transitionBetween == null ? "null" : transitionBetween.Name), rsltTransBetween);
+ }
}
+ while ((rsltTransBetween == Event.Done) && doOneMoreRepetition);
+
+ if (currentTestFinished && !isOuterLoopMode && repetNr > test.Repeats) repetNr = 1; /// Reset repetNr
if (testMethod.DoTransitions())
{
+ /// Make a transition after the last test repetition
TransitionContext endContext = currentTestFinished ? TransitionContext.AfterTest : TransitionContext.Stop;
rsltTransAfter = Transition(transitionAfter, endContext); /// Transition or SetRoute - end of test
log.InfoFormat("Test {0}: Transition({1}, {2}) returned {3}", test.Name, (transitionAfter == null ? "null" : transitionAfter.Name), endContext, rsltTransAfter);
diff --git a/TBF/BenchControl/Sequences/SequenceBase.cs b/TBF/BenchControl/Sequences/SequenceBase.cs
index d821a1dfe..63d99882c 100644
--- a/TBF/BenchControl/Sequences/SequenceBase.cs
+++ b/TBF/BenchControl/Sequences/SequenceBase.cs
@@ -430,6 +430,7 @@ namespace TBF.BenchControl.Sequences
{
PurgeBegin,
BeforeTest,
+ BetweenTests,
AfterTest,
PurgeEnd,
Stop,
@@ -468,12 +469,13 @@ namespace TBF.BenchControl.Sequences
///
switch (context)
{
- case TransitionContext.PurgeBegin: message = Strings.Purging_i_n; break;
- case TransitionContext.BeforeTest: message = Strings.Test_start_sequence_i_n; break;
- case TransitionContext.AfterTest: message = Strings.Test_stop_sequence_i_n; break;
- case TransitionContext.PurgeEnd: message = Strings.Emptying_i_n; break;
- case TransitionContext.Stop: message = Strings.Test_stop_sequence_i_n; break;
- default: message = "Transition"; break;
+ case TransitionContext.PurgeBegin: message = Strings.Purging_i_n; break;
+ case TransitionContext.BeforeTest: message = Strings.Test_start_sequence_i_n; break;
+ case TransitionContext.BetweenTests: message = Strings.Between_tests_sequence_i_n; break;
+ case TransitionContext.AfterTest: message = Strings.Test_stop_sequence_i_n; break;
+ case TransitionContext.PurgeEnd: message = Strings.Emptying_i_n; break;
+ case TransitionContext.Stop: message = Strings.Test_stop_sequence_i_n; break;
+ default: message = "Transition"; break;
}
if (transitionSequence == null)
diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs
index 8494572c3..31563a7e9 100644
--- a/TBF/Properties/AssemblyInfo.cs
+++ b/TBF/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("2.18.1065.0")]
-[assembly: AssemblyFileVersion("2.18.1065.0")]
+[assembly: AssemblyVersion("2.18.1066.0")]
+[assembly: AssemblyFileVersion("2.18.1066.0")]
diff --git a/TBF/Resources/Strings.Designer.cs b/TBF/Resources/Strings.Designer.cs
index 9d249470d..1ef3877f1 100644
--- a/TBF/Resources/Strings.Designer.cs
+++ b/TBF/Resources/Strings.Designer.cs
@@ -519,6 +519,15 @@ namespace TBF.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Between tests ({0}: step {1}/{2}).
+ ///
+ internal static string Between_tests_sequence_i_n {
+ get {
+ return ResourceManager.GetString("Between_tests_sequence_i_n", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Build date {0}.
///
diff --git a/TBF/Resources/Strings.resx b/TBF/Resources/Strings.resx
index ea11e8a2b..c399a4616 100644
--- a/TBF/Resources/Strings.resx
+++ b/TBF/Resources/Strings.resx
@@ -1885,4 +1885,7 @@
{0} - wait until the tank contains more then {1} ltr.
+
+ Between tests ({0}: step {1}/{2})
+
\ No newline at end of file