Cool by me. jrs
On Sep 13, 2007, at 8:51 AM, P T Withington wrote:
Change 20070913-ptw-P by [EMAIL PROTECTED] on 2007-09-13 08:34:45 EDTin /Users/ptw/OpenLaszlo/wafflecone for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone Summary: Add Debug.bugReport New Features: The `bugReport` method of the Debugger can be used to create a report suitable for copy/pasting into a bug report. Bugs Fixed:LPP-4719 'Provide a way to output relevant debug info to copy/paste into mail'Technical Reviewer: ben (pending) QA Reviewer: frisco (pending) Doc Reviewer: jsundman (pending) Documentation: The `bugReport` method of the Debugger can be used to create a report suitable for copy/pasting into a bug report. To use it, enable backtraces and debugging, then inspect the error message that you believe reveals a bug, then invoke `Debug.bugReport()` in the debugger. Copy and paste the output of that call into your bug report. Details: LzDebug: Move environment from platform to here. Add bugReport that outputs versionInfo, the backtrace from the last inspected error, and inspects all the `this` objects in the backtrace.LzBacktrace: Add an interface to map over the frames of a backtrace.LaszloCanvas: Fix a type-oh in versionInfoString Tests: Invoking Debug.bugReport after inspecting an assertion failure in smokecheck yields the following output: lzx> Debug.bugReport() Please copy the following information into your bug report. ---START OF BUG REPORT--- LPS VERSION INFORMATION:URL: http://dueling-banjos.local:8080/wafflecone/test/smoke/ simple.lzx?lzt=swf&debug=true&lzr=swf7&lzbacktrace=trueVersion: 4.0.x.0 Release: Latest Build: 6422 /Users/ptw/OpenLaszlo/wafflecone Date: 2007-09-13T08:25:52-0400 Target: swf7 Runtime: 9.45ERROR MESSAGE: ERROR @lzunit/lzunit.lzx#382: Expected: expected 'non-null value' got nullERROR BACKTRACE: LzError @lfc/debugger/LzMessage.lzs#439this: «LzError#76| ERROR @lzunit/lzunit.lzx#382: Expected: expected 'non-null value' got null»arg 0: null arg 1: nullarg 2: «LzMessage(45)#217| "Expected: expected 'non-null value' got null"»format @lzunit/lzunit.lzx#382 this: «lz.IntentionalFailures#222| IntentionalFailures» arg 0: 'Expected' arg 1: 'non-null value' arg 2: null assertNotNull @lzunit/lzunit.lzx#485 this: «lz.IntentionalFailures#222| IntentionalFailures» arg 0: null arg 1: 'Expected' testFailures @lzunit-test.lzl#468 this: «lz.IntentionalFailures#222| IntentionalFailures» runTest @lzunit/lzunit.lzx#668 this: «lz.IntentionalFailures#222| IntentionalFailures» arg 0: 'testFailures' run @lzunit/lzunit.lzx#632 this: «lz.IntentionalFailures#222| IntentionalFailures» arg 0: «TestResult#145| Tests: 448 Failures: 0 Errors: 0» arg 1: 'testFailures' runNextTest @lzunit/lzunit.lzx#1148 this: «TestSuite#148| TestSuite» arg 0: 1806 execute @lfc/events/LaszloEvents.lzs#95 this: «LzDelegate#231| TestSuite.runNextTest()» arg 0: 1806 removeCallIdleDelegates @lfc/services/LzIdle.lzs#67 this: «LzIdleClass#154| LzIdle» arg 0: 1806 sendEvent @lfc/events/LaszloEvents.lzs#437 this: «LzEvent#157| LzIdle.onidle» arg 0: 1806 __idleupdate @lfc/services/LzIdle.lzs#103 this: «MovieClip#160| global» arg 0: 1806 kernel/LzIdleKernel.lzs#29/16 @lfc/kernel/LzIdleKernel.lzs#32 this: «undefined» OBJECT DETAILS: Object 157: «LzEvent#157| LzIdle.onidle» { _dbg_eventName: 'onidle'_dbg_eventSender: <a href="asfunction:_root. $modules.lz.Debug.displayObj,154"><font color="#0000ff">LzIdle</ font></a> constructor: <a href="asfunction:_root. $modules.lz.Debug.displayObj,163"><font color="#0000ff">LzEvent</ font></a> delegateList: <a href="asfunction:_root. $modules.lz.Debug.displayObj,164"><font color="#0000ff">[]</font></a>locked: false ready: false } Object 154: «LzIdleClass#154| LzIdle» {_events: <a href="asfunction:_root.$modules.lz.Debug.displayObj, 165"><font color="#0000ff">[LzEvent]</font></a> coi: <a href="asfunction:_root.$modules.lz.Debug.displayObj, 236"><font color="#0000ff">[]</font></a> constructor: <a href="asfunction:_root. $modules.lz.Debug.displayObj,167"><font color="#0000ff">LzIdleClass</font></a> onidle: <a href="asfunction:_root.$modules.lz.Debug.displayObj, 157"><font color="#0000ff">LzIdle.onidle</font></a>regNext: falseremoveCOI: <a href="asfunction:_root. $modules.lz.Debug.displayObj,168"><font color="#0000ff">LzIdle.removeCallIdleDelegates()</font></a>} Object 231: «LzDelegate#231| TestSuite.runNextTest()» {c: <a href="asfunction:_root.$modules.lz.Debug.displayObj, 148"><font color="#0000ff">TestSuite</font></a> constructor: <a href="asfunction:_root. $modules.lz.Debug.displayObj,169"><font color="#0000ff">LzDelegate</ font></a>f: 'runNextTest' } [...]Object 76: «LzError#76| ERROR @lzunit/lzunit.lzx#382: Expected: expected 'non-null value' got null» { backtrace: <a href="asfunction:_root. $modules.lz.Debug.displayObj,216"><font color="#0000ff">LzError <- format <- assertNotNull <- testFailures <- runTest <- run <- ...</font></a>file: 'lzunit/lzunit.lzx' line: 382message: <a href="asfunction:_root.$modules.lz.Debug.displayObj, 217"><font color="#0000ff">"Expected: expected 'non-null value' got null"</font></a>} ---END OF BUG REPORT--- lzx> Files: M WEB-INF/lps/lfc/debugger/LzDebug.lzs M WEB-INF/lps/lfc/debugger/platform/dhtml/kernel.js M WEB-INF/lps/lfc/debugger/LzBacktrace.lzs M WEB-INF/lps/lfc/views/LaszloCanvas.lzsChangeset: http://svn.openlaszlo.org/openlaszlo/patches/20070913- ptw-P.tar
