From: Robert P. <in...@ro...> - 2009-09-26 03:06:15
|
With FlexUnit 4, I run 1 suite with 1 class, 1 test method. The assert failure has a gigantic call stack: 60 methods high! The stack trace has several "async" methods, which is weird because I'm not using async at all. Methods like "applyExplosivelyAsync()" scare me. This looks really over-architected. How do they manage to take 60 steps to execute one test method? Robert at flexunit.framework::Assert$/fail()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\fluint\FlexUnit1Lib\src\flexunit\framework\Assert.as:370] at WidgetTest/testWidget()[C:\Users\robert.penner\Adobe Flash Builder Plug-in Beta 2\TestProject\src\WidgetTest.as:20] at Function/http://adobe.com/AS3/2006/builtin::apply() at flex.lang.reflect::Method/apply()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\flex\lang\reflect\Method.as:124] at ReflectiveCallable/run()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\model\FrameworkMethod.as:214] at org.flexunit.runners.model::FrameworkMethod/applyExplosivelyAsync()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\model\FrameworkMethod.as:121] at org.flexunit.runners.model::FrameworkMethod/invokeExplosivelyAsync()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\model\FrameworkMethod.as:132] at org.flexunit.internals.runners.statements::InvokeMethod/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\InvokeMethod.as:52] at org.flexunit.internals.runners.statements::StackAndFrameManagement/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StackAndFrameManagement.as:94] at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] at org.flexunit.token::AsyncTestToken/sendResult()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncTestToken.as:70] at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\AsyncStatementBase.as:44] at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:103] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:86] at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:104] at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as:49] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] at org.flexunit.token::AsyncTestToken/sendResult()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncTestToken.as:70] at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\AsyncStatementBase.as:44] at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:103] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:86] at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] at org.flexunit.runners::ParentRunner/run()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\ParentRunner.as:315] at org.flexunit.runners::Suite/runChild()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\Suite.as:59] at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as:49] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] at org.flexunit.token::AsyncTestToken/sendResult()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncTestToken.as:70] at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\AsyncStatementBase.as:44] at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:103] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:86] at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] at org.flexunit.runners::ParentRunner/run()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\ParentRunner.as:315] at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:177] at org.flexunit.token::AsyncListenersToken/sendReady()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncListenersToken.as:59] at org.flexunit.runner.notification.async::AsyncListenerWatcher/sendReadyNotification()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runner\notification\async\AsyncListenerWatcher.as:87] at org.flexunit.runner.notification.async::AsyncListenerWatcher/handleListenerReady()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runner\notification\async\AsyncListenerWatcher.as:97] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at flexunit.flexui::FlexUnit4TestRunner/handleConnect()[C:\work\flex\ide_builder\com.adobe.flexbuilder.flexunit\flexunitframework\src\flexunit\flexui\FlexUnit4TestRunner.as:296] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at flash.net::XMLSocket/reflectEvent() |
From: Robert P. <in...@ro...> - 2009-09-26 05:05:17
|
By comparison, most AsUnit failures have a call stack of 10 methods, 4 of which come from setTimeout(). But I'm cutting that down to 7 in my Github fork of AsUnit. Robert On Fri, Sep 25, 2009 at 6:52 PM, Robert Penner <in...@ro...> wrote: > With FlexUnit 4, I run 1 suite with 1 class, 1 test method. The assert > failure has a gigantic call stack: 60 methods high! > > The stack trace has several "async" methods, which is weird because > I'm not using async at all. Methods like "applyExplosivelyAsync()" > scare me. > > This looks really over-architected. How do they manage to take 60 > steps to execute one test method? > > Robert > > > at flexunit.framework::Assert$/fail()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\fluint\FlexUnit1Lib\src\flexunit\framework\Assert.as:370] > at WidgetTest/testWidget()[C:\Users\robert.penner\Adobe Flash Builder > Plug-in Beta 2\TestProject\src\WidgetTest.as:20] > at Function/http://adobe.com/AS3/2006/builtin::apply() > at flex.lang.reflect::Method/apply()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\flex\lang\reflect\Method.as:124] > at ReflectiveCallable/run()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\model\FrameworkMethod.as:214] > at org.flexunit.runners.model::FrameworkMethod/applyExplosivelyAsync()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\model\FrameworkMethod.as:121] > at org.flexunit.runners.model::FrameworkMethod/invokeExplosivelyAsync()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\model\FrameworkMethod.as:132] > at org.flexunit.internals.runners.statements::InvokeMethod/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\InvokeMethod.as:52] > at org.flexunit.internals.runners.statements::StackAndFrameManagement/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StackAndFrameManagement.as:94] > at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] > at org.flexunit.token::AsyncTestToken/sendResult()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncTestToken.as:70] > at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\AsyncStatementBase.as:44] > at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:103] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:86] > at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] > at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] > at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] > at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:104] > at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as:49] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] > at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] > at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] > at org.flexunit.token::AsyncTestToken/sendResult()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncTestToken.as:70] > at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\AsyncStatementBase.as:44] > at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:103] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:86] > at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] > at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] > at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] > at org.flexunit.runners::ParentRunner/run()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\ParentRunner.as:315] > at org.flexunit.runners::Suite/runChild()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\Suite.as:59] > at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as:49] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] > at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] > at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] > at org.flexunit.token::AsyncTestToken/sendResult()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncTestToken.as:70] > at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\AsyncStatementBase.as:44] > at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:103] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:86] > at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] > at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] > at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] > at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] > at org.flexunit.runners::ParentRunner/run()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\ParentRunner.as:315] > at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:177] > at org.flexunit.token::AsyncListenersToken/sendReady()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncListenersToken.as:59] > at org.flexunit.runner.notification.async::AsyncListenerWatcher/sendReadyNotification()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runner\notification\async\AsyncListenerWatcher.as:87] > at org.flexunit.runner.notification.async::AsyncListenerWatcher/handleListenerReady()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runner\notification\async\AsyncListenerWatcher.as:97] > at flash.events::EventDispatcher/dispatchEventFunction() > at flash.events::EventDispatcher/dispatchEvent() > at flexunit.flexui::FlexUnit4TestRunner/handleConnect()[C:\work\flex\ide_builder\com.adobe.flexbuilder.flexunit\flexunitframework\src\flexunit\flexui\FlexUnit4TestRunner.as:296] > at flash.events::EventDispatcher/dispatchEventFunction() > at flash.events::EventDispatcher/dispatchEvent() > at flash.net::XMLSocket/reflectEvent() > |
From: Luke B. <lb...@pa...> - 2009-09-26 15:28:45
|
Nicely done Robert! Let's stay simple for sure. Luke On Fri, Sep 25, 2009 at 10:05 PM, Robert Penner <in...@ro...> wrote: > By comparison, most AsUnit failures have a call stack of 10 methods, 4 > of which come from setTimeout(). But I'm cutting that down to 7 in my > Github fork of AsUnit. > > Robert > > On Fri, Sep 25, 2009 at 6:52 PM, Robert Penner <in...@ro...> wrote: >> With FlexUnit 4, I run 1 suite with 1 class, 1 test method. The assert >> failure has a gigantic call stack: 60 methods high! >> >> The stack trace has several "async" methods, which is weird because >> I'm not using async at all. Methods like "applyExplosivelyAsync()" >> scare me. >> >> This looks really over-architected. How do they manage to take 60 >> steps to execute one test method? >> >> Robert >> >> >> at flexunit.framework::Assert$/fail()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\fluint\FlexUnit1Lib\src\flexunit\framework\Assert.as:370] >> at WidgetTest/testWidget()[C:\Users\robert.penner\Adobe Flash Builder >> Plug-in Beta 2\TestProject\src\WidgetTest.as:20] >> at Function/http://adobe.com/AS3/2006/builtin::apply() >> at flex.lang.reflect::Method/apply()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\flex\lang\reflect\Method.as:124] >> at ReflectiveCallable/run()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\model\FrameworkMethod.as:214] >> at org.flexunit.runners.model::FrameworkMethod/applyExplosivelyAsync()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\model\FrameworkMethod.as:121] >> at org.flexunit.runners.model::FrameworkMethod/invokeExplosivelyAsync()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\model\FrameworkMethod.as:132] >> at org.flexunit.internals.runners.statements::InvokeMethod/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\InvokeMethod.as:52] >> at org.flexunit.internals.runners.statements::StackAndFrameManagement/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StackAndFrameManagement.as:94] >> at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] >> at org.flexunit.token::AsyncTestToken/sendResult()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncTestToken.as:70] >> at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\AsyncStatementBase.as:44] >> at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:103] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:86] >> at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] >> at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] >> at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] >> at org.flexunit.runners::BlockFlexUnit4ClassRunner/runChild()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\BlockFlexUnit4ClassRunner.as:104] >> at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as:49] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] >> at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] >> at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] >> at org.flexunit.token::AsyncTestToken/sendResult()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncTestToken.as:70] >> at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\AsyncStatementBase.as:44] >> at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:103] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:86] >> at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] >> at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] >> at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] >> at org.flexunit.runners::ParentRunner/run()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\ParentRunner.as:315] >> at org.flexunit.runners::Suite/runChild()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\Suite.as:59] >> at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\ChildRunnerSequencer.as:49] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] >> at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] >> at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] >> at org.flexunit.token::AsyncTestToken/sendResult()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncTestToken.as:70] >> at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\AsyncStatementBase.as:44] >> at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:103] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:86] >> at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] >> at org.flexunit.internals.runners.statements::StatementSequencer/executeStep()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:62] >> at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:82] >> at org.flexunit.internals.runners.statements::StatementSequencer/evaluate()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\internals\runners\statements\StatementSequencer.as:68] >> at org.flexunit.runners::ParentRunner/run()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runners\ParentRunner.as:315] >> at org.flexunit.runner::FlexUnitCore/beginRunnerExecution()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runner\FlexUnitCore.as:177] >> at org.flexunit.token::AsyncListenersToken/sendReady()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\token\AsyncListenersToken.as:59] >> at org.flexunit.runner.notification.async::AsyncListenerWatcher/sendReadyNotification()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runner\notification\async\AsyncListenerWatcher.as:87] >> at org.flexunit.runner.notification.async::AsyncListenerWatcher/handleListenerReady()[C:\Users\mlabriola\Documents\workspaces\net\digitalprimates\opensource\flexunit\FlexUnit4\src\org\flexunit\runner\notification\async\AsyncListenerWatcher.as:97] >> at flash.events::EventDispatcher/dispatchEventFunction() >> at flash.events::EventDispatcher/dispatchEvent() >> at flexunit.flexui::FlexUnit4TestRunner/handleConnect()[C:\work\flex\ide_builder\com.adobe.flexbuilder.flexunit\flexunitframework\src\flexunit\flexui\FlexUnit4TestRunner.as:296] >> at flash.events::EventDispatcher/dispatchEventFunction() >> at flash.events::EventDispatcher/dispatchEvent() >> at flash.net::XMLSocket/reflectEvent() >> > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9-12, 2009. Register now! > http://p.sf.net/sfu/devconf > _______________________________________________ > Asunit-users mailing list > Asu...@li... > https://lists.sourceforge.net/lists/listinfo/asunit-users > |