You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2012/10/12 20:40:13 UTC
svn commit: r1397677 - in
/incubator/flex/sdk/branches/develop/mustella/as3/src/mustella:
SendResultsToRunner.as UnitTester.as
Author: aharui
Date: Fri Oct 12 18:40:13 2012
New Revision: 1397677
URL: http://svn.apache.org/viewvc?rev=1397677&view=rev
Log:
Serialize the output to the Runner, wait for output to finish before closing test SWFs
Modified:
incubator/flex/sdk/branches/develop/mustella/as3/src/mustella/SendResultsToRunner.as
incubator/flex/sdk/branches/develop/mustella/as3/src/mustella/UnitTester.as
Modified: incubator/flex/sdk/branches/develop/mustella/as3/src/mustella/SendResultsToRunner.as
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/as3/src/mustella/SendResultsToRunner.as?rev=1397677&r1=1397676&r2=1397677&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/mustella/as3/src/mustella/SendResultsToRunner.as (original)
+++ incubator/flex/sdk/branches/develop/mustella/as3/src/mustella/SendResultsToRunner.as Fri Oct 12 18:40:13 2012
@@ -49,8 +49,10 @@ public class SendResultsToRunner
public static var regExp5:RegExp = /%3D/g;
+ public static var msgQueue:Array = [];
-
+ public static var u:URLLoader;
+
/**
* the way out for the result data
*/
@@ -126,39 +128,52 @@ public class SendResultsToRunner
* about the response, but for now, for debugging, using it
*/
if (!noSend) {
- trace ("sending: " + baseURL + midURL + final + " at: " + new Date());
// var u:String= baseURL + midURL + final;
- var u:URLLoader = new URLLoader (new URLRequest (baseURL + midURL + final));
-
- /*
- var sock:Socket = new Socket ("localhost", UnitTester.runnerPort);
- sock.writeUTFBytes(u);
- sock.flush();
- sock.flush();
- */
-
- u.addEventListener("complete", completeHandler);
- u.addEventListener("complete", httpEvents);
- u.addEventListener("ioError", httpEvents);
- u.addEventListener("open", httpEvents);
- u.addEventListener("progress", httpEvents);
- u.addEventListener("httpStatus", httpEvents);
- u.addEventListener("securityError", httpEvents);
- u.load (new URLRequest (baseURL + midURL + final));
+ if (!u)
+ {
+ u = new URLLoader ();
+
+ /*
+ var sock:Socket = new Socket ("localhost", UnitTester.runnerPort);
+ sock.writeUTFBytes(u);
+ sock.flush();
+ sock.flush();
+ */
+
+ u.addEventListener("complete", completeHandler);
+ u.addEventListener("complete", httpEvents);
+ u.addEventListener("ioError", httpEvents);
+ u.addEventListener("open", httpEvents);
+ u.addEventListener("progress", httpEvents);
+ u.addEventListener("httpStatus", httpEvents);
+ u.addEventListener("securityError", httpEvents);
+ }
+ queueMsg(baseURL + midURL + final);
UnitTester.pendingOutput++;
- dict[u] = baseURL + midURL + final;
}
+ }
-
-
+ public static function queueMsg(s:String):void
+ {
+ msgQueue.push(s);
+ if (msgQueue.length == 1)
+ {
+ trace ("sending: " + s + " at: " + new Date());
+ u.load (new URLRequest (s));
+ }
+ else
+ trace ("queuing: " + s + " at: " + new Date());
}
- public static var dict:Dictionary = new Dictionary();
-
public static function completeHandler (e:Event):void {
UnitTester.pendingOutput--;
- //trace("received complete for", dict[e.target]);
- delete dict[e.target];
+ msgQueue.shift();
+ if (msgQueue.length > 0)
+ {
+ var s:String = msgQueue[0];
+ u.load (new URLRequest (s));
+ trace ("sending: " + s + " at: " + new Date());
+ }
}
public static function httpEvents (e:Event):void {
Modified: incubator/flex/sdk/branches/develop/mustella/as3/src/mustella/UnitTester.as
URL: http://svn.apache.org/viewvc/incubator/flex/sdk/branches/develop/mustella/as3/src/mustella/UnitTester.as?rev=1397677&r1=1397676&r2=1397677&view=diff
==============================================================================
--- incubator/flex/sdk/branches/develop/mustella/as3/src/mustella/UnitTester.as (original)
+++ incubator/flex/sdk/branches/develop/mustella/as3/src/mustella/UnitTester.as Fri Oct 12 18:40:13 2012
@@ -1179,11 +1179,23 @@ public class UnitTester extends EventDis
{
if (pendingOutput > 0)
{
- if (frameWaitCount < 4) // wait about 3 frames to see if results come back
+ if (lastPendingOutput == 0)
+ lastPendingOutput = pendingOutput;
+ if (pendingOutput == lastPendingOutput)
+ {
+ if (frameWaitCount < 4) // wait about 3 frames to see if results come back
+ {
+ trace("waiting on pending output", pendingOutput);
+ frameWaitCount++;
+ callback = cleanUpAndExit;
+ return;
+ }
+ }
+ else
{
- trace("waiting on pending output", pendingOutput);
+ lastPendingOutput = pendingOutput;
+ frameWaitCount = 0;
callback = cleanUpAndExit;
- frameWaitCount++;
return;
}
}
@@ -1228,6 +1240,7 @@ public class UnitTester extends EventDis
}
public static var pendingOutput:int = 0;
+ public static var lastPendingOutput:int = 0;
public static var frameWaitCount:int = 0;
private static var frameCounter:int = 0;