Hi again, I think I'm ready to establish the project on the rubyforge. I've some basic 'infrastructure' for writing tests against the protocol. Mainly for classic-debugger now but should be easy to use it in the remote-debug case as well, not sure how much it differ now after Markus' changes. So for a writing a new test you just You just extend the 'TestBase' class and then just write a test like this:
==== def test_breakpoint_and_continue_from_other_filecreate_test2 ["class Test2", "def print12", "puts 'one'","puts 'two'", "end", "end"] create_socket ["require 'test2.rb'", "Test2.new.print12", "puts 'three'"]
send_test_breakpoint(2) assert_breakpoint_added_no(1) send_ruby("b [EMAIL PROTECTED]:4") assert_breakpoint_added_no(2) send_cont # test:1 -> test:2 assert_test_breakpoint(2) send_next # test:1 -> test2:4 assert_breakpoint(@test2_name, 4) send_cont # test2:4 -> finish end ==== I've migrated hopefully all important tests from the debug.core.tests, maybe some have forgotten and some new added. Current state is: 34 tests, 527 assertions, 0 failures, 0 errors The project is simple Rake-based project with some TBDs (gem, probably we do not need it that much?). The tests serve as a good specification (should quickly fail whenever there is anything unexpected like redundant '\n' :) or when debugger doesn't finish). But I'm going to describe at least basic communication in classic-debug.txt (see attached README). Current project structure: ./README ./Rakefile ./lib/classic-debug-verbose.rb ./lib/classic-debug.rb ./test/cd_stepping_breakpoints_test.rb ./test/cd_threads_and_frames_test.rb ./test/cd_variables_test.rb ./test/readers.rb ./test/test_base.rb TBD: mainly adding ruby-debug.rb and license, see attached proposed README. So do you agree with the proposed/initial README, does not it sound too stupid :), have false information, whatever? English-fixing is welcomed as well. Also please check the README's license TBD. The last question is the project's name. Seems that we agreed on the debug-commons. So I would found a new project under http://rubyforge.org/projects/debug-commons/ or http://debug-commons.rubyforge.org/ respectively. Please send me your rubyforge logins so I can add you as project admins. Finally I did some trivial changes into classic debugger. I would send you a diff for RDT if needed. Not sure. I was without access to Ruby SVN for last 14 days. I think there is a bug directly in debug.rb in Ruby. I have to investigate now when I have fresh checkout of everything I need. I suppose that I would create project either this weekend or at the beginning of the next week. Question, comments? For now good-night :) m.
= debug-commons == Overview debug-commons currently consist of wrappers around various Ruby debugging backends By wrapping is meant that backends are enriched about unified XML-based protocol. Currently there are two wrappers, one for Ruby "classic debugger" (debug.rb) and other for Kent Sibilev's ruby-debug fast implementation. Both protocols have a lot in common however are still slightly different due to the nature of particular backends implementations and their behaviours. Take a look at classic-debugger.txt and ruby-debug.txt files for more detailed information about individual protocols. == History, Future, Aims The project were originally developed as part of Ruby Development Tools[1]. The debugger plugin was mainly developed by Markus Barchfeld with the help of Christopher Williams, Werner Schuster (murphee), Mirko Stocker (and others) who work on other parts of RDT. Later Martin Krauskopf implementing NetBeans debugger module wrote to RDT people about possible cooperation on the backend they had. First official email here: http://sourceforge.net/mailarchive/forum.php?thread_id=31511654&forum_id=9198 (MK: RDT folks have invested and brought a nice bunch of work. I believe both sides (and hopefully others) will gain a lot in the end). So this project was found since there doesn't seem to be a general open source solution in Ruby world for debugger-frontend implementers. The aim is to provide such a solution for anyone who wants to start (or is already working) on the debugger frontend (standalone GUI debugger, an IDE or editor plugin, remote CLI-based one, ...). Currently there are RDT and NetBeans people working on it and anyone is very welcomed to join. There are some consideration to be done like joining/supporting a Common Debugger Protocol (http://www.xdebug.org/docs-dbgp.php), better support for JRuby, ... [TBD - probably separate TODO] so feel free to join the mailing list(s) for a discussion about current and feature plans [TBD - link to MLs] == Requirements TBD - MK: I still think I'm getting Segmentation Fault with latest stable Ruby, but did not tried for longer period. Needs to investigate. JRuby status doesn't work that much due to reopened: http://jira.codehaus.org/browse/JRUBY-445 == Install TBD - MK: Presumably available as a gem. But currently IDEs need to bundle it within the module. == License TBD - MK: Ruby License? Opinions? I'm quite bad on this. But I think that Ruby License would be OK. But we have to also keep Kent's license. Any lawyer here? :)
------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________ Rubyeclipse-development mailing list Rubyeclipse-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rubyeclipse-development